1
0
panhui 7 rokov pred
rodič
commit
a92ca153ea
82 zmenil súbory, kde vykonal 538 pridanie a 113 odobranie
  1. 3 0
      src/main/java/com/izouma/awesomeadmin/web/UserOrderController.java
  2. 113 22
      src/main/vue/src/components/ImgItem.vue
  3. 35 8
      src/main/vue/src/components/OrderItem.vue
  4. 61 0
      src/main/vue/src/components/PasswordLevel.vue
  5. 21 0
      src/main/vue/src/emUI.less
  6. 3 2
      src/main/vue/src/entries/index.js
  7. 26 3
      src/main/vue/src/pagesPre/App.vue
  8. 12 6
      src/main/vue/src/pagesPre/BackPassword.vue
  9. 65 8
      src/main/vue/src/pagesPre/Index.vue
  10. 8 4
      src/main/vue/src/pagesPre/Login.vue
  11. 5 3
      src/main/vue/src/pagesPre/LogoFoot.vue
  12. 5 2
      src/main/vue/src/pagesPre/LogoHead.vue
  13. 115 13
      src/main/vue/src/pagesPre/MemberMoney.vue
  14. 17 15
      src/main/vue/src/pagesPre/OrderUpload.vue
  15. 21 15
      src/main/vue/src/pagesPre/Register.vue
  16. 2 2
      src/main/vue/src/pagesPre/UserCenter.vue
  17. 5 5
      src/main/vue/src/pagesPre/UserSafe.vue
  18. 4 0
      src/main/vue/src/routerPre/index.js
  19. 13 1
      src/main/vue/src/vuexPre/index.js
  20. 1 1
      src/main/webapp/WEB-INF/html/admin.html
  21. 1 1
      src/main/webapp/WEB-INF/html/index.html
  22. 0 1
      src/main/webapp/static/css/index.c3f81ededc7f761ef715571998831ee4.css
  23. 1 0
      src/main/webapp/static/css/index.e3275ed11be0caa0bafe4fa6d375f510.css
  24. 0 0
      src/main/webapp/static/js/10.7d70ef2eca341040e1e5.js
  25. 0 0
      src/main/webapp/static/js/10.b7e721b1545c9dd8c39e.js
  26. 0 0
      src/main/webapp/static/js/11.2d09cd327a06b8bb2d88.js
  27. 0 0
      src/main/webapp/static/js/11.4dc9bb065474b5c3501d.js
  28. 0 0
      src/main/webapp/static/js/125.894f6e0b5da4094859a9.js
  29. 0 0
      src/main/webapp/static/js/126.5b46a6f1d81f0a2d5d68.js
  30. 0 0
      src/main/webapp/static/js/127.9a0d209ef40cf5c475fd.js
  31. 1 1
      src/main/webapp/static/js/128.ea71240b3370ae2096f3.js
  32. 0 0
      src/main/webapp/static/js/129.aed0a3842f43db1cf959.js
  33. 0 0
      src/main/webapp/static/js/13.b5b79c87ce978d25f39f.js
  34. 0 0
      src/main/webapp/static/js/13.faf5ce849edead2b8df6.js
  35. 0 0
      src/main/webapp/static/js/130.e6928b54045bd5b5e572.js
  36. 0 0
      src/main/webapp/static/js/131.3eea8ef492e03434c757.js
  37. 0 0
      src/main/webapp/static/js/132.39cbc326421314c1d105.js
  38. 0 0
      src/main/webapp/static/js/133.2af76765605801771840.js
  39. 0 0
      src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js
  40. 0 0
      src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js
  41. 0 0
      src/main/webapp/static/js/136.d1007a042f82f6660afa.js
  42. 0 0
      src/main/webapp/static/js/137.38177380e703b80537d4.js
  43. 0 0
      src/main/webapp/static/js/138.10b348324acf23a04b57.js
  44. 0 0
      src/main/webapp/static/js/138.d5f4d9a74cbc93fd0bf0.js
  45. 0 0
      src/main/webapp/static/js/14.1c922e2f0edf9f22236b.js
  46. 0 0
      src/main/webapp/static/js/14.83480e1cfd439cd53196.js
  47. 0 0
      src/main/webapp/static/js/16.a4e86dc39a4b9c05d599.js
  48. 0 0
      src/main/webapp/static/js/17.3143e27edd27fe68ee08.js
  49. 0 0
      src/main/webapp/static/js/17.7d7011f818717a5adc56.js
  50. 0 0
      src/main/webapp/static/js/18.7f0c3916026370b1b976.js
  51. 0 0
      src/main/webapp/static/js/18.c91e3462fd829a187f33.js
  52. 0 0
      src/main/webapp/static/js/19.468b290b58e91f3e4573.js
  53. 0 0
      src/main/webapp/static/js/19.a07ac0b3176f2c8283a3.js
  54. 0 0
      src/main/webapp/static/js/20.4bd5a1dd15d71b57d3b0.js
  55. 0 0
      src/main/webapp/static/js/20.83d530d1d40eefec7b0d.js
  56. 0 0
      src/main/webapp/static/js/21.28b42f25e6cf3c799602.js
  57. 0 0
      src/main/webapp/static/js/21.37b039f1ed85dd4251d3.js
  58. 0 0
      src/main/webapp/static/js/22.40679665e70ca8a9823d.js
  59. 0 0
      src/main/webapp/static/js/22.ac64b5b99d615e3bd613.js
  60. 0 0
      src/main/webapp/static/js/23.1b63a1644fcc9546b299.js
  61. 0 0
      src/main/webapp/static/js/23.da25b5bc27bbfdb04d2f.js
  62. 0 0
      src/main/webapp/static/js/25.0241b6b25b3a26496956.js
  63. 0 0
      src/main/webapp/static/js/25.3352bce63bce6e52d889.js
  64. 0 0
      src/main/webapp/static/js/26.49858d1c4c3e747f09e9.js
  65. 0 0
      src/main/webapp/static/js/29.80023569d0ff6ea14373.js
  66. 0 0
      src/main/webapp/static/js/29.f230ce955018645a6f14.js
  67. 0 0
      src/main/webapp/static/js/32.4a3a4f435434900d9fd8.js
  68. 0 0
      src/main/webapp/static/js/32.d7c1a23dc4a3f456a9b2.js
  69. 0 0
      src/main/webapp/static/js/33.6f6794c6d4910744faae.js
  70. 0 0
      src/main/webapp/static/js/33.e9268e7c0771bc83070c.js
  71. 0 0
      src/main/webapp/static/js/34.12ef10bc26a56495ee6a.js
  72. 0 0
      src/main/webapp/static/js/34.f5a496d95f818236cafe.js
  73. 0 0
      src/main/webapp/static/js/35.dc9a999833208a768b11.js
  74. 0 0
      src/main/webapp/static/js/35.fca36f7e9fcc9b903f7a.js
  75. 0 0
      src/main/webapp/static/js/38.5b733cdac78f421b9bce.js
  76. 0 0
      src/main/webapp/static/js/38.b743bd982271c6fa2336.js
  77. 0 0
      src/main/webapp/static/js/39.3b3e0dfe6826212b887b.js
  78. 0 0
      src/main/webapp/static/js/admin.631c1407151da134355c.js
  79. 0 0
      src/main/webapp/static/js/admin.fabd74504a25e769d84a.js
  80. 0 0
      src/main/webapp/static/js/index.23983cd9ce1f9923491a.js
  81. 0 0
      src/main/webapp/static/js/index.cf2571da6eae8bd4f073.js
  82. 0 0
      src/main/webapp/static/js/manifest.453d4f42ef115a9169eb.js

+ 3 - 0
src/main/java/com/izouma/awesomeadmin/web/UserOrderController.java

@@ -20,6 +20,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+
+
+
 /**
  * controller类
  */

+ 113 - 22
src/main/vue/src/components/ImgItem.vue

@@ -18,7 +18,7 @@
                     <el-button @click="dialogFormVisible=true,detailRemarkFlag=''" v-else type="danger" icon="el-icon-close" circle plain size="mini"></el-button>
                 </template>
 
-                <el-button  @click="dialogFormVisible=true,detailRemarkFlag='1'" icon="el-icon-edit" circle plain size="mini"></el-button>
+                <el-button @click="dialogFormVisible=true,detailRemarkFlag='1'" icon="el-icon-edit" circle plain size="mini"></el-button>
 
             </div>
             <div class="check" v-if="imgStyle=='upload'">
@@ -48,10 +48,16 @@
                 </div>
             </el-dialog>
 
-            <el-dialog :title="img.imageName+' '+imgStyleStr+'预览'" :visible.sync="preView" :width="imageStyle.width+40+'px'">
-                <img-zoom v-if="label=='finishedImage'" :src="img[label]+'?x-oss-process=image/resize,l_500'" :bigsrc="img[label]+'?x-oss-process=image/resize,l_1000'" :configs="configs"></img-zoom>
-                <img v-else :src="img[label]+'?x-oss-process=image/resize,l_500'" alt="">
+            <el-dialog v-if="label=='originalImage'" :title="img.imageName+' '+imgStyleStr+'预览'" :visible.sync="preView" :width="imageStyle.width+40+'px'">
+                <!-- <img-zoom v-if="label=='finishedImage'" :src="img[label]+'?x-oss-process=image/resize,l_'+(allHeight-200)" :bigsrc="img[label]+'?x-oss-process=image/resize,l_'+(allHeight-200)*2" :configs="configs"></img-zoom> -->
+                <!-- <img v-if="label=='finishedImage'" :src="img[label]+'?x-oss-process=image/resize,l_'+(allHeight-200)" alt=""> -->
+                <img :src="img[label]+'?x-oss-process=image/resize,l_500'" alt="">
             </el-dialog>
+
+            <div class="box" v-if="preView&&label=='finishedImage'" @click="preView=false">
+                <img @click.stop="" @mousewheel='scrollEvent' :style="{marginTop:(0-bigImgStyle.top)+'px'}" :src="img[label]+'?x-oss-process=image/resize,m_lfit,h_'+bigImgStyle.height+',w_'+bigImgStyle.width" alt="">
+
+            </div>
         </template>
 
     </div>
@@ -90,7 +96,7 @@ export default {
     },
     data() {
         return {
-            detailRemarkFlag:"",
+            detailRemarkFlag: "",
             imageStyle: {
                 backgroundColor: '#ebebeb'
             },
@@ -98,20 +104,29 @@ export default {
             remark: '',
             preView: false,
             configs: {
-                width: 200,
-                height: 200,
-                maskWidth: 100,
-                maskHeight: 100,
+                width: 400,
+                height: 400,
+                maskWidth: 200,
+                maskHeight: 200,
+
+
                 maskColor: 'red',
                 maskOpacity: 0.2,
-                imgWithd:500,
-                imgHeight:500
+                imgWithd: 500,
+                imgHeight: 500
             },
             imgInfo: {
                 width: 0,
                 height: 0
             },
-            storeType: false
+            storeType: false,
+            bigImgStyle: {
+                width: 0,
+                height: 0,
+                left: 0,
+                top: 0,
+            },
+            nowNum: 0
         }
     },
     computed: {
@@ -140,8 +155,61 @@ export default {
 
         }
 
+        this.allHeight = window.innerHeight
+
     },
     methods: {
+        scrollEvent(e) {
+            console.log(e)
+            this.nowNum++
+            var left = this.bigImgStyle.left
+            var top = this.bigImgStyle.top
+            var width = this.bigImgStyle.width
+            var height = this.bigImgStyle.height
+            if (e.wheelDeltaY > 0) {
+
+                width = this.bigImgStyle.width + 100
+                height = this.bigImgStyle.height + 100
+                if (width > 3000 || height > 3000) {
+                    width = 3000
+                    height = 3000
+                }
+                if (width === 3000 || height === 3000) {
+                    return
+                }
+
+
+            }
+            else {
+                width = this.bigImgStyle.width - 100
+                height = this.bigImgStyle.height - 100
+                if (width < window.innerWidth || height < window.innerHeight) {
+                    width = window.innerWidth
+                    height = window.innerHeight
+
+                }
+                if (width === window.innerWidth || height === window.innerHeight) {
+                    return
+                }
+
+            }
+
+            if (width > window.innerWidth) {
+                left = width - window.innerWidth
+            }
+
+            if (height > window.innerHeight) {
+                top = height - window.innerHeight
+            }
+
+
+            this.bigImgStyle = {
+                width: parseInt(width),
+                height: parseInt(height),
+                left: left / 2,
+                top: top / 2
+            }
+        },
         choose() {
             // if (this.imgStyle == 'upload') {
             //     this.dialogFormVisible = true
@@ -157,16 +225,20 @@ export default {
                     var key = img.width / img.height
                     var width = 500
                     var height = 500
+                    var width1 = window.innerWidth
+                    var height1 = window.innerHeight
 
                     this.imgInfo = {
                         width: img.width / 2,
                         height: img.height / 2
                     }
                     if (key > 1) {
-                        height = img.height / img.width * 500
+                        height = img.height / img.width * width
+                        // height1 = img.height / img.width * width1
                     }
                     else {
-                        width = img.width / img.height * 500
+                        width = img.width / img.height * height
+                        // width1 = img.width / img.height * height1
                     }
                     this.imageStyle = {
                         backgroundImage: `url(${this.img[this.label]})`,
@@ -175,6 +247,13 @@ export default {
                     }
                     this.configs.imgWithd = width
                     this.configs.imgHeight = height
+
+                    this.bigImgStyle = {
+                        width: width1,
+                        height: height1,
+                        top: 0,
+                        left: 0,
+                    }
                 }
                 img.src = this.img[this.label]
             }
@@ -187,14 +266,10 @@ export default {
                         data: { id: this.img.id }
                     })
                 }).then(() => {
+                    console.log('chencgg ')
                     this.dialogFormVisible = false
                     this.$message.success('删除成功');
-                    this.$emit('delImg')
-                }).catch(action => {
-                    if (action === 'cancel') {
-                    } else {
-                        this.$message.error('删除失败');
-                    }
+                    this.$emit('delImg', this.img.id)
                 })
             }
         },
@@ -226,8 +301,8 @@ export default {
                     statusFlag: 2,
                     detailRemark: this.remark
                 }
-                if(this.detailRemarkFlag){
-                    data.detailRemarkFlag=this.detailRemarkFlag
+                if (this.detailRemarkFlag) {
+                    data.detailRemarkFlag = this.detailRemarkFlag
                 }
                 this.$http.post({
                     url: '/orderImage/repair',
@@ -335,4 +410,20 @@ export default {
     text-align: center;
     margin-top: 10px;
 }
+
+.box {
+    position: fixed;
+    z-index: 550;
+    background-color: rgba(0, 0, 0, 0.5);
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0;
+    overflow: hidden;
+    text-align: center;
+    img {
+        display: block;
+        margin: auto;
+    }
+}
 </style>

+ 35 - 8
src/main/vue/src/components/OrderItem.vue

@@ -65,7 +65,12 @@
                 <div>
                     <span class="btn" v-if="type=='user'">
                         <template v-if="statusName=='待付款'">
-                            <el-button type="primary" size="mini" @click="payOrder">去支付</el-button>
+                            <div style="display:block">
+                                <el-button type="primary" style="width:80px;" size="mini" @click="payOrder">去支付</el-button>
+                            </div>
+                            <div style="display:block;margin-top:5px;">
+                                <el-button size="mini" @click="orderCancel">取消订单</el-button>
+                            </div>
                         </template>
                         <template v-if="statusName=='待上传'">
                             <el-button type="primary" size="mini" @click="goNext('orderUpload')">上传照片</el-button>
@@ -171,11 +176,11 @@ export default {
 
 
         },
-        isFirstRepair(){
-            var result=true
-            if(this.info.orderRepairList!=0){
-                if(this.info.orderRepairList[0].statusFlag!=0){
-                    result=false
+        isFirstRepair() {
+            var result = true
+            if (this.info.orderRepairList != 0) {
+                if (this.info.orderRepairList[0].statusFlag != 0) {
+                    result = false
                 }
             }
             return true
@@ -248,8 +253,30 @@ export default {
                 });
             });
         },
-        startChat(id){
-            this.$emit('startChat',id)
+        startChat(id) {
+            this.$emit('startChat', id)
+        },
+        orderCancel() {
+            this.$confirm('确定取消该订单吗?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                this.$http.post({
+                    url: '/userOrder/cancel',
+                    data: {
+                        id: this.info.id
+                    }
+                }).then(res => {
+                    if (res.success) {
+                        this.$message.success('取消成功');
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            }).catch(() => {
+
+            });
         }
     }
 }

+ 61 - 0
src/main/vue/src/components/PasswordLevel.vue

@@ -0,0 +1,61 @@
+<template>
+    <div class="level">
+        <div class="level-item" :style="{backgroundColor:nowLevel>=1?'#F56C6C':'#ccc'}">
+            低
+        </div>
+        <div class="level-item" :style="{backgroundColor:nowLevel>=2?'#E6A23C':'#ccc'}">
+            中
+        </div>
+        <div class="level-item" :style="{backgroundColor:nowLevel>=3?'#67C23A':'#ccc'}">
+            高
+        </div>
+    </div>
+</template>
+
+<script>
+
+export default {
+    name: 'passwordLevel',
+    props: {
+        password: {
+            type: String,
+            default: ''
+        }
+    },
+    data() {
+        return {
+
+        }
+    },
+    computed: {
+        nowLevel() {
+            var index = 0
+            if (this.password.match(/[a-z]/g)) { index++; }
+            if (this.password.match(/[0-9]/g)) { index++; }
+            if (this.password.match(/(.[^a-z0-9])/g)) { index++; }
+            if (this.password.length < 6) { index = 0; }
+            if (index > 3) { index = 3; }
+
+            return index
+        }
+    },
+    methods: {
+
+    }
+}
+</script>
+
+<style lang="less" scoped>
+.level-item {
+    width: 30%;
+    display: inline-block;
+    vertical-align: middle;
+    height: 30px;
+    background-color: #ccc;
+    text-align: center;
+    line-height: 30px;
+    margin-top: 5px;
+    border-radius: 4px;
+    color: #fff;
+}
+</style>

+ 21 - 0
src/main/vue/src/emUI.less

@@ -401,3 +401,24 @@ a{
 .upload-demo .el-upload-list{
     // display: none;
 }
+
+
+.el-dialog__body{
+    padding-top: 0;
+}
+
+
+.uploadDialog{
+    .el-upload{
+        width: 100%;
+    }
+    .el-upload-dragger{
+        width: 100%;
+    }
+
+    .el-upload-list>li{
+        display: inline-block;
+        width: 18%;
+        margin-right:2%
+    }
+}

+ 3 - 2
src/main/vue/src/entries/index.js

@@ -213,12 +213,13 @@ Vue.prototype.getMail = function(mail) {
 }
 
 
-Vue.prototype.sendMeg = function(phone) {
+Vue.prototype.sendMeg = function(phone, code) {
     return new Promise((resolve, reject) => {
         this.$http.get({
-            url: '/rong/sendCode',
+            url: '/aliapi/sendCode',
             data: {
                 phone: phone,
+                templateCode: code
             }
         }).then(res => {
             if (res.success) {

+ 26 - 3
src/main/vue/src/pagesPre/App.vue

@@ -52,13 +52,22 @@
                 </div>
             </div>
             <keep-alive exclude="shop,product">
-                <router-view ref='child' @startChat='startChat'></router-view>
+                <router-view ref='child' @showHide='showHide' @startChat='startChat'></router-view>
             </keep-alive>
             <logo-foot :isBottom='false'></logo-foot>
         </div>
 
         <div class="little-menu">
-            <div class="little-item" @click="sendMsg">
+            <div class="little-item" v-if='hideShow1' @click="showHide({index:1,hide:false})">
+                <img src="../assetsPre/newShop.png" style="width:20px;height:18px;" alt="">
+                <div>新入驻</div>
+            </div>
+            <div class="little-item" v-if="hideShow2" @click="showHide({index:2,hide:false})">
+                <img src="../assetsPre/newInfo.png" style="width:20px;height:18px;" alt="">
+                <div>新订单</div>
+            </div>
+
+            <div class="little-item" @click="sendMsg" style="text-align:center">
                 <el-badge is-dot :hidden="hasNew==0">
                     <img src="../assetsPre/fankui1.png" style="width:17px;height:18px;" alt="">
                     <div>咨询</div>
@@ -95,7 +104,7 @@ export default {
             if (this.$route.name == 'index') {
                 this.nowMenu = 0
                 this.isBottom = false
-            }else if (this.$route.name == 'business') {
+            } else if (this.$route.name == 'business') {
                 this.nowMenu = parseInt(this.$route.query.serviceId)
                 this.isBottom = true
             } else {
@@ -147,6 +156,8 @@ export default {
             searchKey: '',
             lineLeft: -2,
             isBottom: false,
+            hideShow1: false,
+            hideShow2: false
         }
     },
     beforeDestroy() {
@@ -196,6 +207,17 @@ export default {
         }
     },
     methods: {
+        showHide(style){
+            console.log(style)
+            if(style.index==1){
+                this.hideShow1=style.hide
+                this.$refs.child.hideShow1=style.hide
+            }
+            else{
+                 this.hideShow2=style.hide
+                 this.$refs.child.hideShow2=style.hide
+            }
+        },
         search() {
             if (!this.searchKey) {
                 this.$message.warning('搜索内容不能为空!');
@@ -506,6 +528,7 @@ export default {
     background: rgba(255, 255, 255, 1);
     border: 1px solid rgba(234, 234, 234, 1);
     cursor: pointer;
+    z-index: 999;
     .little-item {
         padding: 8px 11px 8px;
         &:not(:last-child) {

+ 12 - 6
src/main/vue/src/pagesPre/BackPassword.vue

@@ -18,7 +18,7 @@
                     </el-form-item>
                     <el-form-item prop="code" label="短信验证码">
                         <el-input v-model="formData.code" placeholder="请输入验证码" style="width:204px;"></el-input>
-                        <el-button plain style="width:110px;" @click="startSend">{{isSend?'已发送('+startNum+'S)':'获取验证码'}}</el-button>
+                        <el-button plain style="width:110px;" :hidden='isSend' @click="startSend">{{isSend?'已发送('+startNum+'S)':'获取验证码'}}</el-button>
                     </el-form-item>
 
                     <el-form-item label="">
@@ -56,6 +56,7 @@
 import formValidator from '../formValidator'
 import systemState from '../pagesPre/SystemState'
 import certificationStep from '../components/CertificationStep'
+import { mapState } from 'vuex'
 
 const baseUrl = process.env.NODE_ENV === 'production' ? '../' : `http://${location.hostname}:8080`;
 export default {
@@ -173,6 +174,9 @@ export default {
             nowIndex: 5
         }
     },
+    computed: {
+        ...mapState(['msgCode']),
+    },
     methods: {
         onSave() {
             this.loading = true
@@ -218,7 +222,9 @@ export default {
         getNext(i) {
             this.nowIndex = i
             if (i == 0) {
-                history.back()
+                if (this.$route.query.name == 'backPassword') {
+                    history.back()
+                }
             }
             else {
                 setTimeout(() => {
@@ -237,7 +243,7 @@ export default {
             this.checkHas({ phone: this.formData.phone }).then((result) => {
                 console.log(result)
                 if (result) {
-                    this.sendMeg(this.formData.phone).then((json) => {
+                    this.sendMeg(this.formData.phone,this.msgCode['信息变更']).then((json) => {
                         if (json.success) {
                             this.$message.success('发送成功')
                             this.backCode = json.data
@@ -251,7 +257,7 @@ export default {
                     })
                 }
                 else {
-                    this.$message.warning('手机号未绑定用户')
+                    this.$message.warning('手机号未绑定用户')
                 }
             })
 
@@ -279,9 +285,9 @@ export default {
                 }
                 else {
                     this.$http.get({
-                        url: '/rong/verifyCode',
+                        url: '/aliapi/verifyMsgCode',
                         data: {
-                            sessionId: this.backCode,
+                            // sessionId: this.backCode,
                             code: this.formData.code
                         }
                     }).then(res => {

+ 65 - 8
src/main/vue/src/pagesPre/Index.vue

@@ -95,12 +95,12 @@
                 <img class="sanjiao" :style="{top:quickTop}" src="../assetsPre/quckmenu_sanjiao.png" alt="">
             </div>
 
-            <div class="newRight" id='newRight'>
+            <div class="newRight" id='newRight' :style="{position:quickFixed?'fixed':'absolute'}">
                 <div class="newShop" v-if="!hideShow1" style="margin-bottom:10px">
                     <div class="newShop-name">
                         <img src="../assetsPre/newShop.png" alt="">
                         <span>新入驻</span>
-                        <i class="el-icon-close" id='close1' @click="hideShow1=true"></i>
+                        <i class="el-icon-close" id='close1' @click="showHide(1)"></i>
                     </div>
                     <div class="newShop-list">
                         <router-link :to='{name:"shop",query:{id:item.id,breHref:breHref}}' class="newShop-item" v-for="item in newShop">
@@ -115,7 +115,7 @@
                     <div class="newShop-name">
                         <img src="../assetsPre/newInfo.png" alt="">
                         <span>新订单</span>
-                        <i class="el-icon-close" id='close1' @click="hideShow2=true"></i>
+                        <i class="el-icon-close" id='close1' @click="showHide(2)"></i>
                     </div>
 
                     <div class="newShop-list">
@@ -130,7 +130,7 @@
 
         </div>
 
-        <div class="minRight">
+        <!-- <div class="minRight">
             <el-tooltip v-if="hideShow1" content="新入驻" placement="left" effect="light">
                 <div class="minRight-item" @click="hideShow1=false">
                     <img src="../assetsPre/newShop.png" alt="">
@@ -142,7 +142,7 @@
                     <img src="../assetsPre/newInfo.png" alt="">
                 </div>
             </el-tooltip>
-        </div>
+        </div> -->
 
         <menuFoot></menuFoot>
 
@@ -152,15 +152,31 @@
 <script>
 var newShopLeft = 100;
 window.onresize = function () {
-    if (document.getElementById('allConatiner')) {
+    console.log(document.getElementById('container').scrollTop)
+    if (document.getElementById('container').scrollTop < 600) {
+        if (document.getElementById('allConatiner')) {
+            if (document.getElementById('allConatiner').offsetWidth <= 1750 && document.getElementById('allConatiner').offsetWidth > 1390) {
+                document.getElementById('newRight').style.right = 0 - (document.getElementById('allConatiner').offsetWidth - 1390) / 2 + 'px'
+            }
+            else if (document.getElementById('allConatiner').offsetWidth <= 1390) {
+                document.getElementById('newRight').style.right = 0
+            }
+            else {
+                document.getElementById('newRight').style.right = '-180px'
+
+            }
+        }
+    }
+    else {
+        document.getElementById('newRight').style.top = '100px'
         if (document.getElementById('allConatiner').offsetWidth <= 1750 && document.getElementById('allConatiner').offsetWidth > 1390) {
-            document.getElementById('newRight').style.right = 0 - (document.getElementById('allConatiner').offsetWidth - 1390) / 2 + 'px'
+            document.getElementById('newRight').style.right = 0
         }
         else if (document.getElementById('allConatiner').offsetWidth <= 1390) {
             document.getElementById('newRight').style.right = 0
         }
         else {
-            document.getElementById('newRight').style.right = '-180px'
+            document.getElementById('newRight').style.right = '90px'
 
         }
     }
@@ -286,6 +302,16 @@ export default {
         //     }
         //     return time
         // },
+         showHide(style){
+            if(style==1){
+                this.hideShow1=true
+                this.$emit('showHide',{index:1,hide:true})
+            }
+            else{
+                 this.hideShow2=true
+                this.$emit('showHide',{index:2,hide:true})
+            }
+        },
         goBanner(banner) {
             console.log(banner)
             if (banner) {
@@ -314,6 +340,37 @@ export default {
             if (this.nowShort == -1) {
                 this.nowShort = 0
             }
+
+            console.log(this.quickFixed)
+            if (this.quickFixed) {
+                document.getElementById('newRight').style.top = '100px'
+                if (document.getElementById('allConatiner').offsetWidth <= 1750 && document.getElementById('allConatiner').offsetWidth > 1390) {
+                    document.getElementById('newRight').style.right = 0
+                }
+                else if (document.getElementById('allConatiner').offsetWidth <= 1390) {
+                    document.getElementById('newRight').style.right = 0
+                }
+                else {
+                    document.getElementById('newRight').style.right = '90px'
+
+                }
+            }
+            else {
+                if (document.getElementById('allConatiner')) {
+                    if (document.getElementById('allConatiner').offsetWidth <= 1750 && document.getElementById('allConatiner').offsetWidth > 1390) {
+                        document.getElementById('newRight').style.right = 0 - (document.getElementById('allConatiner').offsetWidth - 1390) / 2 + 'px'
+                    }
+                    else if (document.getElementById('allConatiner').offsetWidth <= 1390) {
+                        document.getElementById('newRight').style.right = 0
+                    }
+                    else {
+                        document.getElementById('newRight').style.right = '-180px'
+
+                    }
+                }
+            }
+
+
         },
         goMenu(index) {
             document.getElementById('container').scrollTop = document.getElementById('box' + index).offsetTop + 730 - 250

+ 8 - 4
src/main/vue/src/pagesPre/Login.vue

@@ -91,6 +91,7 @@
 <script>
 import logoHead from '../pagesPre/LogoHead'
 import logoFoot from '../pagesPre/LogoFoot'
+import { mapState } from 'vuex'
 export default {
     data() {
         return {
@@ -108,6 +109,10 @@ export default {
             isSend: false,
         }
     },
+    computed: {
+        ...mapState(['brefName','msgCode']),
+    },
+
     methods: {
         login() {
             this.$refs.form.validate(valid => {
@@ -131,7 +136,7 @@ export default {
                         this.loading = false;
                         if (res.success) {
 
-                            if (history.length > 2 && !this.$route.query.goIndex) {
+                            if (this.brefName) {
                                 history.back()
                             }
                             else {
@@ -168,13 +173,12 @@ export default {
                             phone: this.userInfo.phone,
                             code: this.userInfo.code,
                             remember: this.rememberMe,
-                            sessionId: this.realCode
                         }
                     }).then(res => {
                         this.loading = false;
                         if (res.success) {
 
-                            if (history.length > 2 && !this.$route.query.goIndex) {
+                            if (this.brefName) {
                                 history.back()
                             }
                             else {
@@ -203,7 +207,7 @@ export default {
             this.isSend = true
             this.getTime()
 
-            this.sendMeg(this.userInfo.phone).then((json) => {
+            this.sendMeg(this.userInfo.phone,this.msgCode['登录确认']).then((json) => {
                 if (json.success) {
                     this.$message.success('发送成功')
                     this.realCode = json.data

+ 5 - 3
src/main/vue/src/pagesPre/LogoFoot.vue

@@ -4,7 +4,7 @@
             <div class="Foot">
                 <div class="foot-top">
                     <ul class='short-enter'>
-                         <li>
+                        <li>
                             <router-link :to='{name:"index"}'>首页</router-link>
                         </li>
                         <li v-for="(item,index) in serviceType">
@@ -41,7 +41,7 @@
                             友情链接
                         </li>
                         <li v-for="item in linkList">
-                            <a :href='item.url'>{{item.linkName}}</a>
+                            <a href='javascript:void(0)' @click="goHref(item.url)">{{item.linkName}}</a>
                         </li>
 
                     </ul>
@@ -103,7 +103,9 @@ export default {
 
     },
     methods: {
-
+        goHref(href) {
+            window.open(href)
+        }
     }
 }
 </script>

+ 5 - 2
src/main/vue/src/pagesPre/LogoHead.vue

@@ -2,7 +2,7 @@
     <div style="background:#fff">
         <div class="HeadContent" :style="{height:isLogin?'119px':'100px',lineHeight:isLogin?'119px':'100px'}">
             <div class="Head">
-                <img class="logo" src="../assetsPre/logo.png" alt="">
+                <img class="logo" @click="goIndex" src="../assetsPre/logo.png" alt="">
                 <div class="line">
                     |
                 </div>
@@ -59,7 +59,9 @@ export default {
 
     },
     methods: {
-
+        goIndex() {
+            this.$router.push('/index')
+        }
     },
     components: {
         logo
@@ -85,6 +87,7 @@ export default {
         height: 54px;
         vertical-align: middle;
         display: inline-block;
+        cursor: pointer;
     }
 
     .line {

+ 115 - 13
src/main/vue/src/pagesPre/MemberMoney.vue

@@ -16,7 +16,7 @@
                 </div>
             </div>
 
-            <el-button type="primary" class="apply" @click="imageDialogVisible=true">申请提现</el-button>
+            <el-button type="primary" class="apply" @click="imageDialogVisible=true" v-if="userInfo.storeFlag=='Y'">申请提现</el-button>
 
         </div>
 
@@ -35,48 +35,61 @@
             </el-table-column>
 
         </el-table>
-        <div class="pagination-wrapper">
+        <div class="pagination-wrapper" style="padding:20px 0;">
 
             <el-pagination v-if="totalNumber>pageSize" background @current-change="currentPageChange" :page-size="pageSize" layout="total, prev, pager, next" :total="totalNumber">
             </el-pagination>
         </div>
 
-        <el-dialog class="applyContent" title="申请提现" width="50%" :visible.sync="imageDialogVisible" size="small">
+        <el-dialog class="applyContent" title="申请提现" width="30%" :visible.sync="imageDialogVisible">
             <el-tabs v-model="activeName">
                 <el-tab-pane label="微信" name="0">
-                    <el-form :model="formData" ref="form" :rules="rules" label-width="80px" label-position="right" size="small" style="max-width:400px;">
+                    <el-form :model="formData" ref="form" :rules="rules" label-width="80px" label-position="right" style="max-width:300px;">
                         <el-form-item prop="money" label="提现金额">
                             <el-input-number v-model="formData.money" :step="100" :min="0"></el-input-number>
                         </el-form-item>
 
-                        <el-form-item prop="wechat" label="提现到的微信号">
-                            <el-input-number v-model="formData.wechat" :step="100" :min="0"></el-input-number>
+                        <el-form-item prop="wechat" label="微信号">
+                            <el-input v-model="formData.wechat" placeholder="提现到的微信账号"></el-input>
                         </el-form-item>
 
                     </el-form>
 
                 </el-tab-pane>
                 <el-tab-pane label="支付宝" name="1">
-                    <el-form :model="formData" ref="form" :rules="rules" label-width="80px" label-position="right" size="small" style="max-width:400px;">
+                    <el-form :model="formData" ref="form1" :rules="rules1" label-width="80px" label-position="right" style="max-width:300px;">
                         <el-form-item prop="money" label="提现金额">
                             <el-input-number v-model="formData.money" :step="100" :min="0"></el-input-number>
                         </el-form-item>
-                        <el-form-item prop="wechat" label="提现到的支付宝账号">
-                            <el-input-number v-model="formData.wechat" :step="100" :min="0"></el-input-number>
+                        <el-form-item prop="alipay" label="支付宝">
+                            <el-input v-model="formData.alipay" placeholder="提现到的支付宝账号"></el-input>
                         </el-form-item>
+
                     </el-form>
                 </el-tab-pane>
                 <el-tab-pane label="银行卡" name="2">
-                    <el-form :model="formData" ref="form" :rules="rules" label-width="80px" label-position="right" size="small" style="max-width:400px;">
+                    <el-form :model="formData" ref="form2" :rules="rules2" label-width="80px" label-position="right" style="max-width:300px;">
                         <el-form-item prop="money" label="提现金额">
                             <el-input-number v-model="formData.money" :step="100" :min="0"></el-input-number>
                         </el-form-item>
-                        <el-form-item prop="wechat" label="提现到的支付宝账号">
-                            <el-input-number v-model="formData.wechat" :step="100" :min="0"></el-input-number>
+                        <el-form-item prop="bankCard" label="银行卡">
+                            <el-input v-model="formData.bankCard" placeholder="提现到的银行卡"></el-input>
+                        </el-form-item>
+                        <el-form-item prop="bankName" label="银行名称">
+                            <el-input v-model="formData.bankName" placeholder="银行名称"></el-input>
+                        </el-form-item>
+                        <el-form-item prop="openName" label="开户行">
+                            <el-input v-model="formData.openName" placeholder="开户行名称"></el-input>
                         </el-form-item>
                     </el-form>
                 </el-tab-pane>
+
             </el-tabs>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="imageDialogVisible = false">取 消</el-button>
+                <el-button @click="onsave" type="primary">确认</el-button>
+            </span>
+
         </el-dialog>
 
     </div>
@@ -98,6 +111,41 @@ export default {
             rules: {
                 money: [
                     { required: true, message: '提现金额不能为空', trigger: 'blur' },
+                ],
+                wechat: [
+                    {
+                        required: true, message: '微信账号不能为空', trigger: 'blur'
+                    }
+                ]
+            },
+            rules1: {
+                money: [
+                    { required: true, message: '提现金额不能为空', trigger: 'blur' },
+                ],
+                alipay: [
+                    {
+                        required: true, message: '支付宝账号不能为空', trigger: 'blur'
+                    }
+                ]
+            },
+            rules2: {
+                money: [
+                    { required: true, message: '提现金额不能为空', trigger: 'blur' },
+                ],
+                bankCard: [
+                    {
+                        required: true, message: '银行卡号不能为空', trigger: 'blur'
+                    }
+                ],
+                bankName: [
+                    {
+                        required: true, message: '银行名称不能为空', trigger: 'blur'
+                    }
+                ],
+                openName: [
+                    {
+                        required: true, message: '开户行不能为空', trigger: 'blur'
+                    }
                 ]
             },
             totalNumber: 0,
@@ -174,7 +222,7 @@ export default {
             advancedQuerySearchKey: '',
             orderByStr: '',
             imgSrc: '',
-            imageDialogVisible: true,
+            imageDialogVisible: false,
             activeName: '0'
         }
     },
@@ -185,6 +233,60 @@ export default {
         }
     },
     methods: {
+        onsave() {
+            var data = {
+                userId: this.userInfo.id,
+                money: this.formData.money
+            }
+            if (this.activeName == '0') {
+                this.$refs.form.validate((valid) => {
+                    if (valid) {
+                        data.wechat = this.formData.wechat
+                        this.submit(data);
+                    } else {
+                        return false;
+                    }
+                });
+            }
+            else if (this.activeName == '1') {
+                this.$refs.form1.validate((valid) => {
+                    if (valid) {
+                        data.alipay = this.formData.alipay
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            }
+            else {
+                this.$refs.form2.validate((valid) => {
+                    if (valid) {
+                        data.bankCard = this.formData.bankCard
+                        data.bankName = this.formData.bankName
+                        data.openName = this.formData.openName
+                        this.submit();
+                    } else {
+                        return false;
+                    }
+                });
+            }
+        },
+        submit(data) {
+
+            this.$http.post({
+                url: '/memberCoinTixian/save',
+                data: data
+            }).then(res => {
+                if (res.success) {
+                    this.imageDialogVisible = false
+                    this.$alert('您的申请已提交,请耐心等待', '提交成功', {
+                        confirmButtonText: '确定',
+                        callback: action => {
+                        }
+                    });
+                }
+            })
+        },
         pageSizeChange(size) {
             this.currentPage = 1;
             this.pageSize = size;

+ 17 - 15
src/main/vue/src/pagesPre/OrderUpload.vue

@@ -3,7 +3,11 @@
         <div class="top" v-if="orderInfo.productInfo">
             <span>订单号:{{orderInfo.orderCode}}</span>
             <span style="margin-left:20px;">{{orderInfo.productInfo.title}}</span>
-            <el-button type="primary" v-if="canUploadNum>0" class="btn" @click="dialogVisible=true,upLoadImg=[],addImage=[],num=0">上传图片</el-button>
+            <span style="font-size:14px;margin-left:20px;">已上传/总张数:{{orderImage.length}} / {{orderInfo.quantity}}</span>
+            <span v-if="canUploadNum<0" style="font-size:14px;color:red;margin-left:10px">超出{{0-canUploadNum}}张</span>
+            <el-button type="primary" v-if="canUploadNum>0" class="btn" @click="dialogVisible=true,upLoadImg=[],addImage=[],num=0,maxNum=orderInfo.quantity-orderImage.length">上传图片</el-button>
+
+            <el-button style="float:right;margin:20px;" v-if='canSubmit&&canUploadNum==0' type="warning" class="btn" @click="submit">确定</el-button>
         </div>
 
         <!-- <el-upload class="upload-demo" :file-list="upLoadImg" drag :limit="canUploadNum" :action="url" :before-upload="handleOn" multiple :on-success='handleSuccess' :on-remove="handleRemove">
@@ -14,7 +18,7 @@
             <div class="el-upload__tip" slot="tip">只能上传RGB图片类型的jpg/png文件,当前已上传{{addImage.length}}张图片,还可以上传{{canUploadNum-addImage.length}}张</div>
         </el-upload> -->
 
-        <el-dialog title="上传图片" :visible.sync="dialogVisible" width="400px" :close-on-click-modal='false'>
+        <el-dialog title="上传图片" class="uploadDialog" :visible.sync="dialogVisible" width="80%" top="50px" :close-on-click-modal='false'>
             <div v-if="tip.length>0" class="tip" style="margin-bottom:10px;">
                 <template v-if="tip[0].indexOf('正在压缩')!=-1">
                     <i class="el-icon-loading"></i>{{tip[0]}}请不要关闭窗口耐心等待
@@ -23,7 +27,7 @@
                     {{tip[0]}}
                 </template>
             </div>
-            <el-upload class="upload-demo" :file-list="upLoadImg" drag :action="url" :before-upload="handleOn" :on-progress='handleProgress' multiple :on-success='handleSuccess' :on-remove="handleRemove" :on-error='handleError'>
+            <el-upload class="upload-demo" style="width:100%" :limit="maxNum" :file-list="upLoadImg" drag :action="url" :before-upload="handleOn" :on-progress='handleProgress' multiple :on-success='handleSuccess' :on-remove="handleRemove" :on-error='handleError'>
                 <i class="el-icon-upload"></i>
                 <div class="el-upload__text">将文件拖到此处,或
                     <em>点击上传</em>
@@ -36,7 +40,7 @@
             <template v-if="orderImage.length>0">
                 <div class="title">原片</div>
                 <div class="imgList">
-                    <img-item v-for="(item,index) in orderImage" @changeRemark="getImage" :canCancel='canSubmit' :storeType='true' :label='"originalImage"' :index='index' :img='item' :imgStyle='"upload"' @delImg='getImage' style="display:inline-block;margin:0 30px 30px 0;"></img-item>
+                    <img-item v-for="(item,index) in orderImage" @changeRemark="getImage" :canCancel='canSubmit' :storeType='true' :label='"originalImage"' :index='index' :img='item' :imgStyle='"upload"' @delImg='delImg' style="display:inline-block;margin:0 30px 30px 0;"></img-item>
                 </div>
             </template>
 
@@ -47,13 +51,6 @@
 
         </div>
 
-        <div class="bottom">
-            <span>已上传/总张数:{{orderImage.length}} / {{orderInfo.quantity}}</span>
-            <span v-if="canUploadNum<0" style="color:red;margin-left:10px">超出{{0-canUploadNum}}张</span>
-            <el-button style="float:right;margin:10px;" v-if='canSubmit&&canUploadNum==0' type="warning" class="btn" @click="submit">确定</el-button>
-
-        </div>
-
     </div>
 </template>
 <script>
@@ -127,7 +124,8 @@ export default {
             num: 0,
             loading: false,
             tip: [],
-            realNum: 0
+            realNum: 0,
+            maxNum:0,
         }
     },
     methods: {
@@ -187,7 +185,7 @@ export default {
 
 
             if (this.orderImgId.indexOf(res.data[0].id) == -1) {
-                this.orderImage.splice(0,0,res.data[0])
+                this.orderImage.splice(0, 0, res.data[0])
             }
             else {
                 this.orderImage.splice(this.orderImgId.indexOf(res.data[0].id), 1, res.data[0])
@@ -222,8 +220,12 @@ export default {
 
             return isJPG
         },
-        delImg(index) {
-            this.addImage.splice(index, 1)
+        delImg(id) {
+
+            if (this.orderImgId.indexOf(id) != -1) {
+                this.orderImage.splice(this.orderImgId.indexOf(id), 1)
+            }
+
         },
         upload() {
             this.saveImage(0)

+ 21 - 15
src/main/vue/src/pagesPre/Register.vue

@@ -4,13 +4,14 @@
             <el-tab-pane label="商家注册" name="first">
                 <el-form v-if="!isSuccess1" :model="formData1" :rules="rules1" ref="form1" label-width="100px" label-position="right" size="small" style="max-width: 420px;margin-top:20px;">
                     <el-form-item prop="username" label="用户名">
-                        <el-input v-model="formData1.username" placeholder="请输入用户名" maxlength="10" style="width:204px;"></el-input>
+                        <el-input v-model="formData1.username" placeholder="请输入用户名" maxlength="15" style="width:204px;"></el-input>
                     </el-form-item>
                     <el-form-item prop="password" label="设置密码">
-                        <el-input type="password" name='psd' placeholder="6-11位的字母或者数字(必须包含数字字母的组合)" v-model="formData1.password" maxlength="11"></el-input>
+                        <el-input type="password" name='psd' placeholder="6-11位的字母或者数字(必须包含数字字母的组合)" v-model="formData1.password" maxlength="20"></el-input>
+                        <password-level :password='formData1.password'></password-level>
                     </el-form-item>
                     <el-form-item prop="surePassword" label="确认密码">
-                        <el-input type="password" name='surepsd' placeholder="请重复输入密码" v-model="formData1.surePassword" maxlength="11"></el-input>
+                        <el-input type="password" name='surepsd' placeholder="请重复输入密码" v-model="formData1.surePassword" maxlength="20"></el-input>
                     </el-form-item>
                     <el-form-item prop="contacter" label="联系人">
                         <el-input placeholder="请输入联系人" v-model="formData1.contacter" maxlength="8"></el-input>
@@ -49,13 +50,14 @@
             <el-tab-pane label="个人注册" name="second">
                 <el-form v-if="!isSuccess" :model="formData" :rules="rules" ref="form" label-width="100px" label-position="right" size="small" style="max-width: 420px;margin-top:20px;">
                     <el-form-item prop="username" label="用户名">
-                        <el-input v-model="formData.username" placeholder="请输入用户名" maxlength="10" style="width:204px;"></el-input>
+                        <el-input v-model="formData.username" placeholder="请输入用户名" maxlength="15" style="width:204px;"></el-input>
                     </el-form-item>
                     <el-form-item prop="password" label="设置密码">
-                        <el-input type="password" name='psd' placeholder="6-11位的字母或者数字(必须包含数字字母的组合)" v-model="formData.password" maxlength="11"></el-input>
+                        <el-input type="password" name='psd' placeholder="6-20位的字母或者数字(必须包含数字字母的组合)" v-model="formData.password" maxlength="20"></el-input>
+                        <password-level :password='formData.password'></password-level>
                     </el-form-item>
                     <el-form-item prop="surePassword" label="确认密码">
-                        <el-input type="password" name='surepsd' placeholder="请重复输入密码" v-model="formData.surePassword" maxlength="11"></el-input>
+                        <el-input type="password" name='surepsd' placeholder="请重复输入密码" v-model="formData.surePassword" maxlength="20"></el-input>
                     </el-form-item>
                     <el-form-item prop="phone" label="手机号码">
                         <el-input v-model="formData.phone" placeholder="请输入手机号码" maxlength="11"></el-input>
@@ -85,7 +87,8 @@
 <script>
 import formValidator from '../formValidator'
 import systemState from '../pagesPre/SystemState'
-
+import passwordLevel from '../components/PasswordLevel'
+import { mapState } from 'vuex'
 export default {
     created() {
 
@@ -97,6 +100,9 @@ export default {
             }
         });
     },
+    computed:{
+           ...mapState(['msgCode']),
+    },
     data() {
         return {
             companyTypeList: [],
@@ -135,10 +141,10 @@ export default {
                         validator: (rule, value, callback) => {
                             if (!value) {
                                 callback(new Error('请输入密码'));
-                            } else if (/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,11}$/.test(value)) {
+                            } else if (!/^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/.test(value)) {
                                 callback();
                             } else {
-                                callback(new Error('6-11位的字母或者数字(必须包含数字字母的组合)'));
+                                callback(new Error('6-20位的字母、数字和特殊字符(必须包含数字母、数字和特殊字符)'));
                             }
                         }, trigger: 'blur'
                     }
@@ -210,10 +216,10 @@ export default {
                         validator: (rule, value, callback) => {
                             if (!value) {
                                 callback(new Error('请输入密码'));
-                            } else if (/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,11}$/.test(value)) {
+                            } else if (!/^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/.test(value)) {
                                 callback();
                             } else {
-                                callback(new Error('6-11位的字母或者数字(必须包含数字字母的组合)'));
+                                callback(new Error('6-20位的字母、数字和特殊字符(必须包含数字母、数字和特殊字符)'));
                             }
                         }, trigger: 'blur'
                     }
@@ -375,7 +381,7 @@ export default {
                     this.$message.warning('该手机号已经被用户绑定')
                 }
                 else {
-                    this.sendMeg(this.activeName == 'first' ? this.formData1.contactPhone : this.formData.phone).then((json) => {
+                    this.sendMeg(this.activeName == 'first' ? this.formData1.contactPhone : this.formData.phone,this.msgCode['用户注册']).then((json) => {
                         if (json.success) {
                             this.$message.success('发送成功')
                             this.backCode = json.data
@@ -418,9 +424,9 @@ export default {
                 }
                 else {
                     this.$http.get({
-                        url: '/rong/verifyCode',
+                        url: '/aliapi/verifyMsgCode',
                         data: {
-                            sessionId: this.backCode,
+                            // sessionId: this.backCode,
                             code: this.activeName == 'second' ? this.formData.code : this.formData1.code
                         }
                     }).then(res => {
@@ -439,7 +445,7 @@ export default {
         },
     },
     components: {
-        systemState
+        systemState, passwordLevel
     }
 }
 </script>

+ 2 - 2
src/main/vue/src/pagesPre/UserCenter.vue

@@ -12,13 +12,13 @@
 
                     <div class="menu">
                         <div class="menu-item" @click="goNext(pageMenu=='个人中心'?'userCenterHome':'userShop')">
-                            首页
+                            {{pageMenu}}
                         </div>
                         <div class="menu-item" @click="goNext(pageMenu=='个人中心'?'userSet':'customerServices')">
                             账户设置
                         </div>
 
-                        <i class="el-icon-caret-top sanjiao" :style="{left:nowMenu*80+3+'px'}"></i>
+                        <i class="el-icon-caret-top sanjiao" :style="{left:nowMenu*100+13+'px'}"></i>
                     </div>
 
                     <el-input placeholder="请输入内容" v-model="searchKey" class="use-search">

+ 5 - 5
src/main/vue/src/pagesPre/UserSafe.vue

@@ -71,11 +71,11 @@ export default {
             backCode: '',
             startNum: 60,
             isSend: false,
-            changeUser: {}
+            changeUser: {},
         }
     },
     computed: {
-        ...mapState(['userInfo']),
+        ...mapState(['userInfo','msgCode']),
     },
     mounted() {
 
@@ -101,7 +101,7 @@ export default {
                     this.$message.warning('该手机号已经被用户绑定')
                 }
                 else {
-                    this.sendMeg(this.changeUser.phone).then((json) => {
+                    this.sendMeg(this.changeUser.phone,this.msgCode['信息变更']).then((json) => {
                         if (json.success) {
                             this.$message.success('发送成功')
                             this.backCode = json.data
@@ -140,9 +140,9 @@ export default {
                 }
                 else {
                     this.$http.get({
-                        url: '/rong/verifyCode',
+                        url: '/aliapi/verifyMsgCode',
                         data: {
-                            sessionId: this.backCode,
+                            // sessionId: this.backCode,
                             code: this.code
                         }
                     }).then(res => {

+ 4 - 0
src/main/vue/src/routerPre/index.js

@@ -430,6 +430,10 @@ router.beforeEach((to, from, next) => {
         return;
     }
 
+    if (from.name != 'login' && from.name != 'register' && from.name != 'backPassword') {
+        store.commit('updateBrefName', from.name)
+    }
+
     if (store.state.userInfo) {
         axios.get('/usersSession/all', {
             params: {

+ 13 - 1
src/main/vue/src/vuexPre/index.js

@@ -22,9 +22,21 @@ export default new Vuex.Store({
         IMConnected: false,
         conversationList: [],
         myStoreInfo: {},
-        storeConversationList: []
+        storeConversationList: [],
+        brefName: '',
+        msgCode: {
+            '身份验证': 'SMS_144435052',
+            '登录确认': 'SMS_144435051',
+            '登录异常': 'SMS_144435050',
+            '用户注册': 'SMS_144435049',
+            '修改密码': 'SMS_144435049',
+            '信息变更': 'SMS_144435049',
+        }
     },
     mutations: {
+        updateBrefName(state, brefName) {
+            state.brefName = brefName
+        },
         updateTableHeight(state, height) {
             state.tableHeight = height;
         },

+ 1 - 1
src/main/webapp/WEB-INF/html/admin.html

@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><script src=/static/fontawesome-v5.2.0.js></script><link href=/static/css/admin.da4f73e09f989b1618ebd295c1c6c122.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.5600a103b30387cce166.js></script><script type=text/javascript src=/static/js/vendor.5ea22418dbbc96d13497.js></script><script type=text/javascript src=/static/js/admin.631c1407151da134355c.js></script></body></html>
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><script src=/static/fontawesome-v5.2.0.js></script><link href=/static/css/admin.da4f73e09f989b1618ebd295c1c6c122.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.453d4f42ef115a9169eb.js></script><script type=text/javascript src=/static/js/vendor.5ea22418dbbc96d13497.js></script><script type=text/javascript src=/static/js/admin.fabd74504a25e769d84a.js></script></body></html>

+ 1 - 1
src/main/webapp/WEB-INF/html/index.html

@@ -5,7 +5,7 @@
             position: absolute;
             top: 0;
             left: 0;
-        }</style><link href=/static/css/index.c3f81ededc7f761ef715571998831ee4.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.5600a103b30387cce166.js></script><script type=text/javascript src=/static/js/vendor.5ea22418dbbc96d13497.js></script><script type=text/javascript src=/static/js/index.cf2571da6eae8bd4f073.js></script></body><script>var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
+        }</style><link href=/static/css/index.e3275ed11be0caa0bafe4fa6d375f510.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.453d4f42ef115a9169eb.js></script><script type=text/javascript src=/static/js/vendor.5ea22418dbbc96d13497.js></script><script type=text/javascript src=/static/js/index.23983cd9ce1f9923491a.js></script></body><script>var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
     var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
     var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
     var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
src/main/webapp/static/css/index.c3f81ededc7f761ef715571998831ee4.css


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
src/main/webapp/static/css/index.e3275ed11be0caa0bafe4fa6d375f510.css


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/10.7d70ef2eca341040e1e5.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/10.b7e721b1545c9dd8c39e.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/11.2d09cd327a06b8bb2d88.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/11.4dc9bb065474b5c3501d.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/125.894f6e0b5da4094859a9.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/126.5b46a6f1d81f0a2d5d68.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/127.9a0d209ef40cf5c475fd.js


+ 1 - 1
src/main/webapp/static/js/127.b7ff012a797c150fcd49.js → src/main/webapp/static/js/128.ea71240b3370ae2096f3.js

@@ -1 +1 @@
-webpackJsonp([127],{V8wA:function(t,e){},izdZ:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});r("NYxO");var i={created:function(){this.getIframeSrc()},data:function(){return{iframeSrc:"/404"}},computed:{height:function(){return window.innerHeight-104+"px"}},methods:{getIframeSrc:function(){this.iframeSrc=this.$route.query.code}},watch:{$route:function(){this.getIframeSrc()}}},n={render:function(){var t=this.$createElement;return(this._self._c||t)("iframe",{staticClass:"iframe",attrs:{src:this.iframeSrc,height:this.height,width:"100%"}})},staticRenderFns:[]};var c=r("VU/8")(i,n,!1,function(t){r("V8wA")},"data-v-6d20da16",null);e.default=c.exports}});
+webpackJsonp([128],{V8wA:function(t,e){},izdZ:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});r("NYxO");var i={created:function(){this.getIframeSrc()},data:function(){return{iframeSrc:"/404"}},computed:{height:function(){return window.innerHeight-104+"px"}},methods:{getIframeSrc:function(){this.iframeSrc=this.$route.query.code}},watch:{$route:function(){this.getIframeSrc()}}},n={render:function(){var t=this.$createElement;return(this._self._c||t)("iframe",{staticClass:"iframe",attrs:{src:this.iframeSrc,height:this.height,width:"100%"}})},staticRenderFns:[]};var c=r("VU/8")(i,n,!1,function(t){r("V8wA")},"data-v-6d20da16",null);e.default=c.exports}});

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/129.aed0a3842f43db1cf959.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/13.b5b79c87ce978d25f39f.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/13.faf5ce849edead2b8df6.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/130.e6928b54045bd5b5e572.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/131.3eea8ef492e03434c757.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/132.39cbc326421314c1d105.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/133.2af76765605801771840.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/136.d1007a042f82f6660afa.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/137.38177380e703b80537d4.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/138.10b348324acf23a04b57.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/138.d5f4d9a74cbc93fd0bf0.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/14.1c922e2f0edf9f22236b.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/14.83480e1cfd439cd53196.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/16.a4e86dc39a4b9c05d599.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/17.3143e27edd27fe68ee08.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/17.7d7011f818717a5adc56.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/18.7f0c3916026370b1b976.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/18.c91e3462fd829a187f33.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/19.468b290b58e91f3e4573.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/19.a07ac0b3176f2c8283a3.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/20.4bd5a1dd15d71b57d3b0.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/20.83d530d1d40eefec7b0d.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/21.28b42f25e6cf3c799602.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/21.37b039f1ed85dd4251d3.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/22.40679665e70ca8a9823d.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/22.ac64b5b99d615e3bd613.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/23.1b63a1644fcc9546b299.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/23.da25b5bc27bbfdb04d2f.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/25.0241b6b25b3a26496956.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/25.3352bce63bce6e52d889.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/26.49858d1c4c3e747f09e9.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/29.80023569d0ff6ea14373.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/29.f230ce955018645a6f14.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/32.4a3a4f435434900d9fd8.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/32.d7c1a23dc4a3f456a9b2.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/33.6f6794c6d4910744faae.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/33.e9268e7c0771bc83070c.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/34.12ef10bc26a56495ee6a.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/34.f5a496d95f818236cafe.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/35.dc9a999833208a768b11.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/35.fca36f7e9fcc9b903f7a.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/38.5b733cdac78f421b9bce.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/38.b743bd982271c6fa2336.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/39.3b3e0dfe6826212b887b.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/admin.631c1407151da134355c.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/admin.fabd74504a25e769d84a.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/index.23983cd9ce1f9923491a.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/index.cf2571da6eae8bd4f073.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/main/webapp/static/js/manifest.453d4f42ef115a9169eb.js


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov