1
0
panhui 7 жил өмнө
parent
commit
82f940e97c
100 өөрчлөгдсөн 520 нэмэгдсэн , 58 устгасан
  1. BIN
      src/main/vue/src/assetsPre/startLogo.png
  2. 14 2
      src/main/vue/src/components/GoodsLarge.vue
  3. 14 6
      src/main/vue/src/components/GoodsLittle.vue
  4. 1 1
      src/main/vue/src/components/ImgItem.vue
  5. 317 0
      src/main/vue/src/pagesPre/BackPassword.vue
  6. 55 5
      src/main/vue/src/pagesPre/CustomerService.vue
  7. 56 4
      src/main/vue/src/pagesPre/Login.vue
  8. 2 2
      src/main/vue/src/pagesPre/MemberPoint.vue
  9. 1 0
      src/main/vue/src/pagesPre/OrderUpload.vue
  10. 1 1
      src/main/vue/src/pagesPre/Product.vue
  11. 3 1
      src/main/vue/src/pagesPre/ProductInfo.vue
  12. 5 5
      src/main/vue/src/pagesPre/Register.vue
  13. 1 1
      src/main/vue/src/pagesPre/SetStoreInfo.vue
  14. 1 1
      src/main/vue/src/pagesPre/StoreChat.vue
  15. 1 1
      src/main/vue/src/pagesPre/SystemState.vue
  16. 7 5
      src/main/vue/src/pagesPre/UserCenter.vue
  17. 9 7
      src/main/vue/src/pagesPre/UserCenterHome.vue
  18. 17 10
      src/main/vue/src/pagesPre/UserCertification.vue
  19. 1 0
      src/main/vue/src/pagesPre/UserSet.vue
  20. 8 0
      src/main/vue/src/routerPre/index.js
  21. 1 1
      src/main/webapp/WEB-INF/html/admin.html
  22. 1 1
      src/main/webapp/WEB-INF/html/index.html
  23. 0 1
      src/main/webapp/static/css/index.258b2b34108a6154bcd736380d7f6936.css
  24. 1 0
      src/main/webapp/static/css/index.e2f6c189030abc1535b85d6b98721b1a.css
  25. 0 0
      src/main/webapp/static/js/10.2c0f428d204e6c60082c.js
  26. 0 0
      src/main/webapp/static/js/10.dce245f3d8f61643af6c.js
  27. 0 0
      src/main/webapp/static/js/100.a430df97155de3ad2d3d.js
  28. 0 0
      src/main/webapp/static/js/101.16b63bcdaac73e6f0f36.js
  29. 1 1
      src/main/webapp/static/js/102.fa40befe33c1c89ee730.js
  30. 0 0
      src/main/webapp/static/js/103.259068dc52375efb9cb1.js
  31. 0 0
      src/main/webapp/static/js/104.f444dae9aa781d2803d6.js
  32. 0 0
      src/main/webapp/static/js/105.9ab800dedb7b96597e5d.js
  33. 0 0
      src/main/webapp/static/js/106.4b059e93f12fcce3ca83.js
  34. 0 0
      src/main/webapp/static/js/107.76d30c3cc7e76fa71b3c.js
  35. 0 0
      src/main/webapp/static/js/108.e89cf32aa08041ddb17a.js
  36. 0 0
      src/main/webapp/static/js/109.4e16201c3dfe62f1111b.js
  37. 0 0
      src/main/webapp/static/js/110.fa0664e22e07c6d2dc3e.js
  38. 0 0
      src/main/webapp/static/js/111.bdf2d4aef3dddf27b982.js
  39. 0 0
      src/main/webapp/static/js/112.c4f9e30e9ef39acd2ba9.js
  40. 0 0
      src/main/webapp/static/js/113.d6cacab9f32c6eab45a0.js
  41. 0 0
      src/main/webapp/static/js/114.87906b7b637e869abf9b.js
  42. 0 0
      src/main/webapp/static/js/115.6d5a172c838fc8c7bc66.js
  43. 0 0
      src/main/webapp/static/js/116.35527a2b1267341bf61e.js
  44. 0 0
      src/main/webapp/static/js/117.c95fe042dccfeeb2a561.js
  45. 0 0
      src/main/webapp/static/js/118.6d5704fe57f204510931.js
  46. 0 0
      src/main/webapp/static/js/119.a242320d8f2aea4cb2f1.js
  47. 0 0
      src/main/webapp/static/js/120.3ee4a13c10b8eeaf3efa.js
  48. 0 0
      src/main/webapp/static/js/121.eec34325efc962eedab5.js
  49. 0 0
      src/main/webapp/static/js/122.c0924b2a3d70f59bc535.js
  50. 0 0
      src/main/webapp/static/js/123.8d9b937639c8f1ab2c87.js
  51. 0 0
      src/main/webapp/static/js/124.8ea635339f33d9d30bfc.js
  52. 0 0
      src/main/webapp/static/js/125.d744efdf00b8aa8348af.js
  53. 0 0
      src/main/webapp/static/js/126.5b46a6f1d81f0a2d5d68.js
  54. 0 0
      src/main/webapp/static/js/127.9a0d209ef40cf5c475fd.js
  55. 1 1
      src/main/webapp/static/js/128.ea71240b3370ae2096f3.js
  56. 0 0
      src/main/webapp/static/js/129.aed0a3842f43db1cf959.js
  57. 0 0
      src/main/webapp/static/js/13.20b85dfd66197e0918f9.js
  58. 0 0
      src/main/webapp/static/js/13.dd1f18d6067411d80d78.js
  59. 0 0
      src/main/webapp/static/js/130.e6928b54045bd5b5e572.js
  60. 0 0
      src/main/webapp/static/js/131.3eea8ef492e03434c757.js
  61. 0 0
      src/main/webapp/static/js/132.39cbc326421314c1d105.js
  62. 0 0
      src/main/webapp/static/js/133.2af76765605801771840.js
  63. 0 0
      src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js
  64. 0 0
      src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js
  65. 0 0
      src/main/webapp/static/js/136.d1007a042f82f6660afa.js
  66. 0 0
      src/main/webapp/static/js/137.38177380e703b80537d4.js
  67. 0 0
      src/main/webapp/static/js/138.10b348324acf23a04b57.js
  68. 0 0
      src/main/webapp/static/js/139.fbd82d35c9eaaa8d5157.js
  69. 1 1
      src/main/webapp/static/js/140.7aa122b7d3aaaacc4793.js
  70. 0 0
      src/main/webapp/static/js/141.340492d60e398800860b.js
  71. 0 0
      src/main/webapp/static/js/142.df9a4206846f9800b77e.js
  72. 0 0
      src/main/webapp/static/js/143.33c7701d2d6c6bcdbca9.js
  73. 0 0
      src/main/webapp/static/js/144.ed071fbb600b12d04eb1.js
  74. 0 0
      src/main/webapp/static/js/145.e2ccb850c12af5a13627.js
  75. 0 0
      src/main/webapp/static/js/146.b22a1fe01a8f4c4c16b3.js
  76. 0 0
      src/main/webapp/static/js/147.ca6a8cac0b3abb47a911.js
  77. 0 0
      src/main/webapp/static/js/148.2d519b10d6a08b49bb23.js
  78. 0 0
      src/main/webapp/static/js/149.9c1dbc9a31662eb55ea6.js
  79. 0 0
      src/main/webapp/static/js/150.1e71ac56b42ab2f4cce6.js
  80. 0 0
      src/main/webapp/static/js/151.44d9183b23b15fa1a61a.js
  81. 0 0
      src/main/webapp/static/js/152.412dfdaed9cdf88b9a6c.js
  82. 0 0
      src/main/webapp/static/js/153.4b9e80c87d3191b8547c.js
  83. 0 0
      src/main/webapp/static/js/154.66f0a30fbc109da9aa8a.js
  84. 0 0
      src/main/webapp/static/js/155.9bdbf911cef273768923.js
  85. 0 0
      src/main/webapp/static/js/156.11dd49c0024b037392e4.js
  86. 0 0
      src/main/webapp/static/js/157.2c5c855b77b9e3409b38.js
  87. 0 0
      src/main/webapp/static/js/158.e2f69d07c15564b6db04.js
  88. 0 0
      src/main/webapp/static/js/159.fa9771e9b64216bf14b0.js
  89. 0 0
      src/main/webapp/static/js/16.89b97548cb9acbc51f7d.js
  90. 0 0
      src/main/webapp/static/js/160.e0ce9da0489bba2090c3.js
  91. 0 0
      src/main/webapp/static/js/161.751a5a8c3f8d87edb633.js
  92. 0 0
      src/main/webapp/static/js/18.a3ba8696a88185624f78.js
  93. 0 0
      src/main/webapp/static/js/18.e4c243b97e16c37b8b68.js
  94. 0 0
      src/main/webapp/static/js/19.11e3d2ae78a33cbea1fb.js
  95. 0 0
      src/main/webapp/static/js/19.c7e6ecd5450742f5e4c2.js
  96. 0 0
      src/main/webapp/static/js/20.9d7097c94411cf7c84e3.js
  97. 0 0
      src/main/webapp/static/js/21.8aaac5e07a8c9e6d7f9c.js
  98. 0 0
      src/main/webapp/static/js/21.f15fd9a693ebbed449ae.js
  99. 0 0
      src/main/webapp/static/js/22.5e5e4424faec5a725403.js
  100. 0 0
      src/main/webapp/static/js/22.e236d6002d6f1a0cf208.js

BIN
src/main/vue/src/assetsPre/startLogo.png


+ 14 - 2
src/main/vue/src/components/GoodsLarge.vue

@@ -21,7 +21,8 @@
             </div>
             </div>
         </div>
         </div>
 
 
-        <img src="../assetsPre/levelA.png" alt="" class="level">
+        <!-- <img src="../assetsPre/levelA.png" alt="" class="level"> -->
+          <div class="level" :style="{backgroundImage:'url('+require('../assetsPre/startLogo.png')+')'}">{{info.credit}}</div>
     </router-link>
     </router-link>
 </template>
 </template>
 
 
@@ -68,8 +69,19 @@ export default {
     .level {
     .level {
         display: inline-block;
         display: inline-block;
         vertical-align: middle;
         vertical-align: middle;
-        width: 58.5px;
+        width: 50px;
         height: 30px;
         height: 30px;
+        position: absolute;
+        right: 0;
+        top: 4px;
+        background-position: center center;
+        background-size: cover;
+        color: #fff;
+        font-size: 18px;
+        font-weight: bold;
+        line-height: 30px;
+        padding-right: 8.5px;
+        text-align: right;
     }
     }
 
 
     .goodsImg {
     .goodsImg {

+ 14 - 6
src/main/vue/src/components/GoodsLittle.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
     <router-link :to='{name:"shop",query:{id:info.id,breHref:breHref}}' class="goods">
     <router-link :to='{name:"shop",query:{id:info.id,breHref:breHref}}' class="goods">
-        <img src="../assetsPre/levelA.png" alt="" class="level">
+        <div class="level" :style="{backgroundImage:'url('+require('../assetsPre/startLogo.png')+')'}">{{info.credit}}</div>
         <div class="goodsImg" :style="{backgroundImage:'url('+info.icon+')'}"></div>
         <div class="goodsImg" :style="{backgroundImage:'url('+info.icon+')'}"></div>
         <div class="title">
         <div class="title">
             <div class="name">{{info.storeName}}</div>
             <div class="name">{{info.storeName}}</div>
@@ -35,13 +35,13 @@ export default {
     computed: {
     computed: {
         breHref() {
         breHref() {
             var str = '首页,/index_;'
             var str = '首页,/index_;'
-            if(this.$route.name == 'index'){
+            if (this.$route.name == 'index') {
 
 
-            }else if (this.$route.name == 'business') {
+            } else if (this.$route.name == 'business') {
                 str += document.title + ',' + this.$route.name + '_;'
                 str += document.title + ',' + this.$route.name + '_;'
             }
             }
-            else{
-                str=document.title +',/index_;'
+            else {
+                str = document.title + ',/index_;'
             }
             }
             return str
             return str
         }
         }
@@ -59,11 +59,19 @@ export default {
     position: relative;
     position: relative;
     display: block;
     display: block;
     .level {
     .level {
-        width: 39px;
+        width: 34px;
         height: 20px;
         height: 20px;
         position: absolute;
         position: absolute;
         right: 0;
         right: 0;
         top: 4px;
         top: 4px;
+        background-position: center center;
+        background-size: cover;
+        color: #fff;
+        font-size: 12px;
+        font-weight: bold;
+        line-height: 20px;
+        padding-right: 5px;
+        text-align: right;
     }
     }
     .goodsImg {
     .goodsImg {
         width: 176px;
         width: 176px;

+ 1 - 1
src/main/vue/src/components/ImgItem.vue

@@ -39,7 +39,7 @@
             <el-dialog :title="(storeType?'查看':'添加/修改')+'备注'" :visible.sync="dialogFormVisible" width='30%'>
             <el-dialog :title="(storeType?'查看':'添加/修改')+'备注'" :visible.sync="dialogFormVisible" width='30%'>
                 <el-form label-width="80px">
                 <el-form label-width="80px">
                     <el-form-item :label="imgStyle=='examine'?'返修备注':'图片备注'">
                     <el-form-item :label="imgStyle=='examine'?'返修备注':'图片备注'">
-                        <el-input type="textarea" v-model="remark" auto-complete="off"></el-input>
+                        <el-input :disabled="storeType" type="textarea" v-model="remark" auto-complete="off"></el-input>
                     </el-form-item>
                     </el-form-item>
                 </el-form>
                 </el-form>
                 <div slot="footer" class="dialog-footer" v-if="!storeType">
                 <div slot="footer" class="dialog-footer" v-if="!storeType">

+ 317 - 0
src/main/vue/src/pagesPre/BackPassword.vue

@@ -0,0 +1,317 @@
+<template>
+    <div style="padding:0 24px 0 24px;">
+        <div class="stepContent">
+            <certificationStep :list='stepList' :nowStep='nowStep'></certificationStep>
+        </div>
+
+        <div class="content">
+            <template v-if="nowStep==1">
+                <el-form :model="formData" :rules="rules" ref="form" label-width="100px" label-position="right" style="max-width: 420px;margin-top:20px;margin:auto">
+
+                    <el-form-item prop="phone" label="手机号码">
+                        <el-input v-model="formData.phone" placeholder="请输入手机号码" maxlength="11"></el-input>
+                    </el-form-item>
+                    <el-form-item prop="imgCode" label="图片验证码">
+                        <el-input v-model="formData.imgCode" placeholder="请输入验证码" style="width:137px;vertical-align: middle;"></el-input>
+                        <img style="widdth:108px;height:39px;vertical-align: middle;margin-left:30px;" :src="baseUrl+'/auth/image?'+autoString" alt="">
+                        <el-button type="text" @click="randomString" style="vertical-align: middle;">换一张</el-button>
+                    </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-form-item>
+
+                    <el-form-item label="">
+                        <el-button type="primary" style="width:204px" @click="onSave">下一步</el-button>
+                    </el-form-item>
+
+                </el-form>
+            </template>
+            <template v-if="nowStep==2">
+                <el-form :model="formData" :rules="rules2" ref="form" label-width="100px" label-position="right" style="max-width: 420px;margin-top:20px;margin:auto">
+                    <el-form-item prop="password" label="设置密码">
+                        <el-input type="password" name='psd' placeholder="6-11位的字母或者数字(必须包含数字字母的组合)" v-model="formData.password" maxlength="11"></el-input>
+                    </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-form-item>
+
+                    <el-form-item label="">
+                        <el-button type="primary" :loading="loading" style="width:320px" @click="onSave">提交修改</el-button>
+                    </el-form-item>
+
+                </el-form>
+            </template>
+
+            <template v-if="nowStep==3">
+
+                <systemState style="margin:auto" class="certain" :next='"login"' :type='"success"' :title="'修改密码成功!'" :subtitle='"请牢记您的新密码,"+nowIndex+"秒后跳转到首页"'></systemState>
+            </template>
+
+        </div>
+
+    </div>
+</template>
+<script>
+import formValidator from '../formValidator'
+import systemState from '../pagesPre/SystemState'
+import certificationStep from '../components/CertificationStep'
+
+const baseUrl = process.env.NODE_ENV === 'production' ? '../' : `http://${location.hostname}:8080`;
+export default {
+    created() {
+        this.randomString()
+        // this.getNext(5)
+    },
+    data() {
+        return {
+            baseUrl,
+            imgCode: {},
+            autoString: '',
+            stepList: ['输入手机号码', '输入新密码', '完成'],
+            nowStep: 1,
+            saving: false,
+            formData: {
+                isRead: false,
+            },
+            rules: {
+
+                phone: [
+                    { required: true, message: '请输入手机号', trigger: 'blur' },
+                    {
+                        validator: (rule, value, callback) => {
+                            if (!value) {
+                                callback(new Error('请输入手机号'));
+                            } else if (/^1[3-9]\d{9}$/.test(value)) {
+                                callback();
+                            } else {
+                                callback(new Error('请输入正确的手机号'));
+                            }
+                        }, trigger: 'blur'
+                    }
+                ],
+                code: [
+                    { required: true, message: '请输入短信验证码', trigger: 'blur' },
+                    {
+                        validator: (rule, value, callback) => {
+                            if (!value) {
+                                callback(new Error('请输入图片验证码'));
+                            }
+                            else if (!this.backCode) {
+                                callback(new Error('请发送验证码'));
+                            } else {
+                                callback();
+                            }
+                        }, trigger: 'blur'
+                    }
+                ],
+                imgCode: [
+                    { required: true, message: '请输入图片验证码', trigger: 'blur' },
+                    {
+                        validator: (rule, value, callback) => {
+                            if (!value) {
+                                callback(new Error('请输入图片验证码'));
+                            } else {
+                                this.$http.get({
+                                    url: '/auth/verify',
+                                    data: {
+                                        code: value,
+                                    }
+                                }).then(res => {
+                                    if (res.success) {
+                                        callback();
+                                    } else {
+                                        callback(new Error('验证码错误'));
+                                    }
+                                });
+                            }
+                        }, trigger: 'blur'
+                    }
+                ]
+            },
+            rules2: {
+
+                password: [
+                    { required: true, message: '请输入密码', trigger: 'blur' },
+                    {
+
+                        validator: (rule, value, callback) => {
+                            if (!value) {
+                                callback(new Error('请输入密码'));
+                            } else if (/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,11}$/.test(value)) {
+                                callback();
+                            } else {
+                                callback(new Error('6-11位的字母或者数字(必须包含数字字母的组合)'));
+                            }
+                        }, trigger: 'blur'
+                    }
+                ],
+                surePassword: [
+                    { required: true, message: '请输入确认密码', trigger: 'blur' },
+                    {
+                        validator: (rule, value, callback) => {
+                            if (!value) {
+                                callback(new Error('请输入确认密码'));
+                            } else if (value == this.formData.password) {
+                                callback();
+                            } else {
+                                callback(new Error('两次密码输入不一致!'));
+                            }
+                        }, trigger: 'blur'
+                    }
+                ],
+
+            },
+            roles: [],
+            departs: [],
+            backCode: '',
+            startNum: 60,
+            isSend: false,
+            isSuccess: false,
+            isSuccess1: false,
+            loading: false,
+            nowIndex: 5
+        }
+    },
+    methods: {
+        onSave() {
+            this.loading = true
+            this.$refs.form.validate((valid) => {
+                if (valid) {
+                    if (this.nowStep == 1) {
+                        this.checkMes().then((result) => {
+                            this.loading = false
+                            if (result) {
+                                this.nowStep++
+                            }
+                        })
+                    }
+                    else {
+                        this.submit()
+                    }
+
+
+                } else {
+                    return false;
+                }
+            });
+        },
+        submit() {
+            this.$http.post({
+                url: '/userInfo/updatePassword',
+                data: {
+                    phone: this.formData.phone,
+                    password: this.formData.password,
+                }
+            }).then(res => {
+                this.loading = false
+                if (res.success) {
+                    this.nowStep++
+                    this.getNext(5)
+                } else {
+                    this.$message.warning('失败')
+                }
+            });
+
+
+        },
+        getNext(i) {
+            this.nowIndex = i
+            if (i == 0) {
+                history.back()
+            }
+            else {
+                setTimeout(() => {
+                    this.getNext(i - 1)
+                }, 1000)
+            }
+        },
+        startSend() {
+            if (!this.checkPhone(this.formData.phone)) {
+                this.$message.warning('手机号格式错误')
+                return
+            }
+
+
+
+            this.checkHas({ phone: this.formData.phone }).then((result) => {
+                console.log(result)
+                if (result) {
+                    this.sendMeg(this.formData.phone).then((json) => {
+                        if (json.success) {
+                            this.$message.success('发送成功')
+                            this.backCode = json.data
+                            this.startNum = 61
+                            this.isSend = true
+                            this.setTime()
+                        }
+                        else {
+                            this.$message.warning(json.error)
+                        }
+                    })
+                }
+                else {
+                    this.$message.warning('改手机号未绑定用户')
+                }
+            })
+
+
+        },
+        setTime() {
+            if (this.startNum == 0) {
+                this.isSend = false
+                return
+            }
+            this.startNum--
+            setTimeout(() => {
+                this.setTime()
+            }, 1000)
+        },
+        checkMes() {
+            return new Promise((resolve, reject) => {
+                if (!this.backCode) {
+                    this.$message.warning('请发送验证码')
+                    resolve(false)
+                }
+                else if (!this.formData.code) {
+                    this.$message.warning('请输入验证码')
+                    resolve(false)
+                }
+                else {
+                    this.$http.get({
+                        url: '/rong/verifyCode',
+                        data: {
+                            sessionId: this.backCode,
+                            code: this.formData.code
+                        }
+                    }).then(res => {
+                        if (res.success) {
+                            resolve(true)
+                        } else {
+                            this.$message.warning(res.error)
+                            resolve(false)
+                        }
+                    });
+                }
+
+            })
+
+
+        },
+        randomString(len) {
+            var pwd = Math.random().toString(36).substr(2);
+
+            console.log(pwd)
+            this.autoString = pwd
+        }
+    },
+    components: {
+        systemState, certificationStep
+    }
+}
+</script>
+<style lang="less" scoped>
+.stepContent {
+    padding: 90px 300px 49px;
+}
+</style>

+ 55 - 5
src/main/vue/src/pagesPre/CustomerService.vue

@@ -4,18 +4,19 @@
             <!-- <el-form-item prop="storeId" label="店铺">
             <!-- <el-form-item prop="storeId" label="店铺">
                 <el-input v-model="formData.storeId" :disabled="'storeId'==subColumn"></el-input>
                 <el-input v-model="formData.storeId" :disabled="'storeId'==subColumn"></el-input>
             </el-form-item> -->
             </el-form-item> -->
-            <el-form-item prop="serviceName" label="客服名">
+            <el-form-item prop="serviceName" label="昵称">
                 <el-input v-model="formData.serviceName" :disabled="'serviceName'==subColumn"></el-input>
                 <el-input v-model="formData.serviceName" :disabled="'serviceName'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
             <el-form-item prop="icon" label="头像">
             <el-form-item prop="icon" label="头像">
                 <single-upload v-model="formData.icon" :disabled="'icon'==subColumn"></single-upload>
                 <single-upload v-model="formData.icon" :disabled="'icon'==subColumn"></single-upload>
+                <span style='color:#999;fonts-size:12px;'>注:建议尺寸 180*180</span>
             </el-form-item>
             </el-form-item>
-            <el-form-item prop="username" label="登录名">
-                <el-input v-model="formData.username" :disabled="'username'==subColumn"></el-input>
+            <el-form-item prop="username" label="账号名">
+                <el-input v-model="formData.username" :disabled="'username'==subColumn" placeholder="英文字母加数字不能含有中文字符"></el-input>
             </el-form-item>
             </el-form-item>
-            <el-form-item prop="password" label="密码">
+            <!-- <el-form-item prop="password" label="密码">
                 <el-input v-model="formData.password" :disabled="'password'==subColumn"></el-input>
                 <el-input v-model="formData.password" :disabled="'password'==subColumn"></el-input>
-            </el-form-item>
+            </el-form-item> -->
             <el-form-item prop="useFlag" label="是否可用">
             <el-form-item prop="useFlag" label="是否可用">
                 <el-switch v-model="formData.useFlag" active-color="#13ce66" inactive-color="#ff4949" :disabled="'useFlag'==subColumn">
                 <el-switch v-model="formData.useFlag" active-color="#13ce66" inactive-color="#ff4949" :disabled="'useFlag'==subColumn">
                 </el-switch>
                 </el-switch>
@@ -84,6 +85,55 @@ export default {
                 useFlag: true,
                 useFlag: true,
             },
             },
             rules: {
             rules: {
+                serviceName: [
+                    { required: true, message: '请输入客服名', trigger: 'blur' },
+                    {
+                        validator: (rule, value, callback) => {
+                            if (!value) {
+                                callback(new Error('请输入用户名'));
+                            } else {
+                                 callback();
+
+                            }
+                        }, trigger: 'blur'
+                    }
+                ],
+                icon: [
+                    { required: true, message: '请上传客服头像', trigger: 'blur' },
+                ],
+                username: [
+                    { required: true, message: '请输入客服账号名', trigger: 'blur' },
+                    {
+                        validator: (rule, value, callback) => {
+                            if (!value) {
+                                callback(new Error('请输入用户名'));
+                            } else if (!/^[a-zA-Z0-9_]{0,}$/.test(value)) {
+                                callback(new Error('不能含有中文'));
+                            }
+                            else {
+                                this.$http.get({
+                                    url: '/customerService/getOne',
+                                    data: {
+                                        username: value
+                                    }
+                                }).then(res => {
+                                    if (res.data) {
+                                        if (res.data.id != this.formData.id) {
+                                            callback(new Error('已存在该账号名'));
+                                        }
+                                        else {
+                                            callback();
+                                        }
+
+                                    } else {
+                                        callback();
+                                    }
+                                });
+
+                            }
+                        }, trigger: 'blur'
+                    }
+                ],
             },
             },
             subColumn: '',
             subColumn: '',
             subValue: '',
             subValue: '',

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

@@ -31,7 +31,7 @@
                                 </el-form-item>
                                 </el-form-item>
                                 <el-form-item class='isRemenber' label="" style="line-height:16px;">
                                 <el-form-item class='isRemenber' label="" style="line-height:16px;">
                                     <el-checkbox v-model="rememberMe">记住我</el-checkbox>
                                     <el-checkbox v-model="rememberMe">记住我</el-checkbox>
-                                    <a href="#">忘记密码?</a>
+                                    <router-link :to="{name:'backPassword'}">忘记密码?</router-link>
                                 </el-form-item>
                                 </el-form-item>
                                 <el-form-item>
                                 <el-form-item>
                                     <el-button :loading="loading" @click="login" type="color" style="width: 100%;">登录</el-button>
                                     <el-button :loading="loading" @click="login" type="color" style="width: 100%;">登录</el-button>
@@ -52,7 +52,7 @@
                                     </el-input>
                                     </el-input>
                                 </el-form-item>
                                 </el-form-item>
                                 <el-form-item prop="code">
                                 <el-form-item prop="code">
-                                    <el-input v-model="userInfo.password" placeholder="验证码" type="text">
+                                    <el-input v-model="userInfo.code" placeholder="验证码" type="text">
 
 
                                         <template slot="prepend">
                                         <template slot="prepend">
                                             <div style="padding: 0 15px">
                                             <div style="padding: 0 15px">
@@ -67,7 +67,7 @@
                                 </el-form-item>
                                 </el-form-item>
                                 <el-form-item class='isRemenber' label="" style="line-height:16px;">
                                 <el-form-item class='isRemenber' label="" style="line-height:16px;">
                                     <el-checkbox v-model="rememberMe">记住我</el-checkbox>
                                     <el-checkbox v-model="rememberMe">记住我</el-checkbox>
-                                    <a href="#">忘记密码?</a>
+                                    <router-link :to="{name:'backPassword'}">忘记密码?</router-link>
                                 </el-form-item>
                                 </el-form-item>
                                 <el-form-item>
                                 <el-form-item>
                                     <el-button :loading="loading" @click="login" type="color" style="width: 100%;">登录</el-button>
                                     <el-button :loading="loading" @click="login" type="color" style="width: 100%;">登录</el-button>
@@ -147,7 +147,47 @@ export default {
                     })
                     })
                 }
                 }
                 else {
                 else {
+                    if (!this.userInfo.phone || !this.userInfo.code) {
+                        this.$message({
+                            message: '手机号验证码不能为空',
+                            type: 'warning'
+                        });
+                        return
+                    }
+                    if (!this.realCode) {
+                        this.$message({
+                            message: '验证码获取失败,请重新发送',
+                            type: 'warning'
+                        });
+                        return
+                    }
+                    this.loading = true;
+                    this.$http.post({
+                        url: '/auth/loginSms',
+                        data: {
+                            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) {
+                                history.back()
+                            }
+                            else {
+                                this.$router.replace({
+                                    name: 'index'
+                                })
+                            }
+                        } else {
+                            this.$message.error('用户名或密码错误');
+                        }
+                    }).catch(() => {
+                        this.loading = false;
+                    })
                 }
                 }
             })
             })
         },
         },
@@ -163,7 +203,17 @@ export default {
             this.isSend = true
             this.isSend = true
             this.getTime()
             this.getTime()
 
 
-            this.sendMessage()
+            this.sendMeg(this.userInfo.phone).then((json) => {
+                if (json.success) {
+                    this.$message.success('发送成功')
+                    this.realCode = json.data
+                    this.isSend = true
+                    this.getTime()
+                }
+                else {
+                    this.$message.warning(json.error)
+                }
+            })
         },
         },
         sendMessage() {
         sendMessage() {
             new Promise((resolve, reject) => {
             new Promise((resolve, reject) => {
@@ -181,6 +231,8 @@ export default {
                     }
                     }
                 }).catch(() => {
                 }).catch(() => {
                     this.$message.error('验证码发送失败!');
                     this.$message.error('验证码发送失败!');
+                    this.isSend = false
+                    this.num = 0
                 })
                 })
             })
             })
         },
         },

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

@@ -23,7 +23,7 @@
                 </div>
                 </div>
             </div>
             </div>
             <div class="point-item">
             <div class="point-item">
-                <el-button type="warning" style="width:248px;" plain round>积分兑换</el-button>
+                <el-button type="warning" style="width:248px;" disabled plain round>积分兑换</el-button>
             </div>
             </div>
         </div>
         </div>
 
 
@@ -44,7 +44,7 @@
         </el-table>
         </el-table>
         <div class="pagination-wrapper">
         <div class="pagination-wrapper">
 
 
-            <el-pagination background @current-change="currentPageChange" :page-size="pageSize" layout="total, prev, pager, next" :total="totalNumber">
+            <el-pagination v-if="totalNumber>pageSize" background @current-change="currentPageChange" :page-size="pageSize" layout="total, prev, pager, next" :total="totalNumber">
             </el-pagination>
             </el-pagination>
         </div>
         </div>
 
 

+ 1 - 0
src/main/vue/src/pagesPre/OrderUpload.vue

@@ -140,6 +140,7 @@ export default {
                 })
                 })
             })
             })
             this.addImage = list
             this.addImage = list
+            this.num = list.length
         },
         },
         handleSuccess(res) {
         handleSuccess(res) {
             console.log(res)
             console.log(res)

+ 1 - 1
src/main/vue/src/pagesPre/Product.vue

@@ -156,7 +156,7 @@ export default {
         this.$http.get({
         this.$http.get({
             url: '/productComment/count',
             url: '/productComment/count',
             data: {
             data: {
-                prodcutId: this.$route.query.id
+                productId: this.$route.query.id
             }
             }
         }).then(res => {
         }).then(res => {
             if (res.success) {
             if (res.success) {

+ 3 - 1
src/main/vue/src/pagesPre/ProductInfo.vue

@@ -33,8 +33,9 @@
             <el-form-item prop="title" label="标题" style="max-width:400px">
             <el-form-item prop="title" label="标题" style="max-width:400px">
                 <el-input v-model="formData.title" :disabled="'title'==subColumn"></el-input>
                 <el-input v-model="formData.title" :disabled="'title'==subColumn"></el-input>
             </el-form-item>
             </el-form-item>
-            <el-form-item prop="image" label="主图">
+            <el-form-item prop="image" label="商品主图">
                 <single-upload v-model="formData.image" :disabled="'image'==subColumn"></single-upload>
                 <single-upload v-model="formData.image" :disabled="'image'==subColumn"></single-upload>
+                <span style="color:#999;font-size:12px;">最佳尺寸 352*200</span>
             </el-form-item>
             </el-form-item>
             <el-form-item prop="serviceDetail" label="服务详情" style="max-width:400px">
             <el-form-item prop="serviceDetail" label="服务详情" style="max-width:400px">
                 <el-input type="textarea" v-model="formData.serviceDetail" :disabled="'serviceDetail'==subColumn"></el-input>
                 <el-input type="textarea" v-model="formData.serviceDetail" :disabled="'serviceDetail'==subColumn"></el-input>
@@ -83,6 +84,7 @@
                 <el-upload :action="url" :file-list="fileList" list-type="picture-card" :on-success="handleSuccess" :on-remove="handleRemove">
                 <el-upload :action="url" :file-list="fileList" list-type="picture-card" :on-success="handleSuccess" :on-remove="handleRemove">
                     <i class="el-icon-plus"></i>
                     <i class="el-icon-plus"></i>
                 </el-upload>
                 </el-upload>
+                <span style="color:#999;font-size:12px;">最佳尺寸 宽度大于1150px 高度不限</span>
             </el-form-item>
             </el-form-item>
             <el-form-item prop="onShelf" label="上下架">
             <el-form-item prop="onShelf" label="上下架">
                 <el-switch v-model="formData.onShelf" active-color="#13ce66" inactive-color="#ff4949" :disabled="'onShelf'==subColumn">
                 <el-switch v-model="formData.onShelf" active-color="#13ce66" inactive-color="#ff4949" :disabled="'onShelf'==subColumn">

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

@@ -13,14 +13,14 @@
                         <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="11"></el-input>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="contacter" label="联系人">
                     <el-form-item prop="contacter" label="联系人">
-                        <el-input placeholder="请重复输入密码" v-model="formData1.contacter" maxlength="8"></el-input>
+                        <el-input placeholder="请输入联系人" v-model="formData1.contacter" maxlength="8"></el-input>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="contactPhone" label="联系人电话">
                     <el-form-item prop="contactPhone" label="联系人电话">
                         <el-input v-model="formData1.contactPhone" placeholder="请输入手机号码" maxlength="11"></el-input>
                         <el-input v-model="formData1.contactPhone" placeholder="请输入手机号码" maxlength="11"></el-input>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="code" label="短信验证码">
                     <el-form-item prop="code" label="短信验证码">
                         <el-input v-model="formData1.code" placeholder="请输入验证码" style="width:204px;"></el-input>
                         <el-input v-model="formData1.code" placeholder="请输入验证码" style="width:204px;"></el-input>
-                        <el-button plain style="width:110px;" @click="startSend">{{isSend?'已发送('+startNum+'S)':'获取验证码'}}</el-button>
+                        <el-button plain :disabled="isSend" style="width:110px;" @click="startSend">{{isSend?'已发送('+startNum+'S)':'获取验证码'}}</el-button>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="companyName" label="企业名称">
                     <el-form-item prop="companyName" label="企业名称">
                         <el-input v-model="formData1.companyName" placeholder="请输入企业名称" maxlength="20"></el-input>
                         <el-input v-model="formData1.companyName" placeholder="请输入企业名称" maxlength="20"></el-input>
@@ -62,7 +62,7 @@
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="code" label="短信验证码">
                     <el-form-item prop="code" label="短信验证码">
                         <el-input v-model="formData.code" placeholder="请输入验证码" style="width:204px;"></el-input>
                         <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 :disabled="isSend" style="width:110px;" @click="startSend">{{isSend?'已发送('+startNum+'S)':'获取验证码'}}</el-button>
                     </el-form-item>
                     </el-form-item>
 
 
                     <el-form-item prop="isRead" label="">
                     <el-form-item prop="isRead" label="">
@@ -408,7 +408,7 @@ export default {
                     this.$message.warning('请发送验证码')
                     this.$message.warning('请发送验证码')
                     resolve(false)
                     resolve(false)
                 }
                 }
-                else if (!this.formData.code) {
+                else if (!this.formData1.code) {
                     this.$message.warning('请输入验证码')
                     this.$message.warning('请输入验证码')
                     resolve(false)
                     resolve(false)
                 }
                 }
@@ -417,7 +417,7 @@ export default {
                         url: '/rong/verifyCode',
                         url: '/rong/verifyCode',
                         data: {
                         data: {
                             sessionId: this.backCode,
                             sessionId: this.backCode,
-                            code: this.formData.code
+                            code: this.formData1.code
                         }
                         }
                     }).then(res => {
                     }).then(res => {
                         if (res.success) {
                         if (res.success) {

+ 1 - 1
src/main/vue/src/pagesPre/SetStoreInfo.vue

@@ -42,7 +42,7 @@
         </el-form-item>
         </el-form-item>
         <el-form-item prop="icon" label="店铺头像">
         <el-form-item prop="icon" label="店铺头像">
             <single-upload-title v-model="formData.icon" :width='200' :height='125' :title="'添加头像'" :disabled="'icon'==subColumn"></single-upload-title>
             <single-upload-title v-model="formData.icon" :width='200' :height='125' :title="'添加头像'" :disabled="'icon'==subColumn"></single-upload-title>
-            <div style="font-size:12px;color:rgba(153,153,153,1);">注:格式jpg/jpeg/png,大小不超过10M</div>
+            <div style="font-size:12px;color:rgba(153,153,153,1);">注:格式jpg/jpeg/png,大小不超过10M,建议尺寸360*280</div>
         </el-form-item>
         </el-form-item>
         <el-form-item prop="address" label="经营地址">
         <el-form-item prop="address" label="经营地址">
             <el-cascader :options="cityData" placeholder="省/市/区" :props='{value:"name",label:"name"}' v-model="formData.address">
             <el-cascader :options="cityData" placeholder="省/市/区" :props='{value:"name",label:"name"}' v-model="formData.address">

+ 1 - 1
src/main/vue/src/pagesPre/StoreChat.vue

@@ -20,7 +20,7 @@
             <div class="top">
             <div class="top">
                 <img class="icon" :src="myStoreInfo.icon+'?x-oss-process=image/resize,m_fill,h_50,w_50'" alt="">
                 <img class="icon" :src="myStoreInfo.icon+'?x-oss-process=image/resize,m_fill,h_50,w_50'" alt="">
                 <span style="font-weight:bold;">{{myStoreInfo.storeName}}</span>
                 <span style="font-weight:bold;">{{myStoreInfo.storeName}}</span>
-                <span style="font-size:14px;margin-left:20px;">客服{{Customer.username}}</span>
+                <span style="font-size:14px;margin-left:20px;">客服 {{Customer.serviceName}}</span>
                 <img style="margin-left:5px" :src="Customer.icon+'?x-oss-process=image/resize,m_fill,h_30,w_30'" alt="">
                 <img style="margin-left:5px" :src="Customer.icon+'?x-oss-process=image/resize,m_fill,h_30,w_30'" alt="">
             </div>
             </div>
 
 

+ 1 - 1
src/main/vue/src/pagesPre/SystemState.vue

@@ -57,7 +57,7 @@ export default {
     methods: {
     methods: {
         goNext(str) {
         goNext(str) {
             var query = {}
             var query = {}
-            if (this.$route.name == 'register') {
+            if (this.$route.name == 'register' || this.$route.name == 'backPassword') {
                 query.goIndex = 1
                 query.goIndex = 1
             }
             }
             this.$router.push({
             this.$router.push({

+ 7 - 5
src/main/vue/src/pagesPre/UserCenter.vue

@@ -42,7 +42,7 @@
                     </el-aside>
                     </el-aside>
                     <el-main :style="{paddingLeft:nowMenuList.length>0?'20px':0}">
                     <el-main :style="{paddingLeft:nowMenuList.length>0?'20px':0}">
 
 
-                        <el-alert v-if="coveListNum>0" :title="'当前有'+coveListNum+'条未读消息,请尽快去客户咨询处回复。'" type="warning" show-icon style='margin-bottom:10px;'>
+                        <el-alert v-if="coveListNum>0&&pageMenu=='商家中心'" :title="'当前有'+coveListNum+'条未读消息,请尽快去客户咨询处回复。'" type="warning" show-icon style='margin-bottom:10px;'>
                         </el-alert>
                         </el-alert>
 
 
                         <router-view ref='child' @startChat='startChat'></router-view>
                         <router-view ref='child' @startChat='startChat'></router-view>
@@ -114,10 +114,12 @@ export default {
                         name: '我的积分',
                         name: '我的积分',
                         index: '6',
                         index: '6',
                         href: 'memberPoint'
                         href: 'memberPoint'
-                    }, {
-                        name: '我的优惠券',
-                        index: '5'
-                    }],
+                    }
+                    // , {
+                    //     name: '我的优惠券',
+                    //     index: '5'
+                    // }
+                    ],
                     '账户设置': [{
                     '账户设置': [{
                         name: '基本信息',
                         name: '基本信息',
                         index: '1',
                         index: '1',

+ 9 - 7
src/main/vue/src/pagesPre/UserCenterHome.vue

@@ -11,15 +11,16 @@
                     </div>
                     </div>
                 </div>
                 </div>
             </div>
             </div>
-            <router-link :to="{name:'userSet',query:{activeName:'second'}}" class="top-item" style="width:22%">
+            <router-link :to="{name:'userSet',query:{activeName:'second'}}" class="top-item" style="width:22%;line-height:45px;">
                 我的收货地址
                 我的收货地址
             </router-link>
             </router-link>
             <div class="top-item" style="width:22%">
             <div class="top-item" style="width:22%">
-                我的优惠券
+                <div>我的余额</div>
+                <div style="color:rgb(253, 149, 1);font-size:16px;margin-top:3px;font-weight:bold;">{{userInfo.moneyCoin}}</div>
             </div>
             </div>
-            <div class="top-item" style="width:22%">
+             <router-link :to="{name:'memberPoint'}" class="top-item" style="width:22%;line-height:45px;">
                 我的积分
                 我的积分
-            </div>
+            </router-link>
         </div>
         </div>
 
 
         <div class="contentTitle">
         <div class="contentTitle">
@@ -66,8 +67,8 @@ export default {
 
 
     },
     },
     methods: {
     methods: {
-        startChat(id){
-            this.$emit('startChat',id)
+        startChat(id) {
+            this.$emit('startChat', id)
         }
         }
 
 
     },
     },
@@ -95,6 +96,7 @@ export default {
         vertical-align: middle;
         vertical-align: middle;
         text-align: center;
         text-align: center;
         box-sizing: border-box;
         box-sizing: border-box;
+        min-height: 45px;
 
 
         .icon {
         .icon {
             width: 55px;
             width: 55px;
@@ -160,7 +162,7 @@ export default {
     border-radius: 4px;
     border-radius: 4px;
     border: 1px solid rgba(234, 234, 234, 1);
     border: 1px solid rgba(234, 234, 234, 1);
 
 
-    .orderList{
+    .orderList {
         margin-top: 23px;
         margin-top: 23px;
     }
     }
 }
 }

+ 17 - 10
src/main/vue/src/pagesPre/UserCertification.vue

@@ -39,7 +39,7 @@
                         <single-upload-title v-model="formData1.certificate" style="display:inline-block" :title='"添加证件照片"' :width='200' :height='125'>
                         <single-upload-title v-model="formData1.certificate" style="display:inline-block" :title='"添加证件照片"' :width='200' :height='125'>
 
 
                         </single-upload-title>
                         </single-upload-title>
-                        <div class="ps">注:需要上传清晰证件照,格式jpg/jpeg/png,大小不超过10M </div>
+                        <div class="ps">注:建议上传清晰证件照,格式jpg/jpeg/png,大小不超过10M </div>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="address" label="所在地">
                     <el-form-item prop="address" label="所在地">
                         <el-cascader :options="cityData" :props='{value:"name",label:"name"}' v-model="formData1.address">
                         <el-cascader :options="cityData" :props='{value:"name",label:"name"}' v-model="formData1.address">
@@ -89,7 +89,8 @@ export default {
             formData1: {
             formData1: {
                 company: '',
                 company: '',
                 companyTime: '',
                 companyTime: '',
-                address: []
+                address: [],
+                realName: ''
             },
             },
             rules: {
             rules: {
                 realName: [
                 realName: [
@@ -145,12 +146,15 @@ export default {
                 }
                 }
             }).then(res => {
             }).then(res => {
                 if (res.success) {
                 if (res.success) {
-                    res.data.address = []
-                    res.data.address.push(res.data.province)
-                    res.data.address.push(res.data.city)
-                    res.data.address.push(res.data.country)
-                     res.data.companyTime=moment(res.data.companyTime).format('YYYY')
-                    this.formData1 = res.data;
+                    if (res.data) {
+                        res.data.address = []
+                        res.data.address.push(res.data.province)
+                        res.data.address.push(res.data.city)
+                        res.data.address.push(res.data.country)
+                        res.data.companyTime = moment(res.data.companyTime).format('YYYY')
+                        this.formData1 = res.data;
+                    }
+
                 }
                 }
             })
             })
         }
         }
@@ -162,7 +166,10 @@ export default {
                 }
                 }
             }).then(res => {
             }).then(res => {
                 if (res.success) {
                 if (res.success) {
-                    this.formData = res.data;
+                    if (res.data) {
+                        this.formData = res.data;
+                    }
+
                 }
                 }
             })
             })
         }
         }
@@ -185,7 +192,7 @@ export default {
                 data.province = this.formData1.address[0]
                 data.province = this.formData1.address[0]
                 data.city = this.formData1.address[1]
                 data.city = this.formData1.address[1]
                 data.country = this.formData1.address[2]
                 data.country = this.formData1.address[2]
-                data.companyTime=Date.parse(moment(data.companyTime))
+                data.companyTime = Date.parse(moment(data.companyTime))
                 if (!this.formData1.id) {
                 if (!this.formData1.id) {
                     data.userId = this.userInfo.id
                     data.userId = this.userInfo.id
                     data.userName = this.userInfo.username
                     data.userName = this.userInfo.username

+ 1 - 0
src/main/vue/src/pagesPre/UserSet.vue

@@ -5,6 +5,7 @@
                 <el-form :model="userInfo" ref="form" label-width="80px" label-position="right" size="small" style="max-width:400px;">
                 <el-form :model="userInfo" ref="form" label-width="80px" label-position="right" size="small" style="max-width:400px;">
                     <el-form-item prop="icon" label="当前头像">
                     <el-form-item prop="icon" label="当前头像">
                         <single-upload class="icon" v-model="userInfo.icon" style="wdith:98px"></single-upload>
                         <single-upload class="icon" v-model="userInfo.icon" style="wdith:98px"></single-upload>
+                        <span style="font-size:12px;color:#999">图片尺寸100*100</span>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="nickname" label="昵称">
                     <el-form-item prop="nickname" label="昵称">
                         <el-input v-model="userInfo.nickname"></el-input>
                         <el-input v-model="userInfo.nickname"></el-input>

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

@@ -367,6 +367,14 @@ const router = new Router({
                 meta: {
                 meta: {
                     title: '账户注册',
                     title: '账户注册',
                 }
                 }
+            }, {
+                path: '/backPassword',
+                name: 'backPassword',
+                component: () =>
+                    import ('../pagesPre/BackPassword'),
+                meta: {
+                    title: '找回密码',
+                }
             }]
             }]
         }, {
         }, {
             path: '/login',
             path: '/login',

+ 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.51c61c75b6bf7816cb17.js></script><script type=text/javascript src=/static/js/vendor.56194c28c58ef2af2fdb.js></script><script type=text/javascript src=/static/js/admin.6b79dc7dac866c2ae9de.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.48e8b55b73c59e5d6c46.js></script><script type=text/javascript src=/static/js/vendor.dca531f3c9de411dd825.js></script><script type=text/javascript src=/static/js/admin.3725b6b904015686c98e.js></script></body></html>

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

@@ -5,7 +5,7 @@
             position: absolute;
             position: absolute;
             top: 0;
             top: 0;
             left: 0;
             left: 0;
-        }</style><link href=/static/css/index.258b2b34108a6154bcd736380d7f6936.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.51c61c75b6bf7816cb17.js></script><script type=text/javascript src=/static/js/vendor.56194c28c58ef2af2fdb.js></script><script type=text/javascript src=/static/js/index.be3a2f9ad99ae10d48e6.js></script></body><script>var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
+        }</style><link href=/static/css/index.e2f6c189030abc1535b85d6b98721b1a.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.48e8b55b73c59e5d6c46.js></script><script type=text/javascript src=/static/js/vendor.dca531f3c9de411dd825.js></script><script type=text/javascript src=/static/js/index.8a78afcdbecba53ffa04.js></script></body><script>var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
     var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
     var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
     var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
     var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
     var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
     var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 1
src/main/webapp/static/css/index.258b2b34108a6154bcd736380d7f6936.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1 - 0
src/main/webapp/static/css/index.e2f6c189030abc1535b85d6b98721b1a.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/10.2c0f428d204e6c60082c.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/10.dce245f3d8f61643af6c.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/100.a430df97155de3ad2d3d.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/101.16b63bcdaac73e6f0f36.js


+ 1 - 1
src/main/webapp/static/js/101.7c44d94544b337042b42.js → src/main/webapp/static/js/102.fa40befe33c1c89ee730.js

@@ -1 +1 @@
-webpackJsonp([101],{TH6L:function(e,t){},Wh3M:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"form",staticStyle:{"max-width":"500px"},attrs:{model:e.formData,rules:e.rules,"label-width":"80px","label-position":"right",size:"small"}},[a("el-form-item",{attrs:{prop:"dataruleName",label:"权限名称"}},[a("el-input",{model:{value:e.formData.dataruleName,callback:function(t){e.$set(e.formData,"dataruleName",t)},expression:"formData.dataruleName"}})],1),e._v(" "),a("el-form-item",{attrs:{prop:"permission",label:"权限标识"}},[a("el-input",{model:{value:e.formData.permission,callback:function(t){e.$set(e.formData,"permission",t)},expression:"formData.permission"}})],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{loading:e.$store.state.fetchingData,type:"primary"},on:{click:e.onSave}},[e._v("保存")]),e._v(" "),a("el-button",{on:{click:function(t){e.$router.go(-1)}}},[e._v("取消")])],1)],1)],1)},staticRenderFns:[]};var s=a("VU/8")({created:function(){var e=this;this.$route.query.id&&this.$http.get({url:"/sysDatarule/getOne",data:{id:this.$route.query.id}}).then(function(t){t.success&&(e.formData=t.data)})},data:function(){return{saving:!1,formData:{},rules:{dataruleName:[{required:!0,message:"请填写权限名称",trigger:"blur"}],permission:[{required:!0,message:"请填写权限标识",trigger:"blur"}]},menus:[]}},methods:{onSave:function(){var e=this;this.$refs.form.validate(function(t){if(!t)return!1;e.submit()})},submit:function(){var e=this;this.$http.post({url:this.formData.id?"/sysDatarule/update":"/sysDatarule/save",data:this.formData}).then(function(t){t.success?(e.$message.success("成功"),e.$router.go(-1)):e.$message.warning("失败")})}}},r,!1,function(e){a("TH6L")},"data-v-f8763b4a",null);t.default=s.exports}});
+webpackJsonp([102],{TH6L:function(e,t){},Wh3M:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"form",staticStyle:{"max-width":"500px"},attrs:{model:e.formData,rules:e.rules,"label-width":"80px","label-position":"right",size:"small"}},[a("el-form-item",{attrs:{prop:"dataruleName",label:"权限名称"}},[a("el-input",{model:{value:e.formData.dataruleName,callback:function(t){e.$set(e.formData,"dataruleName",t)},expression:"formData.dataruleName"}})],1),e._v(" "),a("el-form-item",{attrs:{prop:"permission",label:"权限标识"}},[a("el-input",{model:{value:e.formData.permission,callback:function(t){e.$set(e.formData,"permission",t)},expression:"formData.permission"}})],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{loading:e.$store.state.fetchingData,type:"primary"},on:{click:e.onSave}},[e._v("保存")]),e._v(" "),a("el-button",{on:{click:function(t){e.$router.go(-1)}}},[e._v("取消")])],1)],1)],1)},staticRenderFns:[]};var s=a("VU/8")({created:function(){var e=this;this.$route.query.id&&this.$http.get({url:"/sysDatarule/getOne",data:{id:this.$route.query.id}}).then(function(t){t.success&&(e.formData=t.data)})},data:function(){return{saving:!1,formData:{},rules:{dataruleName:[{required:!0,message:"请填写权限名称",trigger:"blur"}],permission:[{required:!0,message:"请填写权限标识",trigger:"blur"}]},menus:[]}},methods:{onSave:function(){var e=this;this.$refs.form.validate(function(t){if(!t)return!1;e.submit()})},submit:function(){var e=this;this.$http.post({url:this.formData.id?"/sysDatarule/update":"/sysDatarule/save",data:this.formData}).then(function(t){t.success?(e.$message.success("成功"),e.$router.go(-1)):e.$message.warning("失败")})}}},r,!1,function(e){a("TH6L")},"data-v-f8763b4a",null);t.default=s.exports}});

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/103.259068dc52375efb9cb1.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/104.f444dae9aa781d2803d6.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/105.9ab800dedb7b96597e5d.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/106.4b059e93f12fcce3ca83.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/107.76d30c3cc7e76fa71b3c.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/108.e89cf32aa08041ddb17a.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/109.4e16201c3dfe62f1111b.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/110.fa0664e22e07c6d2dc3e.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/111.bdf2d4aef3dddf27b982.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/112.c4f9e30e9ef39acd2ba9.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/113.d6cacab9f32c6eab45a0.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/114.87906b7b637e869abf9b.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/115.6d5a172c838fc8c7bc66.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/116.35527a2b1267341bf61e.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/117.c95fe042dccfeeb2a561.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/118.6d5704fe57f204510931.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/119.a242320d8f2aea4cb2f1.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/120.3ee4a13c10b8eeaf3efa.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/121.eec34325efc962eedab5.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/122.c0924b2a3d70f59bc535.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/123.8d9b937639c8f1ab2c87.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/124.8ea635339f33d9d30bfc.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/125.d744efdf00b8aa8348af.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/126.5b46a6f1d81f0a2d5d68.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/127.9a0d209ef40cf5c475fd.js


+ 1 - 1
src/main/webapp/static/js/126.815426c1fdbd9ce43507.js → src/main/webapp/static/js/128.ea71240b3370ae2096f3.js

@@ -1 +1 @@
-webpackJsonp([126],{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}});

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/129.aed0a3842f43db1cf959.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/13.20b85dfd66197e0918f9.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/13.dd1f18d6067411d80d78.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/130.e6928b54045bd5b5e572.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/131.3eea8ef492e03434c757.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/132.39cbc326421314c1d105.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/133.2af76765605801771840.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/136.d1007a042f82f6660afa.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/137.38177380e703b80537d4.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/138.10b348324acf23a04b57.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/139.fbd82d35c9eaaa8d5157.js


+ 1 - 1
src/main/webapp/static/js/139.642828988a5a04b5cd48.js → src/main/webapp/static/js/140.7aa122b7d3aaaacc4793.js

@@ -1 +1 @@
-webpackJsonp([139],{"7pWu":function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a={name:"home",data:function(){return{aboutInfo:{},bannerList:[]}},mounted:function(){var t=this;this.$http.get({url:"/aboutUs/getOne",data:{id:1}}).then(function(n){n.success&&(t.aboutInfo=n.data)}).catch(function(t){console.log(t)}),this.$http.get({url:"/bannerInfo/all",data:{location:13}}).then(function(n){n.success&&(t.bannerList=n.data)}).catch(function(t){console.log(t)})},computed:{},methods:{scrollMenu:function(){}}},s={render:function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"conatiner"},[e("el-carousel",{staticClass:"swiper banner",class:[1==t.bannerList.length?"noButton":""],attrs:{height:"220px",interval:4e3}},[t._l(t.bannerList,function(n){return[e("el-carousel-item",{style:{backgroundImage:"url("+n.imageUrl+")"}},[n.url?e("a",{attrs:{href:n.url}}):t._e()])]})],2),t._v(" "),e("div",{staticClass:"content"},[t._m(0),t._v(" "),e("div",{staticClass:"content-content"},[e("div",{staticClass:"content-img",style:{backgroundImage:"url("+t.aboutInfo.image+")"}}),t._v(" "),e("div",{staticClass:"content-text"},[e("div",{staticClass:"title"},[t._v(t._s(t.aboutInfo.title))]),t._v(" "),e("div",{staticClass:"content-all",domProps:{innerHTML:t._s(t.aboutInfo.description)}})])])])],1)},staticRenderFns:[function(){var t=this.$createElement,n=this._self._c||t;return n("div",{staticClass:"name"},[n("div",{staticClass:"kuai"}),this._v(" "),n("span",[this._v("关于我们")])])}]};var i=e("VU/8")(a,s,!1,function(t){e("c+fW")},"data-v-472e9b91",null);n.default=i.exports},"c+fW":function(t,n){}});
+webpackJsonp([140],{"7pWu":function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a={name:"home",data:function(){return{aboutInfo:{},bannerList:[]}},mounted:function(){var t=this;this.$http.get({url:"/aboutUs/getOne",data:{id:1}}).then(function(n){n.success&&(t.aboutInfo=n.data)}).catch(function(t){console.log(t)}),this.$http.get({url:"/bannerInfo/all",data:{location:13}}).then(function(n){n.success&&(t.bannerList=n.data)}).catch(function(t){console.log(t)})},computed:{},methods:{scrollMenu:function(){}}},s={render:function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"conatiner"},[e("el-carousel",{staticClass:"swiper banner",class:[1==t.bannerList.length?"noButton":""],attrs:{height:"220px",interval:4e3}},[t._l(t.bannerList,function(n){return[e("el-carousel-item",{style:{backgroundImage:"url("+n.imageUrl+")"}},[n.url?e("a",{attrs:{href:n.url}}):t._e()])]})],2),t._v(" "),e("div",{staticClass:"content"},[t._m(0),t._v(" "),e("div",{staticClass:"content-content"},[e("div",{staticClass:"content-img",style:{backgroundImage:"url("+t.aboutInfo.image+")"}}),t._v(" "),e("div",{staticClass:"content-text"},[e("div",{staticClass:"title"},[t._v(t._s(t.aboutInfo.title))]),t._v(" "),e("div",{staticClass:"content-all",domProps:{innerHTML:t._s(t.aboutInfo.description)}})])])])],1)},staticRenderFns:[function(){var t=this.$createElement,n=this._self._c||t;return n("div",{staticClass:"name"},[n("div",{staticClass:"kuai"}),this._v(" "),n("span",[this._v("关于我们")])])}]};var i=e("VU/8")(a,s,!1,function(t){e("c+fW")},"data-v-472e9b91",null);n.default=i.exports},"c+fW":function(t,n){}});

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/141.340492d60e398800860b.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/142.df9a4206846f9800b77e.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/143.33c7701d2d6c6bcdbca9.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/144.ed071fbb600b12d04eb1.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/145.e2ccb850c12af5a13627.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/146.b22a1fe01a8f4c4c16b3.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/147.ca6a8cac0b3abb47a911.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/148.2d519b10d6a08b49bb23.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/149.9c1dbc9a31662eb55ea6.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/150.1e71ac56b42ab2f4cce6.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/151.44d9183b23b15fa1a61a.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/152.412dfdaed9cdf88b9a6c.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/153.4b9e80c87d3191b8547c.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/154.66f0a30fbc109da9aa8a.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/155.9bdbf911cef273768923.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/156.11dd49c0024b037392e4.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/157.2c5c855b77b9e3409b38.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/158.e2f69d07c15564b6db04.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/159.fa9771e9b64216bf14b0.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/16.89b97548cb9acbc51f7d.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/160.e0ce9da0489bba2090c3.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/161.751a5a8c3f8d87edb633.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/18.a3ba8696a88185624f78.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/18.e4c243b97e16c37b8b68.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/19.11e3d2ae78a33cbea1fb.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/19.c7e6ecd5450742f5e4c2.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/20.9d7097c94411cf7c84e3.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/21.8aaac5e07a8c9e6d7f9c.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/21.f15fd9a693ebbed449ae.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/22.5e5e4424faec5a725403.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/main/webapp/static/js/22.e236d6002d6f1a0cf208.js


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно