喻文俊 3 年 前
コミット
ee8f8674b4

+ 45 - 48
src/main/resources/static/css/user-center/member/member-product.css

@@ -1,85 +1,82 @@
 /*公共样式*/
 /*公共样式*/
 .cm-text-ellipsis-2{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
 .cm-text-ellipsis-2{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
 /*pc端*/
 /*pc端*/
-@media screen and (min-width:768px){.banner-box{position:relative;height:510px;overflow:hidden}
+@media screen and (min-width:768px){
+.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}
+
+.banner-box{position:relative;height:510px;overflow:hidden}
 .banner-box img{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:none;vertical-align:auto;max-width:unset}
 .banner-box img{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:none;vertical-align:auto;max-width:unset}
 .container{width:1184px;margin:24px auto}
 .container{width:1184px;margin:24px auto}
 .goods-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}
 .goods-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}
 .goods-list .goods a:hover{color:unset}
 .goods-list .goods a:hover{color:unset}
-.goods-list .goods{width:184px;margin-right:16px;margin-bottom:16px;padding-bottom:16px;background:#fff;overflow:hidden;-webkit-transition:all .4s;-o-transition:all .4s;transition:all .4s}
+.goods-list .goods{width:184px;margin-right:16px;margin-bottom:16px;padding-bottom:8px;background:#fff;overflow:hidden;-webkit-transition:all .4s;-o-transition:all .4s;transition:all .4s}
 .goods-list .goods:nth-child(6n){margin-right:0}
 .goods-list .goods:nth-child(6n){margin-right:0}
-.goods-list .goods .goods-title,.goods-list .goods .goods-tag,.goods-list .goods .page_main_price{padding-left:16px !important;padding-right:16px !important}
-.goods-list .goods .page_main_price{width:100%;height:54px;float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 8px}
-.goods-list .goods .page_main_price .main_price_text{width:100%;height:54px;float:left;-webkit-box-sizing:border-box;box-sizing:border-box}
-.goods-list .goods .page_main_price .main_price_unde{width:100%;height:31px;line-height:31px;font-size:14px;color:#4a4f58;text-align:left;float:left}
-.goods-list .goods .page_main_price .main_price_show{width:100%;height:30px;line-height:30px;font-size:14px;color:#f94b4b;text-align:left;float:left}
-.goods-list .goods .page_main_price .main_price_show.none{color:#999999;text-decoration:line-through}
-.goods-list .goods .page_main_price .section_page .page_main_price .main_price_show.none{display:none}
-.goods-list .goods .page_main_price .price_text_tag{width:100%;height:22px;-webkit-box-sizing:border-box;box-sizing:border-box;float:left;margin-top:0px}
-.goods-list .goods .page_main_price .price_text_tag .couponTag{float:left;margin-right:4px}
-.goods-list .goods .page_main_price .price_text_tag .listTag{margin:0;float:left}
-.goods-list .goods .page_main_price .main_price_none{width:100%;height:24px;-webkit-box-sizing:border-box;box-sizing:border-box;float:left;margin-top:2px}
-.goods-list .goods .page_main_price .main_price_none.sec{margin-top:25px}
-.goods-list .goods .page_main_price .main_price_none .listTag{margin:0}
-.goods-list .goods .page_main_price .price_grade,.section_page .page_main_price .price_grade_shop,.section_page .page_main_price .price_grade_club{float:left;margin:0;height:22px;line-height:22px;color:#4A4F58;font-style:normal;font-size:14px}
-.goods-list .goods .page_main_price .price_grade span,.section_page .page_main_price .price_grade_shop span,.section_page .page_main_price .price_grade_club span{display:inline-block;float:left}
-.goods-list .goods .page_main_price .icon:before{width:67px;height:22px}
-.goods-list .goods .page_main_price .price_grade_1:before{background-position:0 -714px}
-.goods-list .goods .page_main_price .price_grade_2:before{background-position:0 -744px}
-.goods-list .goods .page_main_price .price_grade_3:before{background-position:0 -774px}
-.goods-list .goods .page_main_price .price_grade_4:before{background-position:0 -804px}
-.goods-list .goods .page_main_price .price_grade_5:before{background-position:0 -834px}
+
 .goods-list .goods img{display:block;width:184px;height:184px;-webkit-box-sizing:border-box;box-sizing:border-box}
 .goods-list .goods img{display:block;width:184px;height:184px;-webkit-box-sizing:border-box;box-sizing:border-box}
+.goods-list .goods .goods-price,
+.goods-list .goods .goods-title,
+.goods-list .goods .goods-tag{padding: 0 8px;}
+
 .goods-list .goods .goods-title{height:41px;margin-top:12px;font-size:14px;font-weight:400;line-height:22px;color:#4A4F58;text-align:justify-all;word-break:break-all}
 .goods-list .goods .goods-title{height:41px;margin-top:12px;font-size:14px;font-weight:400;line-height:22px;color:#4A4F58;text-align:justify-all;word-break:break-all}
-.goods-list .goods .goods-tag{height:20px;padding:8px 0}
+.goods-list .goods .goods-tag{height:22px;padding:8px 8px}
 .goods-list .goods .goods-tag .tag{line-height:20px;font-size:12px;padding:0 2px}
 .goods-list .goods .goods-tag .tag{line-height:20px;font-size:12px;padding:0 2px}
 .goods-list .goods .goods-tag .tag.styl1{color:#F94B4B;background:#FFF1EB;border:1px solid #F94B4B}
 .goods-list .goods .goods-tag .tag.styl1{color:#F94B4B;background:#FFF1EB;border:1px solid #F94B4B}
 .goods-list .goods .goods-tag .tag.styl2{color:#E15616;background:#FFF1EB;border:1px solid #F94B4B}
 .goods-list .goods .goods-tag .tag.styl2{color:#E15616;background:#FFF1EB;border:1px solid #F94B4B}
-/*标签缩小*/
-.section_page .page_main_price .price_text_tag {-webkit-transform: scale(0.8) translateX(-18px);-ms-transform: scale(0.8) translateX(-18px);transform: scale(0.8) translateX(-18px)}
-.section_page .page_main_price .price_text_tag .svip-tag,
-.section_page .page_main_price .price_text_tag .listTag{-webkit-transform: translateX(4px);-ms-transform: translateX(4px);transform: translateX(4px)}
-/*会员标签*/
-.svip-tag{width:100%;height:22px;letter-spacing:0}
-.svip-tag .svip-icon{position:relative;z-index:9;display:inline-block;width:30px;height:22px;text-align:center;line-height:22px;font-size:12px;font-weight:400;color:#F0CB72;opacity:1;background:#333333}
-.svip-tag .svip-icon.btr{border-radius:2px 8px 0px 2px}
-.svip-tag .svip-price{z-index:1;position:relative;display:inline-block;padding-left:22px;padding-right:4px;margin-left:-27px;line-height:22px;background:#F0CB72;opacity:1;border-radius:2px;font-size:12px}
-.svip-tag .svip-price span{color: #333}
+
+.goods-list .goods .svip-tag{height:18px;letter-spacing:0;display: inline-block;}
+.goods-list .goods .svip-tag .svip-icon{position:relative;z-index:9;display:inline-block;width:30px;height:18px;text-align:center;line-height:18px;font-size:12px;font-weight:400;color:#F0CB72;opacity:1;background:#333333}
+.goods-list .goods .svip-tag .svip-icon.btr{border-radius:2px 8px 0px 2px}
+.goods-list .goods .svip-tag .svip-price{z-index:1;position:relative;display:inline-block;padding-left:22px;padding-right:4px;margin-left:-24px;line-height:18px;background:#F0CB72;opacity:1;border-radius:2px;font-size:12px}
+.goods-list .goods .svip-tag .svip-price span{color: #333}
+
+.goods-list .good .goods-price del{color: #B8BFCA}
+
 
 
 .goods-list .goods:hover{-webkit-transform:translateY(-6px);-ms-transform:translateY(-6px);transform:translateY(-6px);-webkit-box-shadow:0 0 16px rgba(0,0,0,.2);box-shadow:0 0 16px rgba(0,0,0,.2)}
 .goods-list .goods:hover{-webkit-transform:translateY(-6px);-ms-transform:translateY(-6px);transform:translateY(-6px);-webkit-box-shadow:0 0 16px rgba(0,0,0,.2);box-shadow:0 0 16px rgba(0,0,0,.2)}
 .goods-list .goods:hover .goods-title{color:#E15616}
 .goods-list .goods:hover .goods-title{color:#E15616}
 }/*h5端*/
 }/*h5端*/
-@media screen and (max-width:768px){.banner-box{position:relative;width:95.2vw;height:36vw;margin:2.4vw;overflow:hidden}
+@media screen and (max-width:768px){
+.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}
+
+.banner-box{position:relative;width:95.2vw;height:36vw;margin:2.4vw;overflow:hidden}
 .banner-box img{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:none;vertical-align:auto;max-width:unset;height:36vw}
 .banner-box img{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:none;vertical-align:auto;max-width:unset;height:36vw}
 .container{width:100vw;margin:2.4vw 0;-webkit-box-sizing:border-box;box-sizing:border-box}
 .container{width:100vw;margin:2.4vw 0;-webkit-box-sizing:border-box;box-sizing:border-box}
 .goods-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}
 .goods-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}
 .goods-list .goods a:hover{color:unset}
 .goods-list .goods a:hover{color:unset}
-.goods-list .goods{width: 46.4vw; margin:0 2.4vw 2.4vw;background:#fff;overflow:hidden}
+.goods-list .goods{width: 46.4vw; margin:0 2.4vw 2.4vw;background:#fff;overflow:hidden;padding-bottom: 1.2vw;}
 .goods-list .goods:nth-child(2n){margin-left: 0}
 .goods-list .goods:nth-child(2n){margin-left: 0}
-.goods-list .goods .goods-title,.goods-list .goods .goods-tag,.goods-list .goods .page_main_price{padding-left:1.6vw !important;padding-right:1.6vw !important}
-.goods-list .goods .page_main_price{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 3.2vw}
-.goods-list .goods .page_main_price .price_text_tag{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;float:left}
-.goods-list .goods .page_main_price .main_price_show{color:#f94b4b}
-.goods-list .goods .page_main_price .section_page .page_main_price .main_price_show.none{display:none}
-.goods-list .goods .page_main_price .main_price_unde{width:100%;height:6.5vw;line-height:6.5vw;font-size:3.4vw;color:#4a4f58;text-align:left;float:left}
-.goods-list .goods .page_main_price .price_text_tag .couponTag{padding:0 2vw;border:.27vw solid #f94b4b;background:#fff1eb;font-size:2.8vw;float:left;height:4.2vw;line-height:4.2vw;color:#f94b4b;border-radius:0.2vw;margin-right:1vw}
-.goods-list .goods .page_main_price .price_text_tag .listTag{padding:0 2vw;border:.27vw solid #ffe6dc;background:none;font-size:2.8vw;float:left;height:4.2vw;line-height:4.2vw;border-radius:0.2vw}
 .goods-list .goods img{display:block;width:45.6vw;height:45.6vw;-webkit-box-sizing:border-box;box-sizing:border-box}
 .goods-list .goods img{display:block;width:45.6vw;height:45.6vw;-webkit-box-sizing:border-box;box-sizing:border-box}
+
+.goods-list .goods .goods-price,
+.goods-list .goods .goods-title,
+.goods-list .goods .goods-tag{padding: 0 1.2vw;}
+
 .goods-list .goods .goods-title{white-space:pre-wrap;height:9.2vw;margin-top:0.8vw;font-size:3.4vw;font-weight:400;line-height:4.7vw;color:#627386}
 .goods-list .goods .goods-title{white-space:pre-wrap;height:9.2vw;margin-top:0.8vw;font-size:3.4vw;font-weight:400;line-height:4.7vw;color:#627386}
 .goods-list .goods .goods-tag{margin:1.6vw 0}
 .goods-list .goods .goods-tag{margin:1.6vw 0}
 .goods-list .goods .goods-tag .tag{line-height:4.2vw;font-size:2.8vw;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 0.5vw}
 .goods-list .goods .goods-tag .tag{line-height:4.2vw;font-size:2.8vw;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 0.5vw}
 .goods-list .goods .goods-tag .tag.styl1{color:#F94B4B;background:#FFF1EB;border:1px solid #F94B4B}
 .goods-list .goods .goods-tag .tag.styl1{color:#F94B4B;background:#FFF1EB;border:1px solid #F94B4B}
 .goods-list .goods .goods-tag .tag.styl2{color:#E15616;background:#FFF1EB;border:1px solid #F94B4B}
 .goods-list .goods .goods-tag .tag.styl2{color:#E15616;background:#FFF1EB;border:1px solid #F94B4B}
 /*会员标签*/
 /*会员标签*/
-.section_page .page_main_price .price_text_tag {-webkit-transform: scale(0.8) translateX(-4.2vw);-ms-transform: scale(0.8) translateX(-4.2vw);transform: scale(0.8) translateX(-4.2vw)}
-.section_page .page_main_price .price_text_tag .svip-tag,
-.section_page .page_main_price .price_text_tag .listTag{-webkit-transform: translateX(1.2vw);-ms-transform: translateX(1.2vw);transform: translateX(1.2vw)}
-.svip-tag{float: left; height:4.74vw;letter-spacing:0;overflow: hidden}
+.svip-tag{height:4.74vw;letter-spacing:0;overflow: hidden;display: inline-block;vertical-align: middle;}
 .svip-tag .svip-icon{position:relative;z-index:9;float: left; width:9.8vw;height:4.74vw;text-align:center;line-height:4.74vw;font-size:2.8vw;font-weight:400;color:#F0CB72;opacity:1;background:#333333}
 .svip-tag .svip-icon{position:relative;z-index:9;float: left; width:9.8vw;height:4.74vw;text-align:center;line-height:4.74vw;font-size:2.8vw;font-weight:400;color:#F0CB72;opacity:1;background:#333333}
 .svip-tag .svip-icon.btr{border-radius:2px 8px 0px 2px}
 .svip-tag .svip-icon.btr{border-radius:2px 8px 0px 2px}
 .svip-tag .svip-price{z-index:1;position:relative;float: left;padding-left:5.4vw;padding-right:0.6vw;margin-left:-6vw;line-height:4.74vw;height: 4.74vw; background:#F0CB72;opacity:1;border-radius:2px;font-size:2.8vw}
 .svip-tag .svip-price{z-index:1;position:relative;float: left;padding-left:5.4vw;padding-right:0.6vw;margin-left:-6vw;line-height:4.74vw;height: 4.74vw; background:#F0CB72;opacity:1;border-radius:2px;font-size:2.8vw}
 .svip-tag .svip-price span{color: #333}
 .svip-tag .svip-price span{color: #333}
 .svip-tag .svip-price span:nth-child(2){margin-left: -0.4vw}
 .svip-tag .svip-price span:nth-child(2){margin-left: -0.4vw}
+.goods-list .good .goods-price del{color: #B8BFCA}
+
 
 
 .show-more{width:100vw;margin:2.4vw 0 4.8vw;text-align:center}
 .show-more{width:100vw;margin:2.4vw 0 4.8vw;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{display:inline-block;width:20vw;height:6vw;font-size:3vw;line-height:6vw;border:1px solid #ccc}

+ 5 - 2
src/main/resources/static/js/account/login.js

@@ -104,7 +104,8 @@ var loginPage = new Vue({
                             userIdentity: response.data.userIdentity,
                             userIdentity: response.data.userIdentity,
                             permission: response.data.userPermission,
                             permission: response.data.userPermission,
                             token: response.data.token,
                             token: response.data.token,
-                            unionId:response.data.unionId
+                            unionId:response.data.unionId,
+                            vipFlag: response.data.vipFlag
                         };
                         };
                         _self.setStorages( _self.userData);
                         _self.setStorages( _self.userData);
                         // 登录成功页面跳转
                         // 登录成功页面跳转
@@ -200,6 +201,7 @@ var loginPage = new Vue({
                 UserApi.PostLoginAccount(params,function(response){
                 UserApi.PostLoginAccount(params,function(response){
                     _self.loginLoading = false;
                     _self.loginLoading = false;
                     if(response.code === 0){
                     if(response.code === 0){
+                        console.log(response);
                         _self.userData = {
                         _self.userData = {
                             account: response.data.account,
                             account: response.data.account,
                             email: response.data.email,
                             email: response.data.email,
@@ -212,7 +214,8 @@ var loginPage = new Vue({
                             shopId: response.data.shopId,
                             shopId: response.data.shopId,
                             userIdentity: response.data.userIdentity,
                             userIdentity: response.data.userIdentity,
                             permission: response.data.userPermission,
                             permission: response.data.userPermission,
-                            token: response.data.token
+                            token: response.data.token,
+                            vipFlag: response.data.vipFlag
                         };
                         };
                         _self.setStorages( _self.userData);
                         _self.setStorages( _self.userData);
                         // 登录成功页面跳转
                         // 登录成功页面跳转

+ 2 - 0
src/main/resources/static/js/base.js

@@ -6,11 +6,13 @@ var GLOBAL_TOKEN = 'X-Token';
 var GLOBAL_USER_ID = 0;
 var GLOBAL_USER_ID = 0;
 var GLOBAL_USER_IDENTITY = 0;//2-会员机构;3-供应商;4-普通机构
 var GLOBAL_USER_IDENTITY = 0;//2-会员机构;3-供应商;4-普通机构
 var GLOBAL_SHOP_ID = 0;
 var GLOBAL_SHOP_ID = 0;
+var GLOBAL_VIP_FLAG = 0;
 if(localStorage.getItem('userInfo')){
 if(localStorage.getItem('userInfo')){
     globalUserData = JSON.parse(localStorage.getItem('userInfo'));
     globalUserData = JSON.parse(localStorage.getItem('userInfo'));
     GLOBAL_TOKEN = globalUserData.token;
     GLOBAL_TOKEN = globalUserData.token;
     GLOBAL_USER_ID = globalUserData.userId*1;
     GLOBAL_USER_ID = globalUserData.userId*1;
     GLOBAL_USER_IDENTITY = globalUserData.userIdentity*1;
     GLOBAL_USER_IDENTITY = globalUserData.userIdentity*1;
+    GLOBAL_VIP_FLAG = globalUserData.vipFlag;
     GLOBAL_SHOP_ID = globalUserData.shopId*1;
     GLOBAL_SHOP_ID = globalUserData.shopId*1;
     if (GLOBAL_USER_ID === 5261 || GLOBAL_USER_ID === 10947 || GLOBAL_USER_ID === 11579) {
     if (GLOBAL_USER_ID === 5261 || GLOBAL_USER_ID === 10947 || GLOBAL_USER_ID === 11579) {
         GLOBAL_USER_IDENTITY = 1;
         GLOBAL_USER_IDENTITY = 1;

+ 12 - 0
src/main/resources/static/js/common/serviceapi/product.service.js

@@ -4,6 +4,18 @@
  * auther xw
  * auther xw
  */
  */
 var ProductApi = {
 var ProductApi = {
+        GetSvipProductList: function (params, callback) {  //获取svip商品列表
+            Http.AjaxService({
+                url: '/commodity/svip/product/page',
+                type: 'get',
+                data: params,
+                json: true,
+                isHost: true
+            }).then(function (res) {
+                callback(res);
+            });
+        },
+
         GetProductDdtails: function (params, callback) {//获取商品详情
         GetProductDdtails: function (params, callback) {//获取商品详情
             Http.AjaxService({
             Http.AjaxService({
                 url:'/commodity/product/details',
                 url:'/commodity/product/details',

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

@@ -205,8 +205,8 @@ var shoppingCart = new Vue({
                                     }
                                     }
                                 }
                                 }
                                 //sivp优惠价格
                                 //sivp优惠价格
-                                if(cart.svipProductFlag === 1 && false){
-                                    svipSupplierPrice += ((cart.originalPrice - cart.svipDiscountPrice) * cart.number);
+                                if(cart.svipProductFlag && GLOBAL_VIP_FLAG === 1){
+                                    svipSupplierPrice += ((cart.originalPrice - cart.price) * cart.number);
                                 }
                                 }
                             }
                             }
                         });
                         });

+ 50 - 1
src/main/resources/static/js/user-center/dashboard.js

@@ -7,6 +7,7 @@ var helpSuggestion = new Vue({
         userId: 0,
         userId: 0,
         degree:'',
         degree:'',
         userInfo:{},
         userInfo:{},
+        vipInfo: {},
         formData:new FormData(),
         formData:new FormData(),
         unReadMessageCount:'',// 消息数
         unReadMessageCount:'',// 消息数
         confirmedCount:'',// 待確認數量
         confirmedCount:'',// 待確認數量
@@ -22,6 +23,42 @@ var helpSuggestion = new Vue({
         couponNum:0,// 优惠券数量
         couponNum:0,// 优惠券数量
         beansType:1
         beansType:1
     },
     },
+
+    computed:{
+        svipTips: function () {
+            var vipFlag = this.vipInfo.vipFlag;
+            var endTime = moment(this.vipInfo.endTime).format('yyyy.MM.DD');
+            if (vipFlag === 1) {
+                return '<span>已开通采美超级会员</span><span class="time">有效期至' + endTime + '</span>'
+            } else if (vipFlag === -1) {
+                return '<span class="error">采美超级会员已过期</span><span class="time">有效期至' + endTime + '</span>';
+            } else {
+                return '开通采美超级会员,享专属特权'
+            }
+        },
+        // 机构标签
+        userIdentityTag: function(){
+            var userIdentity = this.userInfo.userIdentity;
+            var vipFlag = this.vipInfo.vipFlag;
+            var names = {
+                2: '资质机构',
+                3: '供应商',
+                4: '个人机构'
+            };
+            var type = '';
+            if (userIdentity === 2){
+                type = 'vip';
+            }
+            if (vipFlag === 1) {
+                type = 'svip';
+            }
+            return {
+                name: names[userIdentity],
+                type: type
+            }
+        }
+    },
+
     methods: {
     methods: {
         GetMyPcCenterInfo:function(){
         GetMyPcCenterInfo:function(){
             var _self = this;
             var _self = this;
@@ -46,7 +83,18 @@ var helpSuggestion = new Vue({
                 }
                 }
             })
             })
         },
         },
-        GetUserClubHome(){},
+        GetUserClubHome(){
+            var _self = this;
+            UserApi.GetUserClubHome({userId:_self.userId}, function(response){
+                console.log(response);
+                if(response.code === 0){
+                    _self.vipInfo = response.data.vip;
+                }else{
+                    CAIMEI.Alert(response.msg, '确定', false);
+                    _self.isRequset = false;
+                }
+            })
+        },
         uploadUserPuploadAvatar: function(event){//上传头像
         uploadUserPuploadAvatar: function(event){//上传头像
             var _self = this;
             var _self = this;
             var inputDOM = _self.$refs.clubUseLogo;
             var inputDOM = _self.$refs.clubUseLogo;
@@ -104,6 +152,7 @@ var helpSuggestion = new Vue({
         var _self = this;
         var _self = this;
         if(globalUserData){
         if(globalUserData){
             _self.userId = globalUserData.userId;
             _self.userId = globalUserData.userId;
+            _self.GetUserClubHome();
             _self.GetMyPcCenterInfo();
             _self.GetMyPcCenterInfo();
             _self.GetInitBeansInfo();
             _self.GetInitBeansInfo();
             _self.isShowBeansAlet = false;
             _self.isShowBeansAlet = false;

+ 57 - 48
src/main/resources/static/js/user-center/member/memberPage.js

@@ -1,68 +1,77 @@
+// 服务列表
+var serviceList = [
+    {
+        name: '优惠商品',
+        subTitle: '超级会员专享'
+    },
+    {
+        name: '专属优惠券',
+        subTitle: '每月可领'
+    },
+    {
+        name: '采美豆翻倍',
+        subTitle: '下单返采美豆'
+    },
+    {
+        name: '专属客服',
+        subTitle: '一对一'
+    },
+    {
+        name: '专属销售顾问',
+        subTitle: '一对一'
+    },
+    {
+        name: '快速发货',
+        subTitle: '会员加速'
+    },
+    {
+        name: '售后服务',
+        subTitle: '会员加速'
+    }, {
+        name: '敬请期待',
+        subTitle: '更多特权'
+    }
+];
 var memberPage = new Vue({
 var memberPage = new Vue({
     el: '#memberPage',
     el: '#memberPage',
     data: {
     data: {
-        serviceList: [
-            {
-                name: '优惠商品',
-                subTitle: '超级会员专享'
-            },
-            {
-                name: '专属优惠券',
-                subTitle: '每月可领'
-            },
-            {
-                name: '采美豆翻倍',
-                subTitle: '下单返采美豆'
-            },
-            {
-                name: '专属客服',
-                subTitle: '一对一'
-            },
-            {
-                name: '专属销售顾问',
-                subTitle: '一对一'
-            },
-            {
-                name: '快速发货',
-                subTitle: '会员加速'
-            },
-            {
-                name: '售后服务',
-                subTitle: '会员加速'
-            }, {
-                name: '敬请期待',
-                subTitle: '更多特权'
-            }
-        ],
-        couponList:[
+        showMask: false, // 遮罩层
+        showRenewPopup: false, // 续费弹窗
+        showConfirmPopup: false, // 支付确认弹窗
+        serviceList: serviceList, // 服务列表
+        // 优惠券列表
+        couponList: [
             {
             {
                 type: 1,
                 type: 1,
-                amount:1000,
-                condition1:'满5000可用',
-                condition2:'全商城商品通用',
+                amount: 1000,
+                condition1: '满5000可用',
+                condition2: '全商城商品通用',
                 received: false,
                 received: false,
             },
             },
             {
             {
                 type: 2,
                 type: 2,
-                amount:1000,
-                condition1:'满5000可用',
-                condition2:'全商城商品通用',
+                amount: 1000,
+                condition1: '满5000可用',
+                condition2: '全商城商品通用',
                 received: false,
                 received: false,
             },
             },
             {
             {
                 type: 2,
                 type: 2,
-                amount:1000,
-                condition1:'满5000可用',
-                condition2:'全商城商品通用',
+                amount: 1000,
+                condition1: '满5000可用',
+                condition2: '全商城商品通用',
                 received: false,
                 received: false,
             },
             },
             {
             {
                 type: 2,
                 type: 2,
-                amount:1000,
-                condition1:'满5000可用',
-                condition2:'全商城商品通用',
+                amount: 1000,
+                condition1: '满5000可用',
+                condition2: '全商城商品通用',
                 received: true,
                 received: true,
             }
             }
-        ]
-    }
+        ],
+        comboCurrent: 0,  // 当前选择的套餐
+        comboInfo: [] // svip套餐信息
+    },
+    methods: {}
 });
 });

+ 82 - 5
src/main/resources/static/js/user-center/member/memberProduct.js

@@ -2,15 +2,17 @@ var memberProduct = new Vue({
     el: '#memberProduct',
     el: '#memberProduct',
     data: {
     data: {
         listQuery: {
         listQuery: {
-            keyword: '', //查询关键词
-            productType: 0, //商品类型 0 全部 1 仪器 2 产品
+            userId: GLOBAL_USER_ID,
+            source: 1,
             pageNum: 1,
             pageNum: 1,
-            pageSize: 10
+            pageSize: 18
         },
         },
-        hasMore: true,
+        hasNextPage: true,
         totalPage: 10,
         totalPage: 10,
         jumpPageSize: 1,
         jumpPageSize: 1,
         total: 10,
         total: 10,
+        productList: [],
+        bannerImage: '',
     },
     },
     computed: {
     computed: {
         pagination: function () {
         pagination: function () {
@@ -30,7 +32,80 @@ var memberProduct = new Vue({
             return [1, 0, index - 2, index - 1, index, index + 1, index + 2, 0, this.totalPage];
             return [1, 0, index - 2, index - 1, index, index + 1, index + 2, 0, this.totalPage];
         }
         }
     },
     },
+    mounted: function () {
+        this.getSvipProductList();
+        this.$nextTick(function () {
+            setTimeout(function () {
+                $("img[data-original]").lazyload();
+            });
+        });
+        this.makePrice()
+    },
     methods: {
     methods: {
+        // 获取商品列表
+        getSvipProductList() {
+            var _self = this;
+            ProductApi.GetSvipProductList(this.listQuery, function (res) {
+                if (res.code) return;
+                var resutlData = res.data;
+                _self.listQuery.pageNum = resutlData.svipProductPage.pageNum;
+                _self.listQuery.pageSize = resutlData.svipProductPage.pageSize;
+                _self.totalPage = resutlData.svipProductPage.totalPage;
+                _self.hasNextPage = resutlData.svipProductPage.hasNextPage;
+                _self.bannerImage = resutlData.adsImage;
+                if (isPC){
+                    _self.productList = resutlData.svipProductPage.results;
+                }else {
+                    _self.productList = _self.productList.concat(resutlData.svipProductPage.results);
+                }
+            })
+        },
+        makePrice(product) {
+            if (!product) return;
+            // 普通商品
+            var priceFlag = parseInt(product.priceFlag);  //商品可见度 0公开价格 1不公开价格 2仅对会员机构公开
+            var userIdentity = parseInt(product.userIdentity);  //用户身份 0、个人  1、协销 2、资质机构 3、供应商 4,个人机构
+            var shopID = parseInt(product.shopID); // 所属供应商id
+            var originalPrice = parseInt(product.originalPrice).toFixed(2);  //商品原价
+            var price = parseInt(product.price).toFixed(2); // 商品价格
+            var priceGrade = parseInt(product.priceGrade); // 价格等级
+
+            // 二手商品价格标识 2 :价格详聊
+            var detailTalkFlag = parseInt(detailTalkFlag);
+
+            // 标签
+            var promotions = product.promotions; // 促销标签内容
+            var svipProductFlag = product.svipProductFlag; // SVIP标识 1 是 2 不是
+            var isSvip = true;
+
+            if (product.productCategory == 1) {
+                // 登录后查看
+                if (!GLOBAL_USER_ID) {
+                    return '¥登录后查看'
+                }
+                if (priceFlag === 1) {
+                    return '¥价格未公开'
+                }
+                if (priceFlag === 2 && GLOBAL_USER_IDENTITY !== 2) {
+                    return '¥会员可见'
+                }
+                // 价格可见
+                if ((priceFlag === 0 && userIdentity !== 3) || (GLOBAL_USER_IDENTITY === 2) || (userIdentity === 3 && GLOBAL_SHOP_ID === shopID)) {
+                    if (promotions || (svipProductFlag === 1 && GLOBAL_VIP_FLAG === 1)) {
+                        // return '<span>¥</span><span class=\"p-icon i'+ priceGrade + '\"></span>'
+                        return '<del>¥' + originalPrice + '</del>'
+                    }
+                    return '¥' + price;
+                }
+                return '<span>¥</span><span class=\"p-icon i' + priceGrade + '\"></span>'
+            } else {
+                // 二手商品
+                if (detailTalkFlag === 2) {
+                    return '¥价格详聊'
+                }
+                return '¥' + price;
+            }
+        },
         //页码跳转
         //页码跳转
         toPagination: function (pageNum) {
         toPagination: function (pageNum) {
             if (pageNum > this.totalPage || pageNum <= 0) {
             if (pageNum > this.totalPage || pageNum <= 0) {
@@ -40,6 +115,8 @@ var memberProduct = new Vue({
             // this.getList(); //获取列表
             // this.getList(); //获取列表
         },
         },
         //h5查看更多
         //h5查看更多
-        showMore(){}
+        showMore() {
+
+        }
     }
     }
 });
 });

+ 2 - 1
src/main/resources/static/js/user-center/member/memberRecord.js

@@ -40,6 +40,7 @@ var memberRecord = new Vue({
             // this.getList(); //获取列表
             // this.getList(); //获取列表
         },
         },
         //h5查看更多
         //h5查看更多
-        showMore(){}
+        showMore() {
+        }
     }
     }
 });
 });

+ 2 - 2
src/main/resources/templates/index.html

@@ -169,9 +169,9 @@
                                                         <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                                         <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                                         <template v-if="pros.product.svipProductFlag === 1">
                                                         <template v-if="pros.product.svipProductFlag === 1">
                                                             <div class="svip-tag">
                                                             <div class="svip-tag">
-                                                                <div class="svip-icon btr">SVIP</div>
+                                                                <div class="svip-icon" :class="{ btr: pros.product.priceFlag != 1 && pros.product.userIdentity === 2 }">SVIP</div>
                                                                 <!-- 公开价格 && (个人机构 || 资质机构) && 开通SVIP 可查看价格-->
                                                                 <!-- 公开价格 && (个人机构 || 资质机构) && 开通SVIP 可查看价格-->
-                                                                <template v-if="pros.product.priceFlag != 1 && [2, 4].includes(pros.product.userIdentity) && true">
+                                                                <template v-if="pros.product.priceFlag != 1 && (pros.product.userIdentity === 4 && GLOBAL_VIP_FLAG === 1) || pros.product.userIdentity === 2">
                                                                     <div class="svip-price">
                                                                     <div class="svip-price">
                                                                         <span v-html="pros.product.svipPriceTag"></span>
                                                                         <span v-html="pros.product.svipPriceTag"></span>
                                                                     </div>
                                                                     </div>

+ 4 - 4
src/main/resources/templates/product/detail.html

@@ -72,7 +72,7 @@
                             <em v-if="priceObj.priceFlag==1" v-text="'¥价格未公开'"></em>
                             <em v-if="priceObj.priceFlag==1" v-text="'¥价格未公开'"></em>
                             <!--SVIP时的划线价格-->
                             <!--SVIP时的划线价格-->
                             <!--满足条件:公开价格 && (个人机构 || 资质机构) && 开通SVIP && SVIP优惠商品-->
                             <!--满足条件:公开价格 && (个人机构 || 资质机构) && 开通SVIP && SVIP优惠商品-->
-                            <em v-else-if="priceObj.priceFlag != 1 && priceObj.svipProductFlag == 1 && [2, 4].includes(priceObj.userIdentity)">
+                            <em v-else-if="priceObj.priceFlag != 1 && GLOBAL_VIP_FLAG === 1">
                                 <del v-text="'¥'+parseFloat(priceObj.originalPrice).toFixed(2)"></del>
                                 <del v-text="'¥'+parseFloat(priceObj.originalPrice).toFixed(2)"></del>
                             </em>
                             </em>
                             <!--仅会员可见 -->
                             <!--仅会员可见 -->
@@ -89,8 +89,8 @@
                             <!--SVIP会员标签-->
                             <!--SVIP会员标签-->
                             <div class="svip-tag" v-if="priceObj.svipProductFlag == 1">
                             <div class="svip-tag" v-if="priceObj.svipProductFlag == 1">
                                 <div class="svip-icon">SVIP</div>
                                 <div class="svip-icon">SVIP</div>
-                                <!-- 公开价格 && (个人机构 || 资质机构) && 开通SVIP 可查看价格-->
-                                <div class="svip-price" v-if="priceObj.priceFlag != 1 && [2, 4].includes(priceObj.userIdentity) && true">
+                                <!-- !价格未公开 && ((个人机构 + SVIP) || 资质机构 ) 可查看价格 -->
+                                <div class="svip-price" v-if="priceObj.priceFlag != 1 && (priceObj.userIdentity === 4 && GLOBAL_VIP_FLAG === 1) || priceObj.userIdentity === 2">
                                     <span v-html="priceObj.svipPriceTag"></span>
                                     <span v-html="priceObj.svipPriceTag"></span>
                                 </div>
                                 </div>
                             </div>
                             </div>
@@ -99,7 +99,7 @@
                         <template v-else>
                         <template v-else>
                             <em>¥<i th:attr="class=${'icon mIcon i'+product.priceGrade}"></i></em>
                             <em>¥<i th:attr="class=${'icon mIcon i'+product.priceGrade}"></i></em>
                             <!--SVIP会员标签 有svip会员价-->
                             <!--SVIP会员标签 有svip会员价-->
-                            <div class="svip-tag" v-if="true">
+                            <div class="svip-tag" v-if="priceObj.svipProductFlag == 1">
                                 <div class="svip-icon">SVIP</div>
                                 <div class="svip-icon">SVIP</div>
                             </div>
                             </div>
                         </template>
                         </template>

+ 6 - 6
src/main/resources/templates/product/instruelist.html

@@ -117,7 +117,7 @@
                                             <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                             <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                             <template v-if="p.svipProductFlag === 1">
                                             <template v-if="p.svipProductFlag === 1">
                                                 <div class="svip-tag">
                                                 <div class="svip-tag">
-                                                    <div class="svip-icon btr">SVIP</div>
+                                                    <div class="svip-icon">SVIP</div>
                                                 </div>
                                                 </div>
                                             </template>
                                             </template>
                                             <template v-else>
                                             <template v-else>
@@ -133,9 +133,9 @@
                                                 <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                                 <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                                 <template v-if="p.svipProductFlag === 1">
                                                 <template v-if="p.svipProductFlag === 1">
                                                     <div class="svip-tag">
                                                     <div class="svip-tag">
-                                                        <div class="svip-icon btr">SVIP</div>
-                                                        <!-- 公开价格 && (个人机构 || 资质机构) && 开通SVIP 可查看价格-->
-                                                        <template v-if="p.priceFlag != 1 && [2, 4].includes(p.userIdentity) && true">
+                                                        <div class="svip-icon" :class="{ btr: p.priceFlag != 1 && p.userIdentity === 2 }">SVIP</div>
+                                                        <!-- !价格未公开 && ((个人机构 + SVIP) || 资质机构 ) 可查看价格 -->
+                                                        <template v-if="p.priceFlag != 1 && (p.userIdentity === 4 && GLOBAL_VIP_FLAG === 1) || p.userIdentity === 2">
                                                             <div class="svip-price">
                                                             <div class="svip-price">
                                                                 <span v-html="p.svipPriceTag"></span>
                                                                 <span v-html="p.svipPriceTag"></span>
                                                             </div>
                                                             </div>
@@ -160,7 +160,7 @@
                                                 <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                                 <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                                 <template v-if="p.svipProductFlag === 1">
                                                 <template v-if="p.svipProductFlag === 1">
                                                     <div class="svip-tag">
                                                     <div class="svip-tag">
-                                                        <div class="svip-icon btr">SVIP</div>
+                                                        <div class="svip-icon">SVIP</div>
                                                     </div>
                                                     </div>
                                                 </template>
                                                 </template>
                                                 <template v-else>
                                                 <template v-else>
@@ -175,7 +175,7 @@
                                             <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                             <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                             <template v-if="p.svipProductFlag === 1">
                                             <template v-if="p.svipProductFlag === 1">
                                                 <div class="svip-tag">
                                                 <div class="svip-tag">
-                                                    <div class="svip-icon btr">SVIP</div>
+                                                    <div class="svip-icon">SVIP</div>
                                                 </div>
                                                 </div>
                                             </template>
                                             </template>
                                             <template v-else>
                                             <template v-else>

+ 4 - 4
src/main/resources/templates/product/instrument.html

@@ -122,9 +122,9 @@
                                                     <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                                     <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                                     <template v-if="pros.product.svipProductFlag === 1">
                                                     <template v-if="pros.product.svipProductFlag === 1">
                                                         <div class="svip-tag">
                                                         <div class="svip-tag">
-                                                            <div class="svip-icon btr">SVIP</div>
-                                                            <!-- 公开价格 && (个人机构 || 资质机构) && 开通SVIP 可查看价格-->
-                                                            <template v-if="pros.product.priceFlag != 1 && [2, 4].includes(pros.product.userIdentity) && true">
+                                                            <div class="svip-icon" :class="{ btr: pros.priceFlag != 1 && pros.userIdentity === 2 }">SVIP</div>
+                                                            <!-- !价格未公开 && ((个人机构 + SVIP) || 资质机构 ) 可查看价格 -->
+                                                            <template v-if="pros.priceFlag != 1 && (pros.userIdentity === 4 && GLOBAL_VIP_FLAG === 1) || pros.userIdentity === 2">
                                                                 <div class="svip-price">
                                                                 <div class="svip-price">
                                                                     <span v-html="pros.product.svipPriceTag"></span>
                                                                     <span v-html="pros.product.svipPriceTag"></span>
                                                                 </div>
                                                                 </div>
@@ -260,7 +260,7 @@
                                                                 <p class="couponTag" th:if="*{couponsLogo}">优惠券</p>
                                                                 <p class="couponTag" th:if="*{couponsLogo}">优惠券</p>
                                                                 <!--超级会员价格标签-->
                                                                 <!--超级会员价格标签-->
                                                                 <div class="svip-tag" th:if="*{svipProductFlag}==1">
                                                                 <div class="svip-tag" th:if="*{svipProductFlag}==1">
-                                                                    <div class="svip-icon btr">SVIP</div>
+                                                                    <div class="svip-icon">SVIP</div>
                                                                 </div>
                                                                 </div>
                                                                 <p class="listTag" th:if="*{actStatus}==1 and ${pros.get('product').get('promotions')}!=null">
                                                                 <p class="listTag" th:if="*{actStatus}==1 and ${pros.get('product').get('promotions')}!=null">
                                                                     <template th:text="*{promotions.name}"></template>
                                                                     <template th:text="*{promotions.name}"></template>

+ 4 - 4
src/main/resources/templates/product/list.html

@@ -122,7 +122,7 @@
                                     <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                     <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                     <template v-if="p.svipProductFlag === 1">
                                     <template v-if="p.svipProductFlag === 1">
                                         <div class="svip-tag">
                                         <div class="svip-tag">
-                                            <div class="svip-icon btr">SVIP</div>
+                                            <div class="svip-icon">SVIP</div>
                                         </div>
                                         </div>
                                     </template>
                                     </template>
                                     <template v-else>
                                     <template v-else>
@@ -138,9 +138,9 @@
                                         <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                         <!--超级会员价格标签 svipProductFlag 1:超级会员优惠商品 0 不是商超级会员优惠商品-->
                                         <template v-if="p.svipProductFlag === 1">
                                         <template v-if="p.svipProductFlag === 1">
                                             <div class="svip-tag">
                                             <div class="svip-tag">
-                                                <div class="svip-icon btr">SVIP</div>
-                                                <!-- 公开价格 && (个人机构 || 资质机构) && 开通SVIP 可查看价格-->
-                                                <template v-if="p.priceFlag != 1 && [2, 4].includes(p.userIdentity) && true">
+                                                <div class="svip-icon" :class="{ btr: p.priceFlag != 1 && p.userIdentity === 2 }">SVIP</div>
+                                                <!-- !价格未公开 && ((个人机构 + SVIP) || 资质机构 ) 可查看价格 -->
+                                                <template v-if="(p.userIdentity === 4 && GLOBAL_VIP_FLAG === 1) || p.userIdentity === 2">
                                                     <div class="svip-price">
                                                     <div class="svip-price">
                                                         <span v-html="p.svipPriceTag"></span>
                                                         <span v-html="p.svipPriceTag"></span>
                                                     </div>
                                                     </div>

+ 2 - 2
src/main/resources/templates/shopping/cart.html

@@ -95,7 +95,7 @@
                     </div>
                     </div>
                     <div class="c4">
                     <div class="c4">
                         <div class="price">
                         <div class="price">
-                            <template v-if="true || (cart.actStatus==1 && cart.promotions && cart.promotions.type==1 && cart.promotions.mode==1)">
+                            <template v-if="GLOBAL_VIP_FLAG === 1 || (cart.actStatus==1 && cart.promotions && cart.promotions.type==1 && cart.promotions.mode==1)">
                                 <del v-text="'¥'+toFloat(cart.originalPrice)"></del>
                                 <del v-text="'¥'+toFloat(cart.originalPrice)"></del>
                             </template>
                             </template>
                             <template v-else>
                             <template v-else>
@@ -170,7 +170,7 @@
                 </div>
                 </div>
                 <div class="supplierBtn">
                 <div class="supplierBtn">
                     <span :class="supplier.reducedPrice>0?'priceTotal':'item'">合计:<em>¥{{ supplier.totalPrice | NumFormat}}</em>
                     <span :class="supplier.reducedPrice>0?'priceTotal':'item'">合计:<em>¥{{ supplier.totalPrice | NumFormat}}</em>
-                        <span v-if="supplier.reducedPrice>0" class="dl"><del>¥{{ supplier.originalPrice | NumFormat}}</del><em>减¥{{supplier.reducedPrice | NumFormat}}</em></span>
+                        <span v-if="supplier.reducedPrice>0 || supplier.svipReducedPrice > 0" class="dl"><del>¥{{ supplier.originalPrice | NumFormat}}</del><em>减¥{{supplier.reducedPrice | NumFormat}}</em></span>
                     </span>
                     </span>
                 </div>
                 </div>
             </div>
             </div>

+ 2 - 1
src/main/resources/templates/shopping/confirm.html

@@ -147,7 +147,8 @@
                     <div class="c4">
                     <div class="c4">
                         <div class="price">
                         <div class="price">
                             <template v-if="cart.svipProductFlag == 1">
                             <template v-if="cart.svipProductFlag == 1">
-                                <del v-text="'¥'+toFloat(cart.originalPrice)"></del>
+                                <del v-text="'¥'+toFloat(cart.originalPrice)" v-if="GLOBAL_VIP_FLAG === 1"></del>
+                                <span v-text="'¥'+toFloat(cart.originalPrice)" v-else></span>
                                 <div class="priceTag">
                                 <div class="priceTag">
                                     <!--超级会员价格标签-->
                                     <!--超级会员价格标签-->
                                     <div class="svip-tag">
                                     <div class="svip-tag">

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

@@ -36,10 +36,9 @@
                         <div class="account">
                         <div class="account">
                             <div class="name user-info">
                             <div class="name user-info">
                                 <span class="username">{{userInfo.name}}</span>
                                 <span class="username">{{userInfo.name}}</span>
-                                <span class="agency vip">个人机构</span>
-                                <span class="agency svip">资质机构</span>
-                                <span class="vip-icon vip">VIP</span>
-                                <span class="vip-icon svip">SVIP</span>
+                                <!-- 机构类型 -->
+                                <span class="agency" :class="[userIdentityTag.type]" v-html="userIdentityTag.name"></span>
+                                <span class="vip-icon" :class="[userIdentityTag.type]" v-html="userIdentityTag.type.toUpperCase()"></span>
                                 <!-- 升级 -->
                                 <!-- 升级 -->
                                 <a class="update" href="/user/setting/upgrade.html" v-if="userInfo.userIdentity === 4" onclick="_czc.push(['_trackEvent','个人中心','升级入口','点击','','Um_Event_ClubUpgrade'])">
                                 <a class="update" href="/user/setting/upgrade.html" v-if="userInfo.userIdentity === 4" onclick="_czc.push(['_trackEvent','个人中心','升级入口','点击','','Um_Event_ClubUpgrade'])">
                                     去升级资质机构
                                     去升级资质机构
@@ -59,11 +58,11 @@
                     <div class="svip-content clear">
                     <div class="svip-content clear">
                         <div class="title order">超级会员</div>
                         <div class="title order">超级会员</div>
                         <div class="section">
                         <div class="section">
-                            <div v-if="true">开通采美超级会员,享专属特权</div>
-                            <div v-if="false"><span>已开通采美超级会员</span><span class="time">有效期至2021.10.01</span></div>
-                            <div v-if="false"><span class="error">采美超级会员已过期</span><span class="time">有效期至2021.10.01</span></div>
-                            <a v-if="true" href="/user/member.html" class="btn">立即开通</a>
-                            <a v-else href="/user/member.html" class="link">进入会员中心&gt;</a>
+                            <div v-html="svipTips"></div>
+                            <a v-if="true" href="/user/member.html" :class="vipInfo.vipFlag === 0 ? 'btn' : 'link'">
+                                <span v-if="vipInfo.vipFlag === 0">立即开通</span>
+                                <span v-else>进入会员中心&gt;</span>
+                            </a>
                         </div>
                         </div>
                     </div>
                     </div>
                     <div class="user-content clear">
                     <div class="user-content clear">
@@ -223,6 +222,7 @@
 <!-- 引入底部 -->
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
 <template th:replace="components/foot-link"></template>
+<script charset="utf-8" type="text/javascript" th:src="@{/lib/datapicker/moment-2.29.min.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/user.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/user.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/user-center/dashboard.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/user-center/dashboard.js(v=${version})}"></script>

+ 20 - 16
src/main/resources/templates/user-center/member/member-product.html

@@ -13,24 +13,26 @@
 <template th:replace="components/header"></template>
 <template th:replace="components/header"></template>
 <div id="memberProduct" v-cloak>
 <div id="memberProduct" v-cloak>
     <div class="banner-box">
     <div class="banner-box">
-        <img src="https://static.caimei365.com/app/img/svip/test-banner.png"/>
+        <img :src="bannerImage"/>
     </div>
     </div>
     <div class="container goods-list">
     <div class="container goods-list">
-        <div class="goods" v-for="i in 16">
-            <a href="">
-                <img src="/img/base/placeholder.png"/>
-                <div class="goods-title cm-text-ellipsis-2">华熙生物润百颜液体华熙生物润百颜</div>
+        <div class="goods" v-for="(product, index) in productList" :key="index">
+            <a :href="'/product-' + product.productId + '.html'">
+                <img src="/img/base/placeholder.png" :data-original="product.image"/>
+                <div class="goods-title cm-text-ellipsis-2" v-html="product.name"></div>
                 <div class="goods-tag">
                 <div class="goods-tag">
-                    <span class="tag styl1">优惠券</span>
-                    <span class="tag styl2">单品满赠</span>
-                </div>
-                <!--价格区域-->
-                <div class="svip-tag">
-                    <div class="svip-icon btr">SVIP</div>
-                    <div class="svip-price">
-                        <span>¥</span><span>9999999.00</span>
+                    <span class="tag styl1" v-if="true">优惠券</span>
+                    <div class="svip-tag">
+                        <div class="svip-icon " :class="{ btr: product.priceFlag != 1 && product.userIdentity === 2 }">SVIP</div>
+                        <!-- 公开价格 && (个人机构 || 资质机构) && 开通SVIP 可查看价格-->
+                        <template v-if="product.priceFlag != 1 && (product.userIdentity === 4 && GLOBAL_VIP_FLAG === 1) || product.userIdentity === 2">
+                            <div class="svip-price">
+                                <span v-html="product.svipPriceTag"></span>
+                            </div>
+                        </template>
                     </div>
                     </div>
                 </div>
                 </div>
+                <div class="goods-price" v-html="makePrice(product)"></div>
             </a>
             </a>
         </div>
         </div>
     </div>
     </div>
@@ -39,7 +41,8 @@
         <a v-if="listQuery.pageNum>1" class="prev" @click="toPagination(listQuery.pageNum*1-1)"
         <a v-if="listQuery.pageNum>1" class="prev" @click="toPagination(listQuery.pageNum*1-1)"
            href="javascript:void(0);"></a>
            href="javascript:void(0);"></a>
         <template v-for="n in pagination">
         <template v-for="n in pagination">
-            <a v-if="n" :class="{'on':(n==listQuery.pageNum)}" @click="toPagination(n)" href="javascript:void(0);">{{n}}</a>
+            <a v-if="n" :class="{'on':(n==listQuery.pageNum)}" @click="toPagination(n)"
+               href="javascript:void(0);">{{n}}</a>
             <span v-else>···</span>
             <span v-else>···</span>
         </template>
         </template>
         <a v-if="listQuery.pageNum < total" class="next" @click="toPagination(listQuery.pageNum*1+1)"
         <a v-if="listQuery.pageNum < total" class="next" @click="toPagination(listQuery.pageNum*1+1)"
@@ -51,7 +54,7 @@
         <a class="btn" href="javascript:void(0);" @click="toPagination(jumpPageSize)">点击跳转</a>
         <a class="btn" href="javascript:void(0);" @click="toPagination(jumpPageSize)">点击跳转</a>
     </div>
     </div>
     <!-- h5查看更多 -->
     <!-- h5查看更多 -->
-    <div class="show-more" v-if="!isPC && hasMore">
+    <div class="show-more" v-if="!isPC && hasNextPage">
         <div class="more-btn" @click="showMore()">查看更多</div>
         <div class="more-btn" @click="showMore()">查看更多</div>
     </div>
     </div>
 </div>
 </div>
@@ -60,7 +63,8 @@
 <template th:replace="components/footer"></template>
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
 <template th:replace="components/foot-link"></template>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
-<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/user.service.js(v=${version})}"></script>
+<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"
 <script charset="utf-8" type="text/javascript"
         th:src="@{/js/user-center/member/memberProduct.js(v=${version})}"></script>
         th:src="@{/js/user-center/member/memberProduct.js(v=${version})}"></script>
 </body>
 </body>

+ 4 - 5
src/main/resources/templates/user-center/member/member.html

@@ -117,7 +117,7 @@
                                         <!-- 正常商品 -->
                                         <!-- 正常商品 -->
                                         <template v-if="pros.product.productCategory == 1">
                                         <template v-if="pros.product.productCategory == 1">
                                             <div class="price_text_tag">
                                             <div class="price_text_tag">
-                                                <!--                                                        <p class="couponTag" v-if="pros.product.couponsLogo">优惠券</p>-->
+                                                <!-- <p class="couponTag" v-if="pros.product.couponsLogo">优惠券</p>-->
                                                 <p class="listTag"
                                                 <p class="listTag"
                                                    v-if="pros.product.actStatus ==1 && pros.product.promotions">
                                                    v-if="pros.product.actStatus ==1 && pros.product.promotions">
                                                     <span v-text="pros.product.promotions.name"></span>
                                                     <span v-text="pros.product.promotions.name"></span>
@@ -193,9 +193,9 @@
         </div>
         </div>
     </div>
     </div>
     <!--遮罩-->
     <!--遮罩-->
-    <div class="mask" v-if="false"></div>
+    <div class="mask" v-if="showMask"></div>
     <!--续费弹窗-->
     <!--续费弹窗-->
-    <div class="renew-popup" v-if="false">
+    <div class="renew-popup" v-if="showRenewPopup">
         <div class="popup-title">超级会员套餐<span class="close">&times;</span></div>
         <div class="popup-title">超级会员套餐<span class="close">&times;</span></div>
         <div class="content combo-list">
         <div class="content combo-list">
             <div>
             <div>
@@ -213,7 +213,7 @@
         </div>
         </div>
     </div>
     </div>
     <!--立即支付弹窗-->
     <!--立即支付弹窗-->
-    <div class="payment-confirm-popup" v-if="false">
+    <div class="payment-confirm-popup" v-if="showConfirmPopup">
         <div class="popup-title">请在您新打开的页面上完成付款!<span class="close">&times;</span></div>
         <div class="popup-title">请在您新打开的页面上完成付款!<span class="close">&times;</span></div>
         <div class="content">完成付款后请点击下面的按钮</div>
         <div class="content">完成付款后请点击下面的按钮</div>
         <div class="popup-btn"><a href="" class="confirm-btn">已完成支付</a></div>
         <div class="popup-btn"><a href="" class="confirm-btn">已完成支付</a></div>
@@ -221,7 +221,6 @@
 
 
 </div>
 </div>
 
 
-
 <!-- 引入底部 -->
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
 <template th:replace="components/foot-link"></template>

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

@@ -110,14 +110,14 @@
                                                     <p class="col" v-if="pros.productCategory != 2">规格:<span class="none">{{pros.productUnit ? pros.productUnit : ''}}</span> </p>
                                                     <p class="col" v-if="pros.productCategory != 2">规格:<span class="none">{{pros.productUnit ? pros.productUnit : ''}}</span> </p>
                                                     <p class="col">数量:<span class="none">{{pros.num}}</span> </p>
                                                     <p class="col">数量:<span class="none">{{pros.num}}</span> </p>
                                                     <div class="col">
                                                     <div class="col">
-                                                        <template v-if="true">
+                                                        <template v-if="pros.svipProductFlag === 1">
                                                             <span>单价: </span>
                                                             <span>单价: </span>
                                                             <span class="none"><del>¥{{pros.price | NumFormat}}</del></span>
                                                             <span class="none"><del>¥{{pros.price | NumFormat}}</del></span>
                                                             <!--超级会员价格标签-->
                                                             <!--超级会员价格标签-->
-                                                            <div class="svip-tag">
-                                                                <div class="svip-icon btr">SVIP</div>
-                                                                <div class="svip-price">
-                                                                    <span>¥</span><span>9999999.00</span>
+                                                            <div class="svip-tag" >
+                                                                <div class="svip-icon" :class="{ btr: pros.priceFlag != 1 && pros.userIdentity === 2 }">SVIP</div>
+                                                                <div class="svip-price" v-if="pros.priceFlag != 1 && ((pros.userIdentity === 4 && GLOBAL_VIP_FLAG === 1) || pros.userIdentity === 2)">
+                                                                    <span>¥</span><span v-html="pros.price"></span>
                                                                 </div>
                                                                 </div>
                                                             </div>
                                                             </div>
                                                         </template>
                                                         </template>