Bladeren bron

Merge remote-tracking branch 'remotes/origin/developer' into developerC

# Conflicts:
#	src/main/resources/static/js/common/serviceapi/product.service.js
#	target/www-0.0.1-SNAPSHOT.jar
Aslee 4 jaren geleden
bovenliggende
commit
23bc7689b1

+ 8 - 0
src/main/java/com/caimei/www/controller/RedirectController.java

@@ -83,6 +83,14 @@ public class RedirectController {
     }
 
 
+    /**
+     * 活动专题
+     */
+    @GetMapping("/cmpage/info-6-{id}.html")
+    public String activityTopics(@PathVariable("id") Integer id, String name) {
+        return "redirect:/activity/activityTopic.html?id=" + id + "&name=" + name;
+    }
+
     /**
      * 专题活动列表页【旧】
      */

+ 41 - 8
src/main/java/com/caimei/www/controller/unlimited/ProductController.java

@@ -1,8 +1,10 @@
 package com.caimei.www.controller.unlimited;
 
 import com.caimei.www.controller.BaseController;
+import com.caimei.www.pojo.page.PageContent;
 import com.caimei.www.pojo.page.ProductDetail;
 import com.caimei.www.service.page.ProductService;
+import com.caimei.www.service.page.SinglePageService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -19,22 +21,33 @@ import org.springframework.web.bind.annotation.RequestParam;
 @Controller
 public class ProductController extends BaseController {
 
-	private static final String PRODUCT_LIST_PATH = "product/list";
-	private static final String PRODUCT_DETAIL_PATH = "product/detail";
-	private static final String PROMOTIONS_LIST_PATH = "product/promotions";
+    private static final String PRODUCT_LIST_PATH = "product/list";
+    private static final String PRODUCT_DETAIL_PATH = "product/detail";
+    private static final String PROMOTIONS_LIST_PATH = "product/promotions";
     private static final String INSTRUMENT_PAGE_PATH = "product/instrument";
     private static final String TEMPORARY_PAGE_PATH = "product/temporary";
     private static final String INSTRUMENT_LIST_PATH = "product/instruelist";
     private static final String QUALITY_AUTHORRIZE_PATH = "product/qualityauthorize";
-    /** 美博会专题页 */
+    private static final String ACTIVITY_TOP_PATH = "activity/activityTopic";
+    /**
+     * 美博会专题页
+     */
     private static final String BEAUTY_TOP_PATH = "product/beautytopic";
 
     private ProductService productService;
+
+    private SinglePageService singlePageService;
+
     @Autowired
     public void setProductService(ProductService productService) {
         this.productService = productService;
     }
 
+    @Autowired
+    public void setSinglePageService(SinglePageService singlePageService) {
+        this.singlePageService = singlePageService;
+    }
+
     /**
      * 商品分类列表/搜索结果 页面
      */
@@ -57,7 +70,7 @@ public class ProductController extends BaseController {
     @GetMapping("/product-{id}.html")
     public String detail(final Model model, @PathVariable("id") Integer productId) {
         ProductDetail detail = productService.getProductDetailById(productId);
-        if(detail== null){
+        if (detail == null) {
             return super.errorPath();
         }
         model.addAttribute("productId", productId);
@@ -69,7 +82,11 @@ public class ProductController extends BaseController {
      * 仪器页
      */
     @GetMapping("/product/instrument.html")
-    public String instrument(){
+    public String instrument(Integer id) {
+        Integer pageId = singlePageService.getInstrumentPageIdById(id);
+        if (pageId == null) {
+            return super.errorPath();
+        }
         return INSTRUMENT_PAGE_PATH;
     }
 
@@ -77,7 +94,11 @@ public class ProductController extends BaseController {
      * 美体节活动页
      */
     @GetMapping("/product/temporary.html")
-    public String temporary(){
+    public String temporary(Integer id) {
+        Integer pageId = singlePageService.getInstrumentPageIdById(id);
+        if (pageId == null) {
+            return super.errorPath();
+        }
         return TEMPORARY_PAGE_PATH;
     }
 
@@ -85,7 +106,7 @@ public class ProductController extends BaseController {
      * 仪器列表页
      */
     @GetMapping("/product/instruelist.html")
-    public String instruelist(){
+    public String instruelist() {
         return INSTRUMENT_LIST_PATH;
     }
 
@@ -106,4 +127,16 @@ public class ProductController extends BaseController {
         return QUALITY_AUTHORRIZE_PATH;
     }
 
+    /**
+     * 活动专题页
+     */
+    @GetMapping("activity/activityTopic.html")
+    public String activityTopic(final Model model, Integer id) {
+        Integer pageId = singlePageService.getActivityPageIdById(id);
+        if (pageId == null) {
+            return super.errorPath();
+        }
+        model.addAttribute("pageId", id);
+        return ACTIVITY_TOP_PATH;
+    }
 }

+ 8 - 0
src/main/java/com/caimei/www/mapper/SinglePageDao.java

@@ -90,4 +90,12 @@ public interface SinglePageDao {
      */
     String findMobileContent(Integer id);
 
+    /**
+     * 产品仪器页
+     */
+    Integer getInstrumentPageIdById(Integer id);
+    /**
+     * 活动专题页
+     */
+    Integer getActivityPageIdById(Integer id);
 }

+ 9 - 3
src/main/java/com/caimei/www/service/page/SinglePageService.java

@@ -3,8 +3,6 @@ package com.caimei.www.service.page;
 import com.caimei.www.pojo.JsonModel;
 import com.caimei.www.pojo.page.ImageLink;
 import com.caimei.www.pojo.page.PageContent;
-import com.caimei.www.pojo.page.PageFloor;
-import com.github.pagehelper.PageInfo;
 import org.springframework.http.server.reactive.ServerHttpResponse;
 import reactor.core.publisher.Mono;
 
@@ -30,5 +28,13 @@ public interface SinglePageService {
     Mono<Void> downloadByWriteWith(ServerHttpResponse response) throws UnsupportedEncodingException, FileNotFoundException;
     /** 获取讲师列表 */
     JsonModel<List<ImageLink>> getLiveTeachers();
-
+    /**
+     * 产品仪器页
+     * @return
+     */
+    Integer getInstrumentPageIdById(Integer id);
+    /**
+     * 活动专题页
+     */
+    Integer getActivityPageIdById(Integer id);
 }

+ 18 - 6
src/main/java/com/caimei/www/service/page/impl/SinglePageServiceImpl.java

@@ -4,11 +4,7 @@ import com.caimei.www.mapper.SinglePageDao;
 import com.caimei.www.pojo.JsonModel;
 import com.caimei.www.pojo.page.ImageLink;
 import com.caimei.www.pojo.page.PageContent;
-import com.caimei.www.pojo.page.PageFloor;
 import com.caimei.www.service.page.SinglePageService;
-import com.caimei.www.utils.ImageUtil;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
@@ -16,7 +12,6 @@ import org.springframework.http.MediaType;
 import org.springframework.http.ZeroCopyHttpOutputMessage;
 import org.springframework.http.server.reactive.ServerHttpResponse;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import reactor.core.publisher.Mono;
 
@@ -24,7 +19,6 @@ import javax.annotation.Resource;
 import java.io.File;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
-import java.text.SimpleDateFormat;
 import java.util.List;
 
 /**
@@ -107,4 +101,22 @@ public class SinglePageServiceImpl implements SinglePageService {
         return JsonModel.success(teacherList);
     }
 
+    @Override
+    public Integer getInstrumentPageIdById(Integer id) {
+        if (id == null) {
+            return null;
+        }
+        Integer pageId = singlePageDao.getInstrumentPageIdById(id);
+        return pageId;
+    }
+
+    @Override
+    public Integer getActivityPageIdById(Integer id) {
+        if (id == null) {
+            return null;
+        }
+        Integer pageId = singlePageDao.getActivityPageIdById(id);
+        return pageId;
+    }
+
 }

+ 13 - 0
src/main/resources/mapper/SinglePageMapper.xml

@@ -76,4 +76,17 @@
         SELECT content FROM cm_page_freedom WHERE pageId = #{id} AND type = 2
     </select>
 
+    <select id="getInstrumentPageIdById" resultType="java.lang.Integer">
+        select id from cm_page a
+        where
+            a.type=5 and a.enabledStatus=1
+            and a.id=#{id}
+    </select>
+    <select id="getActivityPageIdById" resultType="java.lang.Integer">
+        select id from cm_page a
+        where
+            a.type=6 and a.enabledStatus=1
+          and a.id=#{id}
+    </select>
+
 </mapper>

+ 297 - 0
src/main/resources/static/css/activity/activityTopic.css

@@ -0,0 +1,297 @@
+a:hover{color:#333}
+.clearfix::after{content:'';display:block;clear:both}
+@-webkit-keyframes my-fade-ease{0%{opacity:0}
+100%{opacity:0.8}
+}@keyframes my-fade-ease{0%{opacity:0}
+100%{opacity:0.8}
+}@media screen and (min-width:768px){.banner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden}
+.banner img{display:block;width:auto;height:510px;max-width:unset}
+.show-more{float:left;width:100%;text-align:center;padding-top:30px}
+.show-more .more-btn{display:inline-block;width:98px;height:30px;line-height:30px;border:1px solid #cccccc;cursor:pointer;-webkit-transition:all 0.4s;-o-transition:all 0.4s;transition:all 0.4s}
+.show-more .more-btn::after{content:'';display:inline-block;width:14px;height:14px;background:url(/img/base/icon.png) no-repeat;background-position:-93px -3px;vertical-align:middle;margin-left:3px}
+.show-more .more-btn:hover{border-color:#e15616;color:#e15616}
+.show-more .more-btn:hover::after{background-position:-153px -3px}
+.max{height:auto !important}
+.p-icon{display:inline-block;width:66px;height:22px;vertical-align:middle}
+.p-icon::before{content:'';display:inline-block;width:66px;height:22px;background:url(/img/base/icon.png) no-repeat;margin-left:-5px}
+.p-icon.i1::before{background-position:0px -714px}
+.p-icon.i2::before{background-position:0px -744px}
+.p-icon.i3::before{background-position:0px -774px}
+.p-icon.i4::before{background-position:0px -804px}
+.p-icon.i5::before{background-position:0px -834px}
+.swiper-container{padding-bottom:10px}
+.swiper-container .swiper-pagination{position:relative;padding-top:20px}
+.swiper-container .swiper-pagination .cm-bullet{display:inline-block;margin:0 2px;width:12px;height:4px;border-radius:2px;background:#e15616;opacity:0.2;cursor:pointer}
+.swiper-container .swiper-pagination .cm-bullet.cm-bullet-active{width:20px;opacity:1}
+.swiper-box{position:relative}
+.swiper-box .cm-swiper-button{position:absolute;width:44px;height:68px;background:rgba(200,200,200,0.3);top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border-radius:4px;cursor:pointer;background-position:center;background-repeat:no-repeat;background-size:30px;opacity:0;-webkit-transition:all 0.4s;-o-transition:all 0.4s;transition:all 0.4s;outline: none;}
+.swiper-box .cm-swiper-button.swiper-prev{left:-70px;background-image:url(/img/activity/prev-icon.png)}
+.swiper-box .cm-swiper-button.swiper-next{right:-70px;background-image:url(/img/activity/next-icon.png)}
+.swiper-box:hover .cm-swiper-button{opacity:1}
+.inner{width:884px;margin:0 auto}
+.inner .floor-title{padding-top:40px;padding-bottom:2px}
+.inner .floor-title h2{color:#4a4f58;font-weight:bold;line-height:31px;font-size:24px}
+.inner .floor-title p{margin-top:8px;line-height:19px;font-size:14px}
+.inner .left-box{width:100%}
+.floor-template .floor-item{display:block;-webkit-transition:all 0.4s;-o-transition:all 0.4s;transition:all 0.4s}
+.floor-template .floor-item .line{position:relative;width:100%;height:1px;background:#f0f0f0;margin:12px 0}
+.floor-template .floor-item .line::before{position:absolute;bottom:0;left:0;content:'';display:block;width:16px;height:2px;background:#e15616}
+.picture-template .floor-item{position:relative}
+.picture-template .floor-item:hover::after{left:0;top:0;z-index:9;content:'';position:absolute;display:block;width:100%;height:100%;background:rgba(0,0,0,0.1);-webkit-animation:my-fade-ease ease-in-out 0.4s;animation:my-fade-ease ease-in-out 0.4s}
+.picture-template.floor-grid-1 .floor-item{width:134px;height:134px;margin-top:16px;margin-right:16px;float:left}
+.picture-template.floor-grid-1 .floor-item img{width:100%;height:100%}
+.picture-template.floor-grid-1 .floor-item:nth-child(6n){margin-right:0}
+.picture-template.floor-grid-2 .floor-item{width:284px;height:198.20833px;margin-top:16px;margin-right:16px;float:left}
+.picture-template.floor-grid-2 .floor-item:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px);-webkit-box-shadow:0 4px 8px rgba(102,102,102,0.1);box-shadow:0 4px 8px rgba(102,102,102,0.1)}
+.picture-template.floor-grid-2 .floor-item img{width:100%;height:100%}
+.picture-template.floor-grid-2 .floor-item:nth-child(3n){margin-right:0}
+.picture-template.floor-grid-3 .floor-item{width:209px;height:161.90141px;margin-top:16px}
+.picture-template.floor-grid-3 .floor-item img{width:100%;height:100%}
+.picture-template.floor-grid-4 .floor-item{width:434px;height:267.53425px;margin-top:16px}
+.picture-template.floor-grid-4 .floor-item img{width:100%;height:100%}
+.picture-template.floor-grid-5 .floor-item{width:434px;height:267.53425px;margin-top:16px;margin-right:16px;float:left}
+.picture-template.floor-grid-5 .floor-item img{width:100%;height:100%}
+.picture-template.floor-grid-5 .floor-item:nth-child(2n){margin-right:0}
+.picture-template.floor-grid-6 .floor-item{width:884px;height:268.78378px;margin-top:16px}
+.picture-template.floor-grid-6 .floor-item img{width:100%;height:100%}
+.article-template .floor-item h2{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}
+.article-template .floor-item:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px);-webkit-box-shadow:0 4px 8px rgba(102,102,102,0.1);box-shadow:0 4px 8px rgba(102,102,102,0.1)}
+.article-template .floor-item:hover .floor-item-text h2{color:#e15616}
+.article-template .floor-item:hover .floor-item-text h2::after{opacity:1 !important}
+.article-template.floor-grid-1 .floor-item{width:434px;height:148.63014px;margin-top:16px;margin-right:16px;float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:16px;background:#fff}
+.article-template.floor-grid-1 .floor-item .floor-item-cover{float:left;width:116.63014px;height:116.63014px}
+.article-template.floor-grid-1 .floor-item .floor-item-cover img{width:100%;height:100%}
+.article-template.floor-grid-1 .floor-item .floor-item-text{width:269px;float:right}
+.article-template.floor-grid-1 .floor-item .floor-item-text h2{font-size:18px;font-weight:normal}
+.article-template.floor-grid-1 .floor-item .floor-item-text p{color:#888;font-size:14px;line-height:24px;height:70px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-align:justify}
+.article-template.floor-grid-1 .floor-item:nth-child(2n){margin-right:0}
+.article-template.floor-grid-2 .floor-item{width:434px;height:341.0411px;margin-top:16px;margin-right:16px;background:#fff}
+.article-template.floor-grid-2 .floor-item .floor-item-cover{width:434px;height:222.94521px}
+.article-template.floor-grid-2 .floor-item .floor-item-cover img{width:100%;height:100%}
+.article-template.floor-grid-2 .floor-item .floor-item-text{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:16px}
+.article-template.floor-grid-2 .floor-item .floor-item-text h2{position:relative;font-size:18px;font-weight:normal;margin-bottom:16px;height: 24px;padding-left: 16px;margin-left: -16px;}
+.article-template.floor-grid-2 .floor-item .floor-item-text h2::after{top:3px;left:0;content:'';position:absolute;display:block;height:18px;width:2px;background:#e15616;opacity:0}
+.article-template.floor-grid-2 .floor-item .floor-item-text p{color:#888;font-size:14px;height:50px;line-height:25px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-align:justify}
+.article-template.floor-grid-3 .floor-item{width:284px;height:278.08333px;margin-top:16px;margin-right:16px;background:#fff}
+.article-template.floor-grid-3 .floor-item .floor-item-cover{width:284px;height:162.70833px}
+.article-template.floor-grid-3 .floor-item .floor-item-cover img{width:100%;height:100%}
+.article-template.floor-grid-3 .floor-item .floor-item-text{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:16px}
+.article-template.floor-grid-3 .floor-item .floor-item-text h2{position:relative;font-size:18px;font-weight:normal;margin-bottom:16px;height: 24px;padding-left: 16px;margin-left: -16px;}
+.article-template.floor-grid-3 .floor-item .floor-item-text h2::after{top:3px;left:0;content:'';position:absolute;display:block;height:18px;width:2px;background:#e15616;opacity:0}
+.article-template.floor-grid-3 .floor-item .floor-item-text p{color:#888;font-size:14px;line-height:25px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-align:justify}
+.article-template.floor-grid-4 .floor-item{width:284px;height:278.08333px;margin-top:16px;margin-right:16px;background:#fff;float:left}
+.article-template.floor-grid-4 .floor-item:nth-child(3n){margin-right:0}
+.article-template.floor-grid-4 .floor-item .floor-item-cover{width:284px;height:162.70833px}
+.article-template.floor-grid-4 .floor-item .floor-item-cover img{width:100%;height:100%}
+.article-template.floor-grid-4 .floor-item .floor-item-text{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:16px}
+.article-template.floor-grid-4 .floor-item .floor-item-text h2{position:relative;font-size:18px;font-weight:normal;margin-bottom:16px;height: 24px;padding-left: 16px;margin-left: -16px;}
+.article-template.floor-grid-4 .floor-item .floor-item-text h2::after{top:3px;left:0;content:'';position:absolute;display:block;height:18px;width:2px;background:#e15616;opacity:0}
+.article-template.floor-grid-4 .floor-item .floor-item-text p{color:#888;font-size:14px;line-height:25px;height:50px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-align:justify}
+.product-template .floor-main{padding-bottom:10px}
+.product-template .floor-item-ad{position:relative;display:block;float:left;margin:16px 16px 0 0}
+.product-template .floor-item-ad img{width:100%;height:100%}
+.product-template .floor-item-ad:hover::after{left:0;top:0;z-index:9;content:'';position:absolute;display:block;width:100%;height:100%;background:rgba(0,0,0,0.1);-webkit-animation:my-fade-ease ease-in-out 0.4s;animation:my-fade-ease ease-in-out 0.4s}
+.product-template .floor-item{float:left;position:relative;width:164px;height:263.57143px;margin:16px 16px 0 0;background:#fff}
+.product-template .floor-item .floor-item-cover{width:164px;height:164px}
+.product-template .floor-item .floor-item-cover img{width:100%;height:100%}
+.product-template .floor-item:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px);-webkit-box-shadow:0 4px 8px rgba(102,102,102,0.1);box-shadow:0 4px 8px rgba(102,102,102,0.1)}
+.product-template .floor-item:hover .floor-item-text{color:#e15616}
+.product-template .floor-item .floor-item-text{position:absolute;bottom:0;width:100%;padding:0 8px 8px;-webkit-box-sizing:border-box;box-sizing:border-box}
+.product-template .floor-item .floor-item-text .pro-tags{height:24px}
+.product-template .floor-item .floor-item-text .pro-tags .tag{display:inline-block;padding:0 4px;height:24px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e3ebf7;border-radius:2px;font-size:12px;line-height:22px;text-align:center;color:#9aa5b5}
+.product-template .floor-item .floor-item-text .pro-title{height:40px;padding-top:4px;font-size:14px;line-height:20px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-align:justify}
+.product-template .floor-item .floor-item-text .pro-title .tag{width:44px;height:18px;line-height:18px;font-size:12px;display:inline-block;margin-right:5px;text-align:center;color:#ffffff !important;background-image:-webkit-gradient(linear,right top,left top,from(#f9c023),to(#f83600));background-image:-o-linear-gradient(right,#f9c023 0%,#f83600 100%);background-image:linear-gradient(270deg,#f9c023 0%,#f83600 100%);border-radius:0px 10px 0px 0px;margin-top:2px}
+.product-template .floor-item .floor-item-text .pro-price{bottom:0;line-height:22px}
+.product-template .floor-item .floor-item-text .pro-price span{vertical-align:middle}
+.product-template .floor-item .floor-item-text .pro-price .price-tag{height:22px;margin:4px 0 ;}
+.product-template .floor-item .floor-item-text .pro-price .price-tag .tag{display:inline-block;height:20px;line-height:20px;border:1px solid #ffe6dc;border-radius:2px;font-size:12px;color:#e15616;cursor:pointer;background:#fff;padding:0 4px;position:relative;font-style:normal}
+.product-template.floor-grid-1 .floor-main{height:604.42857px;overflow:hidden}
+.product-template.floor-grid-1 .floor-item-ad.ad1{width:100%;height:117.14286px;margin-right:0}
+.product-template.floor-grid-1 .floor-item-ad.ad2{width:434px;height:175.71429px}
+.product-template.floor-grid-1 .floor-item-ad.ad3{width:434px;height:175.71429px;margin-right:0}
+.product-template.floor-grid-1 .floor-item:nth-of-type(5n){margin-right:0}
+.product-template.floor-grid-2 .floor-main{height:559.14286px;overflow:hidden}
+.product-template.floor-grid-2 .floor-item-ad.ad1{width:524px;height:263.57143px}
+.product-template.floor-grid-2 .floor-item-ad.ad2{width:344px;height:123.78571px;margin-right:0}
+.product-template.floor-grid-2 .floor-item-ad.ad3{width:344px;height:124px;margin-right:0}
+.product-template.floor-grid-2 .floor-item:nth-of-type(5n){margin-right:0}
+.product-template.floor-grid-3 .floor-main{height:559.14286px;overflow:hidden}
+.product-template.floor-grid-3 .floor-item-ad.ad1{width:524px;height:263.57143px}
+.product-template.floor-grid-3 .floor-item-ad.ad2{width:164px;height:123.78571px}
+.product-template.floor-grid-3 .floor-item-ad.ad3{width:164px;height:123.78571px;margin-right:0}
+.product-template.floor-grid-3 .floor-item-ad.ad4{width:164px;height:124px}
+.product-template.floor-grid-3 .floor-item-ad.ad5{width:164px;height:124px;margin-right:0}
+.product-template.floor-grid-3 .floor-item:nth-of-type(5n){margin-right:0}
+.product-template.floor-grid-4 .floor-main{height:559.14286px;overflow:hidden}
+.product-template.floor-grid-4 .floor-item:nth-of-type(5n){margin-right:0}
+.product-template.floor-grid-5 .floor-main{height:692.28571px;overflow:hidden}
+.product-template.floor-grid-5 .floor-item-ad.ad1{width:100%;height:117.14286px}
+.product-template.floor-grid-5 .floor-item-ad.ad2{width:524px;height:263.57143px}
+.product-template.floor-grid-5 .floor-item-ad.ad3{width:344px;height:263.57143px;margin-right:0}
+.product-template.floor-grid-5 .floor-item:nth-of-type(5n){margin-right:0}
+.product-template.floor-grid-6 .floor-main{height:692.28571px;overflow:hidden}
+.product-template.floor-grid-6 .floor-item-ad.ad1{width:100%;height:117.14286px}
+.product-template.floor-grid-6 .floor-item-ad.ad2{width:524px;height:263.57143px}
+.product-template.floor-grid-6 .floor-item:nth-of-type(5n+2){margin-right:0}
+.product-template.floor-grid-7 .floor-main{height:559.14286px;overflow:hidden}
+.product-template.floor-grid-7 .floor-item-ad.ad1{width:524px;height:263.57143px}
+.product-template.floor-grid-7 .floor-item-ad.ad2{width:344px;height:263.57143px;margin-right:0}
+.product-template.floor-grid-7 .floor-item:nth-of-type(5n){margin-right:0}
+.product-template.floor-grid-8 .floor-main{height:559.14286px;overflow:hidden}
+.product-template.floor-grid-8 .floor-item-ad.ad1{width:524px;height:263.57143px}
+.product-template.floor-grid-8 .floor-item:nth-of-type(5n+2){margin-right:0}
+.product-template.floor-grid-9 .floor-main{height:412.71429px;overflow:hidden}
+.product-template.floor-grid-9 .floor-item-ad.ad1{width:100%;height:117.14286px}
+.product-template.floor-grid-9 .floor-item:nth-of-type(5n){margin-right:0}
+.product-template.floor-grid-10 .floor-main{height:559.14286px;overflow:hidden}
+.product-template.floor-grid-10 .floor-item-ad.ad1{width:100%;height:117.14286px}
+.product-template.floor-grid-10 .floor-item:nth-of-type(5n){margin-right:0}
+}@media screen and (max-width:768px){.banner{width:100vw;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden}
+.banner img{display:block;width:100vw;height:48vw;max-width:unset}
+.show-more{padding-top:6vw;width:100vw;text-align:center}
+.show-more .more-btn{display:inline-block;width:20vw;height:6vw;font-size:3vw;line-height:6vw;border:1px solid #ccc}
+.show-more .more-btn::after{content:'';width:4vw;height:2.4vw;display:inline-block;background:url(/img/base/icon_m.png) no-repeat;background-size:100vw auto;background-position:-51.5vw -2vw}
+.max{height:auto !important}
+.p-icon{display:inline-block;width:16vw;height:5vw;vertical-align:middle;margin-bottom:1vw;margin-left:-1vw}
+.p-icon::before{content:'';display:inline-block;width:16vw;height:5vw;background:url(/img/base/icon_m.png) no-repeat;background-size:100vw auto}
+.p-icon.i1::before{background-position:-84vw -69.5vw}
+.p-icon.i2::before{background-position:-84vw -76.5vw}
+.p-icon.i3::before{background-position:-84vw -83.5vw}
+.p-icon.i4::before{background-position:-84vw -90.5vw}
+.p-icon.i5::before{background-position:-84vw -97.5vw}
+.swiper-container .swiper-pagination{position:relative;padding-top:2.6vw}
+.swiper-container .swiper-pagination .cm-bullet{display:inline-block;margin:0 2px;width:3vw;height:0.5vw;background:#e15616;opacity:0.2;cursor:pointer}
+.swiper-container .swiper-pagination .cm-bullet.cm-bullet-active{width:20px;opacity:1}
+.inner .floor-item{display:block}
+.inner .floor-scroll{overflow:visible;overflow-x:scroll !important;white-space:nowrap}
+.inner .floor-scroll::-webkit-scrollbar{width:0;height:0;opacity:0;visibility:hidden}
+.inner .floor-scroll .floor-item{display:inline-block !important}
+.inner .floor-title{padding-left:3vw;padding-top:4vw}
+.inner .floor-title h2{font-weight:bold;color:#4a4f58;font-size:4.8vw;line-height:9.7vw}
+.inner .floor-title p{font-weight:normal;color:#93979f;font-size:3.4vw;line-height:4.3vw}
+.picture-template.floor-grid-1 .swiper-slide{padding:0 3vw;-webkit-box-sizing:border-box;box-sizing:border-box}
+.picture-template.floor-grid-1 .floor-item{width:22vw;height:22vw;margin:2vw 2vw 0 0;float:left}
+.picture-template.floor-grid-1 .floor-item img{width:22vw;height:22vw}
+.picture-template.floor-grid-1 .floor-item:nth-of-type(4n){margin-right:0}
+.picture-template.floor-grid-2 .swiper-slide{padding:0 3vw;-webkit-box-sizing:border-box;box-sizing:border-box}
+.picture-template.floor-grid-2 .floor-item{width:30vw;height:21vw;margin:2vw 2vw 0 0;float:left}
+.picture-template.floor-grid-2 .floor-item img{width:30vw;height:21vw}
+.picture-template.floor-grid-2 .floor-item:nth-of-type(3n){margin-right:0}
+.picture-template.floor-grid-3 .floor-item{width:41vw;height:32vw;margin:2vw 2vw 0 0}
+.picture-template.floor-grid-3 .floor-item img{width:41vw;height:32vw}
+.picture-template.floor-grid-3 .floor-item:first-of-type{margin-left:3vw}
+.picture-template.floor-grid-3 .floor-item:last-of-type{margin-right:3vw}
+.picture-template.floor-grid-4{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 3vw}
+.picture-template.floor-grid-4 .floor-item{width:94vw;height:48vw;margin:2vw 2vw 0 0}
+.picture-template.floor-grid-4 .floor-item img{width:94vw;height:48vw}
+.picture-template.floor-grid-5 .swiper-slide{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 3vw}
+.picture-template.floor-grid-5 .floor-item{width:46vw;height:28vw;margin:2vw 2vw 0 0;float:left}
+.picture-template.floor-grid-5 .floor-item img{width:46vw;height:28vw}
+.picture-template.floor-grid-5 .floor-item:nth-of-type(2n){margin-right:0}
+.picture-template.floor-grid-6{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 3vw}
+.picture-template.floor-grid-6 .floor-item{width:94vw;height:45vw;margin:2vw 2vw 0 0}
+.picture-template.floor-grid-6 .floor-item img{width:94vw;height:45vw}
+.article-template .floor-item .floor-item-text h2{font-size:4vw;font-weight:normal;color:#4a4f58;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}
+.article-template .floor-item .floor-item-text p{color:#86878b;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;text-align:justify}
+.article-template.floor-grid-1 .floor-item{width:94vw;height:33vw;margin:2vw 3vw;background:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;padding:3vw}
+.article-template.floor-grid-1 .floor-item img{width:94vw;height:33vw}
+.article-template.floor-grid-1 .floor-item .floor-item-cover{width:27vw;height:27vw;float:left}
+.article-template.floor-grid-1 .floor-item .floor-item-cover img{width:27vw;height:27vw}
+.article-template.floor-grid-1 .floor-item .floor-item-text{float:right;width:57vw}
+.article-template.floor-grid-1 .floor-item .floor-item-text h2{line-height:5vw;-webkit-line-clamp:1}
+.article-template.floor-grid-1 .floor-item .floor-item-text p{margin-top:3vw;font-size:3vw;line-height:5vw;-webkit-line-clamp:4}
+.article-template.floor-grid-2 .floor-item{width:94vw;height:72vw;margin:2vw 3vw;background:#fff}
+.article-template.floor-grid-2 .floor-item .floor-item-cover{width:94vw;height:48vw}
+.article-template.floor-grid-2 .floor-item .floor-item-cover img{width:94vw;height:48vw}
+.article-template.floor-grid-2 .floor-item .floor-item-text{width:84vw;-webkit-box-sizing:border-box;box-sizing:border-box;padding:3vw}
+.article-template.floor-grid-2 .floor-item .floor-item-text h2{line-height:5vw;-webkit-line-clamp:1}
+.article-template.floor-grid-2 .floor-item .floor-item-text p{margin-top:3vw;font-size:3vw;line-height:5vw;-webkit-line-clamp:2}
+.article-template.floor-grid-3 .floor-item{width:41vw;height:52vw;margin:2vw 2vw 0 0;background:#fff}
+.article-template.floor-grid-3 .floor-item:first-of-type{margin-left:3vw}
+.article-template.floor-grid-3 .floor-item:last-of-type{margin-right:3vw}
+.article-template.floor-grid-3 .floor-item .floor-item-cover{width:41vw;height:29vw}
+.article-template.floor-grid-3 .floor-item .floor-item-cover img{width:41vw;height:29vw}
+.article-template.floor-grid-3 .floor-item .floor-item-text{width:41vw;-webkit-box-sizing:border-box;box-sizing:border-box;padding:3vw}
+.article-template.floor-grid-3 .floor-item .floor-item-text h2{line-height:5vw;-webkit-line-clamp:1}
+.article-template.floor-grid-3 .floor-item .floor-item-text p{margin-top:3vw;font-size:3vw;line-height:5vw;-webkit-line-clamp:2}
+.article-template.floor-grid-4{padding:0 3vw;-webkit-box-sizing:border-box;box-sizing:border-box}
+.article-template.floor-grid-4 .floor-item{width:46vw;height:57vw;margin:2vw 2vw 0 0;float:left;background:#fff}
+.article-template.floor-grid-4 .floor-item:nth-of-type(2n){margin-right:0}
+.article-template.floor-grid-4 .floor-item .floor-item-cover{width:46vw;height:33vw}
+.article-template.floor-grid-4 .floor-item .floor-item-cover img{width:46vw;height:33vw}
+.article-template.floor-grid-4 .floor-item .floor-item-text{width:46vw;-webkit-box-sizing:border-box;box-sizing:border-box;padding:3vw}
+.article-template.floor-grid-4 .floor-item .floor-item-text h2{line-height:5vw;-webkit-line-clamp:1}
+.article-template.floor-grid-4 .floor-item .floor-item-text p{margin-top:3vw;font-size:3vw;line-height:5vw;-webkit-line-clamp:2}
+.product-template{padding:0 3vw;width:100vw;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}
+.product-template .floor-item-ad{display:block}
+.product-template .floor-item-ad img{width:100%;height:100%}
+.product-template .floor-item{display:block;position:relative;width:46vw;height:68vw;float:left;margin:2vw 2vw 0 0;background:#fff}
+.product-template .floor-item .floor-item-cover{width:46vw;height:46vw}
+.product-template .floor-item .floor-item-cover img{width:46vw;height:46vw}
+.product-template .floor-item .floor-item-text{position:absolute;width:46vw;padding:2vw 3vw;bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box}
+.product-template .floor-item .floor-item-text .pro-tags .tag{display:inline-block;font-size:3vw;padding:0.5vw 0.8vw;border:1px solid #ccc}
+.product-template .floor-item .floor-item-text .pro-title{height:9vw;font-size:3vw;line-height:5vw;color:#4a4f58;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
+.product-template .floor-item .floor-item-text .pro-price .price-tag{height:5vw;padding:1vw 0}
+.product-template .floor-item .floor-item-text .pro-price .price-tag .tag{font-size:2.4vw;display:inline-block;line-height:5vw;color:#e15616;padding:0 0.8vw;border:1px solid #e15616;border-radius:0.5vw}
+.product-template .floor-item .floor-item-text .pro-price .price{height:5vw;line-height:5vw}
+.product-template.floor-grid-1 .floor-item-ad{float:left;margin:2vw 2vw 0 0}
+.product-template.floor-grid-1 .floor-item-ad.ad1{width:94vw;height:32vw;margin-right:0}
+.product-template.floor-grid-1 .floor-item-ad.ad2{width:46vw;height:35vw}
+.product-template.floor-grid-1 .floor-item-ad.ad3{width:46vw;height:35vw;margin-right:0}
+.product-template.floor-grid-1 .floor-item:nth-of-type(2n){margin-right:0}
+.product-template.floor-grid-2 .floor-item-ad{float:left;margin:2vw 2vw 0 0}
+.product-template.floor-grid-2 .floor-item-ad.ad1{width:46vw;height:68vw}
+.product-template.floor-grid-2 .floor-item-ad.ad2{width:46vw;height:33vw;margin-right:0}
+.product-template.floor-grid-2 .floor-item-ad.ad3{width:46vw;height:33vw;margin-right:0}
+.product-template.floor-grid-2 .floor-item:nth-of-type(2n){margin-right:0}
+.product-template.floor-grid-3 .floor-item-ad{float:left;margin:2vw 2vw 0 0}
+.product-template.floor-grid-3 .floor-item-ad.ad1{width:46vw;height:68vw}
+.product-template.floor-grid-3 .floor-item-ad.ad2{width:46vw;height:33vw;margin-right:0}
+.product-template.floor-grid-3 .floor-item-ad.ad3{width:46vw;height:33vw;margin-right:0}
+.product-template.floor-grid-3 .floor-item-ad.ad4{width:46vw;height:33vw}
+.product-template.floor-grid-3 .floor-item-ad.ad5{width:46vw;height:33vw;margin-right:0}
+.product-template.floor-grid-3 .floor-item:nth-of-type(2n){margin-right:0}
+.product-template.floor-grid-4 .floor-item:nth-of-type(2n){margin-right:0}
+.product-template.floor-grid-5 .floor-item-ad{float:left;margin:2vw 2vw 0 0}
+.product-template.floor-grid-5 .floor-item-ad.ad1{width:94vw;height:24vw}
+.product-template.floor-grid-5 .floor-item-ad.ad2{width:46vw;height:68vw}
+.product-template.floor-grid-5 .floor-item-ad.ad3{width:46vw;height:68vw;margin-right:0}
+.product-template.floor-grid-5 .floor-item:nth-of-type(2n){margin-right:0}
+.product-template.floor-grid-6 .floor-item-ad{float:left;margin:2vw 2vw 0 0}
+.product-template.floor-grid-6 .floor-item-ad.ad1{width:94vw;height:24vw}
+.product-template.floor-grid-6 .floor-item-ad.ad2{width:46vw;height:68vw}
+.product-template.floor-grid-6 .floor-item:nth-of-type(2n+1){margin-right:0}
+.product-template.floor-grid-7 .floor-item-ad{float:left;margin:2vw 2vw 0 0}
+.product-template.floor-grid-7 .floor-item-ad.ad1{width:46vw;height:68vw}
+.product-template.floor-grid-7 .floor-item-ad.ad2{width:46vw;height:68vw;margin-right:0}
+.product-template.floor-grid-7 .floor-item:nth-of-type(2n){margin-right:0}
+.product-template.floor-grid-8 .floor-item-ad{float:left;margin:2vw 2vw 0 0}
+.product-template.floor-grid-8 .floor-item-ad.ad1{width:46vw;height:68vw}
+.product-template.floor-grid-8 .floor-item:nth-of-type(2n+1){margin-right:0}
+.product-template.floor-grid-9 .floor-item-ad,.product-template.floor-grid-10 .floor-item-ad{float:left;margin:2vw 2vw 0 0}
+.product-template.floor-grid-9 .floor-item-ad.ad1,.product-template.floor-grid-10 .floor-item-ad.ad1{width:94vw;height:24vw}
+.product-template.floor-grid-9 .floor-item:nth-of-type(2n),.product-template.floor-grid-10 .floor-item:nth-of-type(2n){margin-right:0}
+.product-template.floor-grid-11{padding:0 !important}
+.product-template.floor-grid-11 .swiper-slide{padding:0 3vw;-webkit-box-sizing:border-box;box-sizing:border-box}
+.product-template.floor-grid-11 .floor-item:nth-of-type(2n){margin-right:0}
+.article-template.floor-main{overflow:hidden}
+.article-template.floor-main.floor-grid-1{height:140vw}
+.article-template.floor-main.floor-grid-2{height:148vw}
+.article-template.floor-main.floor-grid-4{height:118vw}
+.picture-template.floor-main{overflow:hidden}
+.picture-template.floor-main.floor-grid-4{height:100vw}
+.picture-template.floor-main.floor-grid-6{height:47vw}
+.product-template .floor-main{overflow:hidden}
+.product-template .show-more{float:left}
+.product-template.floor-grid-1 .floor-main{height:141vw}
+.product-template.floor-grid-2 .floor-main{height:140vw}
+.product-template.floor-grid-3 .floor-main{height:175vw}
+.product-template.floor-grid-4 .floor-main{height:140vw}
+.product-template.floor-grid-5 .floor-main{height:166vw}
+.product-template.floor-grid-6 .floor-main{height:166vw}
+.product-template.floor-grid-7 .floor-main{height:140vw}
+.product-template.floor-grid-8 .floor-main{height:140vw}
+.product-template.floor-grid-9 .floor-main{height:166vw}
+.product-template.floor-grid-10 .floor-main{height:140vw}
+.product-template.floor-grid-11 .floor-main{overflow:visible}
+}

+ 4 - 4
src/main/resources/static/css/product/instruement.css

@@ -39,7 +39,7 @@
     .productItem .price .price_text_tag{width: 100%;height: 22px;box-sizing: border-box;float: left;margin-top: 3px;}
     .productItem .price .price_text_tag .listTag{margin: 0;float: left}
     .productItem .price  .main_price_show{width: 100%;height: 30px;line-height: 30px;font-size: 14px;color: #f94b4b;text-align: left;float: left;}
-    .productItem .price .icon:before{width: 63px;}
+    .productItem .price .icon:before{width: 63px;height: 32px;}
     .productItem .price .main_price_unde { width: 100%;height: 31px;line-height: 31px;font-size: 14px;color: #4a4f58;text-align: left;float: left;}
     .productItem .price .icon.i5:before {
         background-position: -2px -832px;
@@ -115,9 +115,9 @@
     .floorCon .hotList .imgbaner img{width: 100%;height: 100%;}
     .hotList .section_page_main {height: 140vw;overflow: hidden;}
     .hotList .section_page_main.type{height: 167vw}
-    .open.mIcon:before{width: 5.4vw;height: 5.4vw;background-position: -51vw 0px;transition:none}
-    .close.mIcon:before{width: 5.4vw;height: 5.4vw;background-position: -42vw 0px;transition:none}
-    .instrue-right .hot-search .left-box{width: 90%;float: left}
+
+    .instrue-ri .open.mIcon:before{width: 5.4vw;height: 5.4vw;background-position: -51vw 0px;transition:none}
+    .close.mIcon:before{width: 5.4vw;height: 5.4vw;background-position: -42vw 0px;transition:none}ght .hot-search .left-box{width: 90%;float: left}
     .instrue-right .hot-search .right-box{float: right;width: 10%;text-align: center}
     .item_icon{height: 8.8vw;padding: 2.7vw 0;width: 100%}
     .item_icon img{width: 8.8vw;height: 8.8vw;display: block;margin: 0 auto}

+ 1 - 0
src/main/resources/static/css/product/qualityauthorize.css

@@ -8,6 +8,7 @@ ul{margin:0;padding:0;list-style-type:none}
 .params{border-collapse:unset;border:0;width:100%}
 .product-params .params tr td{border:0}
 .product-params .params tr td:nth-child(2n-1){color:#999999}
+.float-zplm{display: none;visibility: hidden;}
 @media screen and (min-width:768px){body{background-color:#F8F8F8}
 .inner{width:1184px;margin:0 auto}
 .container-header{width:100%;height:auto}

BIN
src/main/resources/static/img/activity/next-icon.png


BIN
src/main/resources/static/img/activity/prev-icon.png


+ 416 - 0
src/main/resources/static/js/activity/activityTopic.js

@@ -0,0 +1,416 @@
+var activity = new Vue({
+    el: '#activity',
+    data: {
+        listLoading: true, //加载动画
+        hotlist: [],       //热搜词
+        recommendPage: 1,  //
+        floorList: [],    //楼层列表
+        pageInfo: null,
+        userId: 0,         //用户id
+        typeSort: '',
+        showflag: false,   //对话框
+        params: {          //请求参数
+            pageId: '',
+            userId: '',
+            source: 1
+        },
+        nav_linkName: '',   //导航名
+        isPc: window.isPC
+    },
+    filters: {
+        NumFormat: function (value) {//处理金额
+            return Number(value).toFixed(2);
+        },
+        marginRight: function (index) {
+            var strArr = index.toString().split('');
+            var lastStr = strArr[strArr.length - 1];
+            return lastStr === '2' || lastStr === '7'
+        }
+    },
+    computed: {},
+    created: function () {
+        // this.init();
+    },
+    methods: {
+        //促销活动类型数据处理
+        PromotionsFormat: function (promo) {
+            if (promo !== null) {
+                if (promo.type === 1 && promo.mode === 1) {
+                    return true;
+                } else {
+                    return false;
+                }
+            }
+            return false;
+        },
+        closeup: function () {
+            this.showflag = false;
+            document.body.style.overflow = '';
+        },
+        showNav: function () {
+            var _this = this;
+            _this.showflag = !_this.showflag;
+            if (_this.showflag) {
+                document.body.style.overflow = 'hidden';
+            } else {
+                document.body.style.overflow = '';
+            }
+        },
+        toserch: function (item) {
+            window.location.href = '/product/instruelist.html?bigTypeID=' + item.bigTypeID + '&typeSort=' + this.typeSort + '&name=' + this.nav_linkName
+        },
+        //查看更多
+        showMore: function (page) {
+            page.isPageMore = false
+        },
+        //初始化数据
+        init: function () {
+            this.nav_linkName = decodeURI(CAIMEI.getUrlParam('name'));
+            //判断用户是否登录
+            var userInfo = localStorage.getItem('userInfo');
+            if (userInfo) {
+                this.params.userId = JSON.parse(userInfo).userId;
+            }
+            //获取页面id
+            this.params.pageId = getUrlParam('id');
+            this.getFloorData()
+        },
+        //处理商品状态
+        fromatFloorProductStatus: function (formatData) {
+            formatData.forEach(function (item) {
+                item.floorImageList = item.floorImageList.filter(function (val) {
+                    return val.pcStatus === '1'
+                });
+            });
+        },
+        //获取页面数据
+        getFloorData: function () {
+            var _self = this;
+            ProductApi.getActivityData(_self.params, function (res) {
+                if (res.code === 0) {
+                    _self.floorList = res.data.floorList;
+                    _self.pageInfo = res.data.page;
+                    setTimeout(function () {
+                        _self.fromatFloorProductStatus(_self.floorList);
+                        if (_self.isPc) {
+                            _self.initFloorListPc(_self.floorList);
+                        } else {
+                            _self.initFloorListMobile(_self.floorList);
+                        }
+                        _self.listLoading = false;
+                        _self.initSwiper();
+                    });
+                } else {
+                    CAIMEI.Alert(res.msg, '确定');
+                }
+            })
+        },
+        // PC楼层数据处理
+        initFloorListPc: function (floorList) {
+            var _that = this
+            floorList.forEach(function (list) {
+                if (list.floorContent) {
+
+                    var tempType = list.floorContent.templateType
+                    switch (tempType) {
+                        case '1':
+                            list.floorImageList = _that.swiperDataFormat(
+                                list.floorImageList,
+                                12
+                            )
+                            break
+                        case '2':
+                        case '6':
+                            list.floorImageList = _that.swiperDataFormat(list.floorImageList, 6)
+                            break
+                        case '3':
+                        case '9':
+                            list.floorImageList = _that.swiperDataFormat(list.floorImageList, 4)
+                            break
+                        case '11':
+                        case '12':
+                        case '13':
+                        case '15':
+                        case '17':
+                        case '19':
+                        case '20':
+                            list.floorImageList.length > 5 && (list.isPageMore = true)
+                            break
+                        case '14':
+                            list.floorImageList.length > 10 && (list.isPageMore = true)
+                            break
+                        case '16':
+                        case '18':
+                            list.floorImageList.length > 7 && (list.isPageMore = true)
+                            break
+                        default:
+                            break
+                    }
+                }
+
+            })
+        },
+        // 移动端楼层数据处理
+        initFloorListMobile: function (floorList) {
+            var _that = this
+            floorList.forEach(function (list) {
+                if (list.floorContent) {
+                    var tempType = list.floorContent.templateType
+                    switch (tempType) {
+                        case '1':
+                            list.floorImageList = _that.swiperDataFormat(list.floorImageList, 8)
+                            break
+                        case '2':
+                            list.floorImageList = _that.swiperDataFormat(list.floorImageList, 6)
+                            break
+                        case '9':
+                            list.floorImageList.length > 2 && (list.isPageMore = true)
+                            list.floorImageList = _that.swiperDataFormat(list.floorImageList, 4)
+                            break
+                        case '21':
+                            list.floorImageList = _that.swiperDataFormat(list.floorImageList, 4)
+                            break
+                        case '3':
+                        case '6':
+                            list.floorImageList.length > 4 && (list.isPageMore = true)
+                            break
+                        case '4':
+                        case '8':
+                            list.floorImageList.length > 2 && (list.isPageMore = true)
+                            break
+                        case '10':
+                            list.floorImageList.length > 1 && (list.isPageMore = true)
+                            break
+                        case '11':
+                        case '12':
+                        case '13':
+                        case '15':
+                            list.floorImageList.length > 2 && (list.isPageMore = true)
+                            break
+                        case '14':
+                        case '19':
+                        case '20':
+                            list.floorImageList.length > 4 && (list.isPageMore = true)
+                            break
+                        case '16':
+                        case '17':
+                        case '18':
+                            list.floorImageList.length > 3 && (list.isPageMore = true)
+                            break
+                        default:
+                            break
+                    }
+                }
+            })
+        },
+        // 轮播图数据处理
+        swiperDataFormat: function (list, n) {
+            var result = []
+            var page = Math.ceil(list.length / n)
+            for (var i = 0; i < page; i++) {
+                result.push(list.splice(0, n))
+            }
+            return result
+        },
+        // 轮播图样式生产方法
+        swiperStyle: function (tempType, swiperEl, btns) {
+            var swiper = null
+            var slides = $(swiperEl).find('.swiper-slide').length
+            var option = {
+                loop: true,
+                noSwiping: false,
+                noSwipingClass: 'no-swiping',
+            }
+            if (typeof Object.assign != 'function') {
+                Object.assign = function (target) {
+                    'use strict';
+                    if (target == null) {
+                        throw new TypeError('Cannot convert undefined or null to object');
+                    }
+                    target = Object(target);
+                    for (var index = 1; index < arguments.length; index++) {
+                        var source = arguments[index];
+                        if (source != null) {
+                            for (var key in source) {
+                                if (Object.prototype.hasOwnProperty.call(source, key)) {
+                                    target[key] = source[key];
+                                }
+                            }
+                        }
+                    }
+                    return target;
+                };
+            }
+            if (
+                tempType === '1' ||
+                tempType === '2' ||
+                tempType === '3' ||
+                tempType === '6' ||
+                tempType === '9'
+            ) {
+                var myOption = {
+                    autoplay: {
+                        delay: 5000,
+                        stopOnLastSlide: false,
+                        disableOnInteraction: false,
+                    },
+                    pagination: {
+                        el: '.swiper-pagination',
+                        bulletClass: 'cm-bullet', //需设置.my-bullet样式
+                        bulletActiveClass: 'cm-bullet-active',
+                        clickable: true,
+                    },
+                }
+                Object.assign(option, myOption);
+            } else if (tempType === '21') {
+                var myOption1 = {
+                    autoplay: {
+                        delay: 5000,
+                        stopOnLastSlide: false,
+                        disableOnInteraction: false,
+                    },
+                    pagination: {
+                        el: '.swiper-pagination',
+                        bulletClass: 'cm-bullet', //需设置.my-bullet样式
+                        bulletActiveClass: 'cm-bullet-active',
+                        clickable: true,
+                    },
+                }
+
+                if (this.isPc) {
+                    var myOption2 = {
+                        slidesPerView: 5,
+                        slidesPerGroup: 5,
+                        spaceBetween: 16,
+                    }
+                    if(slides <= 5){
+                        myOption1.autoplay=false;
+                        option.loop = false;
+                        myOption1.pagination = false;
+                    }
+                    Object.assign(option, myOption2);
+                }
+                Object.assign(option, myOption1);
+            } else if (tempType === '4' || tempType === '8') {
+                var myOption1 = {
+                    slidesPerView: 2,
+                    slidesPerGroup: 2,
+                    spaceBetween: 16,
+                    noSwipingClass: 'no-swiping',
+                    navigation: {
+                        nextEl: btns.next,
+                        prevEl: btns.prev,
+                    },
+                }
+                if (Math.ceil(slides / 2) === 1) {
+                    option.noSwiping = true
+                    option.loop = false
+                    $(swiperEl).parent().find('.cm-swiper-button').css('display', 'none')
+                }
+                Object.assign(option, myOption1);
+            } else if (tempType === '5') {
+                var myOption1 = {
+                    slidesPerView: 3,
+                    slidesPerGroup: 3,
+                    spaceBetween: 16,
+                    navigation: {
+                        nextEl: btns.next,
+                        prevEl: btns.prev,
+                    },
+                }
+                if (Math.ceil(slides / 3) === 1) {
+                    option.noSwiping = true
+                    option.loop = false
+                    $(swiperEl).parent().find('.cm-swiper-button').css('display', 'none')
+                }
+                Object.assign(option, myOption1);
+            } else if (tempType === '7') {
+                var myOption1 = {
+                    slidesPerView: 4,
+                    slidesPerGroup: 4,
+                    spaceBetween: 16,
+                    navigation: {
+                        nextEl: btns.next,
+                        prevEl: btns.prev,
+                    },
+                }
+                if (Math.ceil(slides / 4) === 1) {
+                    option.noSwiping = true
+                    option.loop = false
+                    $(swiperEl).parent().find('.cm-swiper-button').css('display', 'none')
+                }
+                Object.assign(option, myOption1);
+            } else if (tempType === '10') {
+                var myOption1 = {
+                    navigation: {
+                        nextEl: btns.next,
+                        prevEl: btns.prev,
+                    },
+                }
+                if (slides === 1) {
+                    option.noSwiping = true
+                    option.loop = false
+                    $(swiperEl).parent().find('.cm-swiper-button').css('display', 'none')
+                }
+                Object.assign(option, myOption1);
+            }
+            return function () {
+                if (slides > 1) {
+                    swiper = new Swiper(swiperEl, option)
+                    if (swiper.pagination.bullets) {
+                        for (i = 0; i < swiper.pagination.bullets.length; i++) {
+                            swiper.pagination.bullets[i].onmouseover = function () {
+                                this.click()
+                            }
+                        }
+                    }
+                }
+            }
+        },
+        // 初始化轮播图
+        initSwiper: function () {
+            var _that = this;
+            setTimeout(function () {
+                var swiperTemps = [
+                    '1',
+                    '2',
+                    '3',
+                    '4',
+                    '5',
+                    '6',
+                    '7',
+                    '8',
+                    '9',
+                    '10',
+                    '21',
+                ];
+                $('.swiper-container').each(function (i, el) {
+                    // 通过轮播图id解析出模板id及轮播图el
+                    var tempType = el.id.split('-')[1];
+                    var swiperEl = '#' + el.id;
+                    var btns = {
+                        prev: '',
+                        next: '',
+                    };
+                    // 初始化轮播图按钮控件class
+                    var btnList = $(el).parent().find('.cm-swiper-button');
+                    if (btnList.length === 2) {
+                        btns.prev = '.' + btnList[0].classList[2];
+                        btns.next = '.' + btnList[1].classList[2];
+                    }
+                    if (swiperTemps.indexOf(tempType) !== -1) {
+                        console.log(tempType)
+                        _that.swiperStyle(tempType, swiperEl, btns)();
+                    }
+                });
+                $('img[data-original]').lazyload();
+
+            })
+        },
+
+    },
+    mounted: function () {
+        this.init();
+        // this.testData();
+    }
+});

+ 1 - 1
src/main/resources/static/js/product/qualityauthorize.js

@@ -55,7 +55,7 @@ var qualityAuthorize = new Vue({
                 this.isCmComtent = true;
                 this.cmContent = `
                 <p>目前,在市面上经常发现不少伪劣医疗美容产品/仪器,让众多的消费者无法辨别产品/仪器的真假,并且给品牌方及品牌代理商造成不少困扰</p>
-                <p>为了提高消费者对产品/仪器的可信度。由美信息技术有限公司发起并提供技术支持,且得到各品牌与代理商的认可及授权后,共同打造正品
+                <p>为了提高消费者对产品/仪器的可信度。由美信息技术有限公司发起并提供技术支持,且得到各品牌与代理商的认可及授权后,共同打造正品
                 联盟平台。将产品/仪器的品牌授牌信息纳入到正品联盟平台。消费者可通过授权牌上二维码扫码得知该产品/仪器的品牌授权信息。通过这些信
                 息即可得知产品/仪器的真假,是否为品牌以及品牌代理商授权过的正品,从而解决消费者与品牌/品牌代理商的困扰。</p>
                 `;

+ 1712 - 0
src/main/resources/templates/activity/activityTopic.html

@@ -0,0 +1,1712 @@
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="https://www.thymeleaf.org ">
+<html>
+
+<head>
+  <template th:replace="components/head-link"></template>
+  <link href="/lib/swiper.min.css" media="screen and (min-width:768px)" rel="stylesheet" type="text/css">
+  <link th:href="@{/css/activity/activityTopic.css(v=${version})}" rel="stylesheet" type="text/css">
+  <title>活动专题页面</title>
+</head>
+
+<body>
+  <!-- 引用头部 -->
+  <template th:replace="components/header"></template>
+
+  <div id="activity" class="activity" v-cloak>
+    <!--  loading  -->
+    <div v-if="listLoading" class="loading">
+        <img src="/img/base/loading.gif">
+    </div>
+    <!--banner图-->
+    <div class="banner" v-if="pageInfo && !listLoading">
+        <a :href="pageInfo.headLink !== ''?pageInfo.headLink : 'javascript:void(0)'">
+            <img :src="pageInfo.headImage" v-if="isPC">
+            <img :src="pageInfo.crmHeadImage" v-else>
+        </a>
+    </div>
+      <!-- 模板1 -->
+    <div class="floor-template" v-if="!listLoading">
+      <div class="inner">
+        <div class="right-box"></div>
+        <div class="left-box">
+          <!-- 楼层模板1 -->
+          <div class="floor-template" v-for="(temp,tIndex) in floorList" :key="tIndex">
+            <!-- 楼层模板标题 -->
+            <div class="floor-title">
+              <h2>{{temp.title}}</h2>
+              <p>{{temp.detail}}</p>
+            </div>
+            <!-- 楼层 -->
+            <div class="swiper-container floor-main picture-template floor-grid-1"
+              :id="'template-' + temp.floorContent.templateType + '-' + tIndex"
+              v-if="temp.floorContent && temp.floorContent.templateType === '1'">
+              <div class="swiper-wrapper">
+                <div class="swiper-slide no-swiping" v-for="list in temp.floorImageList" :key="list.id">
+                  <template v-for="item in list" :key="item.id">
+                    <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                      <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                    </a>
+                  </template>
+                </div>
+              </div>
+              <div class="swiper-pagination"></div>
+            </div>
+
+            <div class="swiper-container picture-template floor-main floor-grid-2"
+              :id="'template-' + temp.floorContent.templateType + '-' + tIndex"
+              v-if="temp.floorContent && temp.floorContent.templateType === '2'">
+              <div class="swiper-wrapper">
+                <div class="swiper-slide no-swiping" v-for="list in temp.floorImageList" :key="list.id">
+                  <template v-for="item in list" :key="item.id">
+                    <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                      <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                    </a>
+                  </template>
+                </div>
+              </div>
+              <div class="swiper-pagination"></div>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '3'">
+              <template v-if="isPc">
+                <div class="swiper-container article-template floor-main floor-grid-1"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper">
+                    <div class="swiper-slide no-swiping clearfix" v-for="list in temp.floorImageList" :key="list.id">
+                      <template v-for="item in list" :key="item.id">
+                        <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                          <div class="floor-item-cover">
+                            <img :src="item.image" alt="item.name" v-if="isPc">
+                              <img :src="item.appletsImage" alt="item.name" v-else>
+                          </div>
+                          <div class="floor-item-text">
+                            <h2>{{item.name}}</h2>
+                            <div class="line"></div>
+                            <p>{{item.content}}</p>
+                          </div>
+                        </a>
+                      </template>
+                    </div>
+                  </div>
+                  <div class="swiper-pagination"></div>
+                </div>
+              </template>
+              <template v-else>
+                <div class="article-template floor-main floor-grid-1" :class="temp.isPageMore?'':'max'">
+                  <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item clearfix"
+                    v-for="item in temp.floorImageList" :key="item.id">
+                    <div class="floor-item-cover">
+                      <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                    </div>
+                    <div class="floor-item-text">
+                      <h2>{{item.name}}</h2>
+                      <div class="line"></div>
+                      <p>{{item.content}}</p>
+                    </div>
+                  </a>
+                </div>
+                <div class="show-more" v-if="temp.isPageMore">
+                  <div class="more-btn" @click="showMore(temp)">查看更多</div>
+                </div>
+              </template>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '4'">
+              <template v-if="isPc">
+                <div class="swiper-container article-template floor-main floor-grid-2"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper">
+                    <div class="swiper-slide no-swiping clearfix" v-for="item in temp.floorImageList" :key="item.id">
+                      <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                        <div class="floor-item-cover">
+                          <img :src="item.image" alt="item.name" v-if="isPc">
+                            <img :src="item.appletsImage" alt="item.name" v-else>
+                        </div>
+                        <div class="floor-item-text">
+                          <h2>{{item.name}}</h2>
+                          <p>{{item.content}}</p>
+                        </div>
+                      </a>
+                    </div>
+                  </div>
+                </div>
+                <!-- 左右切换按钮 -->
+                <div class="cm-swiper-button swiper-prev" :class="'cm-swiper-prev-' + tIndex"></div>
+                <div class="cm-swiper-button swiper-next" :class="'cm-swiper-next-' + tIndex"></div>
+              </template>
+              <template v-else>
+                <div class="article-template floor-main floor-grid-2" :class="temp.isPageMore?'':'max'">
+                  <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item clearfix"
+                    v-for="item in temp.floorImageList" :key="item.id">
+                    <div class="floor-item-cover">
+                      <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                    </div>
+                    <div class="floor-item-text">
+                      <h2>{{item.name}}</h2>
+                      <div class="line"></div>
+                      <p>{{item.content}}</p>
+                    </div>
+                  </a>
+                </div>
+                <div class="show-more" v-if="temp.isPageMore">
+                  <div class="more-btn" @click="showMore(temp)">查看更多</div>
+                </div>
+              </template>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '5'">
+              <template v-if="isPc">
+                <div class="swiper-container article-template floor-main floor-grid-3"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper">
+                    <div class="swiper-slide no-swiping clearfix" v-for="item in temp.floorImageList" :key="item.id">
+                      <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                        <div class="floor-item-cover">
+                          <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                        </div>
+                        <div class="floor-item-text">
+                          <h2>{{item.name}}</h2>
+                          <p>{{item.content}}</p>
+                        </div>
+                      </a>
+                    </div>
+                  </div>
+                </div>
+                <!-- 左右切换按钮 -->
+                <div class="cm-swiper-button swiper-prev" :class="'cm-swiper-prev-' + tIndex"></div>
+                <div class="cm-swiper-button swiper-next" :class="'cm-swiper-next-' + tIndex"></div>
+              </template>
+              <template v-else>
+                <div class="article-template floor-main floor-grid-3 floor-scroll">
+                  <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item clearfix"
+                    v-for="item in temp.floorImageList" :key="item.id">
+                    <div class="floor-item-cover">
+                      <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                    </div>
+                    <div class="floor-item-text">
+                      <h2>{{item.name}}</h2>
+                      <div class="line"></div>
+                      <p>{{item.content}}</p>
+                    </div>
+                  </a>
+                </div>
+              </template>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '6'">
+              <template v-if="isPc">
+                <div class="swiper-container article-template floor-main floor-grid-4"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper">
+                    <div class="swiper-slide no-swiping clearfix" v-for="list in temp.floorImageList" :key="list.id">
+                      <template v-for="item in list" :key="item.id">
+                        <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                          <div class="floor-item-cover">
+                            <img :src="item.image" alt="item.name" v-if="isPc">
+                            <img :src="item.appletsImage" alt="item.name" v-else>
+                          </div>
+                          <div class="floor-item-text">
+                            <h2>{{item.name}}</h2>
+                            <p>{{item.content}}</p>
+                          </div>
+                        </a>
+                      </template>
+                    </div>
+                  </div>
+                  <div class="swiper-pagination"></div>
+                </div>
+              </template>
+              <template v-else>
+                <div class="article-template floor-main floor-grid-4 clearfix" :class="temp.isPageMore?'':'max'">
+                  <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item clearfix"
+                    v-for="item in temp.floorImageList" :key="item.id">
+                    <div class="floor-item-cover">
+                      <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                    </div>
+                    <div class="floor-item-text">
+                      <h2>{{item.name}}</h2>
+                      <div class="line"></div>
+                      <p>{{item.content}}</p>
+                    </div>
+                  </a>
+                </div>
+                <div class="show-more" v-if="temp.isPageMore">
+                  <div class="more-btn" @click="showMore(temp)">查看更多</div>
+                </div>
+              </template>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '7'">
+              <template v-if="isPc">
+                <div class="swiper-container picture-template floor-main floor-grid-3"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper">
+                    <div class="swiper-slide no-swiping clearfix" v-for="item in temp.floorImageList" :key="item.id">
+                      <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                        <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                      </a>
+                    </div>
+                  </div>
+                </div>
+                <!-- 左右切换按钮 -->
+                <div class="cm-swiper-button swiper-prev" :class="'cm-swiper-prev-' + tIndex"></div>
+                <div class="cm-swiper-button swiper-next" :class="'cm-swiper-next-' + tIndex"></div>
+              </template>
+              <template v-else>
+                <div class="picture-template floor-main floor-grid-3 floor-scroll">
+                  <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item"
+                    v-for="item in temp.floorImageList" :key="item.id">
+                    <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                  </a>
+                </div>
+              </template>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '8'">
+              <template v-if="isPc">
+                <div class="swiper-container picture-template floor-main floor-grid-4"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper">
+                    <div class="swiper-slide no-swiping clearfix" v-for="item in temp.floorImageList" :key="item.id">
+                      <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                        <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                      </a>
+                    </div>
+                  </div>
+                </div>
+                <!-- 左右切换按钮 -->
+                <div class="cm-swiper-button swiper-prev" :class="'cm-swiper-prev-' + tIndex"></div>
+                <div class="cm-swiper-button swiper-next" :class="'cm-swiper-next-' + tIndex"></div>
+              </template>
+              <template v-else>
+                <div class="picture-template floor-main floor-grid-4 clearfix" :class="temp.isPageMore?'':'max'">
+                  <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item"
+                    v-for="item in temp.floorImageList" :key="item.id">
+                    <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                  </a>
+                </div>
+                <div class="show-more" v-if="temp.isPageMore">
+                  <div class="more-btn" @click="showMore(temp)">查看更多</div>
+                </div>
+              </template>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '9'">
+              <div class="swiper-container floor-main picture-template floor-grid-5"
+                :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                <div class="swiper-wrapper">
+                  <div class="swiper-slide no-swiping" v-for="list in temp.floorImageList" :key="list.id">
+                    <template v-for="item in list" :key="item.id">
+                      <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                        <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                      </a>
+                    </template>
+                  </div>
+                </div>
+                <div class="swiper-pagination"></div>
+              </div>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '10'">
+              <template v-if="isPc">
+                <div class="swiper-container picture-template floor-main floor-grid-6"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper">
+                    <div class="swiper-slide no-swiping clearfix" v-for="item in temp.floorImageList" :key="item.id">
+                      <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item">
+                        <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                      </a>
+                    </div>
+                  </div>
+                </div>
+                <!-- 左右切换按钮 -->
+                <div class="cm-swiper-button swiper-prev" :class="'cm-swiper-prev-' + tIndex"></div>
+                <div class="cm-swiper-button swiper-next" :class="'cm-swiper-next-' + tIndex"></div>
+              </template>
+              <template v-else>
+                <div class="picture-template floor-main floor-grid-6 clearfix" :class="temp.isPageMore?'':'max'">
+                  <a :href="item.link!==''? item.link : 'javascript:void(0)'" class="floor-item"
+                    v-for="item in temp.floorImageList" :key="item.id">
+                   <img :src="item.image" alt="item.name" v-if="isPc">
+                      <img :src="item.appletsImage" alt="item.name" v-else>
+                  </a>
+                </div>
+                <div class="show-more" v-if="temp.isPageMore">
+                  <div class="more-btn" @click="showMore(temp)">查看更多</div>
+                </div>
+              </template>
+            </div>
+
+            <div class="product-template floor-grid-1 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '11'">
+              <div class="floor-main clearfix" :class="temp.isPageMore?'':'max'">
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink2 !== ''?temp.floorContent.adsLink2:'javascript:void(0)'"
+                    class="floor-item-ad ad2">
+                    <img :src="temp.floorContent.pcAdsImage2" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage2" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink3 !== ''?temp.floorContent.adsLink3:'javascript:void(0)'"
+                    class="floor-item-ad ad3">
+                    <img :src="temp.floorContent.pcAdsImage3" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage3" alt="" v-else>
+                  </a>
+                </div>
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-2 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '12'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink2 !== ''?temp.floorContent.adsLink2:'javascript:void(0)'"
+                    class="floor-item-ad ad2">
+                    <img :src="temp.floorContent.pcAdsImage2" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage2" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink3 !== ''?temp.floorContent.adsLink3:'javascript:void(0)'"
+                    class="floor-item-ad ad3">
+                    <img :src="temp.floorContent.pcAdsImage3" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage3" alt="" v-else>
+                  </a>
+                </div>
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-3 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '13'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink2 !== ''?temp.floorContent.adsLink2:'javascript:void(0)'"
+                    class="floor-item-ad ad2">
+                    <img :src="temp.floorContent.pcAdsImage2" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage2" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink3 !== ''?temp.floorContent.adsLink3:'javascript:void(0)'"
+                    class="floor-item-ad ad3">
+                    <img :src="temp.floorContent.pcAdsImage3" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage3" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink4 !== ''?'temp.floorContent.adsLink4':'javascript:void(0)'"
+                    class="floor-item-ad ad4">
+                    <img :src="temp.floorContent.pcAdsImage4" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage4" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink5 !== ''?'temp.floorContent.adsLink5':'javascript:void(0)'"
+                    class="floor-item-ad ad5">
+                    <img :src="temp.floorContent.pcAdsImage5" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage5" alt="" v-else>
+                  </a>
+                </div>
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-4 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '14'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-5 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '15'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink2 !== ''?temp.floorContent.adsLink2:'javascript:void(0)'"
+                    class="floor-item-ad ad2">
+                    <img :src="temp.floorContent.pcAdsImage2" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage2" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink3 !== ''?temp.floorContent.adsLink3:'javascript:void(0)'"
+                    class="floor-item-ad ad3">
+                    <img :src="temp.floorContent.pcAdsImage3" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage3" alt="" v-else>
+                  </a>
+                </div>
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-6 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '16'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink2 !== ''?temp.floorContent.adsLink2:'javascript:void(0)'"
+                    class="floor-item-ad ad2">
+                    <img :src="temp.floorContent.pcAdsImage2" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage2" alt="" v-else>
+                  </a>
+                </div>
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-7 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '17'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                  <a :href="temp.floorContent.adsLink2 !== ''?temp.floorContent.adsLink2:'javascript:void(0)'"
+                    class="floor-item-ad ad2">
+                    <img :src="temp.floorContent.pcAdsImage2" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage2" alt="" v-else>
+                  </a>
+                </div>
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-8 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '18'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                </div>
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-9 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '19'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                </div>
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+              </div>
+
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="product-template floor-grid-10 clearfix" v-if="temp.floorContent && temp.floorContent.templateType === '20'">
+              <div class="floor-main" :class="temp.isPageMore?'':'max'">
+                <a :href="pros.link" class="floor-item floor-item-pro" v-for="(pros , index) in temp.floorImageList"
+                  :key="index">
+                  <div class="floor-item-cover">
+                    <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                  </div>
+                  <div class="floor-item-text">
+                    <!-- 商品标签 -->
+                    <div class="pro-tags">
+                      <!-- <span class="tag">优惠活动</span> -->
+                      <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                    </div>
+                    <!-- 商品名称 -->
+                    <div class="pro-title">
+                      <span class="tag"
+                        v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                    </div>
+                    <!-- 商品价格 -->
+                    <!-- listType:1:一手商品  2:二手商品 -->
+                    <div class="pro-price" v-if="pros.listType == 1">
+                      <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                        <template v-if="pros.product.productCategory==1">
+                          <!-- 样式1 价格未公开-->
+                          <template v-if="pros.product.price1TextFlag==1">
+                            <div class="price-tag">
+                              <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                            </div>
+                            <div class="price">¥价格未公开</div>
+                          </template>
+                          <template v-else>
+                            <!-- 样式2-->
+                            <template
+                              v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                              <div class="price-tag">
+                                <span class="tag" v-if="pros.product.actStatus==1">
+                                  {{pros.product.promotions.name}}
+                                  <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice | NumFormat}}</span>
+                                </span>
+                              </div>
+                              <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                <span>
+                                  ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                  : pros.product.retailPrice) | NumFormat }}
+                                </span>
+                              </div>
+                            </template>
+                            <!-- 样式3 -->
+                            <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥会员可见</span></div>
+                            </template>
+                            <!-- 样式4 -->
+                            <template v-else>
+                              <div class="price-tag" v-if="pros.product.actStatus==1">
+                                <span class="tag">{{pros.product.promotions.name}}</span>
+                              </div>
+                              <div class="price"><span>¥</span>
+                                <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                              </div>
+                            </template>
+                          </template>
+                        </template>
+                        <!-- 样式5 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊</div>
+                          <div class="price" v-else>
+                            <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                          </div>
+                        </template>
+                      </template>
+                      <template v-else>
+                        <!-- 样式6 -->
+                        <template v-if="pros.product.productCategory == 1">
+                          <div class="price-tag">
+                            <span class="tag" v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                          </div>
+                          <div class="price">
+                            <span>¥</span>
+                            <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                          </div>
+                        </template>
+                        <!-- 样式7 -->
+                        <template v-else>
+                          <div class="price-tag"></div>
+                          <div class="price"><span>¥登录可见</span></div>
+                        </template>
+                      </template>
+                    </div>
+                  </div>
+                </a>
+                <div class="ad-box">
+                  <a :href="temp.floorContent.adsLink1 !== ''?temp.floorContent.adsLink1:'javascript:void(0)'"
+                    class="floor-item-ad ad1">
+                    <img :src="temp.floorContent.pcAdsImage1" alt="" v-if="isPc">
+                    <img :src="temp.floorContent.appletsAdsImage1" alt="" v-else>
+                  </a>
+                </div>
+              </div>
+
+              <div class="show-more" v-if="temp.isPageMore">
+                <div class="more-btn" @click="showMore(temp)">查看更多</div>
+              </div>
+            </div>
+
+            <div class="swiper-box" v-if="temp.floorContent && temp.floorContent.templateType === '21'">
+              <template v-if="isPc">
+                <div class="swiper-container product-template  floor-grid-11"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper floor-main">
+                    <div class="swiper-slide no-swiping" v-for="(pros , index) in temp.floorImageList" :key="index">
+                      <a :href="pros.link" class="floor-item floor-item-pro">
+                        <div class="floor-item-cover">
+                          <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                        </div>
+                        <div class="floor-item-text">
+                          <!-- 商品标签 -->
+                          <div class="pro-tags">
+                            <!-- <span class="tag">优惠活动</span> -->
+                            <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                          </div>
+                          <!-- 商品名称 -->
+                          <div class="pro-title">
+                            <span class="tag"
+                              v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                          </div>
+                          <!-- 商品价格 -->
+                          <!-- listType:1:一手商品  2:二手商品 -->
+                          <div class="pro-price" v-if="pros.listType == 1">
+                            <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                              <template v-if="pros.product.productCategory==1">
+                                <!-- 样式1 价格未公开-->
+                                <template v-if="pros.product.price1TextFlag==1">
+                                  <div class="price-tag">
+                                    <span class="tag"
+                                      v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                                  </div>
+                                  <div class="price">¥价格未公开</div>
+                                </template>
+                                <template v-else>
+                                  <!-- 样式2-->
+                                  <template
+                                    v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                                    <div class="price-tag">
+                                      <span class="tag" v-if="pros.product.actStatus==1">
+                                        {{pros.product.promotions.name}}
+                                        <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice |
+                                          NumFormat}}</span>
+                                      </span>
+                                    </div>
+                                    <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                      <span>
+                                        ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                        : pros.product.retailPrice) | NumFormat }}
+                                      </span>
+                                    </div>
+                                  </template>
+                                  <!-- 样式3 -->
+                                  <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                                    <div class="price-tag" v-if="pros.product.actStatus==1">
+                                      <span class="tag">{{pros.product.promotions.name}}</span>
+                                    </div>
+                                    <div class="price"><span>¥会员可见</span></div>
+                                  </template>
+                                  <!-- 样式4 -->
+                                  <template v-else>
+                                    <div class="price-tag" v-if="pros.product.actStatus==1">
+                                      <span class="tag">{{pros.product.promotions.name}}</span>
+                                    </div>
+                                    <div class="price"><span>¥</span>
+                                      <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                                    </div>
+                                  </template>
+                                </template>
+                              </template>
+                              <!-- 样式5 -->
+                              <template v-else>
+                                <div class="price-tag"></div>
+                                <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊
+                                </div>
+                                <div class="price" v-else>
+                                  <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                                </div>
+                              </template>
+                            </template>
+                            <template v-else>
+                              <!-- 样式6 -->
+                              <template v-if="pros.product.productCategory == 1">
+                                <div class="price-tag">
+                                  <span class="tag"
+                                    v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                                </div>
+                                <div class="price">
+                                  <span>¥</span>
+                                  <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                                </div>
+                              </template>
+                              <!-- 样式7 -->
+                              <template v-else>
+                                <div class="price-tag"></div>
+                                <div class="price"><span>¥登录可见</span></div>
+                              </template>
+                            </template>
+                          </div>
+                        </div>
+                      </a>
+                    </div>
+                  </div>
+                  <div class="swiper-pagination"></div>
+                </div>
+              </template>
+              <template v-else>
+                <div class="swiper-container product-template  floor-grid-11"
+                  :id="'template-' + temp.floorContent.templateType + '-' + tIndex">
+                  <div class="swiper-wrapper floor-main">
+                    <div class="swiper-slide no-swiping clearfix" v-for="(list , index) in temp.floorImageList"
+                      :key="index">
+                      <a :href="pros.link" class="floor-item floor-item-pro" v-for="pros in list" :key="pros.id">
+                        <div class="floor-item-cover">
+                          <img src="/img/base/placeholder.png" :data-original="pros.image" :alt="pros.name">
+                        </div>
+                        <div class="floor-item-text">
+                          <!-- 商品标签 -->
+                          <div class="pro-tags">
+                            <!-- <span class="tag">优惠活动</span> -->
+                            <span class="tag" v-if="pros.listType == 2">{{ pros.label }}</span>
+                          </div>
+                          <!-- 商品名称 -->
+                          <div class="pro-title">
+                            <span class="tag"
+                              v-if="pros.product!=null && pros.product.beautyActFlag==1">美博会</span>{{pros.name}}
+                          </div>
+                          <!-- 商品价格 -->
+                          <!-- listType:1:一手商品  2:二手商品 -->
+                          <div class="pro-price" v-if="pros.listType == 1">
+                            <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
+                              <template v-if="pros.product.productCategory==1">
+                                <!-- 样式1 价格未公开-->
+                                <template v-if="pros.product.price1TextFlag==1">
+                                  <div class="price-tag">
+                                    <span class="tag"
+                                      v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                                  </div>
+                                  <div class="price">¥价格未公开</div>
+                                </template>
+                                <template v-else>
+                                  <!-- 样式2-->
+                                  <template
+                                    v-if="(pros.product.price1TextFlag==0 && pros.product.userIdentity!=3) || pros.product.userIdentity==2 || (pros.product.userIdentity==3 && pros.product.shopID==GLOBAL_SHOP_ID)">
+                                    <div class="price-tag">
+                                      <span class="tag" v-if="pros.product.actStatus==1">
+                                        {{pros.product.promotions.name}}
+                                        <span v-if="pros.priceFlag != 1">:¥{{pros.product.retailPrice |
+                                          NumFormat}}</span>
+                                      </span>
+                                    </div>
+                                    <div class="price" :class="PromotionsFormat(pros.product.promotions) ? 'none' : ''">
+                                      <span>
+                                        ¥{{(PromotionsFormat(pros.product.promotions) ? pros.product.price1
+                                        : pros.product.retailPrice) | NumFormat }}
+                                      </span>
+                                    </div>
+                                  </template>
+                                  <!-- 样式3 -->
+                                  <template v-else-if="pros.product.price1TextFlag==2 && pros.product.userIdentity==4">
+                                    <div class="price-tag" v-if="pros.product.actStatus==1">
+                                      <span class="tag">{{pros.product.promotions.name}}</span>
+                                    </div>
+                                    <div class="price"><span>¥会员可见</span></div>
+                                  </template>
+                                  <!-- 样式4 -->
+                                  <template v-else>
+                                    <div class="price-tag" v-if="pros.product.actStatus==1">
+                                      <span class="tag">{{pros.product.promotions.name}}</span>
+                                    </div>
+                                    <div class="price"><span>¥</span>
+                                      <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                                    </div>
+                                  </template>
+                                </template>
+                              </template>
+                              <!-- 样式5 -->
+                              <template v-else>
+                                <div class="price-tag"></div>
+                                <div class="price" v-if="pros.product.detailTalkFlag == '2'">¥价格详聊
+                                </div>
+                                <div class="price" v-else>
+                                  <span>¥{{ pros.product.retailPrice | NumFormat }}</span>
+                                </div>
+                              </template>
+                            </template>
+                            <template v-else>
+                              <!-- 样式6 -->
+                              <template v-if="pros.product.productCategory == 1">
+                                <div class="price-tag">
+                                  <span class="tag"
+                                    v-if="pros.product.actStatus==1">{{pros.product.promotions.name}}</span>
+                                </div>
+                                <div class="price">
+                                  <span>¥</span>
+                                  <span class="p-icon" :class="'i'+pros.product.price1Grade"></span>
+                                </div>
+                              </template>
+                              <!-- 样式7 -->
+                              <template v-else>
+                                <div class="price-tag"></div>
+                                <div class="price"><span>¥登录可见</span></div>
+                              </template>
+                            </template>
+                          </div>
+                        </div>
+                      </a>
+                    </div>
+                  </div>
+                  <div class="swiper-pagination"></div>
+                </div>
+              </template>
+            </div>
+
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+
+  <!-- 引入底部 -->
+  <template th:replace="components/footer"></template>
+  <template th:replace="components/foot-link"></template>
+  <script charset="utf-8" type="text/javascript"
+    th:src="@{/js/common/serviceapi/product.service.js(v=${version})}"></script>
+  <script charset="utf-8" type="text/javascript" th:src="@{/js/activity/activityTopic.js(v=${version})}"></script>
+</body>
+
+</html>

+ 2 - 2
src/main/resources/templates/flea-market/form.html

@@ -18,7 +18,7 @@
                 <span class="mt-title">发布信息</span>
             </div>
             <div class="newsTitle">
-                <p>欢迎您来到采美365网二手商品市场,您可以在这里发布二手设备、产品信息,每个商品需要收取您100元的展示费,展示期为6个月;
+                <p>欢迎您来到采美365网二手商品市场,您可以在这里发布二手设备、产品信息,每个商品需要收取您100元的展示费,展示期为3个月;
                    为了完整展示您的商品,请您认真填写以下内容,谢谢合作。</p>
              </div>
           <div class="mt-bottom">
@@ -171,7 +171,7 @@
              <div class="secondBj thebj"   v-show="vShow_secondBj" :class="vShow_secondBj?'show':''">
                     <div class="bjmain theresult">
                         <span class="title">提示</span>
-                        <p>发布二手商品,采美需要收取您每个商品100元的展示费,展示期为6个月</br>
+                        <p>发布二手商品,采美需要收取您每个商品100元的展示费,展示期为3个月</br>
                             支付完成后,商品会在1-2个工作日内进行审核,审核通过后,商品会立即上线</p>
                         <div class="paybtn">
                             <span class="cancel closebtn" @click="gopay">去支付</span>

+ 1 - 1
src/main/resources/templates/user-center/order/detail.html

@@ -225,7 +225,7 @@
                                 <a class="btn primary" href="javascript: void(0);" v-if="!orderInfo.payButton && ['11','12','13','21','22','23','111'].indexOf(orderInfo.status)!=-1" @click="hanldPayOrderFn()">支付订单</a>
                                 <a class="btn cancel" href="javascript: void(0);" v-if="['0','111'].indexOf(orderInfo.status)!=-1" @click="hanldCancelOrderFn()">取消订单</a>
                                 <a class="btn primary" href="javascript: void(0);" v-if="['0'].indexOf(orderInfo.status)!=-1"  @click="hanldConfirmOrderFn()">确认订单</a>
-                                <a class="btn cancel" href="javascript: void(0);" v-if="['6'].indexOf(orderInfo.status)!=-1" @click="hanldDeleteOrderFn()">删除订单</a>
+<!--                                <a class="btn cancel" href="javascript: void(0);" v-if="['6'].indexOf(orderInfo.status)!=-1" @click="hanldDeleteOrderFn()">删除订单</a>-->
                                 <a class="btn cancel" href="javascript: void(0);"  v-if="['4','5','12','13','33','22','23','32','77'].indexOf(orderInfo.status)!=-1 && orderInfo.secondHandOrderFlag!=1" @click="hanldQueryExpressFn()">查看物流</a>
                                 <a class="btn primary" href="javascript: void(0);"  v-if="['33'].indexOf(orderInfo.status)!=-1" @click="hanldReceivingOrderFn()">确认收货</a>
                                 <div class="shopinfo" v-if="['11','12','13','21','22','23','111'].indexOf(orderInfo.status)!=-1">

+ 1 - 1
src/main/resources/templates/user-center/order/list.html

@@ -104,7 +104,7 @@
                                     <a class="btn cancel" href="javascript: void(0);" @click="hanldDetilsOrderFn(order.orderID)">订单详情</a>
                                     <a class="btn cancel" href="javascript: void(0);" v-if="['0','111'].indexOf(order.status)!=-1" @click="hanldCancelOrderFn(order.orderID)">取消订单</a>
                                     <a class="btn primary" href="javascript: void(0);" v-if="['0'].indexOf(order.status)!=-1"  @click="hanldConfirmOrderFn(order.orderID)">确认订单</a>
-                                    <a class="btn cancel" href="javascript: void(0);" v-if="['6'].indexOf(order.status)!=-1" @click="hanldDeleteOrderFn(order.orderID)">删除订单</a>
+<!--                                    <a class="btn cancel" href="javascript: void(0);" v-if="['6'].indexOf(order.status)!=-1" @click="hanldDeleteOrderFn(order.orderID)">删除订单</a>-->
                                     <a class="btn cancel" href="javascript: void(0);"  v-if="['4','5','12','13','33','22','23','32','77'].indexOf(order.status)!=-1 && order.secondHandOrderFlag !=1" @click="hanldQueryExpressFn(order.orderID)">查看物流</a>
                                     <a class="btn primary" href="javascript: void(0);"  v-if="['33'].indexOf(order.status)!=-1 && order.secondHandOrderFlag !=1" @click="hanldReceivingOrderFn(order.orderID)">确认收货</a>
                                 </div>

BIN
target/www-0.0.1-SNAPSHOT.jar