zhengjinyi 4 年 前
コミット
a2ec9a30c6
27 ファイル変更99 行追加45 行削除
  1. 3 3
      src/main/resources/static/css/base/base.pc.css
  2. 2 0
      src/main/resources/static/css/shopping/shopping.css
  3. 2 2
      src/main/resources/static/css/user-center/repair/list.css
  4. 1 1
      src/main/resources/static/js/account/forget.js
  5. 2 2
      src/main/resources/static/js/account/register-club.js
  6. 1 1
      src/main/resources/static/js/account/register-supplier.js
  7. 23 0
      src/main/resources/static/js/base.js
  8. 7 7
      src/main/resources/static/js/common/serviceapi/pay.service.js
  9. 19 0
      src/main/resources/static/js/common/serviceapi/shopping.service.js
  10. 2 2
      src/main/resources/static/js/product/detail.js
  11. 2 2
      src/main/resources/static/js/shopping/confirm.js
  12. 1 1
      src/main/resources/static/js/user-center/operation/list.js
  13. 1 1
      src/main/resources/static/js/user-center/order/detail.js
  14. 0 1
      src/main/resources/static/js/user-center/order/list.js
  15. 3 0
      src/main/resources/static/js/user-center/repair/list.js
  16. 3 3
      src/main/resources/static/js/user-center/setting/password.js
  17. 2 2
      src/main/resources/templates/account/forget.html
  18. 4 1
      src/main/resources/templates/account/register-club.html
  19. 4 1
      src/main/resources/templates/account/register-supplier.html
  20. 1 0
      src/main/resources/templates/components/foot-link.html
  21. 5 4
      src/main/resources/templates/components/header.html
  22. 1 1
      src/main/resources/templates/index.html
  23. 2 2
      src/main/resources/templates/product/list.html
  24. 1 1
      src/main/resources/templates/shopping/confirm.html
  25. 1 1
      src/main/resources/templates/supplier-center/shop/example.html
  26. 4 4
      src/main/resources/templates/supplier/index.html
  27. 2 2
      src/main/resources/templates/user-center/repair/list.html

+ 3 - 3
src/main/resources/static/css/base/base.pc.css

@@ -105,14 +105,14 @@ header{box-shadow: 0 2px 10px #ebecef;}
 .baseHeadCenter .cartData .empty a{color:#E15616;margin:0 5px;border-bottom:1px solid #e15616}
 .baseHeadCenter .cartData .empty img{display:block;margin:0 auto 28px auto;width:160px;height:136px}
 .baseHeadCenter .cartMain{max-height:424px;overflow:auto}
-.baseHeadCenter .cartItem{width:100%;height:106px;box-sizing:border-box;padding:10px 10px 10px 106px;position:relative}
+.baseHeadCenter .cartItem{width:100%;height:auto;box-sizing:border-box;padding:10px 10px 10px 106px;position:relative}
 .baseHeadCenter .cartItem img{position:absolute;left:10px;top:10px;width:86px;height:86px;box-shadow:0 0 2px #eee}
 .baseHeadCenter .cartItem span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:24px}
 .baseHeadCenter .cartItem span.unit{color:#93979F}
 .baseHeadCenter .cartItem span.price{color:#F94B4B;margin-top:14px}
-.baseHeadCenter .cartItem .delBtn{position:absolute;right:10px;bottom:0;width:30px;line-height:30px;text-align:center;font-size:0}
+.baseHeadCenter .cartItem .delBtn{position:absolute;right:10px;bottom:0;width:30px;line-height:30px;text-align:center;font-size:0;cursor: pointer;}
 .baseHeadCenter .cartItem .delBtn:before{content:'\2715';color:#93979F;font-size:14px}
-.baseHeadCenter .cartBtm{border-top:1px solid #EBECEF;box-sizing:border-box;height:60px;line-height:24px;padding:6px 10px;position:relative}
+.baseHeadCenter .cartBtm{border-top:1px solid #EBECEF;box-sizing:border-box;height:60px;line-height:24px;padding:6px 10px;position:relative;}
 .baseHeadCenter .cartBtm .btn{position:absolute;right:10px;top:10px;height:40px;line-height:40px;border-radius:2px;padding:0 20px;background:#E15616;color:#FFF;font-size:14px}
 .baseHeadCenter .cartBtm .btn:hover{opacity:.8}
 .baseHeadCenter .cartBtm>span{display:block}

+ 2 - 0
src/main/resources/static/css/shopping/shopping.css

@@ -113,6 +113,7 @@ li{list-style:none}
     .addressWrap .btnBox .group .btn{display:block;width:128px;height:34px;line-height:34px;margin:0 auto;text-align:center;font-size:14px;color:#1890f9;border:1px solid #FFFFFF}
     .addressWrap .btnBox .group .btn.con{background-color:#FFE6DC;color:#E15616;border-color:#E15616}
     .addressWrap .btnBox .group .btn.save{background-color:#E15616;color:#FFF;border-color:#E15616}
+    .addressWrap .btnBox .group .btn.save.disable{background: #EFEFEF;color:#999999;border-color:#EFEFEF;}
     .addressWrap .formLine{padding-bottom:16px;font-size:14px;position:relative;padding-left:90px;text-align:left;width:526px}
     .addressWrap .formLine .label{position:absolute;left:0;top:0;width:90px;text-align:right;line-height:36px;font-size:14px}
     .addressWrap .formLine .checked{top:8px}
@@ -262,6 +263,7 @@ li{list-style:none}
     .addressWrap .formWrap .form .group .check input{vertical-align:top;margin-right:2vw}
     .addressWrap .formWrap .form .group .btn{display:inline-block;width:40vw;height:11vw;line-height:11vw;text-align:center;font-size:3.4vw;color:#e15616;border:1px solid #e15616;background:#FFE6DC}
     .addressWrap .formWrap .form .group .btn.save{background-color:#E15616;color:#FFF;border-color:#E15616}
+    .addressWrap .formWrap .form .group .btn.save.disable{background: #EFEFEF;color:#999999;border-color:#EFEFEF;}
     .model-address-content .content{max-height:80vh;box-sizing:border-box;overflow:hidden;overflow-y:auto}
     .model-address-content .content .list .seclet{width:6vw;height:6vw;position:absolute;bottom:0;right:0;opacity:0}
     .model-address-content .content .list .seclet .mIcon{width:6vw;height:6vw;display:block}

+ 2 - 2
src/main/resources/static/css/user-center/repair/list.css

@@ -11,11 +11,11 @@ li{list-style:none}
     .order-header .header-bt {width: 100%;height: 38px;float: left;}
     .order-header .header-bt .header-search{width: 828px;height: 38px;float: left;}
     .order-header .header-bt .search{height: 38px;float: left;}
-    .order-header .header-bt .search .label{display: inline-block;float: left;width: 60px;height: 38px;line-height:38px;font-size: 12px;color: #627386;}
+    .order-header .header-bt .search .label{display: inline-block;float: left;height: 38px;line-height:38px;font-size: 12px;color: #627386;}
     .order-header .header-bt .search .search-input{width: 210px;box-sizing: border-box;padding: 0 10px;font-size: 12px;line-height: 36px;border: 1px solid #b8bfca;border-radius: 2px; }
     .order-header .header-bt .search .select{width:114px;height:38px;box-sizing: border-box;padding: 0 10px;font-size: 12px;line-height: 38px;border: none;border-radius: 2px;border: 1px solid #b8bfca;color: #627386;}
     .order-header .header-bt .search-time{float: left;margin:0 15px;}
-    .order-header .header-bt .search-time .label{display: inline-block;float: left;width: 60px;height: 38px;line-height:38px;font-size: 12px;color: #627386;}
+    .order-header .header-bt .search-time .label{display: inline-block;float: left;height: 38px;line-height:38px;font-size: 12px;color: #627386;}
     .order-header .header-bt .search-time .search-main{float: left;height: 38px;}
     .order-header .header-bt .search-time .search-main .line{line-height:38px;font-size: 12px;color: #627386;margin: 0 5px;display: inline-block;float: left;}
     .order-header .header-bt .search-time .search-main .search-input{width:130px;box-sizing: border-box;padding-right: 16px;float: left;border: 1px solid #b8bfca;position: relative;}

+ 1 - 1
src/main/resources/static/js/account/forget.js

@@ -38,7 +38,7 @@ var registerPage = new Vue({
             emailCode: '^\\d{4}$',
             license: '^[a-zA-Z0-9_]{18}$',
             email: '^(([^<>()\\[\\]\\\\.,;:\\s@&quot;]+(\\.[^<>()\\[\\]\\\\.,;:\\s@&quot;]+)*)|(&quot;.+&quot;))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$',
-            password: "^[^\\u4e00-\\u9fa5]{8,16}$"
+            password: "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"
         }
     },
     computed: {

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

@@ -79,7 +79,7 @@ var registerPage = new Vue({
             code: '^\\d{6}$',
             license: '^[a-zA-Z0-9_]{18}$',
             email: '^(([^<>()\\[\\]\\\\.,;:\\s@&quot;]+(\\.[^<>()\\[\\]\\\\.,;:\\s@&quot;]+)*)|(&quot;.+&quot;))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$',
-            password: "^[^\\u4e00-\\u9fa5]{8,16}$"
+            password: "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"
         }
     },
     computed: {
@@ -112,9 +112,9 @@ var registerPage = new Vue({
                 UserApi.ClubRegister(params,function (response) {
                     if(response.code === 0){
                         CAIMEI.dialog('注册成功!',true,function () {
+                            _self.clubLogin();
                             _self.showTabContentIndex = 2;
                             _self.loginLoading = false;
-                            _self.clubLogin();
                         });
                     } else {
                         CAIMEI.Alert(response.msg,'确定',false);

+ 1 - 1
src/main/resources/static/js/account/register-supplier.js

@@ -57,7 +57,7 @@ var registerPage = new Vue({
             code: '^\\d{6}$',
             license: '^[a-zA-Z0-9_]{18}$',
             email: '^(([^<>()\\[\\]\\\\.,;:\\s@&quot;]+(\\.[^<>()\\[\\]\\\\.,;:\\s@&quot;]+)*)|(&quot;.+&quot;))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$',
-            password: "^[^\\u4e00-\\u9fa5]{8,16}$"
+            password: "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"
         }
     },
     computed: {

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

@@ -70,6 +70,29 @@ var globalHead = new Vue({
                 }
             });
         },
+        goCartsLinkFn:function(){
+            var _self = this;
+            if(_self.loginStatus){
+                window.location.href='/shopping/cart.html';
+            }else{
+                window.location.href='/login.html';
+            }
+        },
+        productDetailsFn:function(id){  // 跳转详情
+            window.location.href='/product-'+id+'.html';
+        },
+        DeleteCartProducts:function(id){  // 删除购物车
+            console.log(id);
+            var _self = this;
+            ShoppingApi.DeleteCartProducts({userID: this.userData.userId, productIDs: id},function(response){
+                if(response.code === 0){
+                    console.log('2222222222222222')
+                    _self.getHeadCart(_self.userData.userId);
+                }else{
+                    CAIMEI.Alert(response.msg,'确定',false);
+                }
+            });
+        },
         pageLinkSupplier: function(){//预览商品
             window.open('/supplier/index.html?id='+this.shopId);
         },

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

@@ -5,43 +5,43 @@
  */
 var PayApi = {
         PayOrderCheckoutCounter: function (params, callback) {//网银支付链接初始化数据
-            Http.AjaxService({ url:'/PayOrder/checkoutCounter', type:'GET', data:params, json:true, mask:true,replace:false})
+            Http.AjaxService({ url:'/PayOrder/checkoutCounter', type:'GET', data:params, json:true})
                 .then(function(res){
                     callback(res);
                 });
         },
         PayOrderPcMallPay: function (params, callback) {//查询跳转网银页面
-            Http.AjaxService({ url:'/PayOrder/pcMallPay', type:'POST', data:params, json:false, mask:true,replace:false})
+            Http.AjaxService({ url:'/PayOrder/pcMallPay', type:'POST', data:params, json:false})
                 .then(function(res){
                     callback(res);
                 });
         },
         PayOrderMiniWxPay: function (params, callback) {//调起微信公众号支付
-            Http.AjaxService({ url:'/PayOrder/miniWxPay', type:'post', data:params, json:false, mask:false,replace:false})
+            Http.AjaxService({ url:'/PayOrder/miniWxPay', type:'post', data:params, json:false})
                 .then(function(res){
                     callback(res);
                 });
         },
         PayOrderPayWhetherSuccess: function (params, callback) {//查询微信是否已完成支付
-            Http.AjaxService({ url:'/PayOrder/payWhetherSuccess', type:'GET', data:params, json:true, mask:false,replace:false})
+            Http.AjaxService({ url:'/PayOrder/payWhetherSuccess', type:'GET', data:params, json:true})
                 .then(function(res){
                     callback(res);
                 });
         },
         PayOrderFindOrderStatus: function (params, callback) {//查询判断是否已完成支付
-            Http.AjaxService({ url:'/PayOrder/findOrderStatus', type:'GET', data:params, json:true, mask:false,replace:false})
+            Http.AjaxService({ url:'/PayOrder/findOrderStatus', type:'GET', data:params, json:true})
                 .then(function(res){
                     callback(res);
                 });
         },
         PayOrderPayLink: function (params, callback) {//查询判断是否已完成支付unpaidAmount 本次待付款金额 orderId  主订单ID
-            Http.AjaxService({ url:'/PayOrder/payLink', type:'POST', data:params, json:false, mask:true,replace:false})
+            Http.AjaxService({ url:'/PayOrder/payLink', type:'POST', data:params, json:false})
                 .then(function(res){
                     callback(res);
                 });
         },
         PayOrdersecondHandPay: function (params, callback) {//发布二手商品支付 本次待付款金额 productID  主订单ID
-            Http.AjaxService({ url:'/PayOrder/secondHandPay', type:'POST', data:params, json:false, mask:true,replace:false})
+            Http.AjaxService({ url:'/PayOrder/secondHandPay', type:'POST', data:params, json:false})
                 .then(function(res){
                     callback(res);
                 });

+ 19 - 0
src/main/resources/static/js/common/serviceapi/shopping.service.js

@@ -0,0 +1,19 @@
+/* HTTP API PC支付业务模块
+ * Copyright 2020, CAIMEI365
+ * Date   2020/07/14
+ * auther ZHJY
+ */
+var ShoppingApi = {
+        GetShoppingCartList: function (params, callback) {//网银支付链接初始化数据
+            Http.AjaxService({ url:'/shoppingCart/list', type:'GET', data:params, json:true})
+                .then(function(res){
+                    callback(res);
+                });
+        },
+        DeleteCartProducts: function (params, callback) {//查询跳转网银页面
+            Http.AjaxService({ url:'/shoppingCart/delete', type:'POST', data:params, json:false})
+                .then(function(res){
+                    callback(res);
+                });
+        }
+};

+ 2 - 2
src/main/resources/static/js/product/detail.js

@@ -92,7 +92,7 @@ var productDetail = new Vue({
             }).done(function (r) {
                 if (r.code === 0 && r.data) {
                     _self.ladderList =r.data;
-                    this.numberResize();
+                    _self.numberResize();
                 }
             });
         },
@@ -145,7 +145,7 @@ var productDetail = new Vue({
                 this.number = this.productStock;
             }
             if(this.priceObj.ladderPriceFlag){
-                this.ladderList.forEach.forEach(function(ladder){
+                this.ladderList.forEach(function(ladder){
                     if(_self.number>=ladder.buyNum){
                         _self.priceObj.price = ladder.buyPrice;
                     }

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

@@ -70,7 +70,7 @@ var shoppingConfirm = new Vue({
             openBank:'',		//开户银行
             bankAccountNo: ''  //银行账号
         },
-        submitLoading: false
+        submitLoading: false,
     },
     computed: {
 
@@ -273,7 +273,7 @@ var shoppingConfirm = new Vue({
                 if(r.code === 0){
                     CAIMEI.dialog('保存成功');
                     _self.saveLoading = false;
-                    this.isShowAddressForm = false;
+                    _self.isShowAddressForm = false;
                     // 重新获取地址列表
                     _self.getAddressList(_self.userId,20);
                 }else{

+ 1 - 1
src/main/resources/static/js/user-center/operation/list.js

@@ -173,7 +173,7 @@ var operationPage = new Vue({
         if(globalUserData){
             this.userId = globalUserData.userId;
             this.listQuery.orderState = CAIMEI.getUrlParam('state');
-            this.listQuery.userId = this.userId;
+            this.listQuery.userID = this.userId;
             this.GetQueryListData();
         }
         console.log(this.listQuery.orderState)

+ 1 - 1
src/main/resources/static/js/user-center/order/detail.js

@@ -80,7 +80,7 @@ var orderPage = new Vue({
                 OrderApi.AffirmOrderOrder({orderID:_self.orderId},function(response){
                     if(response.code == 0){
                         CAIMEI.dialog('确认成功',true,function () {
-                            _self.GetQueryOrderListData();
+                            _self.GetQueryOrderDetailsInfo();
                         });
                     }else{
                         CAIMEI.Alert(response.msg, '确定', false);

+ 0 - 1
src/main/resources/static/js/user-center/order/list.js

@@ -237,7 +237,6 @@ var orderPage = new Vue({
         hanldPayOrderFn:function(order,orderId){//支付订单
             var _self = this;
             _self.hanldOrderData = order;
-            console.log(_self.hanldOrderData);
             _self.orderIdentificationId = '#'+orderId+'#';
             OrderApi.OrderPaymentValidation({orderId:orderId},function(r){
                 if(r.code*1 === 0){

+ 3 - 0
src/main/resources/static/js/user-center/repair/list.js

@@ -86,6 +86,9 @@ var orderPage = new Vue({
                 this.pageInput = 1;
             }
         },
+        SearchListFn:function(){//搜索
+            this.GetQueryListData();
+        },
         GetQueryListData:function(){//查询维修列表
             var _self = this;
             RepairApi.GetFindMaintenance(_self.listQuery,function (response) {

+ 3 - 3
src/main/resources/static/js/user-center/setting/password.js

@@ -39,7 +39,7 @@ var passwordPage = new Vue({
             emailCode: '^\\d{4}$',
             license: '^[a-zA-Z0-9_]{18}$',
             email: '^(([^<>()\\[\\]\\\\.,;:\\s@&quot;]+(\\.[^<>()\\[\\]\\\\.,;:\\s@&quot;]+)*)|(&quot;.+&quot;))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$',
-            password: "^[^\\u4e00-\\u9fa5]{8,16}$"
+            password: "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"
         }
     },
     computed: {
@@ -100,7 +100,7 @@ var passwordPage = new Vue({
                 if (!pass) {
                     return false;
                 }
-                PublicApi.getImgVerifyCode({platformType: 0},function(response){
+                PublicApi.getImgVerifyCode({platformType: 2},function(response){
                     if(response.code == 0){
                         _self.imageCode = '';
                         _self.codeImagePath = response.data.baseImage;
@@ -119,7 +119,7 @@ var passwordPage = new Vue({
                     imgCode:_self.imageCode,
                     token:_self.codeImageToken,
                     activateCodeType:1,
-                    platformType:0
+                    platformType:2
                 };
             _self.isMobileDisabled = true;
             UserApi.getRegisterMobileCode(params,function (response) {

+ 2 - 2
src/main/resources/templates/account/forget.html

@@ -65,9 +65,9 @@
                     </div>
                     <div class="formLine code">
                         <p><em>*</em>邮箱验证码:</p>
-                        <input type="text" v-model.trim="emailPwd.activateCode" autocomplete="off" placeholder="请输入短信验证码" :rule="rule.emailCode"  maxlength="6" @blur="blurHandle($event)" needverify>
+                        <input type="text" v-model.trim="emailPwd.activateCode" autocomplete="off" placeholder="请输入邮箱验证码" :rule="rule.emailCode"  maxlength="6" @blur="blurHandle($event)" needverify>
                         <i class="checked icon mIcon"></i>
-                        <span class="errTips icon mIcon" tips="请输入有效短信验证码"></span>
+                        <span class="errTips icon mIcon" tips="请输入有效邮箱验证码"></span>
                         <a class="getCode" href="javascript:void(0);" @click="getEmailCodeFn" :class="[isEmailDisabled  ? 'disabled' : '']">{{ emailCodeText }}</a>
                     </div>
                     <div class="formLine">

+ 4 - 1
src/main/resources/templates/account/register-club.html

@@ -78,7 +78,10 @@
                 <div class="subLine">
                     <p>
                         <span class="iconfont icon-weigouxuan" :class="isAgree ? 'icon-gouxuan' : 'icon-weigouxuan' " @click="checkedIsAgreeFn"></span>
-                        我已阅读并同意<a href="javascript:void(0);">《机构协议》</a><a href="javascript:void(0);">《用户协议》</a>及<a href="javascript:void(0);">《隐私权政策》</a>
+                        我已阅读并同意
+                        <a href="/help/1036.html" target="_blank">《机构协议》</a>
+                        <a href="/help/1023.html" target="_blank">《用户协议》</a>及
+                        <a href="/help/1013.html" target="_blank">《隐私权政策》</a>
                     </p>
                     <span class="errTips icon mIcon show" v-if="isShowAgree">请阅读并同意协议</span>
                     <div class="btn" :class="loginLoading ? 'disabled':''"  @click="clubRegister()">注册</div>

+ 4 - 1
src/main/resources/templates/account/register-supplier.html

@@ -155,7 +155,10 @@
                     <div class="subLine">
                         <p>
                             <span class="iconfont icon-weigouxuan" :class="isAgree ? 'icon-gouxuan' : 'icon-weigouxuan' " @click="checkedIsAgreeFn"></span>
-                            我已阅读并同意<a href="javascript:void(0);">《供应商协议》</a><a href="javascript:void(0);">《用户协议》</a>及<a href="javascript:void(0);">《隐私权政策》</a>
+                            我已阅读并同意
+                            <a href="/help/1035.html" target="_blank">《供应商协议》</a>
+                            <a href="/help/1023.html">《用户协议》</a>及
+                            <a href="/help/1013.html">《隐私权政策》</a>
                         </p>
                         <span class="errTips icon mIcon show" v-if="isShowAgree">请阅读并同意协议</span>
                         <button class="btn" type="button" :class="loginLoading ? 'disabled':''"  @click="supplierRegister()">同意并提交审核</button>

+ 1 - 0
src/main/resources/templates/components/foot-link.html

@@ -6,5 +6,6 @@
 <script charset="utf-8" type="text/javascript" src="/lib/vue2.6.11.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/ajax.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/utils.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/shopping.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/base.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/utils.js(v=${version})}"></script>

+ 5 - 4
src/main/resources/templates/components/header.html

@@ -61,7 +61,7 @@
                             <option value="2">项目仪器</option>
                         </select>
                     </div>
-                    <input class="keyword" type="text" placeholder="请输入搜索关键词" />
+                    <input class="keyword" type="text" placeholder="请输入搜索关键词" maxlength="30"/>
                     <a class="searchBtn icon mIcon" href="javascript:void(0);"></a>
                 </div>
                 <!-- 热门搜索关键词 -->
@@ -73,18 +73,19 @@
                 </div>
             </div>
             <div class="headCart">
-                <a href="/shopping/cart.html" class="addBtn icon">购物车<em v-text="'('+headCart.cartCount+')'"></em></a>
+                <a href="javascript:void(0)" class="addBtn icon" @click="goCartsLinkFn">购物车<em v-text="'('+headCart.cartCount+')'"></em></a>
                 <div class="cartData">
                     <div v-if="headCart.cartCount>0">
                         <ul class="cartMain">
                             <li class="cartItem" v-for="cart in headCart.cartList">
-                                <a href="javascript:void(0)">
+                                <a href="javascript:void(0)" @click="productDetailsFn(cart.id)">
                                     <img :src="cart.image" >
                                     <span class="name" v-text="cart.name"></span>
                                     <span class="unit" v-text="'包装规格:'+cart.unit"></span>
+                                    <span class="unit" v-text="'数量:'+cart.number"></span>
                                     <span class="price" v-text="'¥'+parseFloat(cart.price).toFixed(2)"></span>
                                 </a>
-                                <span class="delBtn"></span>
+                                <span class="delBtn" @click="DeleteCartProducts(cart.id)"></span>
                             </li>
                         </ul>
                         <div class="cartBtm">

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

@@ -58,7 +58,7 @@
                     <ul class="swiper-wrapper" v-cloak>
                         <li class="swiper-slide productItem mfc" v-for="p in recommends">
                             <div class="item">
-                                <a class="image" :href="'/product-'+p.id+'.html'" target="_blank">
+                                <a class="image" :href="'/product-'+p.id+'.html'">
                                     <img :src="p.image" :alt="p.name">
                                     <span v-if="p.actType==1||p.actType==2" :class="p.actType==1?'icon mIcon hot':'icon mIcon new'"></span>
                                 </a>

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

@@ -102,10 +102,10 @@
         <ul class="productList clear mfw">
             <li class="productItem mfc" v-for="p in listData">
                 <div class="item">
-                    <a class="image" :href="'/product-'+p.id+'.html'" target="_blank">
+                    <a class="image" :href="'/product-'+p.id+'.html'">
                         <img :src="p.image" :alt="p.name">
                     </a>
-                    <a class="name" :href="'/product-'+p.id+'.html'" target="_blank">
+                    <a class="name" :href="'/product-'+p.id+'.html'">
                         <span v-html="p.name"></span>
                     </a>
                     <div class="price mfhc">

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

@@ -77,7 +77,7 @@
                                 <label class="check"><input v-model="addressForm.default" name="default" type="checkbox">设为默认地址</label>
                             </p>
                             <p>
-                                <a class="btn save"  href="javascript:void(0)" @click="saveAddressForm()">保存并使用</a>
+                                <a class="btn save"  href="javascript:void(0)" @click="saveAddressForm()" :class="saveLoading ? 'disable':''">保存并使用</a>
                                 <a class="btn con"  href="javascript:void(0)" @click="hideAddressForm()">取消</a>
                             </p>
                         </div>

+ 1 - 1
src/main/resources/templates/supplier-center/shop/example.html

@@ -15,7 +15,7 @@
 <!-- 引用头部 -->
 <template th:replace="components/header"></template>
 
-<!-- 我的采美 -->
+<!-- 示例 -->
 <div class="content">
     <img src="/img/supplier/shili.png"/>
 </div>

+ 4 - 4
src/main/resources/templates/supplier/index.html

@@ -49,11 +49,11 @@
                     <ul class="productList clear mfw">
                         <li class="productItem mfc" v-for="p in mainProducts">
                             <div class="item">
-                                <a class="image" :href="'/product-'+p.id+'.html'" target="_blank">
+                                <a class="image" :href="'/product-'+p.id+'.html'">
                                     <img :src="p.image" :alt="p.name">
                                     <span v-if="p.actType==1||p.actType==2" :class="p.actType==1?'icon mIcon hot':'icon mIcon new'"></span>
                                 </a>
-                                <a class="name" :href="'/product-'+p.id+'.html'" target="_blank">
+                                <a class="name" :href="'/product-'+p.id+'.html'">
                                     <span v-html="p.name"></span>
                                 </a>
                                 <div class="price mfhc">
@@ -99,11 +99,11 @@
                     <ul class="productList clear mfw">
                         <li class="productItem mfc" v-for="p in productLists">
                             <div class="item">
-                                <a class="image" :href="'/product-'+p.id+'.html'" target="_blank">
+                                <a class="image" :href="'/product-'+p.id+'.html'">
                                     <img :src="p.image" :alt="p.name">
                                     <span v-if="p.actType==1||p.actType==2" :class="p.actType==1?'icon mIcon hot':'icon mIcon new'"></span>
                                 </a>
-                                <a class="name" :href="'/product-'+p.id+'.html'" target="_blank">
+                                <a class="name" :href="'/product-'+p.id+'.html'">
                                     <span v-html="p.name"></span>
                                 </a>
                                 <div class="price mfhc">

+ 2 - 2
src/main/resources/templates/user-center/repair/list.html

@@ -49,12 +49,12 @@
                                 <span class="label">维修进度:</span>
                                 <select class="select" name="provinceID" @change="selectStatusFn">
                                     <option value="" >请选择</option>
-                                    <option v-for="(item ,index) in StatusList" :key="index" :value='item.provinceID' >{{item.name}}</option>
+                                    <option v-for="(item ,index) in StatusList" :key="index" :value='item.value' >{{item.name}}</option>
                                 </select>
                             </div>
                         </div>
                         <div class="header-button">
-                            <a class="btn-server" href="javascript: void(0);" target="_blank">搜索</a>
+                            <a class="btn-server" href="javascript: void(0);" @click="SearchListFn">搜索</a>
                         </div>
                     </div>
                 </div>