Procházet zdrojové kódy

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

chao před 4 roky
rodič
revize
28f4730f2a
28 změnil soubory, kde provedl 158 přidání a 120 odebrání
  1. 1 1
      src/main/resources/config/dev/application-dev.yml
  2. 2 2
      src/main/resources/mapper/ArticleMapper.xml
  3. 1 0
      src/main/resources/mapper/ProductMapper.xml
  4. 8 9
      src/main/resources/static/css/article/article.css
  5. 4 3
      src/main/resources/static/css/flea-market/secondDetail.css
  6. 2 1
      src/main/resources/static/css/pay/caimei-paycash.css
  7. 7 0
      src/main/resources/static/css/product/detail.h5.css
  8. 8 2
      src/main/resources/static/css/product/detail.pc.css
  9. 6 3
      src/main/resources/static/css/supplier-center/order/logistics.css
  10. 3 0
      src/main/resources/static/img/base/icon-none.svg
  11. binární
      src/main/resources/static/img/base/icon.png
  12. binární
      src/main/resources/static/img/base/icon_m.png
  13. 0 27
      src/main/resources/static/js/account/register-club.js
  14. 3 3
      src/main/resources/static/js/article/detail.js
  15. 6 0
      src/main/resources/static/js/common/serviceapi/pay.service.js
  16. 13 0
      src/main/resources/static/js/common/serviceapi/product.service.js
  17. 2 8
      src/main/resources/static/js/common/serviceapi/user.service.js
  18. 17 0
      src/main/resources/static/js/pay/caimei-paycash.js
  19. 35 6
      src/main/resources/static/js/product/detail.js
  20. 1 1
      src/main/resources/static/js/shopping/confirm.js
  21. 0 24
      src/main/resources/templates/account/register-club.html
  22. 1 1
      src/main/resources/templates/article/detail.html
  23. 3 1
      src/main/resources/templates/flea-market/detail.html
  24. 20 13
      src/main/resources/templates/product/detail.html
  25. 1 1
      src/main/resources/templates/shopping/confirm.html
  26. 6 6
      src/main/resources/templates/supplier-center/order/logistics.html
  27. 2 2
      src/main/resources/templates/supplier-center/shop/release.html
  28. 6 6
      src/main/resources/templates/user-center/dashboard.html

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

@@ -53,7 +53,7 @@ logging:
 # 服务域名
 caimei:
   siteEnv: 0 #网站环境,(2:正式环境,1:测试环境,0:开发环境)
-  spiServer: http://192.168.2.75:8008
+  spiServer: https://spi-b.caimei365.com
   imageDomain: https://img-b.caimei365.com
   wwwDomain: https://www-b.caimei365.com
 

+ 2 - 2
src/main/resources/mapper/ArticleMapper.xml

@@ -42,7 +42,7 @@
 			a.title as title,
 			a.guidanceImage as image,
 			a.publisher as publisher,
-			a.pubdate as publish_date,
+			a.pubdate as publishDate,
 			a.recommendContent as intro,
 			a.infoContent as content,
 			(IFNULL(c.pv, 0) + IFNULL(a.basePv, 0) + IFNULL((c.num + a.basePraise), 0)) as pv,
@@ -101,7 +101,7 @@
 		  a.title AS title,
 		  a.guidanceImage AS image,
 		  a.publisher AS publisher,
-		  a.pubdate AS publish_date,
+		  a.pubdate AS publishDate,
 		  a.recommendContent AS intro,
 		  a.infoContent AS content,
 		  (

+ 1 - 0
src/main/resources/mapper/ProductMapper.xml

@@ -54,6 +54,7 @@
         left join province as pr on ci.provinceID = pr.provinceID
 
 		where p.productID = #{productId}
+		and p.validFlag in (2,3)
 	</select>
 	<select id="getProductRecommendsById" resultType="com.caimei.www.pojo.page.ProductList">
         select

+ 8 - 9
src/main/resources/static/css/article/article.css

@@ -163,12 +163,11 @@ dl,dd,dt{zoom:1}
 	.article .new-mian img{max-width:100%;display:inline-block;display:block;margin:0 auto;height:auto !important}
 	.article p{font-size:16px;line-height:30px;color:#777;margin-bottom:15px}
 	.dianzan{width:auto;text-align:center}
-	.article .like{cursor:pointer;display:inline-block;height:60px;line-height:60px;margin:30px auto;border:1px solid #eee;color:#777;border-radius:5px;padding:0 20px}
-	.article .like:before{width:50px;height:50px;background-position:-320px -60px;vertical-align:middle;margin-right:5px}
+	.article .like{color: #e15616; cursor: pointer;display: inline-block;height: 80px;width: 80px;line-height: 110px;margin: 30px auto;border-radius: 50%;background: #fef6f3;text-align: center;position: relative}
+	.article .like:before{width: 45px;height: 45px;background-position: 5px -539px;vertical-align: middle;border-radius: 50%;position: absolute;left: 17px}
 	.like.hasDian{color:#e15616}
-	.dea-tag a{display:inline-block;color:#fff;height:32px;line-height:32px;padding:0 12px;background:#e15616;text-align:center;border-radius:4px;margin-right:15px;cursor:pointer}
-
-
+	.dea-tag a{display:inline-block;color:#fff;height:32px;line-height:32px;padding:0 12px;background:#e15616;text-align:center;border-radius:4px;margin-right:15px;cursor:pointer;margin-bottom: 10px}
+	.article .like:hover{background: #ffe6dc}
 
 }
 @media screen and (max-width:768px){.header .logo,.header .home{display:none}
@@ -239,9 +238,9 @@ dl,dd,dt{zoom:1}
 	.article .join img{width:126px;height:126px;margin:20px auto;margin-right:15px}
 	.article .join img:last-child{margin-right:0}
 	.dea-tag a{display:inline-block;font-size:3.4vw;color:#fff;height:8vw;line-height:8vw;padding:0 3vw;background:#e15616;text-align:center;border-radius:2px;margin:3vw 3vw 0 0;cursor:pointer}
-	.article .like{display:block;width:35vw;height:12vw;line-height:12vw;margin:5vw auto;border:1px solid #eee;color:#777;padding:0 6vw;border-radius:5px;background:#f7f7f7}
-	.article .like:before{height:10vw;width:10vw;background-position:-75.3vw -38.6vw;vertical-align:middle;margin-right:1vw}
+	/*.article .like{display:block;width:35vw;height:12vw;line-height:12vw;margin:5vw auto;border:1px solid #eee;color:#777;padding:0 6vw;border-radius:5px;background:#f7f7f7}*/
+	/*.article .like:before{height:10vw;width:10vw;background-position:-75.3vw -38.6vw;vertical-align:middle;margin-right:1vw}*/
 	.classify{height:10vw;line-height:10vw;border-left:solid 4px #e15616;font-size:3.7vw;color:#333;padding:0 3vw;background:#fff}
-
-
+	.article .like{color: #e15616;cursor: pointer;display: block;height: 18.4vw;width: 18.4vw;line-height: 27.4vw;margin: 5vw auto;border-radius: 50%;background: #fef6f3;text-align: center;position: relative}
+	.article .like:before{ width: 8vw;height: 8vw;background-position: -14vw -78.4vw;vertical-align: middle;border-radius: 50%;position: absolute;top: 3.2vw}
 }

+ 4 - 3
src/main/resources/static/css/flea-market/secondDetail.css

@@ -21,7 +21,7 @@
     .preview-header .preview-banner {width: 452px;height: 545px;float: left;position: relative;}
     .preview-header .preview-info {width: 685px;float: right;opacity: 0;}
     .preview-header .preview-info.active {opacity: 1;}
-    .preview-header .preview-banner-big {width: 452px;height: 452px;float: left;}
+    .preview-header .preview-banner-big {width: 452px;height: 452px;float: left;border: 1px solid #e4e4e4;}
     .preview-header .preview-banner-big .preview-img {width: 100%;height: 100%;display: block;}
     .preview-header .preview-banner-big span {display: none;position: absolute;left: 0;top: 0;width: 215px;height: 215px;border: 1px solid #aaa;background: rgba(255, 208, 22, 0.4);opacity: .5;filter: alpha(opacity:50);cursor: move;}
     .preview-header .preview-banner-small {width: 100%;height: 98px;padding: 10px;float: left;}
@@ -31,7 +31,7 @@
     .preview-header .preview-banner-small .item.item-cur {border-color: #e15616;}
     .preview-header .preview-banner-small .item.item-cur img {opacity: 1;}
     .preview-header .preview-box {display: none;overflow: hidden;position: absolute;right: -555px;top: 0;width: 548px;height: 548px;border: 1px solid #e4e4e4;z-index: 9999;background: #FFFFFF;}
-    .preview-header .preview-box img {width: 1096px;height: 1096px;margin-right: 10px;display: block;}
+    .preview-header .preview-box img {width: 1096px;height: 1096px;margin-right: 10px;display: block;max-width:none;}
     .preview-info .preview-info-title {width: 100%;height: auto;float: left;position: relative;}
     .preview-info .preview-info-title .info-p {height: auto;float: left;}
     .preview-info .preview-info-title .info-p.classly {font-size: 14px;color: #999;}
@@ -48,7 +48,8 @@
     .recommended-item img {width: 100%;height: 100%;}
     .recommended-item p {color: #666666;}
     .main {width: 1184px;margin: 20px auto 0;}
-    .title {line-height: 40px;padding-left: 10px;margin: 0 auto;font-size: 16px;color: #333333;border-bottom: 1px solid #E15616;font-weight: bold;}
+    .title{ height: 40px;line-height: 40px;border-bottom: 1px solid #ffe6dc;font-size: 16px;color: #333333;background-color: #ffffff;}
+    .title .li{display: inline-block;box-sizing: border-box;min-width: 130px;text-align: center;height: 100%;padding: 0 32px;text-align: center;background: #ffe6dc;color: #e15616;font-weight: bold;}
     .mainContent {width: 100%;font-size: 0;}
     .mainContentLeft {width: 100%;display: inline-block;background-color: #fff;vertical-align: top;}
     .Disclaimer {padding: 20px 10px;background-color: #fff;}

+ 2 - 1
src/main/resources/static/css/pay/caimei-paycash.css

@@ -99,6 +99,7 @@ input::-webkit-outer-spin-button {
     .pay-button-main .pay-button a{width: 232px;height: 50px;display: block;background:linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);border-radius: 2px;font-size: 14px;line-height: 50px;text-align: center;color: #FFF6D9;float: right;}
     .pay-button-main .pay-button a.disabled{background: #EFEFEF;color:#999999;}
     .footTop{margin-top: 0;}
+    .jconfirm .jconfirm-box div.jconfirm-closeIcon{display: none !important;}
 }
 
 
@@ -152,5 +153,5 @@ input::-webkit-outer-spin-button {
     .payment-transfer .copy{display:inline-block;height:6.4vw;line-height:6.4vw;padding:0 3vw;background-image:linear-gradient(214deg,#ff2929 0%,#ff6d1b 100%);border-radius:2px;color:#FFF;margin-left:2vw}
     .pay-button a{display:block;width:93.4vw;height:11.2vw;line-height:11.2vw;font-size:3.7vw;text-align:center;border-radius:2px;border:1px solid #e15616;margin:0 auto 2.6vw auto;color:#FFF;background:#e15616}
     .pay-alert-content{display: none;}
-
+    .jconfirm .jconfirm-box div.jconfirm-closeIcon{display: none !important;}
 }

+ 7 - 0
src/main/resources/static/css/product/detail.h5.css

@@ -14,6 +14,11 @@ 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 .none-details{opacity: 0;box-sizing:border-box;padding:7vw;font-size:3.4vw;color:#9aa5b5;margin:10px 0;position:relative;min-height: 33.2vw;}
+.productBox .detailBox .none-details .none-image{width: 38.6vw;height: 30.5vw;display: block;margin: 0 auto;}
+.productBox .detailBox .none-details .none-text{width: 100%;height: 4vw;line-height: 4vw;text-align: center;color: #ffb496;font-size: 3.4vw;margin-top: 2vw;}
+.productBox .detailBox .none-details.show{opacity: 1;}
+
 .productBox .detailBox .row{position:relative;}
 .priceTag {position: absolute;left: 20vw;}
 .productBox .detailBox .row>i{font-style:normal;margin-right:2vw}
@@ -65,6 +70,8 @@ li{list-style:none}
 .productInfo .tabCon td{padding:1.5vw;line-height:5vw}
 .productInfo .tabCon td:nth-of-type(1){width:20%;color:#93979F}
 .productInfo .tabCon td:nth-of-type(2){width:80%;color:#4A4F58}
+.tabCon .item div p{line-height: 6vw;text-align: left;font-size:3.3vw}
+.tabCon .item div p.tl{line-height:8vw;text-align: left; font-weight: bold;}
 .productInfo .comment{color:#93979F;padding:5vw 0;    margin-right: 25px;position: relative}
 .productBox .detailBox .row .l{display: inline-block;min-width: 14.5vw;text-align-last: justify;vertical-align: top}
 .icon.comment:before{

+ 8 - 2
src/main/resources/static/css/product/detail.pc.css

@@ -24,6 +24,10 @@ li{list-style:none;}
 .productBox .detailBox .tags{padding:2px 0}
 .productBox .detailBox .tags span{display:inline-block;line-height:16px;padding: 3px 6px;font-size:12px;color: #9aa5b5;border-radius:2px;margin-right:10px;border: 1px solid #e2e7ef;}
 .productBox .detailBox .detail{box-sizing:border-box;padding:14px 20px;font-size:14px;color:#9aa5b5;background:#f3f7fe;border-radius:2px;margin:10px 0;position:relative;}
+.productBox .detailBox .none-details{opacity: 0;box-sizing:border-box;padding:70px 20px;font-size:14px;color:#9aa5b5;margin:10px 0;position:relative;min-height: 332px;}
+.productBox .detailBox .none-details .none-image{width: 179px;height: 141px;display: block;margin: 0 auto;}
+.productBox .detailBox .none-details .none-text{width: 100%;height: 40px;line-height: 40px;text-align: center;color: #ffb496;font-size: 16px;}
+.productBox .detailBox .none-details.show{opacity: 1;}
 .productBox .detailBox .detail hr{border:none;border-top:1px dashed #E2E7EF;margin:12px 0}
 .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;}
@@ -74,12 +78,12 @@ li{list-style:none;}
 #productRecommend .swiper-pagination span:before{content:"";display:inline-block;width:100%;height:4px;background:#E15616;border-radius:2px}
 #productRecommend .swiper-pagination span.on{width:28px;opacity:1;}
 
-.wrap>.productInfo{float:left;box-sizing:border-box;padding:0 16px;width:884px;background:#FFF;}
+.wrap>.productInfo{float:left;box-sizing:border-box;padding:0 0;width:884px;background:#FFF;min-height: 487px}
 .productInfo .tabTit{height:40px;line-height:40px;border-bottom:1px solid #ffe6dc;font-size:16px;color:#333333}
 .productInfo .tabTit span{display:inline-block;box-sizing:border-box;min-width:130px;text-align:center;height:100%;padding:0 32px;cursor:pointer}
 .productInfo .tabTit span:hover{color:#E15621}
 .productInfo .tabTit span.on,.productInfo .tabTit span.on:hover{background:#ffe6dc;color:#e15616;font-weight: bold;}
-.productInfo .tabCon{padding:16px 0;text-align:center}
+.productInfo .tabCon{padding:16px;text-align:center}
 .productInfo .tabCon img{max-width:100%;}
 .productInfo .tabCon table{width:100%;text-align:left}
 .productInfo .tabCon td{padding:10px 12px;line-height:20px}
@@ -130,3 +134,5 @@ input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appear
 .pingjia{margin-top:25px;text-align:left}
 .pingjia button{width:128px;height:40px;background-color:#4a4f58;box-shadow:0px 3px 6px 0px rgba(147,151,159,0.17);border-radius:2px;color:#ffe6dc;cursor: pointer}
 .comment-right{float:right;color:#93979f}
+.tabCon .item div p{line-height: 26px;text-align: left;}
+.tabCon .item div p.tl{line-height: 40px;text-align: left; font-weight: bold;}

+ 6 - 3
src/main/resources/static/css/supplier-center/order/logistics.css

@@ -51,7 +51,8 @@
     .defineBtn{overflow: hidden;padding: 20px;}
     .defineBtn>div{float: right;}
     .icon.add-company:before{width: 20px;height: 25px;background-position: -307px -511px}
-     .icon.sub-company:before{width: 20px;height: 25px;background-position: -337px -511px}
+    .icon.sub-company:before{width: 20px;height: 25px;background-position: -337px -511px}
+
 }
 
 /*移动*/
@@ -87,7 +88,8 @@
     input::placeholder,textarea::placeholder {color: #9aa5b5;font-size:3.2vw;}
     textarea::placeholder {color: #9aa5b5;}
     .red{color: #f94b4b;}
-    .companyBtn{width: 11.8vw;height: 11.8vw;background-color: #ffffff;border-radius: .53vw;border: solid .27vw #b8bfca;margin-left: .53vw;cursor: pointer;font-size: 4.8vw;color: #b8bfca;}
+    .companyBtn{width: 11.8vw;height: 11.8vw;background-color: #ffffff;border-radius: .53vw;border: solid .27vw #b8bfca;
+    margin-left: .53vw;cursor: pointer;color: #b8bfca;position: relative;top:1.3vw}
     .mIcon.add{background: url(/img/account/add.png) no-repeat;height: 23vw;display: block;    background-size: 23vw;}
     .upload-file{position: relative;float: left;margin: 0 2.7vw 2.7vw 0px;cursor: pointer;width: 23vw;height: 23vw;border-radius: .53vw;}
     .input-file{width: 23vw;height:23vw;opacity: 0;cursor: pointer;position: absolute;top: 0;}
@@ -107,5 +109,6 @@
     .defineBtn button{width: 100%;height: 11.2vw;line-height: 11.2vw;text-align: center;color: #fff;background-color: #e15616;border-radius: .53vw;border: solid .27vw #e15616;cursor: pointer;margin-bottom: 2.7vw}
     .defineBtn button:nth-child(2){background:#ffe6dc;color: #e15616 }
     .defineBtn{overflow: hidden;margin-top: 4vw}
-
+    .mIcon.add-company:before{width: 5.3vw;height: 6.7vw;background-position: -33.9vw -68.8vw}
+    .mIcon.sub-company:before{width: 5.3vw;height:6.7vw;background-position: -41.3vw -68vw}
 }

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 3 - 0
src/main/resources/static/img/base/icon-none.svg


binární
src/main/resources/static/img/base/icon.png


binární
src/main/resources/static/img/base/icon_m.png


+ 0 - 27
src/main/resources/static/js/account/register-club.js

@@ -4,7 +4,6 @@ var registerPage = new Vue({
         loginLoading: false,
         showTabContentIndex:1,
         showSupplierConfirm:true,
-        advisoryStatus: false,
         showClass:'',
         mobilCount:0,
         mobileCodeText:'获取验证码',
@@ -14,10 +13,6 @@ var registerPage = new Vue({
         codeImagePath:'https://dss2.bdstatic.com/8_V1bjqh_Q23odCf/pacific/1819816496.jpg',
         codeImageToken:'',
         imageCode:'',
-        advisory:{
-            name: '',
-            phone: ''
-        },
         clubUser: {
             name:'',
             phone:'',
@@ -294,28 +289,6 @@ var registerPage = new Vue({
             var el = event.currentTarget;
             verifyHandle(el);
         },
-        postAdvisory: function(){//机构入驻咨询提交
-            var _self = this;
-            $('.advisoryInfo').find("[needverify]:visible").each(function (index, ele) {
-                if (!$(ele).siblings('.checked').hasClass("show")) {
-                    verifyHandle(ele);
-                }
-            });
-            var pass = ($('.errTips.show:visible').length === 0);
-            if (_self.advisoryStatus) { return false; }
-            this.$nextTick(function(){
-                if (!pass) { return false; }
-                _self.advisoryStatus = true;
-                UserApi.quickConsultation({name: _self.advisory.name,mobile: _self.advisory.phone},function (response) {
-                    _self.advisoryStatus = false;
-                    if(response.code === 0){
-                        CAIMEI.Alert('您的信息已提交成功,采美工作人员会第一时间联系您','确定',false);
-                    } else {
-                        CAIMEI.Alert(response.msg,'确定',false);
-                    }
-                });
-            });
-        },
         uploadBusinessLicenseImageFn: function(event){//上传营业执照
             var _this = this;
             var inputDOM = _this.$refs.businessLicenseImage;

+ 3 - 3
src/main/resources/static/js/article/detail.js

@@ -2,15 +2,15 @@
     //点赞
     $("body").on("click", ".dianzan .like", function(){
         if($(this).hasClass("hasDian")){
-            alertInfo("您已经给该信息点过赞!");
+            CAIMEI.Alert("您已经给该信息点过赞!",'确定');
         }else{
             var infoId = $(this).attr("data-id");
             $.get("/article/like", {id: infoId}, function(res){
                 if(res.code === 0){
                     console.log("点赞成功!");
-                    $(".like").text("赞" + (parseInt($(".like").attr("data-count"))+1)).addClass("hasDian");
+                    $(".like").text( parseInt($(".like").attr("data-count"))+1).addClass("hasDian");
                 } else {
-                    alertInfo(res.msg);
+                    CAIMEI.Alert(res.msg,'确定');
                 }
             });
         }

+ 6 - 0
src/main/resources/static/js/common/serviceapi/pay.service.js

@@ -4,6 +4,12 @@
  * auther ZHJY
  */
 var PayApi = {
+        PayOrderOnLineSwitch: function (params, callback) {//网银支付链接初始化数据
+            Http.AjaxService({ url:'/PayOrder/onLineSwitch', type:'GET', data:params, json:true})
+                .then(function(res){
+                    callback(res);
+                });
+        },
         PayOrderCheckoutCounter: function (params, callback) {//网银支付链接初始化数据
             Http.AjaxService({ url:'/PayOrder/checkoutCounter', type:'GET', data:params, json:true})
                 .then(function(res){

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

@@ -0,0 +1,13 @@
+/* HTTP API 商品相关业务
+ * Copyright 2020, CAIMEI365
+ * Date   2020/07/16
+ * auther xw
+ */
+var ProductApi = {
+        GetProductDdtails: function (params, callback) {//获取商品详情
+            Http.AjaxService({ url:'/product/details', type:'get', data:params, json:true})
+            .then(function(res){
+                callback(res);
+            });
+        }
+};

+ 2 - 8
src/main/resources/static/js/common/serviceapi/user.service.js

@@ -124,19 +124,13 @@ var UserApi = {
                 callback(res);
             });
         },
-        quickConsultation : function(params,callback) {//入驻咨询
-            Http.AjaxService({ url:'/club/advisory', type:'post', data:params, json:false})
-            .then(function(res){
-                callback(res)
-            });
-        },
-        BindOrganization : function(params,callback) { //扫码微信绑定机构
+        BindOrganization : function(params,callback) {//扫码微信绑定机构
             Http.AjaxService({ url:'/user/bindOrganization', type:'post', data:params, json:false})
             .then(function(res){
                 callback(res)
             });
         },
-       Maintenance : function(params,callback) { //扫码微信绑定机构
+       Maintenance : function(params,callback) {//扫码微信绑定机构
             Http.AjaxService({ url:'/pcCenter/applyMaintenance', type:'post', data:params, json:false})
             .then(function(res){
                 callback(res)

+ 17 - 0
src/main/resources/static/js/pay/caimei-paycash.js

@@ -55,6 +55,7 @@ var payContainer = new Vue({
         bankTabIndex:0,
         isRequest:false,
         isPayAlert:false,
+        isPaySwitch:false,
         paySuccessCounter:'',
         bankPayLink_url:'',
         orderIdentificationId:'',//订单标识
@@ -111,6 +112,22 @@ var payContainer = new Vue({
                         _self.isReceiptStatus = true;
                     }
                     _self.isRequest = true;
+                    _self.PayOrderOnLineSwitch();
+                }else{
+                    CAIMEI.Alert(response.msg,'确定',false);
+                }
+            })
+        },
+        PayOrderOnLineSwitch:function(){//获取是否可以先上支付
+            var _self = this;
+            PayApi.PayOrderOnLineSwitch({},function(response){
+                if(response.code == 0){
+                    if(response.data === 0){
+                        _self.isPaySwitch = true;
+                        CAIMEI.Alert('线上支付功能正在维护中,请前往订单详情页面查看线下转账方式后进行付款','确定',true,function(){
+                            window.location.href='/user/order/detail.html?orderId='+_self.payInfo.PAY_ORDERID;
+                        });
+                    }
                 }else{
                     CAIMEI.Alert(response.msg,'确定',false);
                 }

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

@@ -26,7 +26,10 @@ var productDetail = new Vue({
         recommendType: 0,//相关推荐类型 0自动选择; 1手动推荐
         recommendPage: 1,
         recommends: [],
-        parameters: []
+        parameters: [],
+        tabsIndex:0,
+        disabledText:'',
+        isNoneDisabled:false
     },
     computed: {},
     methods: {
@@ -63,6 +66,27 @@ var productDetail = new Vue({
                 }
             });
         },
+        getProductDetails:function(){
+            var _self = this;
+            ProductApi.GetProductDdtails({userId:GLOBAL_USER_ID,productID:_self.productId},function (response) {
+                if(response.code == 0){
+                    var product = response.data;
+                    if(product.validFlag =='3' || product.stock == 0 ){
+                        _self.isNoneDisabled = true;
+                    }else{
+                        _self.isNoneDisabled = false;
+                    }
+                    if(product.validFlag =='3'){
+                        _self.disabledText = '下架'
+                    }
+                    if(product.stock == 0){
+                        _self.disabledText = '售罄'
+                    }
+                }else{
+                    CAIMEI.Alert(response.msg, '确定', false);
+                }
+            })
+        },
         getProductPrice:function(){
             var _self = this;
             if(_self.productId ===0){return;}
@@ -210,6 +234,10 @@ var productDetail = new Vue({
                     }
                 }
             });
+        },
+        detailsClicktab:function(index){
+            var _self = this;
+            _self.tabsIndex = index;
         }
     },
     created: function () {
@@ -219,13 +247,14 @@ var productDetail = new Vue({
     },
     mounted: function () {
         this.userId = GLOBAL_USER_ID;
+        this.getProductDetails();
         this.getProductPrice();
         this.getParameters();
         this.getRecommends();
-        $('.productInfo').slide({
-            mainCell:".tabCon"
-            ,titCell:".tabTit span"
-            ,trigger: "click"
-        });
+        // $('.productInfo').slide({
+        //     mainCell:".tabCon"
+        //     ,titCell:".tabTit span"
+        //     ,trigger: "click"
+        // });
     }
 });

+ 1 - 1
src/main/resources/static/js/shopping/confirm.js

@@ -132,7 +132,7 @@ var shoppingConfirm = new Vue({
                     _self.payInfo.freight = (r.data.freePostFlag===1 ? r.data.freight : 0);
                     _self.payInfo.orderShouldPayFee = _self.totalPrice + _self.payInfo.freight;
                 }else{
-                    CAIMEI.Alert(response.msg, '确定', false);
+                    CAIMEI.Alert(r.msg, '确定', false);
                 }
             })
         },

+ 0 - 24
src/main/resources/templates/account/register-club.html

@@ -15,30 +15,6 @@
 <div id="registerPage">
     <div class="signAccount clear" v-show="showTabContentIndex == 1">
         <div class="title">欢迎机构入驻</div>
-        <div class="advisory" >
-            <span v-if="isPC" class="icon">入驻咨询</span>
-            <div v-else class="duv" @click="showVadvisory"><span class="mIcon" ></span><span>入驻咨询</span> </div>
-            <div class="mask" :class="showClass" @click="closeVadvisory"></div>
-            <div class="advisoryInfo" :class="showClass">
-                <div class="info">若暂不方便入驻机构或无法入驻,您可以留下您的姓名和联系方式,采美工作人员会第一时间联系您。</div>
-                <div v-if="!isPC" class="icon-close" @click="closeVadvisory"></div>
-                <form>
-                    <div class="formLine">
-                        <p><em>*</em>姓名:</p>
-                        <input type="text" v-model.trim="advisory.name" placeholder="请输入您的姓名" :rule="rule.name" maxlength="6" @blur="blurHandle($event)" unselectable="on" needverify>
-                        <i class="checked icon mIcon"></i>
-                        <span class="errTips icon mIcon" tips="请输入正确的联系人姓名"></span>
-                    </div>
-                    <div class="formLine">
-                        <p><em>*</em>手机号:</p>
-                        <input type="text" v-model.trim="advisory.phone" placeholder="请输入您的常用手机号" :rule="rule.phone" maxlength="11" @blur="blurHandle($event)" needverify>
-                        <i class="checked icon mIcon"></i>
-                        <span class="errTips icon mIcon" tips="请输入有效电话号码"></span>
-                    </div>
-                    <button class="btn" type="button" @click="postAdvisory()">提交</button>
-                </form>
-            </div>
-        </div>
         <div class="registerClub">
             <!--机构注册表单-->
             <form>

+ 1 - 1
src/main/resources/templates/article/detail.html

@@ -30,7 +30,7 @@
             </p>
             <div class="new-mian" id="contentDiv" th:utext="*{content}"></div>
             <div class="dianzan">
-                <span class="like icon mIcon" th:attr="data-count=*{likes}, data-id=*{id}" th:text="'赞'+*{likes}"></span>
+                <span class="like icon mIcon" th:attr="data-count=*{likes}, data-id=*{id}" th:text="*{likes}"></span>
             </div>
             <p class="dea-tag">
                 <span th:each="label,labelStat:*{labels}" th:if="${not #strings.isEmpty(label)}">

+ 3 - 1
src/main/resources/templates/flea-market/detail.html

@@ -144,7 +144,9 @@
             </div>
         </div>
      <div class="main">
-        <div class="title">商品详情</div>
+        <div class="title">
+            <div class="li">商品详情</div>
+        </div>
         <div class="mainContent">
             <div class="mainContentLeft">
                 <div class="Disclaimer">

+ 20 - 13
src/main/resources/templates/product/detail.html

@@ -49,7 +49,7 @@
                 <p class="tags">
                     <span th:each="tag: *{tagList}" th:text="${tag}"></span>
                 </p>
-                <div class="detail">
+                <div class="detail" v-if="!isNoneDisabled">
                     <div class="row price"><span class="l">采美价</span><i>:</i>
                         <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
                             <!--用户身份 0、个人 1、协销 2、会员机构 3、供应商 4,普通机构-->
@@ -154,18 +154,22 @@
                         <em class="ser icon mIcon">正品保证</em>
                     </div>
                 </div>
+                <div v-else class="none-details" :class="isNoneDisabled ? 'show':''">
+                    <img class="none-image" src="/img/base/icon-none.svg" alt="">
+                    <p class="none-text">此商品已{{disabledText}},请浏览以下推荐商品~</p>
+                </div>
                 <template v-if="GLOBAL_USER_ID && GLOBAL_USER_ID>0">
                     <div  class="btnBox" v-if="priceObj.priceFlag==2 && priceObj.userIdentity==4">
                         <a class="upgrade" href="/user/setting/upgrade.html">升级会员查看价格</a>
                     </div>
                     <div class="btnBox" v-else-if="(priceObj.priceFlag==0 && priceObj.userIdentity!=3) || (priceObj.priceFlag==2 && priceObj.userIdentity==2)">
-                        <a href="javascript:void(0);" class="cart icon" @click='addShopCart()'>加入购物车</a>
-                        <a href="javascript:void(0);" class="buy" @click="buyNowSubmit()">立即购买</a>
+                        <a href="javascript:void(0);" class="cart icon" @click='addShopCart()' v-if="!isNoneDisabled">加入购物车</a>
+                        <a href="javascript:void(0);" class="buy" @click="buyNowSubmit()" v-if="!isNoneDisabled">立即购买</a>
                     </div>
                 </template>
                 <template v-else>
                     <div  class="btnBox">
-                        <a href="javascript:void(0);" class="upgrade" @click="toLogin">登录查看价格</a>
+                        <a href="javascript:void(0);" class="upgrade" @click="toLogin" v-if="!isNoneDisabled">登录查看价格</a>
                     </div>
                 </template>
             </div>
@@ -205,17 +209,16 @@
         </div>
         <div class="productInfo">
             <div class="tabTit">
-                <span class="on">产品介绍</span>
-                <span th:if="not${#arrays.isEmpty(parameters)}">相关参数</span>
-                <span th:if="not${#strings.isEmpty(product.serviceInfo)}" >服务项目</span>
-<!--                <span>评价</span>-->
+                <span :class="tabsIndex == 0 ? 'on' : ''" @click="detailsClicktab(0)">商品详情</span>
+                <span :class="tabsIndex == 1 ? 'on' : ''"v-if="parameters.length>0" @click="detailsClicktab(1)">相关参数</span>
+                <span :class="tabsIndex == 2 ? 'on' : ''" th:if="not${#strings.isEmpty(product.serviceInfo)}" @click="detailsClicktab(2)">服务项目</span>
+<!--            <span>评价</span>-->
             </div>
             <div class="tabCon">
-                <div class="item">
+                <div class="item" v-if="tabsIndex == 0">
                     <div th:utext="${product.detailInfo}"></div>
-                    <div th:utext="${product.orderInfo}"></div>
                 </div>
-                <div class="item" v-if="parameters.length>0">
+                <div class="item" v-if="tabsIndex == 1">
                     <table>
                         <tr v-for="pa in parameters">
                             <td v-text="pa.name"></td>
@@ -223,8 +226,11 @@
                         </tr>
                     </table>
                 </div>
-                <div class="item">
-                    <div class="item" th:utext="${product.serviceInfo}"></div>
+                <div class="item" v-if="tabsIndex == 2">
+                    <div><p class="tl">订购方案:</p></div>
+                    <div th:utext="${product.orderInfo}"></div>
+                    <div><p class="tl">服务详情:</p></div>
+                    <div th:utext="${product.serviceInfo}"></div>
                 </div>
 <!--                <div class="item">-->
 <!--                <div style="text-align: left;margin: 10px 0">-->
@@ -276,6 +282,7 @@
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
 <script charset="utf-8" type="text/javascript" src="/lib/magnifier.js"></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" th:src="@{/js/product/detail.js(v=${version})}"></script>
 </body>
 </html>

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

@@ -353,4 +353,4 @@
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/order.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/shopping/confirm.js(v=${version})}"></script>
 </body>
-</html>
+</html>

+ 6 - 6
src/main/resources/templates/supplier-center/order/logistics.html

@@ -68,7 +68,7 @@
                     <div class="add-wrap">
                         <div class="company-number" v-for="(item,index) in logisticList" :key="index">
                             <div class="logist-left">
-                                <i class="red icon">*</i>
+                                <span class="red icon">*</span>
                                 物流公司:
                                 <select name="" :id="'logistics'+ index" class="logistics-company-name company"
                                         @change="ChangeLogistics($event,item,index)">
@@ -77,19 +77,19 @@
                                             :name='kd.label'>{{kd.label}}
                                     </option>
                                 </select>
-                                <button class="add-company companyBtn icon" @click="addBtn()" v-if="index==0"></button>
-                                <button class="sub-company companyBtn icon" @click="subBtn(item)" v-else></button>
+                                <button class="add-company companyBtn icon mIcon" @click="addBtn()" v-if="index==0"></button>
+                                <button class="sub-company companyBtn icon mIcon" @click="subBtn(item)" v-else></button>
                             </div>
                             <div class="logist-right">
                                 <div v-for="(num,numIndex) in item.numList" :key="numIndex">
-                                    <i class="red">*</i>
+                                    <span class="red">*</span>
                                     物流编号:
                                     <input type="text" v-model="num.number" class="logistics-order-number company"
                                            oninput="value=value.replace(/[^\d]/g,'')" placeholder="请输入物流编号">
-                                    <button class="add-company companyBtn icon" @click="addNum(item,numIndex)"
+                                    <button class="add-company companyBtn icon mIcon" @click="addNum(item,numIndex)"
                                             v-if="numIndex==0">
                                     </button>
-                                    <button class="sub-company companyBtn icon" v-else @click="reduceBtn(item)"></button>
+                                    <button class="sub-company companyBtn icon mIcon" v-else @click="reduceBtn(item)"></button>
                                 </div>
                             </div>
                         </div>

+ 2 - 2
src/main/resources/templates/supplier-center/shop/release.html

@@ -253,11 +253,11 @@
                                     <div class="release-props" >
                                         <label class="release-radio">
                                             <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="1" @click="radioChangeInvoiceType">
-                                            <i class="icon mIcon">开增值税发票</i>
+                                            <i class="icon mIcon">开增值税专用发票</i>
                                         </label>
                                         <label class="release-radio">
                                             <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="2" checked @click="radioChangeInvoiceType">
-                                            <i class="icon mIcon">开普通发票</i>
+                                            <i class="icon mIcon">开增值税普通发票</i>
                                         </label>
                                         <label class="release-radio" v-show="releaseParams.includedTax == 0">
                                             <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="3" checked @click="radioChangeInvoiceType">

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

@@ -40,7 +40,7 @@
                         <div class="message">
                             <a href="/user/message/list.html">
                                 <i class="icon mIcon">
-                                    <span  v-if="unReadMessageCount>0" :class="[unReadMessageCount < 10 ? 'circular':'ellipse']">{{unReadMessageCount == 99 ? '99+' : unReadMessageCount}}</span>
+                                    <span  v-if="unReadMessageCount>0" :class="[unReadMessageCount < 10 ? 'circular':'ellipse']">{{unReadMessageCount >= 99 ? '99+' : unReadMessageCount}}</span>
                                 </i>
                             </a>
                         </div>
@@ -58,7 +58,7 @@
                                     <div class="item">
                                         <a href="javascript:void(0);" @click="orderListPath(1)">
                                             <i class="icon icon-1">
-                                                <span v-if="confirmedCount>0" :class="[confirmedCount < 10 ? 'circular':'ellipse']">{{confirmedCount == 99 ? '99+' : confirmedCount}}</span>
+                                                <span v-if="confirmedCount>0" :class="[confirmedCount < 10 ? 'circular':'ellipse']">{{confirmedCount >= 99 ? '99+' : confirmedCount}}</span>
                                             </i>
                                             <span class="p">待确认</span>
                                         </a>
@@ -66,7 +66,7 @@
                                     <div class="item">
                                         <a href="javascript:void(0);" @click="orderListPath(2)">
                                             <i class="icon icon-2">
-                                                <span v-if="paymentCount>0" :class="[paymentCount < 10 ? 'circular':'ellipse']">{{paymentCount == 99 ? '99+' : paymentCount}}</span>
+                                                <span v-if="paymentCount>0" :class="[paymentCount < 10 ? 'circular':'ellipse']">{{paymentCount >= 99 ? '99+' : paymentCount}}</span>
                                             </i>
                                             <span class="p">待付款</span>
                                         </a>
@@ -74,7 +74,7 @@
                                     <div class="item">
                                         <a href="javascript:void(0);" @click="orderListPath(3)">
                                             <i class="icon icon-3">
-                                                <span v-if="waitShipmentsCount>0" :class="[waitShipmentsCount < 10 ? 'circular':'ellipse']">{{waitShipmentsCount == 99 ? '99+' : waitShipmentsCount}}</span>
+                                                <span v-if="waitShipmentsCount>0" :class="[waitShipmentsCount < 10 ? 'circular':'ellipse']">{{waitShipmentsCount >= 99 ? '99+' : waitShipmentsCount}}</span>
                                             </i>
                                             <span class="p">待发货</span>
                                         </a>
@@ -82,7 +82,7 @@
                                     <div class="item">
                                         <a href="javascript:void(0);" @click="orderListPath(4)">
                                             <i class="icon icon-4">
-                                                <span v-if="shipmentsCount>0" :class="[shipmentsCount < 10 ? 'circular':'ellipse']">{{shipmentsCount == 99 ? '99+' : shipmentsCount}}</span>
+                                                <span v-if="shipmentsCount>0" :class="[shipmentsCount < 10 ? 'circular':'ellipse']">{{shipmentsCount >= 99 ? '99+' : shipmentsCount}}</span>
                                             </i>
                                             <span class="p">已发货</span>
                                         </a>
@@ -90,7 +90,7 @@
                                     <div class="item">
                                         <a href="javascript:void(0);" @click="orderListPath(5)">
                                             <i class="icon icon-5">
-                                                <span v-if="salesReturnCount>0" :class="[salesReturnCount < 10 ? 'circular':'ellipse']">{{salesReturnCount == 99 ? '99+' : salesReturnCount}}</span>
+                                                <span v-if="salesReturnCount>0" :class="[salesReturnCount < 10 ? 'circular':'ellipse']">{{salesReturnCount >= 99 ? '99+' : salesReturnCount}}</span>
                                             </i>
                                             <span class="p">退货/款</span>
                                         </a>

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů