zhengjinyi 4 лет назад
Родитель
Сommit
e6bba9b3fa

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

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

+ 28 - 0
src/main/resources/static/css/account/forget.css

@@ -0,0 +1,28 @@
+@charset "utf-8";
+li{list-style:none}
+/**
+ *找回密码
+ * PC端
+ */
+@media screen and (min-width:768px){
+body{background-color: #F5F5F5;}
+footer .footTop{display:none;}
+.signAccount{width:1184px;margin:20px auto;min-height: 458px;background-color: #FFFFFF;}
+.signAccount .title{height:42px;line-height:42px;font-size:16px;color:#22272e;text-align:left;background-color: #F5F5F5;}
+.forget-form{width:498px;margin:0 auto;padding: 20px 0;}
+
+
+}
+
+/**
+* 移动端
+*/
+@media screen and (max-width:768px){
+body{width:100%;height:100%;background-color: #ffffff;}
+footer{display:none}
+.signAccount .title{height:8.6vw;line-height:8.6vw;font-size:3.4vw;color:#22272e;text-align:left;padding: 0 4vw;}
+.forget-form{padding:0;}
+.signAccount form{width:93.4vw;margin:0 auto;}
+.subLine{margin-top:2vw;float: left;width: 100%;}
+
+}

+ 2 - 0
src/main/resources/static/css/base/form.css

@@ -13,6 +13,7 @@
 .formLine p{height:auto;line-height:32px}
 .formLine p em{font-style:normal;color:#f94b4b;margin:0 5px}
 .formLine p span{color:#ffb496;}
+.formLine p span a{color:#e15616;text-decoration: underline;}
 .formLine .checked{position:absolute;width:20px;height:20px;top:40px;right:5px;display:none}
 .formLine .checked:before{width:20px;height:20px;background-position:-138px -296px}
 .formLine .errTips{display:block;height:20px;line-height:20px;white-space:nowrap;color:red;font-size:12px;visibility:hidden}
@@ -70,6 +71,7 @@
 .formLine p{line-height:10.2vw}
 .formLine p em{font-style:normal;color:#f94b4b;margin:0 1vw}
 .formLine p span{color:#ffb496;}
+.formLine p span a{color:#e15616;text-decoration: underline;}
 .formLine .checked{position:absolute;width:4.4vw;height:4.4vw;top:13.6vw;right:3.6vw;display:none}
 .formLine .checked:before{width:4.4vw;height:4.4vw;background-position:-18vw -10vw;}
 .formLine .errTips{display:block;height:4.4vw;line-height:4.4vw;white-space:nowrap;color:red;font-size:3vw;text-align:left;visibility:hidden}

+ 66 - 0
src/main/resources/static/css/user-center/dashboard.css

@@ -0,0 +1,66 @@
+@charset "utf-8";
+li{list-style:none}
+/**
+ * PC端
+ */
+@media screen and (min-width:768px){
+    .navLayout {min-height: 900px;}
+    .crumbs{padding-left: 220px;}
+    .navLayout .left{float:left;width:200px;line-height:50px;white-space:nowrap;text-indent:16px;font-size:16px;background:#FFF}
+    .navLayout .left .title{color:#22272e;font-weight:bold;border-bottom:1px solid #f5f5f5}
+    .navLayout .navList .tab{display:block;color:#22272e;position:relative;cursor: pointer;}
+    .navLayout .navList .tab:before{content:'\276F';font-weight:normal;position:absolute;right:10px;top:0;transform:rotate(90deg);width:32px;height:32px;line-height:32px;text-align:center;color:#bec2c9}
+    .navLayout .navList .con{position:relative;}
+    .navLayout .navList .con:before,.navLayout .navList .con:after{content:'';position:absolute;width:168px;border-top:1px solid #f5f5f5;left:16px}
+    .navLayout .navList .con:before{top:0}
+    .navLayout .navList .con:after{bottom:0}
+    .navLayout .navList .con a{display:block;font-size:14px;color:#627386;text-indent:32px}
+    .navLayout .navList.on .tab:before{top:18px;transform:rotate(270deg);color:#e15616}
+    .navLayout .navList.on .tab{color:#e15616}
+    .navLayout .navList .con a.on{color:#e15616;background-color:#ffe6dc}
+    /*个人中心右侧*/
+    .navLayout .right{float:right;width:968px}
+    .user-header{width: 100%;height: 120px;box-sizing: border-box;padding: 20px;background-color: #FFF;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
+    .user-header .header-ml{width: 50%;height:80px;float: left;}
+    .user-header .header-ml .logo{width: 110px;height:78px;float: left;border: 1px solid #f5f5f5;border-radius: 2px;margin-right: 8px;}
+    .user-header .header-ml .logo img{width: 110px;height:78px;display: block;border-radius: 2px;}
+    .user-header .header-ml .account{float: left;}
+    .user-header .header-ml .account .name{line-height: 46px;font-size: 18px;font-weight: bold;color: #22272e;}
+    .user-header .header-ml .account .msg{font-size: 14px;line-height: 22px;color: #22272e;}
+    .user-header .header-ml .account .msg span{color: #f94b4b;display: inline-block;float: left;margin-right: 8px;}
+    .user-header .header-ml .account .msg a{display: inline-block;width: 64px;height: 22px;float: left;line-height: 22px;color: #FFFFFF;font-size:12px;text-align: center; background-image: linear-gradient(225deg,#61686f 0%,#313a43 100%);border-radius: 2px;}
+    .user-header .header-mr{width: 80px;height:80px;float: right;}
+    .user-content{width: 100%;height: auto;margin-top: 27px;}
+    .user-content .title{width: 100%;height: 44px;line-height: 44px;font-size: 16px;text-align: left;color: #22272e;}
+    .user-content .section{width: 100%;height: auto;}
+    .user-content .section .user-main{width: 100%;height:auto;background-color: #FFFFFF;box-sizing: border-box;padding: 20px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);margin-bottom: 10px;}
+    .user-content .section .user-main.tabs{height: 78px;}
+    .user-content .section .user-main.order{height: 200px;}
+    .user-content .section .user-main.product{height: 253px;}
+    .user-content .section .user-main.news{height: 207px;}
+
+
+}
+
+/**
+* 移动端
+*/
+@media screen and (max-width:768px){
+.navLayout{background:#FFF;border-top:1px solid #F5F5F5;border-bottom:1px solid #F5F5F5;}
+.navLayout .crumbs{display:none;}
+.navLayout .left{width:29.3vw;border-right:1px solid #F5F5F5;line-height:11.8vw;white-space:nowrap;text-indent:3.3vw;font-size:3.4vw;}
+.navLayout .left .title{color:#22272e;font-weight:bold;border-bottom:1px solid #f5f5f5;font-size: 3.7vw;}
+.navLayout .navList .tab{display:block;color:#22272e;position:relative}
+.navLayout .navList .tab:before{content:'\276F';font-weight:normal;position:absolute;right:1.4vw;top:1vw;transform:rotate(90deg);width:6.4vw;height:6.4vw;line-height:6.4vw;text-align:center;color:#bec2c9}
+.navLayout .navList .con a{display:block;color:#9aa5b5;}
+.navLayout .navList.on .tab:before{top:4vw;transform:rotate(270deg);color:#e15616}
+.navLayout .navList.on .tab{color:#e15616}
+.navLayout .navList .con a.on{color:#e15616;background-color:#ffe6dc}
+.navLayout .right{width:70.5vw}
+
+
+
+
+
+}
+

+ 225 - 0
src/main/resources/static/js/account/forget.js

@@ -0,0 +1,225 @@
+var registerPage = new Vue({
+    el: "#forGetPasswordPage",
+    data: {
+        title:'手机找回密码',
+        loginLoading: false,
+        showTabContentIndex:0,
+        showClass:'',
+        mobilCount:0,
+        mobileCodeText:'获取验证码',
+        mobilTime:null,
+        isMobileDisabled:false,
+        emailCount:0,
+        emailCodeText:'获取验证码',
+        emailTime:null,
+        isEmailDisabled:false,
+        isCodeModel:false,
+        codeImagePath:'',
+        codeImageToken:'',
+        imageCode:'',
+        phonePwd: {
+            mobileOrEmail :'',
+            activateCode : '',
+            passWord : '',
+            confirmPwd : '',
+            status:1
+        },
+        emailPwd: {
+            mobileOrEmail :'',
+            activateCode : '',
+            passWord : '',
+            confirmPwd : '',
+            status:2
+        },
+        rule:{
+            name: '^[a-zA-Z\\u4e00-\\u9fa5]{2,}$',
+            phone: '^\\d{6,12}$',
+            code: '^\\d{6}$',
+            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}$"
+        }
+    },
+    computed: {
+
+    },
+    methods: {
+        findPhonePwd: function(){ //手机号找回密码
+            var _self = this;
+            var pass = verifyForm();
+            if (_self.loginLoading) { return false; }
+            if (!pass) {return false;}
+            if(_self.phonePwd.confirmPwd!=_self.phonePwd.passWord){
+                CAIMEI.dialog('两次密码输入不一致',false,function () {});
+                return;
+            }
+            _self.loginLoading = true;
+            UserApi.FindCompanyPwd(_self.phonePwd,function (response) {
+                if(response.code === 0){
+                    CAIMEI.Alert('成功找回密码!','去登录',true,function () {
+                        _self.loginLoading = false;
+                        window.location.href = '/login.html';
+                    });
+                } else {
+                    CAIMEI.Alert(response.msg,'确定',false);
+                    _self.loginLoading = false;
+                }
+            });
+        },
+        findEmailPwd: function(){ //邮箱找回密码
+            var _self = this;
+            var pass = verifyForm();
+            if (_self.loginLoading) { return false; }
+            if (!pass) {return false;}
+            if(_self.emailPwd.confirmPwd!=_self.emailPwd.passWord){
+                CAIMEI.dialog('两次密码输入不一致',false,function () {});
+                return;
+            }
+            _self.loginLoading = true;
+            UserApi.FindCompanyPwd(_self.emailPwd,function (response) {
+                if(response.code === 0){
+                    CAIMEI.Alert('成功找回密码!','去登录',true,function () {
+                        _self.loginLoading = false;
+                        window.location.href = '/login.html';
+                    });
+                } else {
+                    CAIMEI.Alert(response.msg,'确定',false);
+                    _self.loginLoading = false;
+                }
+            });
+        },
+        getMobileImage:function() {//获取图形验证码
+            var _self = this;
+            var pass = verifyCheack('.massageBtn');
+            if (_self.isMobileDisabled) { return false; }
+            this.$nextTick(function() {
+                if (!pass) {
+                    return false;
+                }
+                PublicApi.getImgVerifyCode({platformType: 0},function(response){
+                    if(response.code == 0){
+                        _self.imageCode = '';
+                        _self.codeImagePath = response.data.baseImage;
+                        _self.codeImageToken = response.data.token;
+                        _self.isCodeModel = true;
+                    }else{
+                        CAIMEI.Alert(response.msg,'确定',false);
+                    }
+                })
+            });
+        },
+        getMobileCodeFn:function(){//机构注册获取注册短信验证码
+            var _self = this;
+            var params = {
+                    mobile:_self.phonePwd.mobileOrEmail,
+                    imgCode:_self.imageCode,
+                    token:_self.codeImageToken,
+                    activateCodeType:1,
+                    platformType:0
+                };
+            _self.isMobileDisabled = true;
+            UserApi.getRegisterMobileCode(params,function (response) {
+                if(response.code == 0){
+                    _self.isCodeModel = false;
+                    CAIMEI.dialog('验证短信已发送',false,function () {});
+                    var TIME_COUNT = 60;
+                    if (!_self.mobilTime) {
+                        _self.mobilCount = TIME_COUNT;
+                        _self.isMobileDisabled = true;
+                        _self.mobilTime = setInterval(function(){
+                        if (_self.mobilCount > 1 && _self.mobilCount <= TIME_COUNT) {
+                            _self.mobilCount--;
+                            _self.mobileCodeText = _self.mobilCount +'s重新发送';
+                        } else {
+                            _self.isMobileDisabled = false;
+                            clearInterval(_self.mobilTime);
+                            _self.mobilTime = null;
+                            _self.mobileCodeText = '获取验证码';
+                        }
+                    },1000)
+                    }
+                }else{
+                    CAIMEI.Alert(response.msg,'确定',false);
+                    _self.isMobileDisabled = false;
+                    _self.isCodeModel = false;
+                }
+            })
+        },
+        getEmailCodeFn:function(){//找回密码获取邮箱验证码
+            var _self = this;
+            var pass = verifyCheack('.emailMsgBtn');
+            if (_self.isMobileDisabled) { return false; }
+            this.$nextTick(function() {
+                if (!pass) {
+                    return false;
+                }
+                var params = {
+                    email: _self.emailPwd.mobileOrEmail,
+                    status: 3
+                };
+                _self.isEmailDisabled = true;
+                PublicApi.getEmailSMScode(params, function (response) {
+                    if (response.code == 0) {
+                        CAIMEI.dialog('验证短信已发送', false, function () {
+                        });
+                        var TIME_COUNT = 60;
+                        if (!_self.emailTime) {
+                            _self.emailCount = TIME_COUNT;
+                            _self.isEmailDisabled = true;
+                            _self.emailTime = setInterval(function () {
+                                if (_self.emailCount > 1 && _self.emailCount <= TIME_COUNT) {
+                                    _self.emailCount--;
+                                    _self.emailCodeText = _self.emailCount + 's重新发送';
+                                } else {
+                                    _self.isEmailDisabled = false;
+                                    clearInterval(_self.emailTime);
+                                    _self.emailTime = null;
+                                    _self.emailCodeText = '获取验证码';
+                                }
+                            }, 1000)
+                        }
+                    } else {
+                        CAIMEI.Alert(response.msg, '确定', false);
+                        _self.isEmailDisabled = false;
+                    }
+                })
+            })
+        },
+        refreshCodeImage:function(){
+            this.getMobileImage()
+        },
+        closeCodeModel:function(){
+            this.isCodeModel = false;
+        },
+        showPassword: function(event) {//密码
+            var el = event.currentTarget;
+            var pwdEle = $(el).siblings('input');
+            if(pwdEle.attr('type') === 'password') {
+                $(el).addClass('on');
+                pwdEle.attr('type','text');
+            } else {
+                $(el).removeClass('on');
+                pwdEle.attr('type','password');
+            }
+        },
+        blurHandle: function(event) { // 失去焦点校验
+            var el = event.currentTarget;
+            verifyHandle(el);
+        },
+        checkedEmailFn:function () {
+            this.title = "邮箱找回密码";
+            this.showTabContentIndex = 1;
+        },
+        checkedPhoneFn:function () {
+            this.title = "手机找回密码";
+            this.showTabContentIndex = 0;
+        }
+    },
+    created: function () {
+
+    },
+    mounted: function () {
+        var _self = this;
+    }
+});

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

@@ -40,6 +40,12 @@ var UserApi = {
                 callback(res);
             });
         },
+        FindCompanyPwd : function(params,callback) {//用户找回密码
+            Http.AjaxService({ url:'/user/findCompanyPwd', type:'post', data:params, json:false})
+            .then(function(res){
+                callback(res);
+            });
+        },
         SupplierRgister:function(params, callback){//供应商注册
             Http.AjaxService({url: '/supplier/register', type: 'post', data: params, json: false})
             .then(function (res) {

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

@@ -0,0 +1,41 @@
+jqMultipleShow("click", ".navList", ".tab", ".con");
+var helpSuggestion = new Vue({
+    el: "#dashboard",
+    data: {
+        btnLoading: false,
+        userId: 0,
+    },
+    methods: {
+        postSuggestion: function () {  // 账号登录
+            var _self = this;
+            var pass = verifyForm();
+            if (this.btnLoading) {
+                return false;
+            }
+            this.$nextTick(function () {
+                if (!pass) {
+                    return false;
+                }
+                _self.btnLoading = true;
+                var params = {
+                    suggestionTypeID: _self.suggestion.type,
+                    userID: _self.userId,
+                    title: _self.suggestion.title,
+                    content: _self.suggestion.content,
+                    linkMan: _self.suggestion.name,
+                    mobile: _self.suggestion.phone
+                };
+                console.log(JSON.stringify(params));
+                $.post("/help/suggestion", params, function(res){
+                    alertInfo(res.msg);
+                    _self.btnLoading = false;
+                });
+            });
+        }
+    },
+    mounted: function () {
+        if(globalUserData){
+            this.userId = globalUserData.userId;
+        }
+    }
+});

+ 94 - 4
src/main/resources/templates/account/forget.html

@@ -5,18 +5,108 @@
     <title>采美365网-中国美业全方位线上交易服务互动平台,做美业,上采美</title>
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/base/form.css(v=${version})}" rel="stylesheet" type="text/css">
+    <link th:href="@{/css/account/forget.css(v=${version})}" rel="stylesheet" type="text/css">
 </head>
 <body>
 <!-- 引用头部 -->
 <template th:replace="account/components/header"></template>
 
-<!-- 忘记密码 -->
-<div>
-
+<!-- 找回密码表单 -->
+<div id="forGetPasswordPage">
+    <div class="signAccount clear">
+        <div class="title">{{title}}</div>
+        <div class="forget-form"  v-if="showTabContentIndex == 0">
+            <form>
+                <div class="formLine" >
+                    <p><em>*</em>手机号(<span>若手机号已暂停使用,可使用 <a href="javascript:void(0);" @click="checkedEmailFn">邮箱验证</a></span>):</p>
+                    <input  class="massageBtn"  type="text" v-model.trim="phonePwd.mobileOrEmail" placeholder="请输入手机号码" :rule="rule.phone" maxlength="11" @blur="blurHandle($event)" needverify>
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips="请输入有效的手机号码"></span>
+                </div>
+                <div class="formLine code">
+                    <p><em>*</em>短信验证码:</p>
+                    <input type="text" v-model.trim="phonePwd.activateCode" autocomplete="off" placeholder="请输入短信验证码" :rule="rule.code"  maxlength="6" @blur="blurHandle($event)" needverify>
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips="请输入有效短信验证码"></span>
+                    <a class="getCode" href="javascript:void(0);" @click="getMobileImage" :class="[isMobileDisabled  ? 'disabled' : '']">{{ mobileCodeText }}</a>
+                </div>
+                <div class="formLine">
+                    <p><em>*</em>新密码:</p>
+                    <input type="password" v-model.trim="phonePwd.passWord" autocomplete="new-password" placeholder="请输入新密码,为8-16位数字和字母组合" :rule="rule.password" maxlength="32" @blur="blurHandle($event)" needverify>
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips="8-16位数字或字母或字符"></span>
+                    <i class="icon showPwd" @click="showPassword($event)"></i>
+                </div>
+                <div class="formLine">
+                    <p><em>*</em>确认密码:</p>
+                    <input type="password" v-model.trim="phonePwd.confirmPwd" autocomplete="new-password" placeholder="请再次确认新密码" :rule="rule.password" maxlength="32" @blur="blurHandle($event)" needverify>
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips="8-16位数字或字母或字符"></span>
+                    <i class="icon showPwd" @click="showPassword($event)"></i>
+                </div>
+                <div class="subLine">
+                    <button class="btn" type="button" :class="loginLoading ? 'disabled':''"  @click="findPhonePwd()">提交</button>
+                </div>
+            </form>
+        </div>
+        <div class="forget-form"  v-if="showTabContentIndex == 1">
+            <form>
+                <div class="formLine" >
+                    <p><em>*</em>邮箱(<span>若忘记邮箱,可使用 <a href="javascript:void(0);" @click="checkedPhoneFn">手机号</a></span>):</p>
+                    <input  class="emailMsgBtn"  type="text" v-model.trim="emailPwd.mobileOrEmail" placeholder="请输入邮箱" :rule="rule.email" maxlength="30" @blur="blurHandle($event)" needverify>
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips="请输入有效的邮箱地址"></span>
+                </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>
+                    <i class="checked icon mIcon"></i>
+                    <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">
+                    <p><em>*</em>登录密码:</p>
+                    <input type="password" v-model.trim="emailPwd.passWord" autocomplete="new-password" placeholder="请输入新密码,为8-16位数字和字母组合" :rule="rule.password" maxlength="32" @blur="blurHandle($event)" needverify>
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips="8-16位数字或字母或字符"></span>
+                    <i class="icon showPwd" @click="showPassword($event)"></i>
+                </div>
+                <div class="formLine">
+                    <p><em>*</em>确认密码:</p>
+                    <input type="password" v-model.trim="emailPwd.confirmPwd" autocomplete="new-password" placeholder="请再次确认新密码" :rule="rule.password" maxlength="32" @blur="blurHandle($event)" needverify>
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips="8-16位数字或字母或字符"></span>
+                    <i class="icon showPwd" @click="showPassword($event)"></i>
+                </div>
+                <div class="subLine">
+                    <button class="btn" type="button" :class="loginLoading ? 'disabled':''"  @click="findEmailPwd()">提交</button>
+                </div>
+            </form>
+        </div>
+        <div class="content-model"  :class="isCodeModel ? 'active' : ''">
+            <div class="model-main">
+                <div class="model-title"><p>获取短信验证码</p><i class="icon mIcon icon-close"  @click="closeCodeModel"></i></div>
+                <div class="model-content">
+                    <div class="model-form">
+                        <input class="input" type="text" placeholder="请输入图形验证码" v-model="imageCode" maxlength="4">
+                        <div class="image"><img :src="codeImagePath" alt=""></div>
+                        <div class="refresh" @click="refreshCodeImage">
+                            <i class="icon mIcon"></i>
+                            <span>刷新</span>
+                        </div>
+                    </div>
+                    <div class="model-button">
+                        <div class="button"  @click="getMobileCodeFn">获取短信验证码</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
 </div>
-
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/user.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/account/forget.js(v=${version})}"></script>
 </body>
 </html>

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

@@ -158,7 +158,7 @@
                             我已阅读并同意<a href="javascript:void(0);">《供应商协议》</a><a href="javascript:void(0);">《用户协议》</a>及<a href="javascript:void(0);">《隐私权政策》</a>
                         </p>
                         <span class="errTips icon mIcon show" v-if="isShowAgree">请阅读并同意协议</span>
-                        <button class="btn" :class="loginLoading ? 'disabled':''"  @click="supplierRegister()">同意并提交审核</button>
+                        <button class="btn" type="button" :class="loginLoading ? 'disabled':''"  @click="supplierRegister()">同意并提交审核</button>
                     </div>
                 </form>
             </div>

+ 1 - 0
src/main/resources/templates/help/help.html

@@ -13,6 +13,7 @@
 
 <!-- 帮助页面 -->
 <div class="navLayout" th:object="${pageInfo}">
+
     <!-- 面包屑 -->
     <div class="crumbs">
         <span>帮助中心</span>

+ 24 - 0
src/main/resources/templates/user-center/components/tableft.html

@@ -0,0 +1,24 @@
+<div class="left">
+    <div class="navList">
+        <span class="tab">我的交易</span>
+        <div class="con" style="display:none">
+            <a href="/user/order/list.html">我的订单</a>
+            <a href="/user/repair/list.html">我的维修</a>
+            <a href="/user/address/list.html">收货地址管理</a>
+        </div>
+    </div>
+    <div class="navList">
+        <span class="tab">机构管理中心</span>
+        <div class="con" style="display:none">
+            <a href="/user/setting/information.html">机构资料</a>
+            <a href="/user/operation/list.html">运营人员管理</a>
+        </div>
+    </div>
+    <div class="navList">
+        <span class="tab">账户设置</span>
+        <div class="con" style="display:none">
+            <a href="/user/setting/password.html">重置密码</a>
+            <a href="/user/setting/phone.html">更换手机号</a>
+        </div>
+    </div>
+</div>

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

@@ -4,20 +4,65 @@
 <head>
     <title>采美365网-中国美业全方位线上交易服务互动平台,做美业,上采美</title>
     <template th:replace="components/head-link"></template>
-
+    <link th:href="@{/css/user-center/dashboard.css(v=${version})}" rel="stylesheet" type="text/css">
 </head>
 <body>
 <!-- 引用头部 -->
 <template th:replace="components/header"></template>
 
 <!-- 我的采美 -->
-<div>
-
+<div id="dashboard">
+    <div class="navLayout" th:object="${pageInfo}">
+        <div class="crumbs">
+            <span>我的交易</span>
+            <span>&gt;</span>
+            <span>我的首页</span>
+        </div>
+        <div class="wrap clear mf">
+            <!--左侧面包屑-->
+            <template th:replace="user-center/components/tableft"></template>
+            <div class="right">
+                <div class="user-header">
+                    <div class="header-ml">
+                        <div class="logo"><img src="https://dss2.bdstatic.com/8_V1bjqh_Q23odCf/pacific/1884224890.jpg" alt=""></div>
+                        <div class="account">
+                            <div class="name">华熙生物信息技术有限公司</div>
+                            <div class="msg"><span>资料完整度:89%</span><a href="/user/setting/information.html">立即完善</a></div>
+                        </div>
+                    </div>
+                    <div class="header-mr">
+                        <div class="message"></div>
+                        <div class="money">余额:0.00元</div>
+                    </div>
+                </div>
+                <div class="user-content clear">
+                    <div class="title">我的订单</div>
+                    <div class="section">
+                        <div class="user-main tabs"></div>
+                        <div class="user-main order"></div>
+                    </div>
+                </div>
+                <div class="user-content">
+                    <div class="title">今日推荐</div>
+                    <div class="section">
+                        <div class="user-main product"></div>
+                    </div>
+                </div>
+                <div class="user-content">
+                    <div class="title">最新动态</div>
+                    <div class="section">
+                        <div class="user-main news"></div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
 </div>
 
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
-
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/user.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/user-center/dashboard.js(v=${version})}"></script>
 </body>
 </html>