Parcourir la source

Merge remote-tracking branch 'origin/developerB' into developerB

Administrator il y a 4 ans
Parent
commit
4dfadb9153

+ 10 - 0
src/main/java/com/caimei/www/controller/unlimited/ProductController.java

@@ -8,6 +8,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * 商品(product)
@@ -20,6 +21,7 @@ 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 ProductService productService;
     @Autowired
@@ -35,6 +37,14 @@ public class ProductController extends BaseController {
         return PRODUCT_LIST_PATH;
     }
 
+    /**
+     * 促销活动商品列表
+     */
+    @GetMapping("/product/promotions.html")
+    public String promotions() {
+        return PROMOTIONS_LIST_PATH;
+    }
+
     /**
      * 商品详情页
      */

+ 1 - 1
src/main/resources/config/dev/application-dev.yml

@@ -52,7 +52,7 @@ logging:
 
 # 服务域名
 caimei:
-  spiServer: http://192.168.2.56:8008
+  spiServer: http://192.168.2.75:8008
   imageDomain: https://img-b.caimei365.com
   wwwDomain: https://www-b.caimei365.com
 

+ 13 - 90
src/main/resources/static/css/base/base.h5.css

@@ -138,6 +138,9 @@
 .productItem .item .btn{height:9vw;line-height:9vw}
 .productItem .item .btn{display:inline-block;width:35.8vw;height:9vw;text-align:center;overflow:hidden;color:#F94B4B;background:#FEF6F3;border-radius:2px}
 .productItem .item .btn.add{background:#FEF6F3;color:#E15616;}
+.price .login-btn{width:14vw;height:5vw;background:#FBEDE6;text-align:center;line-height:5vw;font-size:3vw;color:#e15616;padding:0.5vw 1.25vw}
+.price .pricebox{background:#e15616;width:42.5vw;height:10.5vw;line-height:5vw;display:block;font-size:3vw}
+.productItem .price em{font-weight:bold}
 .noMore{height:10vw;line-height:10vw;text-align:center;color:#ccc}
 /* 登录弹框 */
 .loginAlert{padding-top:1vw;text-align:center;}
@@ -164,100 +167,20 @@
 .priceTag .tag{position:absolute;left:0;height:6.4vw;line-height:6.4vw;font-size:3vw;padding:0 6vw 0 3vw;background-color:#ffe6dc;color:#E15616;border-radius:2px;font-style:normal;white-space:nowrap;top:-6.8vw}
 .priceTag .tag:before{width:4vw;height:4vw;background-position:-51.6vw -.9vw;position:absolute;right:1.5vw;top:1.2vw}
 .priceTag .tag.on:before{background-position:-43vw -.9vw}
-.priceTag .ladder{display:none;background-color:rgba(74,79,88,.7);z-index:998}
+.priceTag .ladder,.priceTag .promotion{display:none;background-color:rgba(74,79,88,.7);z-index:998}
 .priceTag .ladder>span{display:block;box-sizing:border-box;width:74.6vw;padding:4vw 0;background:#FFF;border-radius:1.6vw;position:relative;top:50%;margin:-60vw auto 0 auto;line-height:10vw;font-size:4.2vw}
 .priceTag .ladder em{white-space:nowrap;text-align:center}
 .priceTag .ladder i{font-style:normal;display:inline-block;width:35vw;text-align:center}
 .priceTag .ladder .t{color:#627386}
 .priceTag .ladder .p{color:#f94b4b}
-.priceTag .ladder .close{display:block;width:46vw;height:10vw;line-height:10vw;text-align:center;background-color:#ffe6dc;border-radius:2px;border:1px solid #e15616;margin:6vw auto 0}
+.priceTag .close{display:block;width:46vw;height:10vw;line-height:10vw;text-align:center;background-color:#ffe6dc;border-radius:2px;border:1px solid #e15616;margin:6vw auto 0}
+.priceTag .promotion>div{display:block;box-sizing:border-box;width:82vw;padding:3.3vw;background:#FFF;border-radius:1.6vw;position:relative;top:50%;margin:-60vw auto 0 auto;line-height:8vw;font-size:3.7vw}
+.priceTag .promotion p{text-align:left}
+.priceTag .promotion p>em{color:#E15616;font-style:normal}
+.priceTag .promotion .p{display:block;height:12vw;padding:1vw 0 1vw 12vw;position:relative;line-height:5vw}
+.priceTag .promotion .p img{width:10vw;height:10vw;position:absolute;left:0;top:1vw}
+.priceTag .promotion .p span{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
+.priceTag .promotion .more{color:#f55c5c;text-decoration:underline;float:right;}
 
+.btnBox a{color:#fff;font-size:3vw;text-align:center}
 
-
-
-
-
-
-
-
-/**/
-.activity{
-    text-align: center;
-    display: inline-block;
-    height: 6vw;
-    border: 0.25vw solid rgba(225,86,22,0.30196078431372547);
-    opacity: 1;
-    border-radius: .2vw;
-    font-size: 3vw;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    line-height: 6vw;
-    color: rgba(225,86,22,1) !important;
-    position: relative;
-    z-index: 1;
-    cursor: pointer;
-    background: #fff;
-    padding: 0px 5vw 0 1.25vw;
- }
-.activity .icon {
-    width: 3.7vw;
-    height: 3.7vw;
-    position: absolute;
-    top: 2.5vw;
-    background: transparent url(/img/base/tubiao@2x.png) no-repeat no-repeat scroll right 1.25vw center;
-    background-position: -168px -48px;
-    right: 0
-}
-.activity  .activeicon{
-    background-position: -207px -46px;
-        top: 8px;
-}
-.activityBox{
-    border: .25vw solid rgba(225,86,22,0.30196078431372547);
-    border-radius: 0px 2px 2px 2px;
-    position: absolute;
-    background: #fff;
-    left: 0;
-    font-size: 3vw;
-    text-align: center;
-    top: 7vw;
-    padding: 2vw;
-    max-height: 31.9vw;
-    overflow: auto
-}
-.activeBtn{
-    width: 57px;
-    height: 24px;
-    background: #E15616;
-    color: #fff;
-    border-radius: 2px;
-    float: right;
-    margin-top: 10px;
-    cursor: pointer;
-}
-.btnBox a {
-    color: #fff;
-    font-size: 3vw;
-    text-align: center;
-}
-.pricebox{
-    background: #e15616;
-    width: 42.5vw;
-    height: 10.5vw;
-    line-height: 5vw;
-    display: block;
-    font-size: 3vw
-}
-.productItem .price em {
-    font-weight: bold;
-}
-.login-btn{
-    width: 14vw;
-    height: 5vw;
-    background: #FBEDE6;
-    text-align: center;
-    line-height: 5vw;
-    font-size: 3vw;
-    color: #e15616;
-    padding: 0.5vw 1.25vw
-}

+ 14 - 121
src/main/resources/static/css/base/base.pc.css

@@ -228,6 +228,10 @@ header{box-shadow: 0 2px 10px #ebecef;}
 .productItem .btn{display:block;width:158px;margin:12px auto;height:42px;line-height:42px;text-align:center;overflow:hidden;color:#F94B4B;background:#FFE6DC;border:1px solid #E15616;border-radius:2px}
 .productItem .btn.add{color:#E15616;}
 .productItem .btn:hover{background:#E15616;color:#FFF}
+.price .login-btn{float:right;margin:10px 10px 0 0;padding:2px 5px;border:1px solid rgba(225,86,22,0.16862745098039217);color:#E15616;border-radius:2px;height:24px;line-height:24px}
+.price .pricebox{background:#e15616;width:244px;height:44px;line-height:44px;display:block;text-align:center;margin:12px auto}
+.priceicon{font-weight:bold}
+
 /*分页*/
 .pageWrap{width:1184px;text-align:center;margin:20px auto 36px}
 .pageWrap a{box-sizing:border-box;display:inline-block;width:40px;height:40px;line-height:40px;border:1px solid #EBECEF;font-size:16px;margin:0 5px;color:#2D3036;background:#fff;border-radius:2px}
@@ -265,129 +269,18 @@ header{box-shadow: 0 2px 10px #ebecef;}
 .priceTag .tag:before{width:24px;height:24px;background-position:-88px 3px;position:absolute;right:0;top:0}
 .priceTag .tag.on:before{background-position:-117px 3px}
 .priceTag .ladder,.priceTag .promotion{position:absolute;background:#fff;box-shadow:0 3px 6px 0 #d7dfec;border-radius:2px;line-height:42px;left:0;top:28px;z-index:9;transition:all .8s;display:none}
-.priceTag .ladder>span{padding:0 20px 20px;}
+.priceTag .ladder>span{padding:0 20px 10px;text-align:center;font-size:16px;display:block;}
 .priceTag .ladder em{white-space:nowrap}
 .priceTag .ladder i{font-style:normal;display:inline-block;width:120px;text-align:center}
 .priceTag .ladder .t{color:#627386}
 .priceTag .ladder .p{color:#f94b4b}
-.priceTag .ladder .close{background:#E15616;color:#fff;border-radius:2px;cursor:pointer;display:inline-block;padding:0 20px;height:30px;line-height:30px}
-.priceTag .promotion{
-    text-align: left;
-    font-size: 14px;
-    line-height: 30px;
-    padding: 8px 15px;
-    display: block;
-    width: 320px;
-}
-.priceTag .promotion p>em{
-    color:#E15616;
-    font-style: normal;
-}
-.priceTag .promotion .p{
-    display: block;
-    height:40px;
-    padding:10px 0 10px 50px;
-    position: relative;
-    line-height: 20px;
-}
-.priceTag .promotion .p img{
-    width:40px;
-    position: absolute;
-    left:0;
-    top:10px;
-}
-.priceTag .promotion .p span{
-    display: block;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    white-space: nowrap;
-}
-
-
-
-
-
+.priceTag .close{background:#E15616;color:#fff;border-radius:2px;cursor:pointer;display:inline-block;padding:0 20px;height:30px;line-height:30px;font-style:normal;}
+.priceTag .promotion{font-size:14px;line-height:30px;padding:8px 15px;width:320px;}
+.priceTag .promotion p{text-align:left}
+.priceTag .promotion p>em{color:#E15616;font-style:normal}
+.priceTag .promotion .p{display:block;height:40px;padding:10px 0 10px 50px;position:relative;line-height:20px}
+.priceTag .promotion .p img{width:40px;height:40px;position:absolute;left:0;top:10px}
+.priceTag .promotion .p span{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
+.priceTag .promotion p.r{text-align:right;}
+.priceTag .promotion .more{color:#f55c5c;text-decoration:underline;float:right;}
 
-
-
-
-    .login-btn{float:right;
-    margin:10px 10px 0 0;
-    padding:2px 5px;
-    border:1px solid rgba(225,86,22,0.16862745098039217);
-    color:#E15616;
-    border-radius:2px;
-    height: 24px;
-    line-height: 24px;
-    }
-    .pricebox{
-    background: #e15616;
-    width: 244px;
-    height: 44px;
-    line-height: 44px;
-    display: block;
-    text-align: center;
-    margin: 12px auto
-    }
-    .activity{
-    text-align: center;
-    display: inline-block;
-    height: 24px;
-    border: 1px solid rgba(225,86,22,0.30196078431372547);
-    opacity: 1;
-    border-radius: 2px;
-    font-size: 12px;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    line-height: 24px;
-    color: rgba(225,86,22,1) !important;
-    position: relative;
-    z-index: 1;
-    cursor: pointer;
-    background: #fff;
-    padding: 0px 20px 0 5px;
-    margin-left: 15px;
- }
- .activitystyle{
-    border-bottom: 1px solid #fff !important;
-}
-
-.activity .icon.shaky:before{
-        width: 20px;
-        height: 20px;
-        position: absolute;
-        top: -5px;
-        right: 0;
-        background-position: -90px 6px
-}
-.activity  .activeicon{
-    background-position: -207px -46px;
-        top: 8px;
-}
-.activityBox{
-    border: 1px solid rgba(225,86,22,0.30196078431372547);
-    border-radius: 0px 2px 2px 2px;
-    position: absolute;
-    background: #fff;
-    left: 0;
-    font-size: 12px;
-    text-align: center;
-    top: 28px;
-    line-height: 40px;
-    padding:10px;
-    max-height: 319px;
-    overflow: auto;
-}
-.activeBtn{
-    width: 57px;
-    height: 24px;
-    background: #E15616;
-    color: #fff;
-    border-radius: 2px;
-    float: right;
-    margin-top: 10px;
-    cursor: pointer;
-}
-.priceicon{
-    font-weight: bold;
-}

+ 5 - 3
src/main/resources/static/css/product/detail.h5.css

@@ -14,10 +14,12 @@ li{list-style:none}
 .productBox .detailBox .tags span{display:inline-block;height:4.2vw;line-height:4.2vw;padding:0 1vw;font-size:2.6vw;color:#FFF;background:#86B2FF;border-radius:2px;margin-right:2.7vw}
 .productBox .detailBox .detail{box-sizing:border-box;padding:2.8vw;font-size:3.4vw;line-height:7.5vw;color:#93979F;background:#f3f7fe;border-radius:2px;position:relative;margin:3.5vw 0}
 .productBox .detailBox .detail hr{border:none;border-top:1px dashed #BEC2C9;margin:2vw 0}
+.productBox .detailBox .row{position:relative;}
+.priceTag {position: absolute;left: 20vw;}
 .productBox .detailBox .row>i{font-style:normal;margin-right:2vw}
-.productBox .detailBox .row em{font-style:normal;color:#4A4F58}
-.productBox .detailBox .row em.ser{color:#93979F;display:inline-block;margin-right:4vw}
-.productBox .detailBox .row em.ser:before{content:'\2713';display:inline-block;width:3.4vw;height:3.4vw;text-align:center;line-height:3.4vw;font-size:3.4vw;background:#E15616;border-radius:1.7vw;color:#FFF;margin-right:1.4vw}
+.productBox .detailBox .row>em{font-style:normal;color:#4A4F58}
+.productBox .detailBox .row>em.ser{color:#93979F;display:inline-block;margin-right:4vw}
+.productBox .detailBox .row>em.ser:before{content:'\2713';display:inline-block;width:3.4vw;height:3.4vw;text-align:center;line-height:3.4vw;font-size:3.4vw;background:#E15616;border-radius:1.7vw;color:#FFF;margin-right:1.4vw}
 .productBox .detailBox .price{height:21vw}
 .productBox .detailBox .price .icon{display:inline-block;font-size:0;height:5vw;line-height:5vw;vertical-align:text-bottom;}
 .productBox .detailBox .price .icon:before{width:11vw;height:5vw;}

+ 5 - 4
src/main/resources/static/css/product/detail.pc.css

@@ -25,13 +25,13 @@ li{list-style:none;}
 .productBox .detailBox .tags span{display:inline-block;line-height:16px;padding: 3px 6px;font-size:12px;color: #999999;border-radius:2px;margin-right:10px;border: 1px solid #EDEDED;}
 .productBox .detailBox .detail{box-sizing:border-box;padding:14px 20px;font-size:14px;color:#93979f;background:#f3f7fe;border-radius:2px;margin:10px 0;position:relative;}
 .productBox .detailBox .detail hr{border:none;border-top:1px dashed #F9DDD0;margin:12px 0}
-.productBox .detailBox .row{padding:3px 0 3px 80px;line-height:24px}
+.productBox .detailBox .row{padding:3px 0 3px 80px;line-height:24px;position:relative;}
 .productBox .detailBox .row .l{display:inline-block;min-width:60px;height:24px;text-align:justify;vertical-align:top;margin-left:-80px;}
 .productBox .detailBox .row .l:after{content:'';display:inline-block;width:100%}
 .productBox .detailBox .row>i{font-style:normal;}
-.productBox .detailBox .row em{font-style:normal;color:#333333;margin-left: 15px}
-.productBox .detailBox .row em.ser{color:#93979F;display:inline-block;margin-right:20px;}
-.productBox .detailBox .row em.ser:before{width:20px;height:20px;margin-right:5px;background-position:-60px 0;vertical-align:text-top;}
+.productBox .detailBox .row>em{font-style:normal;color:#333333;margin-left: 15px}
+.productBox .detailBox .row>em.ser{color:#93979F;display:inline-block;margin-right:20px;}
+.productBox .detailBox .row>em.ser:before{width:20px;height:20px;margin-right:5px;background-position:-60px 0;vertical-align:text-top;}
 .productBox .detailBox .price{height:24px}
 .productBox .detailBox .price .rmb{font-weight:bold;}
 .productBox .detailBox .price .icon{display:inline-block;font-size:0;height:24px;line-height:24px;vertical-align:text-top;}
@@ -42,6 +42,7 @@ li{list-style:none;}
 .productBox .detailBox .price .icon.i3:before{background-position:-295px -208px}
 .productBox .detailBox .price .icon.i4:before{background-position:-295px -242px}
 .productBox .detailBox .price .icon.i5:before{background-position:-295px -276px}
+.productBox .detailBox .priceTag {position:absolute;top:0;left:88px;}
 .productBox .detailBox .number{display:inline-block;width:96px;line-height:24px;height:24px;box-sizing:border-box;border:1px solid #FFE6DC;border-radius:2px;font-size:0;white-space:nowrap;text-align:center;overflow:hidden;vertical-align:top;}
 .productBox .detailBox .number>em{display:inline-block;width:24px;height:22px;background:#FFE6DC;font-size:20px;line-height:20px;vertical-align:top;cursor:pointer;margin: 0}
 .productBox .detailBox .number input{width:48px;border:none;line-height:22px;font-size:14px;vertical-align:top;text-align:center;color:#E15616;}

+ 42 - 5
src/main/resources/static/css/user-center/dashboard.css

@@ -27,16 +27,53 @@ li{list-style:none}
     .user-header .header-ml .account{float: left;}
     .user-header .header-ml .account .name{line-height: 46px;font-size: 18px;font-weight: bold;color: #22272e;}
     .user-header .header-ml .account .msg{font-size: 14px;line-height: 22px;color: #22272e;}
-    .user-header .header-ml .account .msg span{color: #f94b4b;display: inline-block;float: left;margin-right: 8px;}
+    .user-header .header-ml .account .msg span{color: #22272e;display: inline-block;float: left;margin-right: 8px;}
+    .user-header .header-ml .account .msg .red{color: #f94b4b;font-style: normal;margin: 0 5px;}
     .user-header .header-ml .account .msg a{display: inline-block;width: 64px;height: 22px;float: left;line-height: 22px;color: #FFFFFF;font-size:12px;text-align: center; background-image: linear-gradient(225deg,#61686f 0%,#313a43 100%);border-radius: 2px;}
-    .user-header .header-mr{width: 80px;height:80px;float: right;}
+    .user-header .header-mr{height:80px;float: right;}
+    .user-header .header-mr .message{width: 100%;float: right;height: 28px;}
+    .user-header .header-mr .message .icon{width: 28px;height: 28px;float: right;display: block;position: relative;}
+    .user-header .header-mr .message .icon:before{width: 28px;height: 28px;background-position: -240px -370px}
+    .user-header .header-mr .message .icon a{display: block;width: 18px;height: 18px;background-image: linear-gradient(90deg,#ff5353 0%,#ff2424 100%);position: absolute;top: -9px;left: -9px;font-style: normal;font-size: 13px;color: #f94b4b;line-height: 18px;text-align: center;border-radius: 50%;color: #fff;}
+    .user-header .header-mr .money {width: 100%;height: 52px;line-height: 52px;font-size: 16px;}
+    .user-header .header-mr .money span{color: #e15616;}
     .user-content{width: 100%;height: auto;margin-top: 27px;}
     .user-content .title{width: 100%;height: 44px;line-height: 44px;font-size: 16px;text-align: left;color: #22272e;}
     .user-content .section{width: 100%;height: auto;}
     .user-content .section .user-main{width: 100%;height:auto;background-color: #FFFFFF;box-sizing: border-box;padding: 20px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);margin-bottom: 10px;}
-    .user-content .section .user-main.tabs{height: 78px;}
-    .user-content .section .user-main.order{height: 200px;}
-    .user-content .section .user-main.product{height: 253px;}
+    .user-content .section .user-main.tabs{height: 78px;padding: 15px 20px;}
+    .user-content .section .user-main .tabs-left{height: 100%;float: left;}
+    .user-content .section .user-main .tabs-left .item{width: 50px;height: 100%;float: left;margin:0 40px;}
+    .user-content .section .user-main .tabs-left .item a{width: 100%;height: 100%;display: block;}
+    .user-content .section .user-main .tabs-left .item a .icon{width: 24px;height: 24px;display: block;margin: 0 auto;position: relative;}
+    .user-content .section .user-main .tabs-left .item a .icon span{display: block;width: 18px;height: 18px;background-image: linear-gradient(90deg,#ff5353 0%,#ff2424 100%);position: absolute;top: -9px;left: -9px;font-style: normal;font-size: 13px;color: #f94b4b;line-height: 18px;text-align: center;border-radius: 50%;color: #fff;}
+    .user-content .section .user-main .tabs-left .item a .icon:before{width: 24px;height: 24px;background-position: -273px -370px;}
+    .user-content .section .user-main .tabs-left .item a p{font-size: 14px;color: #22272e;text-align: center;line-height: 20px;margin-top: 3px;}
+    .user-content .section .user-main .tabs-right{float: right;line-height: 48px;font-size: 14px;color: #22272e;}
+    .user-content .section .user-main.order{height: 224px;padding-left: 68px;padding-top: 10px;}
+    .user-content .section .user-main .order-title{width: 100%;height: 40px;position: relative;float: left;margin-bottom: 0;}
+    .user-content .section .user-main .order-title .bag{display: block;position: absolute;left: -45px;top: 12px; width: 36px;height: 16px;background-image: linear-gradient(335deg,#e15616 0%,#ffb496 100%);border-radius: 2px;font-size: 10px;color: #FFFFFF;line-height: 16px;text-align: center;}
+    .user-content .section .user-main .order-title .title-name{float: left;line-height:  40px;font-size: 14px;color: #22272e;}
+    .user-content .section .user-main .order-title .title-name p{float: left;margin-right: 10px;}
+    .user-content .section .user-main .order-title .title-name p.state{color: #E15616;}
+    .user-content .section .user-main .order-title .title-type{float: left;width: 40px;height: 40px;background: url("/img/order/second.png")center center no-repeat;background-size: cover;}
+    .user-content .section .user-main .order-title .title-time{float: right;line-height:  40px;font-size: 12px;color: #9aa5b5;}
+    .user-content .section .user-main .order-content{width: 100%;height: auto;float: left;}
+    .user-content .section .user-main .order-content .order-item{width: 100%;height: 36px;float: left;}
+    .user-content .section .user-main .order-content .order-item p{float: left;margin-right: 50px;line-height: 36px;color: #22272e;font-size: 14px;}
+    .user-content .section .user-main .order-content .order-item p span{margin-left: 5px;}
+    .user-content .section .user-main .order-content .order-item p .red{color: #f94b4b;}
+    .user-content .section .user-main .order-content .order-botton{width: 100%;height: 36px;float: left;margin-top: 8px;}
+    .user-content .section .user-main .order-content .order-botton .btn{width: 88px;height: 34px;border-radius: 2px;border: 1px solid #FFF;float: right;margin-left: 16px;font-size: 14px;line-height: 34px;text-align: center;display: block;}
+    .user-content .section .user-main .order-content .order-botton .btn.cancel{border-color: #9aa5b5;background-color: #FFFFFF;color: #22272e;}
+    .user-content .section .user-main .order-content .order-botton .btn.primary{border-color: #E15616;background-color: #E15616;color: #FFFFFF;}
+    .user-content .section .user-main.product{height: 260px;padding: 20px 20px 10px 20px;}
+    .user-content .section .user-main .product-item{width: 173px;height: auto;float: left;margin-right: 15px;cursor: pointer;}
+    .user-content .section .user-main .product-item:last-child{margin-right: 0;}
+    .user-content .section .user-main .product-item .product-img{width: 173px;height: 173px;float: left;}
+    .user-content .section .user-main .product-item .product-img img{width: 173px;height: 173px;display: block;}
+    .user-content .section .user-main .product-item .product-name{width: 100%;height: 40px;float: left;margin-top: 10px;}
+    .user-content .section .user-main .product-item .product-name p{font-size: 14px;color: #22272e;text-align: justify;line-height: 20px;text-overflow: -o-ellipsis-lastline;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;line-clamp: 2;-webkit-box-orient: vertical;}
     .user-content .section .user-main.news{height: 207px;}
 
 

+ 29 - 35
src/main/resources/static/js/product/detail.js

@@ -23,8 +23,7 @@ var productDetail = new Vue({
         buyRetailPrice:0,
         allTotalPrice:0,
         typedata:0,
-        promotionsId:0,//活动商品id
-        giftData:[],//赠品
+        promotionsId:0,//活动id
         isQuantity:false,
         isStock:false,
         cartAlert:false
@@ -65,11 +64,11 @@ var productDetail = new Vue({
                 }
             });
         },
-    toLogin:function() {
-    location.href ='/login.html';
-   },
+        toLogin:function() {
+            location.href ='/login.html';
+        },
         productDetail:function(){
-         var _self = this;
+            var _self = this;
             if(_self.productId ===0){return;}
             $.getJSON(spiServer + "/product/detail/price",{
                 // userId:this.userId,
@@ -93,21 +92,35 @@ var productDetail = new Vue({
                     if(_self.deailData.actStatus==1){
                     _self.promotions =  _self.deailData.promotions;
                     _self.promotionsId = _self.deailData.promotions.id;
-                     _self.promotionsProduct();
                     }
 
                 }
             });
         },
+        toggleThisLadder: function(event){
+            var el = event.currentTarget;
+            if($(el).hasClass("on")){
+                $(el).removeClass("on").siblings('.mFixed').hide();
+                if(!isPC){looseBody();}
+            }else{
+                $(el).addClass("on").siblings('.mFixed').show();
+                if(!isPC){fixedBody();}
+            }
+        },
+        hideThisLadder: function(event){
+            var el = event.currentTarget;
+            $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.mFixed').hide();
+            if(!isPC){looseBody();}
+        },
         changeCountAdd:function () { //数量增加按钮
-        var _this = this;
+            var _this = this;
             if(_this.buyRetailPriceStep == 2){
-					_this.number += _this.minBuyNumber
-				}else{
-					_this.number++
-				}
-				_this.allTotalPrice = _this.number * _this.deailData.price;
-				_this.calculatPerice()
+                _this.number += _this.minBuyNumber
+            }else{
+                _this.number++
+            }
+            _this.allTotalPrice = _this.number * _this.deailData.price;
+            _this.calculatPerice()
         },
         changeCountSub:function(){//popup弹窗数量减按钮
            var _this = this;
@@ -263,28 +276,9 @@ var productDetail = new Vue({
                     _self.parameters = r.data;
                 }
             });
-        },
+        }
+
 
-        promotionsProduct:function () {//赠品接口
-            var _self = this;
-            if(_self.promotionsId ===0){return;}
-            $.getJSON(spiServer + "/product/promotions/gifts",{
-                promotionsId: _self.promotionsId
-            }).done(function (r) {
-                if (r.code === 0 && r.data) {
-                    console.log(r)
-                    _self.giftData = r.data;
-                }
-            });
-        },
-         activity:function () {
-           var _this = this;
-           _this.isShow = !_this.isShow;
-        },
-    activeBtn:function () {
-           var _this = this;
-            _this.isShow = false;
-        },
     },
     created: function () {
         this.productId = $("#productId").val();

+ 3 - 3
src/main/resources/static/js/shopping/cart.js

@@ -45,16 +45,16 @@ var shoppingCart = new Vue({
         toggleThisLadder: function(event){
             var el = event.currentTarget;
             if($(el).hasClass("on")){
-                $(el).removeClass("on").siblings('.ladder').hide();
+                $(el).removeClass("on").siblings('.mFixed').hide();
                 if(!isPC){looseBody();}
             }else{
-                $(el).addClass("on").siblings('.ladder').show();
+                $(el).addClass("on").siblings('.mFixed').show();
                 if(!isPC){fixedBody();}
             }
         },
         hideThisLadder: function(event){
             var el = event.currentTarget;
-            $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.ladder').hide();
+            $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.mFixed').hide();
             if(!isPC){looseBody();}
         },
         ckeckSupplier: function(event, supplierChecked){

+ 8 - 0
src/main/resources/static/js/user-center/dashboard.js

@@ -4,6 +4,14 @@ var helpSuggestion = new Vue({
     data: {
         btnLoading: false,
         userId: 0,
+        messageNum:'99+',
+        productList:[
+            {name:'华熙生物润百颜液体华熙生物润百颜',image:'https://img.caimei365.com/group1/M00/03/A9/Cmis217DrRiAFqp6AAfSTE-r1ow47.JPEG'},
+            {name:'华熙生物润百颜液体华熙生物润百颜',image:'https://img.caimei365.com/group1/M00/03/A9/Cmis217DrRiAFqp6AAfSTE-r1ow47.JPEG'},
+            {name:'华熙生物润百颜液体华熙生物润百颜',image:'https://img.caimei365.com/group1/M00/03/A9/Cmis217DrRiAFqp6AAfSTE-r1ow47.JPEG'},
+            {name:'华熙生物润百颜液体华熙生物润百颜',image:'https://img.caimei365.com/group1/M00/03/A9/Cmis217DrRiAFqp6AAfSTE-r1ow47.JPEG'},
+            {name:'华熙生物润百颜液体华熙生物润百颜/款',image:'https://img.caimei365.com/group1/M00/03/A9/Cmis217DrRiAFqp6AAfSTE-r1ow47.JPEG'}
+        ]
     },
     methods: {
         postSuggestion: function () {  // 账号登录

+ 1 - 1
src/main/resources/templates/components/header.html

@@ -18,7 +18,7 @@
             </li>
             <li v-if="loginStatus">
                 <a class="cTab" href="javascript:void(0);" v-text="userData.userName"></a>
-                <div class="cShow" v-if="userIdentity == 4">
+                <div class="cShow" v-if="userIdentity == 4 || userIdentity == 2">
                     <a href="/user/dashboard.html">我的采美</a>
                     <a href="/user/setting/information.html">机构资料</a>
                     <a href="javascript:void(0);" @click="userLogOut()">退出登录</a>

+ 70 - 153
src/main/resources/templates/product/detail.html

@@ -49,7 +49,7 @@
                     <span th:each="tag: *{tagList}" th:text="${tag}"></span>
                 </p>
                 <div class="detail">
-                    <p class="row"><span class="l">采美价</span><i>:</i>
+                    <div class="row"><span class="l">采美价</span><i>:</i>
                     <template v-if="userId && userId>0">
                        <em v-if="priceFlag==1" class="pricedeail">¥价格未公开</em>
                        <template v-else>
@@ -65,173 +65,90 @@
                             <i th:class="'icon mIcon i'+*{priceGrade}"></i>
                         </em>
                     </template>
-                    </p>
+                    </div>
                     <template  v-if="priceFlag!=2  && userIdentity!=2 ">
-                        <p class="row"> <span class="l">市场价</span><i>:</i>
+                        <div class="row"> <span class="l">市场价</span><i>:</i>
                              <em class="pricedeail" :class="deailData.actStatus==1?'original-price':''">¥{{buyRetailPrice}}</em>
-                        </p>
+                        </div>
                     </template>
-                    <p class="row" style="position:relative;" v-if="deailData.actStatus==1||deailData.ladderPriceFlag==1" ><span class="l">促销</span><i>:</i>
-                      <span class="activity" @click="activity" :class="isShow?'activitystyle':''" v-if="deailData.ladderPriceFlag==1">阶梯价格<i class="icon shaky" :class="isShow?'activeicon':''"></i> </span>
-                      <span class="activity" @click="activity" :class="isShow?'activitystyle':''" v-if="deailData.actStatus==1">{{promotions.name}}:{{promotions.touchPrice.toFixed(2)}}<i class="icon shaky" :class="isShow?'activeicon':''"></i> </span>
-
-
-                    <template v-if="userId && userId>0">
-                        <!-- 已登录 会员可见   -->
-                        <template v-if="priceFlag==2 && userIdentity !=2">
-                            <div class="activityBox" v-show="isShow">
-                              <p>
-                                <a style="color: #E15616" href="javascript:0" @click="clubupgrade" class="loginWithParam">升级会员</a>,参与{{promotions.name}}促销活动
-                              </p>
-                              <button class="activeBtn" @click="activeBtn">了解</button>
-                         </div>
+                    <div class="row" v-if="deailData.actStatus==1||deailData.ladderPriceFlag==1" ><span class="l">促销</span><i>:</i>
+                        <template v-if="userId && userId>0">
+                            <!-- 阶梯价 -->
+                            <div v-if="deailData.ladderPriceFlag==1" class="priceTag">
+                                <i class="tag icon mIcon" @click="toggleThisLadder($event)">阶梯价格</i>
+                                <div class="ladder mFixed">
+                                    <span>
+                                        <em class="t"><i>价格</i><i>起订量</i></em>
+                                        <em v-for="l in ladderList">
+                                            <i class="p">¥{{toFloat(l.buyPrice)}}</i>
+                                            <i>{{l.numRange}}</i>
+                                        </em>
+                                        <em @click="hideThisLadder($event)" class="close">了解</em>
+                                    </span>
+                                </div>
+                            </div>
+                            <!-- 促销活动 -->
+                            <div v-if="deailData.actStatus==1 && promotions" class="priceTag">
+                                <i v-if="promotions.type==1 && promotions.mode==1" @click="toggleThisLadder($event)" class="tag icon mIcon" v-text="promotions.name+':¥'+toFloat(promotions.touchPrice)"></i>
+                                <i v-else class="tag icon mIcon" @click="toggleThisLadder($event)" v-text="promotions?promotions.name:''"></i>
+                                <div class="promotion mFixed">
+                                    <div>
+                                        <p class="t">
+                                            <em v-if="promotions.type==1 && promotions.mode==1">{{promotions.name+':¥'+toFloat(promotions.touchPrice)}}</em>
+                                            <em v-if="promotions.mode==2">{{promotions.name+',满 ¥'+toFloat(promotions.touchPrice)+' 减 ¥'+toFloat(promotions.reducedPrice)}}</em>
+                                            <em v-if="promotions.mode==3">{{promotions.name+',满 ¥'+toFloat(promotions.touchPrice)+' 赠送商品'}}</em>
+                                        </p>
+                                        <p>促销时间:<em v-if="promotions.status==1">不限时</em><em v-else>{{promotions.beginTime.substr(0,10)+' ~ '+promotions.endTime.substr(0,10)}}</em></p>
+                                        <p v-if="promotions.type==2" class="r"><a class="more" :href="'/product/promotions.html?id='+promotions.id">更多凑单商品>>></a></p>
+                                        <template v-if="promotions.mode==3">
+                                            <p>赠品:</p>
+                                            <p>
+                                                <span v-for="g in promotions.giftList" class="p">
+                                                    <img :src="g.image">
+                                                    <span v-text="g.name"></span>
+                                                    <span v-text="'× '+g.number"></span>
+                                                </span>
+                                            </p>
+                                        </template>
+                                        <p class="r"><a class="close" @click="hideThisLadder($event)" href="JavaScript:void(0);">了解</a></p>
+                                    </div>
+                                </div>
+                            </div>
                         </template>
+                        <!-- 登录 -->
                         <template v-else>
-                        <div class="activityBox" v-show="isShow" v-if="promotions.type==3&&promotions.mode==2">
-                            <!--  店铺满减-->
-                               <p class="Boxtext">
-                                  <a style="color: #E15616" href="javascript:0" class="loginWithParam">全店铺满减:满1000.00,减500.00</a>
-                                    </br>促销时间:不限时
-                                </p>
-                                <button class="activeBtn" @click="activeBtn" v-show="isShow">了解</button>
-                         </div>
-                         <div class="activityBox" v-show="isShow"  v-if="promotions.type==1&&promotions.mode==3">
-                               <!-- 店铺满赠 -->
-                                <p class="Boxtext">
-                                    <a style="color: #E15616" href="javascript:0" class="loginWithParam">全店铺,满1000.00,赠送商品:</a>
-                                    </br>促销时间:{{promotions.beginTime}}~{{promotions.endTime}}
-                                </p>
-                                   <div class="activepro" v-for="promotions in giftData">
-                                      <a :href="'/product-'+promotions.productId+'.html'" target="_blank">
-                                           <div class="activeimg">
-                                               <img :src="promotions.image">
-                                           </div>
-                                           <div class="activeright">
-                                               <p>{{promotions.name}}</p>
-                                               <p>x1</p>
-                                           </div>
-                                       </a>
-                                   </div>
-                              <button class="activeBtn" @click="activeBtn" v-show="isShow">了解</button>
-                        </div>
-                         <div class="activityBox" v-show="isShow"  v-if="promotions.type==1&&promotions.mode==1">
-                           <!--单品优惠 -->
-                               <p class="Boxtext">
-                                  <a style="color: #E15616" href="javascript:0" class="loginWithParam">促销时间:{{promotions.beginTime}}~{{promotions.endTime}}</a>
-                               </p>
-                               <button class="activeBtn" @click="activeBtn" v-show="isShow">了解</button>
-                         </div>
-                          <div class="activityBox" v-show="isShow" v-if="promotions.type==1&&promotions.mode==2">
-                           <!--单品满减 -->
-                               <p class="Boxtext">
-                                  <a style="color: #E15616" href="javascript:0" class="loginWithParam">购买此商品,满1000.00,减500.00</a>
-                                </br>促销时间:不限时
-                               </p>
-                               <button class="activeBtn" @click="activeBtn" v-show="isShow">了解</button>
-                         </div>
-                          <div class="activityBox" v-show="isShow"  v-if="promotions.type==1&&promotions.mode==3">
-                               <!-- 单品满赠 -->
-                                <p class="Boxtext">
-                                    <a style="color: #E15616" href="javascript:0" class="loginWithParam">购买此商品,满1000.00,赠送商品:</a>
-                                    </br>促销时间:{{promotions.beginTime}}~{{promotions.endTime}}
-                                </p>
-                                   <div class="activepro" v-for="promotions in giftData">
-                                      <a :href="'/product/detail.shtml?id='+promotions.productId" target="_blank">
-                                           <div class="activeimg">
-                                               <img :src="promotions.image">
-                                           </div>
-                                           <div class="activeright">
-                                               <p>{{promotions.name}}</p>
-                                               <p>x1</p>
-                                           </div>
-                                       </a>
-                                   </div>
-                              <button class="activeBtn" @click="activeBtn" v-show="isShow">了解</button>
-                        </div>
-                        <!--阶梯价-->
-                        <div class="item-tips activityBox" v-show="isShow"  v-if="deailData.ladderPriceFlag==1">
-                           <div class="tips-content">
-                                 <div class="tip-tr">
-                                    <div class="tip-td">起订量</div>
-                                    <div class="tip-td">价格</div>
-                                 </div>
-                           <div class="tip-ul">
-                                 <ul class="tip-ul">
-                                    <li class="tip-tr ladderPriceList"  v-for="(item,index) in ladderList">
-                                        <div class="tip-td buyNumRangeShow">{{item.numRange}}</div>
-                                        <div class="tip-td buyPrice">¥{{item.buyPrice}}</div>
-                                    </li>
-                                 </ul>
-                           </div>
-                         </div>
-                          <button class="activeBtn" @click="activeBtn" v-show="isShow">了解</button>
-                       </div>
-                       <div class="activityBox" v-show="isShow"  v-if="promotions.type==2&&promotions.mode==2">
-                               <!-- 凑单满减 -->
-                                <p class="Boxtext">
-                                    <a style="color: #E15616" href="javascript:0" class="loginWithParam">购买下列商品,满1000.00,减500.00</a>
-                                    </br>促销时间:{{promotions.beginTime}}~{{promotions.endTime}}
-                                </p>
-                              <button class="activeBtn" @click="activeBtn" v-show="isShow">了解</button>
-                        </div>
-                        <div class="activityBox" v-show="isShow"  v-if="promotions.type==2&&promotions.mode==3">
-                               <!-- 凑单满赠 -->
-                                <p class="Boxtext">
-                                    <a style="color: #E15616" href="javascript:0" class="loginWithParam">购买此商品,满1000.00</a>
-                                    </br>促销时间:{{promotions.beginTime}}~{{promotions.endTime}}
-                                </p>
-                                 <p  href="javascript:0" class="loginWithParam">赠送商品:</p>
-                                   <div class="activepro" v-for="promotions in giftData">
-                                      <a :href="'/product-'+promotions.productId+'.html'" target="_blank">
-                                           <div class="activeimg">
-                                               <img :src="promotions.image">
-                                           </div>
-                                           <div class="activeright">
-                                               <p>{{promotions.name}}</p>
-                                               <p>x1</p>
-                                           </div>
-                                       </a>
-                                   </div>
-                              <button class="activeBtn" @click="activeBtn" v-show="isShow">了解</button>
-                        </div>
-
-                       </template>
-                    </template>
-                    <template v-else>
-                        <!--   未登录      -->
-                        <div class="activityBox" v-show="isShow" v-if="deailData.ladderPriceFlag==1">
-                              <p>
-                                <a style="color: #E15616" href="javascript:0" @click="toLogin">登录</a>,享受阶梯价格优惠
-                              </p>
-                              <button class="activeBtn" @click="activeBtn">了解</button>
-                         </div>
-                        <div class="activityBox" v-show="isShow" v-else>
-                              <p>
-                                <a style="color: #E15616" href="javascript:0" @click="toLogin">登录</a>,参与{{promotions.name}}促销活动
-                              </p>
-                              <button class="activeBtn" @click="activeBtn">了解</button>
-                         </div>
-                    </template>
-                    </p>
-                    <p class="row"><span class="l">品牌</span><i>:</i><em th:text="*{brandName}"></em></p>
-                    <p class="row"><span class="l">包装规格</span><i>:</i><em th:text="*{unit}"></em></p>
-                    <p class="row"><span class="l">商品编码</span><i>:</i><em th:text="*{productCode}"></em></p>
-                    <p class="row"><span class="l">库存</span><i>:</i><em th:text="*{stock}"></em></p>
-                    <p class="row"><span class="l">起批量</span><i>:</i><em th:text="*{minBuyNumber}"></em></p>
-                    <p class="row" v-if="priceFlag== 0 && userIdentity !=2"><span class="l" >采购量</span><i>:</i>
+                            <div v-if="deailData.ladderPriceFlag==1 || deailData.actStatus==1" class="priceTag">
+                                <i v-if="deailData.ladderPriceFlag==1" class="tag icon mIcon" @click="toggleThisLadder($event)">阶梯价格</i>
+                                <i v-if="deailData.actStatus==1" class="tag icon mIcon" @click="toggleThisLadder($event)" v-text="promotions?promotions.name:''"></i>
+                                <div class="promotion mFixed">
+                                    <div>
+                                        <p v-if="deailData.ladderPriceFlag==1"><em @click="toLogin">登录</em>,享受阶梯价格优惠</p>
+                                        <p v-if="deailData.actStatus==1"><em @click="toLogin">登录</em>,参与促销活动</p>
+                                        <p class="r"><a class="close" @click="hideThisLadder($event)" href="JavaScript:void(0);">了解</a></p>
+                                    </div>
+                                </div>
+                            </div>
+                        </template>
+                    </div>
+                    <div class="row"><span class="l">品牌</span><i>:</i><em th:text="*{brandName}"></em></div>
+                    <div class="row"><span class="l">包装规格</span><i>:</i><em th:text="*{unit}"></em></div>
+                    <div class="row"><span class="l">商品编码</span><i>:</i><em th:text="*{productCode}"></em></div>
+                    <div class="row"><span class="l">库存</span><i>:</i><em th:text="*{stock}"></em></div>
+                    <div class="row"><span class="l">起批量</span><i>:</i><em th:text="*{minBuyNumber}"></em></div>
+                    <div class="row" v-if="priceFlag== 0 && userIdentity !=2"><span class="l" >采购量</span><i>:</i>
                         <span class="number">
                             <em class="sub" @click="changeCountSub" :class="[isQuantity==true?'disabled':'']">-</em>
                             <input type="number" v-model="number" maxlength='6' @blur="changeNumber($event)" >
                             <em class="add" @click="changeCountAdd" :class="[isStock==true?'disabled':'']">+</em>
                         </span>
                         <input type="hidden" th:value="*{step}">
-                    </p>
+                    </div>
                     <hr>
-                    <p class="row"><span class="l">服务</span><i>:</i>
+                    <div class="row"><span class="l">服务</span><i>:</i>
                         <em class="ser icon mIcon">无忧退货</em>
                         <em class="ser icon mIcon">快速退款</em>
                         <em class="ser icon mIcon">正品保证</em>
-                    </p>
+                    </div>
                 </div>
                <template v-if="userId && userId>0">
                <div  class="btnBox" v-if="priceFlag==2 && userIdentity!=2">

+ 31 - 0
src/main/resources/templates/product/promotions.html

@@ -0,0 +1,31 @@
+<!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 ">
+<head>
+    <title>采美365网-商品列表</title>
+    <template th:replace="components/head-link"></template>
+    <link th:href="@{/css/product/list.css(v=${version})}" rel="stylesheet" type="text/css">
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+
+<!-- 商品列表 -->
+<div id="promotionsList">
+    <!-- 面包屑 -->
+    <div v-else class="crumbs">
+        <a href="/">首页</a>
+        <span>&gt;</span>
+        <span>凑单商品</span>
+    </div>
+    <!-- 列表数据 -->
+    <div>
+        <h1>促单满减商品</h1>
+    </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/product/promotions.js(v=${version})}"></script>
+</body>
+</html>

+ 22 - 17
src/main/resources/templates/shopping/cart.html

@@ -77,24 +77,29 @@
                             </template>
                             <!-- 促销活动 -->
                             <div v-if="cart.actStatus==1 && cart.promotions" class="priceTag">
-                                <i v-if="cart.promotions.type==1 && cart.promotions.mode==1" class="tag icon mIcon" v-text="cart.promotions.name+':¥'+toFloat(cart.price)"></i>
-                                <i v-else class="tag icon mIcon" v-text="cart.promotions?cart.promotions.name:''"></i>
+                                <i v-if="cart.promotions.type==1 && cart.promotions.mode==1" @click="toggleThisLadder($event)" class="tag icon mIcon" v-text="cart.promotions.name+':¥'+toFloat(cart.promotions.touchPrice)"></i>
+                                <i v-else class="tag icon mIcon" @click="toggleThisLadder($event)" v-text="cart.promotions?cart.promotions.name:''"></i>
                                 <div class="promotion mFixed">
-                                    <p class="t"><em>全店铺满减:满1000.00,减500.00</em></p>
-                                    <p>促销时间:2020-06-12 ~ 2020-09-30</p>
-                                    <p>赠品:</p>
-                                    <p>
-                                        <a class="p" href="">
-                                            <img src="https://img.caimei365.com/group1/M00/00/FD/Cmis21sxr2CAA8qRAAHtVLDfGCs96.JPEG">
-                                            <span>夜猫子1一剪时光SOD金茯苓保湿塑颜面膜</span>
-                                            <span>× 1</span>
-                                        </a>
-                                        <a class="p" href="">
-                                            <img src="https://img.caimei365.com/group1/M00/00/FD/Cmis21sxr2CAA8qRAAHtVLDfGCs96.JPEG">
-                                            <span>夜猫子1一剪时光SOD金茯苓保湿塑颜面膜</span>
-                                            <span>× 1</span>
-                                        </a>
-                                    </p>
+                                    <div>
+                                        <p class="t">
+                                            <em v-if="cart.promotions.type==1 && cart.promotions.mode==1">{{cart.promotions.name+':¥'+toFloat(cart.promotions.touchPrice)}}</em>
+                                            <em v-if="cart.promotions.mode==2">{{cart.promotions.name+',满 ¥'+toFloat(cart.promotions.touchPrice)+' 减 ¥'+toFloat(cart.promotions.reducedPrice)}}</em>
+                                            <em v-if="cart.promotions.mode==3">{{cart.promotions.name+',满 ¥'+toFloat(cart.promotions.touchPrice)+' 赠送商品'}}</em>
+                                        </p>
+                                        <p>促销时间:<em v-if="cart.promotions.status==1">不限时</em><em v-else>{{cart.promotions.beginTime.substr(0,10)+' ~ '+cart.promotions.endTime.substr(0,10)}}</em></p>
+                                        <p v-if="cart.promotions.type==2" class="r"><a class="more" :href="'/product/promotions.html?id='+cart.promotions.id">更多凑单商品>>></a></p>
+                                        <template v-if="cart.promotions.mode==3">
+                                            <p>赠品:</p>
+                                            <p>
+                                                <span v-for="g in cart.promotions.giftList" class="p">
+                                                    <img :src="g.image">
+                                                    <span v-text="g.name"></span>
+                                                    <span v-text="'× '+g.number"></span>
+                                                </span>
+                                            </p>
+                                        </template>
+                                        <p class="r"><a class="close" @click="hideThisLadder($event)" href="JavaScript:void(0);">了解</a></p>
+                                    </div>
                                 </div>
                             </div>
                             <!-- 阶梯价 -->

+ 74 - 7
src/main/resources/templates/user-center/dashboard.html

@@ -27,29 +27,96 @@
                         <div class="logo"><img src="https://dss2.bdstatic.com/8_V1bjqh_Q23odCf/pacific/1884224890.jpg" alt=""></div>
                         <div class="account">
                             <div class="name">华熙生物信息技术有限公司</div>
-                            <div class="msg"><span>资料完整度:89%</span><a href="/user/setting/information.html">立即完善</a></div>
+                            <div class="msg"><span>资料完整度:<em class="red">89%</em></span><a href="/user/setting/information.html">立即完善</a></div>
                         </div>
                     </div>
                     <div class="header-mr">
-                        <div class="message"></div>
-                        <div class="money">余额:0.00元</div>
+                        <div class="message">
+                            <i class="icon mIcon"><a href="">{{messageNum}}</a></i>
+                        </div>
+                        <div class="money">余额: <span>0.00</span> 元</div>
                     </div>
                 </div>
                 <div class="user-content clear">
                     <div class="title">我的订单</div>
                     <div class="section">
-                        <div class="user-main tabs"></div>
-                        <div class="user-main order"></div>
+                        <div class="user-main tabs">
+                            <div class="tabs-left">
+                                <div class="item">
+                                    <a href="javascript:void(0);"><i class="icon mIcon" :class=""><span>3</span></i><p>待确认</p></a>
+                                </div>
+                                <div class="item">
+                                    <a href="javascript:void(0);"><i class="icon mIcon" :class=""><span>3</span></i><p>待付款</p></a>
+                                </div>
+                                <div class="item">
+                                    <a href="javascript:void(0);"><i class="icon mIcon" :class=""><span>3</span></i><p>待发货</p></a>
+                                </div>
+                                <div class="item">
+                                    <a href="javascript:void(0);"><i class="icon mIcon" :class=""><span>3</span></i><p>已发货</p></a>
+                                </div>
+                                <div class="item">
+                                    <a href="javascript:void(0);"><i class="icon mIcon" :class=""><span>3</span></i><p>退货/款</p></a>
+                                </div>
+                            </div>
+                            <div class="tabs-right"><a href="">全部订单<span class="icon mIcon"></span></a></div>
+                        </div>
+                        <div class="user-main order">
+                            <div class="order-title">
+                                <span class="bag">自主</span>
+                                 <div class="title-name">
+                                     <p>订单编号(标识):C155382764847081(1002)</p>
+                                     <p class="state">待确认</p>
+                                 </div>
+                                <div class="title-type"></div>
+                                <div class="title-time">
+                                    <p>下单时间:2019-04-03 16:45</p>
+                                </div>
+                            </div>
+                            <div class="order-content">
+                                <div class="order-item">
+                                    <p>税费: <span>¥100000.00</span> </p>
+                                    <p>运费:<span>¥100000.00</span> </p>
+                                    <p>经理折扣:<span>¥10000.00</span> </p>
+                                    <p>促销满减:<span>¥100000.00</span> </p>
+                                    <p>赠品数:10</p>
+                                </div>
+                                <div class="order-item">
+                                    <p>订单总额:<span class="red">¥10000.00</span> </p>
+                                </div>
+                                <div class="order-item">
+                                    <p>应付总额:<span class="red">¥10000.00</span> </p>
+                                    <p>已支付:<span class="red">¥10000.00</span> </p>
+                                    <p>待付金额:<span class="red">¥10000.00</span> </p>
+                                </div>
+                                <div class="order-botton">
+                                    <a class="btn cancel" href="javascript: void(0);" @click="editGoodFn()">取消订单</a>
+                                    <a class="btn primary" href="javascript: void(0);"  @click="ItemDownshelf()">确认订单</a>
+                                    <a class="btn cancel" href="javascript: void(0);" @click="AddPushHotFn()">删除订单</a>
+                                    <a class="btn primary" href="javascript: void(0);"  @click="DeletePushHotFn()">查看物流</a>
+                                    <a class="btn primary" href="javascript: void(0);"  @click="DeletePushHotFn()">确认收货</a>
+                                    <a class="btn cancel" href="javascript: void(0);" @click="pageLinkDetils()">订单详情</a>
+                                    <a class="btn primary" href="javascript: void(0);" @click="pageLinkDetils()">支付订单</a>
+                                </div>
+                            </div>
+                        </div>
                     </div>
                 </div>
                 <div class="user-content">
                     <div class="title">今日推荐</div>
                     <div class="section">
-                        <div class="user-main product"></div>
+                        <div class="user-main product">
+                            <div class="product-item" v-for="(item, index) in productList" :key="index">
+                                <div class="product-img"><img :src="item.image" :alt="item.name"></div>
+                                <div class="product-name"><p>{{item.name}}</p></div>
+                            </div>
+                        </div>
                     </div>
                 </div>
                 <div class="user-content">
-                    <div class="title">最新动态</div>
+                    <div class="title">
+                        <p>最新动态</p>
+                        <p><a href="">全部动态</a></p>
+                    </div>
                     <div class="section">
                         <div class="user-main news"></div>
                     </div>