panhui 7 år sedan
förälder
incheckning
d36d0b13e5
100 ändrade filer med 769 tillägg och 111 borttagningar
  1. 6 2
      src/main/vue/src/components/ImgItem.vue
  2. 10 1
      src/main/vue/src/components/OrderItem.vue
  3. 35 8
      src/main/vue/src/components/SingleUploadTitle.vue
  4. 16 0
      src/main/vue/src/emUI.less
  5. 12 0
      src/main/vue/src/entries/index.html
  6. 0 1
      src/main/vue/src/pagesPre/ChatContent.vue
  7. 1 1
      src/main/vue/src/pagesPre/GuaranteeMoney.vue
  8. 420 0
      src/main/vue/src/pagesPre/MemberMoney.vue
  9. 15 4
      src/main/vue/src/pagesPre/OrderExamine.vue
  10. 85 20
      src/main/vue/src/pagesPre/OrderUpload.vue
  11. 112 36
      src/main/vue/src/pagesPre/OrderUploadChange.vue
  12. 1 1
      src/main/vue/src/pagesPre/SetStoreInfo.vue
  13. 21 22
      src/main/vue/src/pagesPre/StoreChat.vue
  14. 2 2
      src/main/vue/src/pagesPre/Submit.vue
  15. 3 3
      src/main/vue/src/pagesPre/UserCenterHome.vue
  16. 2 2
      src/main/vue/src/pagesPre/UserShop.vue
  17. 12 1
      src/main/vue/src/routerPre/index.js
  18. 1 1
      src/main/webapp/WEB-INF/html/admin.html
  19. 14 2
      src/main/webapp/WEB-INF/html/index.html
  20. 0 0
      src/main/webapp/static/css/admin.b242f5e167ca1c5c145b23ecec24f2cb.css
  21. 0 1
      src/main/webapp/static/css/index.75f0eca69058c27206fa01347cfac110.css
  22. 1 0
      src/main/webapp/static/css/index.c3f81ededc7f761ef715571998831ee4.css
  23. 0 1
      src/main/webapp/static/css/index.c8acfafea2357997d2e0b2f2d5aece17.css
  24. 0 0
      src/main/webapp/static/js/0.8567a60d393faec58a14.js
  25. 0 0
      src/main/webapp/static/js/10.4373caa4c43510c877af.js
  26. 0 0
      src/main/webapp/static/js/10.5bd4fef94ff83130cd50.js
  27. 0 0
      src/main/webapp/static/js/10.b7e721b1545c9dd8c39e.js
  28. 0 0
      src/main/webapp/static/js/104.786842a0a19428b397ed.js
  29. 0 0
      src/main/webapp/static/js/105.d5c780a5193d950ed364.js
  30. 0 0
      src/main/webapp/static/js/106.154ad97438263e9d19af.js
  31. 0 0
      src/main/webapp/static/js/107.9dfa40b6ffd242d781cc.js
  32. 0 0
      src/main/webapp/static/js/108.4b625fca9db40b0c4735.js
  33. 0 0
      src/main/webapp/static/js/109.2f36bd21e983cf8752eb.js
  34. 0 0
      src/main/webapp/static/js/11.4dc9bb065474b5c3501d.js
  35. 0 0
      src/main/webapp/static/js/11.ea0de44b5e5441477dea.js
  36. 0 0
      src/main/webapp/static/js/110.7729a0135e9376ba8c28.js
  37. 0 0
      src/main/webapp/static/js/111.ce592dae4545bb068e33.js
  38. 0 0
      src/main/webapp/static/js/112.5706774894635c181b1f.js
  39. 0 0
      src/main/webapp/static/js/113.e5446eec8e3cb67afb09.js
  40. 0 0
      src/main/webapp/static/js/114.b9d5af1f09e51b775f0c.js
  41. 0 0
      src/main/webapp/static/js/12.a827ff3685b2c5b20c9d.js
  42. 0 0
      src/main/webapp/static/js/125.9e0534307b181e52daed.js
  43. 0 0
      src/main/webapp/static/js/125.d744efdf00b8aa8348af.js
  44. 0 0
      src/main/webapp/static/js/127.9a0d209ef40cf5c475fd.js
  45. 0 1
      src/main/webapp/static/js/128.ea71240b3370ae2096f3.js
  46. 0 0
      src/main/webapp/static/js/129.aed0a3842f43db1cf959.js
  47. 0 0
      src/main/webapp/static/js/13.22f3db802a3b51520e35.js
  48. 0 0
      src/main/webapp/static/js/130.e6928b54045bd5b5e572.js
  49. 0 0
      src/main/webapp/static/js/131.3eea8ef492e03434c757.js
  50. 0 0
      src/main/webapp/static/js/132.39cbc326421314c1d105.js
  51. 0 0
      src/main/webapp/static/js/133.2af76765605801771840.js
  52. 0 0
      src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js
  53. 0 0
      src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js
  54. 0 0
      src/main/webapp/static/js/136.d1007a042f82f6660afa.js
  55. 0 0
      src/main/webapp/static/js/137.38177380e703b80537d4.js
  56. 0 0
      src/main/webapp/static/js/138.10b348324acf23a04b57.js
  57. 0 0
      src/main/webapp/static/js/138.3335eed91ee340c07f3e.js
  58. 0 0
      src/main/webapp/static/js/138.d5f4d9a74cbc93fd0bf0.js
  59. 0 0
      src/main/webapp/static/js/139.eec62ec798b87582375e.js
  60. 0 0
      src/main/webapp/static/js/14.3a83604e37396ed3a84e.js
  61. 0 1
      src/main/webapp/static/js/140.59a022539a3556f38ba4.js
  62. 0 0
      src/main/webapp/static/js/15.094827a244f3cfbf2630.js
  63. 0 0
      src/main/webapp/static/js/15.4081cba09b57a94f9660.js
  64. 0 0
      src/main/webapp/static/js/157.c9cb22d232a3c399c563.js
  65. 0 0
      src/main/webapp/static/js/158.bc2efdaf6c1872cf4a64.js
  66. 0 0
      src/main/webapp/static/js/159.17ca7ff6cd8a3009e5c9.js
  67. 0 0
      src/main/webapp/static/js/16.32dc9301b7f8c9d64f4b.js
  68. 0 0
      src/main/webapp/static/js/16.a0343bf9e9065d04fe33.js
  69. 0 0
      src/main/webapp/static/js/160.710e7d3a7c77c01c6952.js
  70. 0 0
      src/main/webapp/static/js/161.d59086f3fad2a5631a58.js
  71. 0 0
      src/main/webapp/static/js/162.66c786f9a53807dd03bb.js
  72. 0 0
      src/main/webapp/static/js/17.3d29e4b89a3760609155.js
  73. 0 0
      src/main/webapp/static/js/18.9b99baa570afeb663c0d.js
  74. 0 0
      src/main/webapp/static/js/18.a91a2421cc57f220eb19.js
  75. 0 0
      src/main/webapp/static/js/18.c91e3462fd829a187f33.js
  76. 0 0
      src/main/webapp/static/js/19.87af11d14373aa2e7f5b.js
  77. 0 0
      src/main/webapp/static/js/19.a07ac0b3176f2c8283a3.js
  78. 0 0
      src/main/webapp/static/js/20.836248344abe39e3919f.js
  79. 0 0
      src/main/webapp/static/js/20.83d530d1d40eefec7b0d.js
  80. 0 0
      src/main/webapp/static/js/20.d5a6fba4f69b98928c22.js
  81. 0 0
      src/main/webapp/static/js/21.37b039f1ed85dd4251d3.js
  82. 0 0
      src/main/webapp/static/js/21.d5e7292a8ec37ab107ce.js
  83. 0 0
      src/main/webapp/static/js/21.fd982daf47c3f30c1a36.js
  84. 0 0
      src/main/webapp/static/js/22.75ec9f0bc503ff39dcf3.js
  85. 0 0
      src/main/webapp/static/js/22.ac64b5b99d615e3bd613.js
  86. 0 0
      src/main/webapp/static/js/23.48b5096a4348a71d2d18.js
  87. 0 0
      src/main/webapp/static/js/23.7987b1e82cfd8c47856a.js
  88. 0 0
      src/main/webapp/static/js/23.da25b5bc27bbfdb04d2f.js
  89. 0 0
      src/main/webapp/static/js/24.8e470e4cfc96cfca5c32.js
  90. 0 0
      src/main/webapp/static/js/24.a6b6c9bb489851bb1d7f.js
  91. 0 0
      src/main/webapp/static/js/24.af3572b4642f9a6c6415.js
  92. 0 0
      src/main/webapp/static/js/25.05597b8222d0b8752fd1.js
  93. 0 0
      src/main/webapp/static/js/25.3352bce63bce6e52d889.js
  94. 0 0
      src/main/webapp/static/js/25.73caefdb4f0c9ef21bf4.js
  95. 0 0
      src/main/webapp/static/js/26.d641fc637160745c2074.js
  96. 0 0
      src/main/webapp/static/js/26.e06d6eaa4dac15def2da.js
  97. 0 0
      src/main/webapp/static/js/27.39c55e02aff54f85f06f.js
  98. 0 0
      src/main/webapp/static/js/28.1ff126817b2512b63ff2.js
  99. 0 0
      src/main/webapp/static/js/29.331d2250df04f3e656b8.js
  100. 0 0
      src/main/webapp/static/js/29.79f950953a963b84cbbe.js

+ 6 - 2
src/main/vue/src/components/ImgItem.vue

@@ -15,10 +15,10 @@
                     <el-button v-if="img.statusFlag==1" icon="el-icon-check" type="success" circle size="mini"></el-button>
                     <el-button v-if="img.statusFlag==1" icon="el-icon-check" type="success" circle size="mini"></el-button>
                     <el-button @click="changeStatus(1)" v-else icon="el-icon-check" type="success" circle plain size="mini"></el-button>
                     <el-button @click="changeStatus(1)" v-else icon="el-icon-check" type="success" circle plain size="mini"></el-button>
                     <el-button v-if="img.statusFlag==2" type="danger" icon="el-icon-close" circle size="mini"></el-button>
                     <el-button v-if="img.statusFlag==2" type="danger" icon="el-icon-close" circle size="mini"></el-button>
-                    <el-button @click="dialogFormVisible=true" v-else type="danger" icon="el-icon-close" circle plain size="mini"></el-button>
+                    <el-button @click="dialogFormVisible=true,detailRemarkFlag=''" v-else type="danger" icon="el-icon-close" circle plain size="mini"></el-button>
                 </template>
                 </template>
 
 
-                <el-button v-if="img.statusFlag==2" @click="dialogFormVisible=true" 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>
             <div class="check" v-if="imgStyle=='upload'">
             <div class="check" v-if="imgStyle=='upload'">
@@ -90,6 +90,7 @@ export default {
     },
     },
     data() {
     data() {
         return {
         return {
+            detailRemarkFlag:"",
             imageStyle: {
             imageStyle: {
                 backgroundColor: '#ebebeb'
                 backgroundColor: '#ebebeb'
             },
             },
@@ -225,6 +226,9 @@ export default {
                     statusFlag: 2,
                     statusFlag: 2,
                     detailRemark: this.remark
                     detailRemark: this.remark
                 }
                 }
+                if(this.detailRemarkFlag){
+                    data.detailRemarkFlag=this.detailRemarkFlag
+                }
                 this.$http.post({
                 this.$http.post({
                     url: '/orderImage/repair',
                     url: '/orderImage/repair',
                     data: data
                     data: data

+ 10 - 1
src/main/vue/src/components/OrderItem.vue

@@ -72,7 +72,7 @@
                         </template>
                         </template>
 
 
                         <template v-if="statusName=='待审片'">
                         <template v-if="statusName=='待审片'">
-                            <el-button type="primary" size="mini" v-if="info.orderRepairList.length==0" @click="goNext('orderExamine')">去审核</el-button>
+                            <el-button type="primary" size="mini" v-if="isFirstRepair" @click="goNext('orderExamine')">去审核</el-button>
                         </template>
                         </template>
                         <template v-if="statusName=='待评论'">
                         <template v-if="statusName=='待评论'">
                             <div style="display:block">
                             <div style="display:block">
@@ -170,6 +170,15 @@ export default {
             return str
             return str
 
 
 
 
+        },
+        isFirstRepair(){
+            var result=true
+            if(this.info.orderRepairList!=0){
+                if(this.info.orderRepairList[0].statusFlag!=0){
+                    result=false
+                }
+            }
+            return true
         }
         }
     },
     },
     methods: {
     methods: {

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

@@ -54,9 +54,13 @@ export default {
             type: Number,
             type: Number,
             default: 178
             default: 178
         },
         },
-        nowIndex:{
-            type:Number,
-            default:-1
+        nowIndex: {
+            type: Number,
+            default: -1
+        },
+        needName: {
+            type: String,
+            default: ''
         }
         }
     },
     },
     data() {
     data() {
@@ -75,11 +79,11 @@ export default {
             } else {
             } else {
                 newVal = res.data;
                 newVal = res.data;
             }
             }
-            if(this.nowIndex!=-1){
-                var img=newVal
-                newVal={
-                    img:img,
-                    index:this.nowIndex
+            if (this.nowIndex != -1) {
+                var img = newVal
+                newVal = {
+                    img: img,
+                    index: this.nowIndex
                 }
                 }
             }
             }
             this.$emit('input', newVal);
             this.$emit('input', newVal);
@@ -88,7 +92,30 @@ export default {
             this.loading = false;
             this.loading = false;
         },
         },
         beforeUpload(file) {
         beforeUpload(file) {
+
+
+            const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
+            if (!isJPG) {
+                return false
+            }
+
+            if (this.needName) {
+                if (file.name != this.needName) {
+                    this.$message({
+                        message: '文件名无法匹配,请检查文件',
+                        type: 'warning'
+                    });
+                    return false
+                }
+            }
+
+
+
+
+
+
             this.loading = true;
             this.loading = true;
+            this.$emit('start')
             return true;
             return true;
         },
         },
         updateImageUrl(url) {
         updateImageUrl(url) {

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

@@ -385,3 +385,19 @@ a{
     text-overflow: ellipsis;
     text-overflow: ellipsis;
     white-space: nowrap;
     white-space: nowrap;
 }
 }
+
+
+.el-tag--info{
+    color:#333;
+}
+
+
+.applyContent .el-dialog__body{
+    padding-top: 10px;
+    border-top:1px solid #ebebeb;
+}
+
+
+.upload-demo .el-upload-list{
+    // display: none;
+}

+ 12 - 0
src/main/vue/src/entries/index.html

@@ -48,6 +48,18 @@
     } else {
     } else {
 
 
     }
     }
+
+
+    document.oncontextmenu = function() {
+        return false;
+    };
+    document.onkeydown = function() {
+        if (window.event && window.event.keyCode == 123) {
+            event.keyCode = 0;
+            event.returnValue = false;
+            return false;
+        }
+    };
 </script>
 </script>
 
 
 </html>
 </html>

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

@@ -333,7 +333,6 @@ export default {
                     userId: this.userInfo.userId,
                     userId: this.userInfo.userId,
                 }, 1)
                 }, 1)
             }
             }
-
         },
         },
         del(item, index) {
         del(item, index) {
             console.log(item)
             console.log(item)

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

@@ -83,7 +83,7 @@ export default {
         return {
         return {
             form: {
             form: {
                 money: '',
                 money: '',
-                isRead: true
+                isRead: false
             },
             },
             rules: {
             rules: {
                 money: [
                 money: [

+ 420 - 0
src/main/vue/src/pagesPre/MemberMoney.vue

@@ -0,0 +1,420 @@
+<template>
+    <div class="container">
+
+        <div class="pageTitle">
+            我的余额
+        </div>
+
+        <div class="point">
+
+            <div class="point-item">
+                <div class="title">
+                    账户余额
+                </div>
+                <div class="val">
+                    {{userInfo.moneyCoin}}
+                </div>
+            </div>
+
+            <el-button type="primary" class="apply" @click="imageDialogVisible=true">申请提现</el-button>
+
+        </div>
+
+        <el-table class="pointTable" :data="tableData" row-key="id" ref="table" style="margin-top:10px">
+
+            <el-table-column prop="remark" label="来源/用途" min-width="320" align="center">
+            </el-table-column>
+
+            <el-table-column prop="money" label="余额变化" min-width="100" align="center">
+            </el-table-column>
+
+            <el-table-column prop="createTime" label="日期" min-width="200" align="center">
+            </el-table-column>
+
+            <el-table-column prop="typeFlag" label="备注" min-width="100" align="center">
+            </el-table-column>
+
+        </el-table>
+        <div class="pagination-wrapper">
+
+            <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-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-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>
+
+                    </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-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>
+                    </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-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>
+                    </el-form>
+                </el-tab-pane>
+            </el-tabs>
+        </el-dialog>
+
+    </div>
+</template>
+<script>
+import { mapState } from 'vuex'
+import { format } from 'date-fns'
+import zh from 'date-fns/locale/zh_cn'
+
+export default {
+    created() {
+        this.getData();
+    },
+    data() {
+        return {
+            formData: {
+                money: ''
+            },
+            rules: {
+                money: [
+                    { required: true, message: '提现金额不能为空', trigger: 'blur' },
+                ]
+            },
+            totalNumber: 0,
+            totalPage: 10,
+            currentPage: 1,
+            pageSize: 10,
+            tableData: [],
+            filter1: '',
+            filter2: '',
+            tableColumns: [
+                {
+                    label: '用户',
+                    value: 'userId',
+                    show: true
+                },
+                {
+                    label: '订单',
+                    value: 'orderId',
+                    show: true
+                },
+                {
+                    label: '变化数量',
+                    value: 'money',
+                    show: true
+                },
+                {
+                    label: '剩余金额',
+                    value: 'balance',
+                    show: true
+                },
+                {
+                    label: '类型',
+                    value: 'typeFlag',
+                    show: true
+                },
+                {
+                    label: '备注',
+                    value: 'remark',
+                    show: true
+                },
+            ],
+            multipleMode: false,
+            showAdvancedQueryDialog: false,
+            advancedQueryFields: [],
+            showTableSortDialog: false,
+            tableSortFields: [],
+            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+            advancedQueryColumns: [
+                {
+                    label: '用户',
+                    value: 'user_id'
+                },
+                {
+                    label: '订单',
+                    value: 'order_id'
+                },
+                {
+                    label: '变化数量',
+                    value: 'money'
+                },
+                {
+                    label: '剩余金额',
+                    value: 'balance'
+                },
+                {
+                    label: '类型',
+                    value: 'type_flag'
+                },
+                {
+                    label: '备注',
+                    value: 'remark'
+                },
+            ],
+            advancedQuerySearchKey: '',
+            orderByStr: '',
+            imgSrc: '',
+            imageDialogVisible: true,
+            activeName: '0'
+        }
+    },
+    computed: {
+        ...mapState(['userInfo']),
+        selection() {
+            return this.$refs.table.selection.map(i => i.id);
+        }
+    },
+    methods: {
+        pageSizeChange(size) {
+            this.currentPage = 1;
+            this.pageSize = size;
+            this.getData();
+        },
+        currentPageChange(page) {
+            this.currentPage = page;
+            this.getData();
+        },
+        getData() {
+
+            var data = {
+                currentPage: this.currentPage,
+                pageNumber: this.pageSize,
+                userId: this.userInfo.id
+            }
+
+
+
+            this.$http.get({
+                url: '/memberCoin/page',
+                data: data
+            }).then(res => {
+                if (res.success) {
+                    this.totalNumber = res.data.page.totalNumber;
+                    this.tableData = res.data.pp;
+                }
+            })
+        },
+        isColumnShow(column) {
+            var row = this.tableColumns.find(i => i.value === column);
+            return row ? row.show : false;
+        },
+        toggleMultipleMode(multipleMode) {
+            this.multipleMode = multipleMode;
+            if (!multipleMode) {
+                this.$refs.table.clearSelection();
+            }
+        },
+        editRow(row) {
+            this.$router.push({
+                path: '/memberPoint',
+                query: {
+                    id: row.id,
+                    column: this.$route.query.column,
+                }
+            })
+        },
+        operation1() {
+            this.$notify({
+                title: '提示',
+                message: this.selection
+            });
+        },
+        operation2() {
+            this.$message('操作2');
+        },
+        addField() {
+            this.advancedQueryFields.push({
+                link: 'AND',
+                name: '',
+                searchMethod: '=',
+                value: '',
+            });
+        },
+        removeField(i) {
+            if (this.advancedQueryFields.length > 0) {
+                this.advancedQueryFields.splice(i, 1);
+            }
+        },
+        advancedQuery() {
+
+            this.advancedQuerySearchKey = '';
+
+            if (this.advancedQueryFields.length > 0) {
+
+                var templist = [];
+
+                this.advancedQueryFields.forEach(item => {
+                    if (item.link && item.name && item.searchMethod && item.value) {
+                        var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+                        templist.push(tempItem);
+                    }
+                })
+
+                if (templist.length > 0) {
+
+                    this.advancedQuerySearchKey = templist.join('_;');
+                }
+            }
+
+            this.getData();
+            this.showAdvancedQueryDialog = false;
+        },
+        addSortField() {
+            this.tableSortFields.push({
+                name: '',
+                order: 'asc',
+            });
+        },
+        removeSortField(i) {
+            if (this.tableSortFields.length > 0) {
+                this.tableSortFields.splice(i, 1);
+            }
+        },
+        tableSortQuery() {
+
+            this.orderByStr = '';
+
+            if (this.tableSortFields.length > 0) {
+
+                var templist = [];
+
+                this.tableSortFields.forEach(item => {
+                    if (item.name && item.order) {
+                        var tempItem = item.name + '_,' + item.order;
+                        templist.push(tempItem);
+                    }
+                })
+
+                if (templist.length > 0) {
+
+                    this.orderByStr = templist.join('_;');
+                }
+            }
+
+            this.getData();
+            this.showTableSortDialog = false;
+        },
+        exportExcel() {
+            window.location.href = this.$baseUrl + "/memberPoint/exportExcel?searchKey="
+                + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey + "&orderByStr=" + this.orderByStr;
+        },
+        searchData() {
+            this.currentPage = 1;
+            this.getData();
+        },
+        deleteRow(row) {
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+                return this.$http.post({
+                    url: '/memberPoint/del',
+                    data: { id: row.id }
+                })
+            }).then(() => {
+                this.$message.success('删除成功');
+                this.getData();
+            }).catch(action => {
+                if (action === 'cancel') {
+                    this.$message.info('删除取消');
+                } else {
+                    this.$message.error('删除失败');
+                }
+            })
+        },
+        DateTimeFormatter(row, column, cellValue) {
+            if (cellValue) {
+                return format(cellValue, 'YYYY/MM/DD HH:mm', { locale: zh })
+            }
+
+        },
+        DateFormatter(row, column, cellValue) {
+            if (cellValue) {
+                return format(cellValue, 'YYYY/MM/DD', { locale: zh })
+            }
+
+        },
+        showImg(img) {
+            this.imgSrc = img;
+            this.imageDialogVisible = true;
+        },
+
+    }
+}
+</script>
+<style lang="less" scoped>
+.container {
+    background: rgba(255, 255, 255, 1);
+    border-radius: 4px;
+    border: 1px solid rgba(234, 234, 234, 1);
+    min-height: 612px;
+    padding: 0 25px 0 39px;
+
+    .pageTitle {
+        font-size: 14px;
+        font-family: MicrosoftYaHei;
+        font-weight: bold;
+        color: rgba(51, 51, 51, 1);
+        line-height: 19px;
+        padding: 21px 0 9px;
+        border-bottom: 1px solid #ebebeb;
+    }
+
+    .point {
+        // width: 953px;
+        height: 106px;
+        background: rgba(255, 253, 236, 1);
+        line-height: 106px;
+        margin-top: 5px;
+        box-sizing: border-box;
+        font-size: 0;
+        text-align: center;
+
+        position: relative;
+
+        .apply {
+            position: absolute;
+            right: 100px;
+            top: 30px;
+        }
+
+        .point-item {
+            display: inline-block;
+
+            vertical-align: middle;
+            text-align: center;
+
+            .title {
+                font-size: 14px;
+                font-family: MicrosoftYaHei;
+                color: rgba(51, 51, 51, 1);
+                line-height: 19px;
+            }
+
+            .val {
+                font-size: 36px;
+                font-family: MicrosoftYaHei;
+                color: rgba(251, 110, 8, 1);
+                line-height: 47px;
+            }
+        }
+    }
+}
+</style>

+ 15 - 4
src/main/vue/src/pagesPre/OrderExamine.vue

@@ -294,7 +294,6 @@ export default {
                 }).then(res => {
                 }).then(res => {
                     if (res.success) {
                     if (res.success) {
 
 
-
                     }
                     }
                 })
                 })
             }
             }
@@ -302,15 +301,27 @@ export default {
                 url: '/userOrder/update',
                 url: '/userOrder/update',
                 data: {
                 data: {
                     id: this.orderInfo.id,
                     id: this.orderInfo.id,
-                    statusFlag: 5
+                    statusFlag: 3
                 }
                 }
             }).then(res => {
             }).then(res => {
                 if (res.success) {
                 if (res.success) {
-                    this.$message.success('提交成功');
-                    history.back()
+                    // this.$message.success('提交成功');
+                    // history.back()
 
 
+                    this.$http.post({
+                        url: '/userOrder/confirm',
+                        data: {
+                            id: this.orderInfo.id,
+                        }
+                    }).then(res2 => {
+                        if (res2.success) {
+                            this.$message.success('提交成功');
+                            history.back()
+                        }
+                    })
                 }
                 }
             })
             })
+
         },
         },
         getRepair() {
         getRepair() {
             this.$http.post({
             this.$http.post({

+ 85 - 20
src/main/vue/src/pagesPre/OrderUpload.vue

@@ -6,19 +6,30 @@
             <el-button type="primary" v-if="canUploadNum>0" class="btn" @click="dialogVisible=true,upLoadImg=[],addImage=[],num=0">上传图片</el-button>
             <el-button type="primary" v-if="canUploadNum>0" class="btn" @click="dialogVisible=true,upLoadImg=[],addImage=[],num=0">上传图片</el-button>
         </div>
         </div>
 
 
+        <!-- <el-upload class="upload-demo" :file-list="upLoadImg" drag :limit="canUploadNum" :action="url" :before-upload="handleOn" multiple :on-success='handleSuccess' :on-remove="handleRemove">
+            <i class="el-icon-upload"></i>
+            <div class="el-upload__text">将文件拖到此处,或
+                <em>点击上传</em>
+            </div>
+            <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="上传图片" :visible.sync="dialogVisible" width="400px" :close-on-click-modal='false'>
-            <el-upload class="upload-demo" :file-list="upLoadImg" drag :limit="canUploadNum" :action="url" :before-upload="handleOn" multiple :on-success='handleSuccess' :on-remove="handleRemove">
+            <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]}}请不要关闭窗口耐心等待
+                </template>
+                <template v-else>
+                    {{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'>
                 <i class="el-icon-upload"></i>
                 <i class="el-icon-upload"></i>
                 <div class="el-upload__text">将文件拖到此处,或
                 <div class="el-upload__text">将文件拖到此处,或
                     <em>点击上传</em>
                     <em>点击上传</em>
                 </div>
                 </div>
-                <div class="el-upload__tip" slot="tip">只能上传RGB图片类型的jpg/png文件,当前已上传{{addImage.length}}张图片,还可以上传{{canUploadNum-addImage.length}}张</div>
+                <div class="el-upload__tip" slot="tip">只能上传RGB图片类型的jpg/png文件,已上传/总张数:{{orderImage.length}} / {{orderInfo.quantity}}</div>
             </el-upload>
             </el-upload>
-
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisible = false">取 消</el-button>
-                <el-button type="primary" :loading="loading" @click="upload">确 定</el-button>
-            </span>
         </el-dialog>
         </el-dialog>
 
 
         <div class="content">
         <div class="content">
@@ -37,8 +48,8 @@
         </div>
         </div>
 
 
         <div class="bottom">
         <div class="bottom">
-            <span v-if="canUploadNum>0">当前已上传{{orderImage.length}}张图片,还需上传{{canUploadNum}}张</span>
-            <span v-else>全部{{orderImage.length}}张图片</span>
+            <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>
             <el-button style="float:right;margin:10px;" v-if='canSubmit&&canUploadNum==0' type="warning" class="btn" @click="submit">确定</el-button>
 
 
         </div>
         </div>
@@ -96,7 +107,14 @@ export default {
             }
             }
 
 
             return num
             return num
-        }
+        },
+        orderImgId() {
+            var list = []
+            this.orderImage.forEach(item => {
+                list.push(item.id)
+            })
+            return list
+        },
     },
     },
     data() {
     data() {
         return {
         return {
@@ -107,7 +125,9 @@ export default {
             canSubmit: true,
             canSubmit: true,
             upLoadImg: [],
             upLoadImg: [],
             num: 0,
             num: 0,
-            loading: false
+            loading: false,
+            tip: [],
+            realNum: 0
         }
         }
     },
     },
     methods: {
     methods: {
@@ -120,8 +140,11 @@ export default {
                 }
                 }
             }).then(res => {
             }).then(res => {
                 if (res.success) {
                 if (res.success) {
+                    res.data.forEach(item => {
+                        item.isSuccess = true
+                    })
                     this.orderImage = res.data
                     this.orderImage = res.data
-
+                    this.realNum = res.data.length
                 }
                 }
             })
             })
         },
         },
@@ -132,7 +155,6 @@ export default {
             // if(this.changeRemark.j)
             // if(this.changeRemark.j)
         },
         },
         handleRemove(file, fileList) {
         handleRemove(file, fileList) {
-            console.log(file, fileList);
             var list = []
             var list = []
             fileList.forEach(item => {
             fileList.forEach(item => {
                 item.response.data.forEach(todo => {
                 item.response.data.forEach(todo => {
@@ -144,18 +166,61 @@ export default {
         },
         },
         handleSuccess(res) {
         handleSuccess(res) {
             console.log(res)
             console.log(res)
-            res.data.forEach(item => {
-                this.addImage.push(item)
+            var tips = [...this.tip]
+            tips.forEach((item, index) => {
+                var list = item.split('文件正在压缩')
+                if (list[0] === res.data[0].imageName) {
+                    tips.splice(index, 1)
+                }
             })
             })
+            tips.splice(0, 0, res.data[0].imageName + '文件上传成功')
+            this.tip = tips
+            setTimeout(() => {
+                var tips = [...this.tip]
+                tips.forEach((item, index) => {
+                    if (item.indexOf('文件上传成功') != -1) {
+                        tips.splice(index, 1)
+                    }
+                })
+                this.tip = tips
+            }, 1000)
 
 
-            if (this.addImage.length == this.num) {
-                this.loading = false
+
+            if (this.orderImgId.indexOf(res.data[0].id) == -1) {
+                this.orderImage.splice(0,0,res.data[0])
             }
             }
+            else {
+                this.orderImage.splice(this.orderImgId.indexOf(res.data[0].id), 1, res.data[0])
+            }
+
+        },
+        handleError(file, fileList) {
+            this.num = list.length
+        },
+        handleProgress(e, file) {
+            console.log(e, file)
+            if (e.percent == 100) {
+                this.tip.splice(0, 0, file.name + '文件正在压缩')
+            }
+
         },
         },
         handleOn(file, fileList) {
         handleOn(file, fileList) {
-            this.loading = true
-            this.num++
-            console.log(this.num)
+            console.log(fileList)
+            const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
+            if (!isJPG) {
+                // this.$message.error('上传头像图片只能是 JPG 格式!');
+            }
+            else {
+                this.loading = true
+                this.num++
+
+
+            }
+
+
+
+
+            return isJPG
         },
         },
         delImg(index) {
         delImg(index) {
             this.addImage.splice(index, 1)
             this.addImage.splice(index, 1)

+ 112 - 36
src/main/vue/src/pagesPre/OrderUploadChange.vue

@@ -1,12 +1,12 @@
 <template>
 <template>
-    <div class="container">
+    <div class="container" v-loading='loading' element-loading-text="上传图片中,时间或许会很久,请耐心等待哦!">
         <div class="top" v-if="orderInfo.productInfo">
         <div class="top" v-if="orderInfo.productInfo">
             <span>订单号:{{orderInfo.orderCode}}</span>
             <span>订单号:{{orderInfo.orderCode}}</span>
             <span style="margin-left:20px;">{{orderInfo.productInfo.title}}</span>
             <span style="margin-left:20px;">{{orderInfo.productInfo.title}}</span>
             <el-select v-if="!isChange" size="mini" style="float:right;margin-top:25px;width:120px" clearable v-model="unFinished" placeholder="筛选状态" @change="getImage">
             <el-select v-if="!isChange" size="mini" style="float:right;margin-top:25px;width:120px" clearable v-model="unFinished" placeholder="筛选状态" @change="getImage">
-                <el-option key="0" label="未上传" value="1">
+                <el-option key="1" label="未上传" value="1">
                 </el-option>
                 </el-option>
-                <el-option key="1" label="已上传" value="0">
+                <el-option key="0" label="已上传" value="0">
                 </el-option>
                 </el-option>
             </el-select>
             </el-select>
             <el-button type="primary" size="mini" style="float:right;margin-top:25px;margin-right:20px" class="btn" plain @click="dialogVisible=true,upLoadImg=[],addImage=[],num=0">批量上传</el-button>
             <el-button type="primary" size="mini" style="float:right;margin-top:25px;margin-right:20px" class="btn" plain @click="dialogVisible=true,upLoadImg=[],addImage=[],num=0">批量上传</el-button>
@@ -23,7 +23,7 @@
                 <div class="imgList" style="margin-top:50px;">
                 <div class="imgList" style="margin-top:50px;">
                     <div class="title" style="color:#FB6E08">成<br/>片</div>
                     <div class="title" style="color:#FB6E08">成<br/>片</div>
                     <div style="display:inline-block;vertical-align: middle" v-for="(item,index) in orderImage">
                     <div style="display:inline-block;vertical-align: middle" v-for="(item,index) in orderImage">
-                        <single-upload-title v-if="!item.finishedImage||item.statusFlag==2" class="box" :nowIndex='index' :url='url' @input="changeImg" :title='"上传成片"' :width='120' :height='150'>
+                        <single-upload-title v-if="!item.finishedImage||item.statusFlag==2" class="box" :needName='item.imageName' :nowIndex='index' :url='url' @input="changeImg" @start='loading=true' :title='"上传成片"' :width='120' :height='150'>
                         </single-upload-title>
                         </single-upload-title>
                         <img-item v-if="item.finishedImage" :isChange='isChange' @changeRemark="changeRemark" :label='"finishedImage"' :index='index' :img='item' :imgStyle='"storeUpload"' @delImg='getImage' style="display:inline-block;margin:0 30px 0 0;vertical-align: middle;"></img-item>
                         <img-item v-if="item.finishedImage" :isChange='isChange' @changeRemark="changeRemark" :label='"finishedImage"' :index='index' :img='item' :imgStyle='"storeUpload"' @delImg='getImage' style="display:inline-block;margin:0 30px 0 0;vertical-align: middle;"></img-item>
 
 
@@ -50,7 +50,15 @@
         </div>
         </div>
 
 
         <el-dialog title="上传图片" :visible.sync="dialogVisible" width="400px" :close-on-click-modal='false'>
         <el-dialog title="上传图片" :visible.sync="dialogVisible" width="400px" :close-on-click-modal='false'>
-            <el-upload class="upload-demo" :file-list="upLoadImg" drag :action="url" multiple :before-upload="handleOn" :on-success='handleSuccess' :on-remove="handleRemove">
+            <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]}}请不要关闭窗口耐心等待
+                </template>
+                <template v-else>
+                    {{tip[0]}}
+                </template>
+            </div>
+            <el-upload class="upload-demo" :file-list="upLoadImg" drag :action="url" multiple :before-upload="handleOn" :on-success='handleSuccess' :on-progress='handleProgress' :on-remove="handleRemove">
                 <i class="el-icon-upload"></i>
                 <i class="el-icon-upload"></i>
                 <div class="el-upload__text">将文件拖到此处,或
                 <div class="el-upload__text">将文件拖到此处,或
                     <em>点击上传</em>
                     <em>点击上传</em>
@@ -58,10 +66,10 @@
                 <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,当前已上传{{addImage.length}}张图片,还可以上传张</div>
                 <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,当前已上传{{addImage.length}}张图片,还可以上传张</div>
             </el-upload>
             </el-upload>
 
 
-            <span slot="footer" class="dialog-footer">
+            <!-- <span slot="footer" class="dialog-footer">
                 <el-button @click="dialogVisible = false">取 消</el-button>
                 <el-button @click="dialogVisible = false">取 消</el-button>
                 <el-button type="primary" @click="upload" :loading="isLoading">确 定</el-button>
                 <el-button type="primary" @click="upload" :loading="isLoading">确 定</el-button>
-            </span>
+            </span> -->
         </el-dialog>
         </el-dialog>
 
 
     </div>
     </div>
@@ -98,6 +106,22 @@ export default {
             this.isChange = true
             this.isChange = true
         }
         }
 
 
+        // //获取全部修图数量
+        // this.$http.get({
+        //     url: '/orderImage/page',
+        //     data: {
+        //         orderId: this.$route.query.orderId,
+        //         currentPage: 1,
+        //         pageNumber: 1,
+        //         repairId: this.$route.query.repairId,
+        //     }
+        // }).then(res => {
+        //     if (res.success) {
+
+        //         this.allNumber = res.data.page.totalNumber;
+        //     }
+        // })
+
 
 
 
 
     },
     },
@@ -116,10 +140,18 @@ export default {
             }
             }
 
 
             return num
             return num
+        },
+        orderImgId() {
+            var list = []
+            this.orderImage.forEach(item => {
+                list.push(item.id)
+            })
+            return list
         }
         }
     },
     },
     data() {
     data() {
         return {
         return {
+            tip: [],
             orderInfo: {},
             orderInfo: {},
             dialogVisible: false,
             dialogVisible: false,
             addImage: [],
             addImage: [],
@@ -135,13 +167,24 @@ export default {
             notUp: 0,
             notUp: 0,
             allNumber: 0,
             allNumber: 0,
             num: 0,
             num: 0,
-            isLoading: false
+            isLoading: false,
+            loading: false
         }
         }
     },
     },
     methods: {
     methods: {
-        handleOn() {
-            this.num++
-            this.isLoading = true
+        handleOn(file) {
+            const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
+            if (!isJPG) {
+                // this.$message.error('上传头像图片只能是 JPG 格式!');
+            }
+            else {
+                this.num++
+                this.isLoading = true
+            }
+
+
+
+            return isJPG
         },
         },
         changeRemark() {
         changeRemark() {
             if (!this.repairId) {
             if (!this.repairId) {
@@ -183,7 +226,12 @@ export default {
                 pageNumber: 7,
                 pageNumber: 7,
             }
             }
 
 
+            //普通审核筛选
+            if (this.unFinished) {
+                data.unFinished = this.unFinished
+            }
 
 
+            //返修筛选
             if (this.$route.query.repairId) {
             if (this.$route.query.repairId) {
                 data.repairId = this.$route.query.repairId
                 data.repairId = this.$route.query.repairId
                 if (data.unFinished == '1') {
                 if (data.unFinished == '1') {
@@ -206,8 +254,11 @@ export default {
                 if (res.success) {
                 if (res.success) {
                     this.orderImage = res.data.pp
                     this.orderImage = res.data.pp
                     this.totalNumber = res.data.page.totalNumber;
                     this.totalNumber = res.data.page.totalNumber;
+                    this.allNumber = res.data.page.totalNumber;
                 }
                 }
             })
             })
+
+            //未上传数量
             this.$http.get({
             this.$http.get({
                 url: '/orderImage/all',
                 url: '/orderImage/all',
                 data: {
                 data: {
@@ -220,20 +271,7 @@ export default {
                 this.notUp = res.data.length
                 this.notUp = res.data.length
             })
             })
 
 
-            this.$http.get({
-                url: '/orderImage/page',
-                data: {
-                    orderId: this.$route.query.orderId,
-                    currentPage: 1,
-                    pageNumber: 1,
-                    repairId: this.$route.query.repairId,
-                }
-            }).then(res => {
-                if (res.success) {
 
 
-                    this.allNumber = res.data.page.totalNumber;
-                }
-            })
         },
         },
         chooseImg(index) {
         chooseImg(index) {
             console.log(index)
             console.log(index)
@@ -253,13 +291,37 @@ export default {
             this.addImage = list
             this.addImage = list
             this.num = this.addImage.length
             this.num = this.addImage.length
         },
         },
-        handleSuccess(res) {
-            res.data.forEach(item => {
-                this.addImage.push(item)
+        handleProgress(e, file) {
+            if (e.percent == 100) {
+                this.tip.splice(0, 0, file.name + '文件正在压缩')
+            }
+        },
+        handleSuccess(res, flie) {
+            console.log(res)
+            var tips = [...this.tip]
+            tips.forEach((item, index) => {
+                var list = item.split('文件正在压缩')
+                if (list[0] === flie.name) {
+                    tips.splice(index, 1)
+                }
             })
             })
-            if (this.num == this.addImage.length) {
-                this.isLoading = false
+            tips.splice(0, 0, flie.name + '文件上传成功')
+            this.tip = tips
+            setTimeout(() => {
+                var tips = [...this.tip]
+                tips.forEach((item, index) => {
+                    if (item.indexOf('文件上传成功') != -1) {
+                        tips.splice(index, 1)
+                    }
+                })
+                this.tip = tips
+            }, 1000)
+            if (res.success) {
+                if (this.orderImgId.indexOf(res.data[0].id) != -1) {
+                    this.orderImage.splice(this.orderImgId.indexOf(res.data[0].id), 1, res.data[0])
+                }
             }
             }
+
         },
         },
         delImg(index) {
         delImg(index) {
             this.addImage.splice(index, 1)
             this.addImage.splice(index, 1)
@@ -324,7 +386,7 @@ export default {
                 }
                 }
             })
             })
             if (this.$route.query.repairId) {
             if (this.$route.query.repairId) {
-                if (this.orderInfo.orderRepairList.length == 3) {
+                if (this.orderInfo.orderRepairList.length == 3 && this.orderInfo.orderRepairList[this.orderInfo.orderRepairList.length - 1].typeFlag == 2) {
                     this.$http.post({
                     this.$http.post({
                         url: '/orderRepair/update',
                         url: '/orderRepair/update',
                         data: {
                         data: {
@@ -337,15 +399,27 @@ export default {
                                 url: '/userOrder/update',
                                 url: '/userOrder/update',
                                 data: {
                                 data: {
                                     id: this.orderInfo.id,
                                     id: this.orderInfo.id,
-                                    statusFlag: 5
+                                    statusFlag: 3
                                 }
                                 }
                             }).then(res2 => {
                             }).then(res2 => {
                                 if (res2.success) {
                                 if (res2.success) {
-                                    this.$message.success('提交成功');
-                                    history.back()
-
+                                    // this.$message.success('提交成功');
+                                    // history.back()
+
+                                    this.$http.post({
+                                        url: '/userOrder/confirm',
+                                        data: {
+                                            id: this.orderInfo.id,
+                                        }
+                                    }).then(res3 => {
+                                        if (res3.success) {
+                                            this.$message.success('提交成功');
+                                            history.back()
+                                        }
+                                    })
                                 }
                                 }
                             })
                             })
+
                         }
                         }
                     })
                     })
                 }
                 }
@@ -384,7 +458,9 @@ export default {
 
 
         },
         },
         changeImg(newVal) {
         changeImg(newVal) {
-            this.updateImg(newVal.index, newVal.img.url, newVal.img.imageSize, newVal.artworkUrl)
+            this.$message.success('提交成功');
+            this.loading = false
+            this.getImage()
         },
         },
         updateImg(index, img, size, artworkUrl) {
         updateImg(index, img, size, artworkUrl) {
             this.$http.post({
             this.$http.post({
@@ -399,7 +475,7 @@ export default {
             }).then(res => {
             }).then(res => {
                 if (res.success) {
                 if (res.success) {
                     this.getImage()
                     this.getImage()
-                    this.$message.success('提交成功');
+
                 }
                 }
             })
             })
         }
         }

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

@@ -1,5 +1,5 @@
 <template>
 <template>
-    <el-form :model="formData" :rules="rules" ref="storeInfo" label-width="100px" label-position="right" size="small" style="max-width: 600px;">
+    <el-form :model="formData" :rules="rules" ref="storeInfo" label-width="100px" label-position="right"  style="max-width: 600px;">
         <el-form-item prop="storeName" label="店铺名称">
         <el-form-item prop="storeName" label="店铺名称">
             <el-input maxlength="30" v-model="formData.storeName" style="width:320px;" :disabled="'storeName'==subColumn" placeholder="中英文、数字或字符(30字以内)"></el-input>
             <el-input maxlength="30" v-model="formData.storeName" style="width:320px;" :disabled="'storeName'==subColumn" placeholder="中英文、数字或字符(30字以内)"></el-input>
         </el-form-item>
         </el-form-item>

+ 21 - 22
src/main/vue/src/pagesPre/StoreChat.vue

@@ -28,9 +28,10 @@
                 <div class="left">
                 <div class="left">
                     <div class="left-content">
                     <div class="left-content">
                         <div class="left-item" :class="{active:chatUserId==item.userId}" v-for="(item,index) in storeConversationList" @click="readAll(item)">
                         <div class="left-item" :class="{active:chatUserId==item.userId}" v-for="(item,index) in storeConversationList" @click="readAll(item)">
-                            <img class="icon" :src="item.userInfo.icon+'?x-oss-process=image/resize,m_fill,h_40,w_40'" alt="">
+                            <!-- {{item.id}} -->
+                            <img class="icon" :src="item.userInfo?(item.userInfo.icon+'?x-oss-process=image/resize,m_fill,h_40,w_40'):''" alt="">
                             <div class="chatName">
                             <div class="chatName">
-                                <div class="name">{{item.userInfo.nickname}}</div>
+                                <div class="name">{{item.userInfo?item.userInfo.nickname:"未知用户"}}</div>
                                 <div class="subtitle" v-if="item.chatInfo">{{item.chatInfo.content}}</div>
                                 <div class="subtitle" v-if="item.chatInfo">{{item.chatInfo.content}}</div>
                             </div>
                             </div>
                             <div class="time" v-if="item.amount">
                             <div class="time" v-if="item.amount">
@@ -156,6 +157,16 @@ export default {
                 }
                 }
             })
             })
 
 
+            this.updateusersSession()
+
+            if (this.chatUserId) {
+                this.getChatInfo(this.chatUserId)
+                this.goBottom()
+            }
+
+
+        },
+        updateusersSession() {
             this.$http.get({
             this.$http.get({
                 url: '/usersSession/all',
                 url: '/usersSession/all',
                 data: {
                 data: {
@@ -169,13 +180,6 @@ export default {
             }).catch(e => {
             }).catch(e => {
                 console.log(e)
                 console.log(e)
             })
             })
-
-            if (this.chatUserId) {
-                this.getChatInfo(this.chatUserId)
-                this.goBottom()
-            }
-
-
         },
         },
         readAll(item, type) {
         readAll(item, type) {
             this.$http.get({
             this.$http.get({
@@ -192,6 +196,7 @@ export default {
             this.chatUserId = item.userId
             this.chatUserId = item.userId
             this.getChatInfo(item.userId)
             this.getChatInfo(item.userId)
             this.goBottom()
             this.goBottom()
+            this.updateusersSession()
         },
         },
         getChatInfo(id) {
         getChatInfo(id) {
             this.chatList = []
             this.chatList = []
@@ -309,7 +314,9 @@ export default {
         onReceiveMessage(message) {
         onReceiveMessage(message) {
             console.log(message)
             console.log(message)
             if (this.chatUserId == message.userId) {
             if (this.chatUserId == message.userId) {
+                message.typeFlag = Number(message.typeFlag)
                 message.icon = this.chatList[0].icon
                 message.icon = this.chatList[0].icon
+                console.log(message.typeFlag)
                 this.chatList.push(message)
                 this.chatList.push(message)
                 this.goBottom()
                 this.goBottom()
                 this.readAll({
                 this.readAll({
@@ -318,19 +325,7 @@ export default {
                 }, 1)
                 }, 1)
             }
             }
             else {
             else {
-                this.$http.get({
-                    url: '/usersSession/all',
-                    data: {
-                        storeId: this.myStoreInfo.id,
-                        type: 0
-                    }
-                }).then(res => {
-                    if (res.success) {
-                        this.$store.commit('updateStoreConversationList', res.data)
-                    }
-                }).catch(e => {
-                    console.log(e)
-                })
+                this.updateusersSession()
             }
             }
 
 
         },
         },
@@ -450,6 +445,7 @@ export default {
     -moz-box-direction: normal;
     -moz-box-direction: normal;
     flex-direction: column;
     flex-direction: column;
     -webkit-flex-direction: column;
     -webkit-flex-direction: column;
+    // overflow: auto;
 
 
     .top {
     .top {
         display: flex;
         display: flex;
@@ -478,6 +474,8 @@ export default {
         -webkit-flex: 1;
         -webkit-flex: 1;
         display: flex;
         display: flex;
         align-self: stretch;
         align-self: stretch;
+        overflow: hidden;
+
         .left {
         .left {
             width: 25%;
             width: 25%;
             overflow: auto;
             overflow: auto;
@@ -548,6 +546,7 @@ export default {
         }
         }
         .right {
         .right {
             width: 75%;
             width: 75%;
+            // height:;
             display: flex;
             display: flex;
             flex-direction: column;
             flex-direction: column;
             .chatList {
             .chatList {

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

@@ -195,11 +195,11 @@ export default {
             var money = 0;
             var money = 0;
             if (this.productInfo.productPriceList.length > 0) {
             if (this.productInfo.productPriceList.length > 0) {
                 this.productInfo.productPriceList.forEach(item => {
                 this.productInfo.productPriceList.forEach(item => {
-                    if (item.maxCounts && item.minCounts && this.num < item.maxCounts && this.num >= item.minCounts) {
+                    if (item.maxCounts && item.minCounts && this.num <= item.maxCounts && this.num >= item.minCounts) {
                         money = item.price
                         money = item.price
                     } else if (!item.maxCounts && this.num >= item.minCounts) {
                     } else if (!item.maxCounts && this.num >= item.minCounts) {
                         money = item.price
                         money = item.price
-                    } else if (!item.minCounts && this.num < item.maxCounts) {
+                    } else if (!item.minCounts && this.num <= item.maxCounts) {
                         money = item.price
                         money = item.price
                     }
                     }
                 })
                 })

+ 3 - 3
src/main/vue/src/pagesPre/UserCenterHome.vue

@@ -14,11 +14,11 @@
             <router-link :to="{name:'userSet',query:{activeName:'second'}}" class="top-item" style="width:22%;line-height:45px;">
             <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%">
+            <router-link :to="{name:'memberMoney'}" class="top-item" style="width:22%">
                 <div>我的余额</div>
                 <div>我的余额</div>
                 <div style="color:rgb(253, 149, 1);font-size:16px;margin-top:3px;font-weight:bold;">{{userInfo.moneyCoin}}</div>
                 <div style="color:rgb(253, 149, 1);font-size:16px;margin-top:3px;font-weight:bold;">{{userInfo.moneyCoin}}</div>
-            </div>
-             <router-link :to="{name:'memberPoint'}" class="top-item" style="width:22%;line-height:45px;">
+            </router-link>
+            <router-link :to="{name:'memberPoint'}" class="top-item" style="width:22%;line-height:45px;">
                 我的积分
                 我的积分
             </router-link>
             </router-link>
         </div>
         </div>

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

@@ -11,10 +11,10 @@
                     </div>
                     </div>
                 </div>
                 </div>
             </div>
             </div>
-            <div class="top-item" style="width:15%">
+            <router-link :to="{name:'memberMoney'}" class="top-item" style="width:15%">
                 <div>账户余额</div>
                 <div>账户余额</div>
                 <div style="color:rgb(253, 149, 1);font-size:16px;margin-top:3px;font-weight:bold;">{{userInfo.moneyCoin}}</div>
                 <div style="color:rgb(253, 149, 1);font-size:16px;margin-top:3px;font-weight:bold;">{{userInfo.moneyCoin}}</div>
-            </div>
+            </router-link>
             <router-link :to="{name:'shopOrder'}" class="top-item" style="width:15%;line-height:45px;">
             <router-link :to="{name:'shopOrder'}" class="top-item" style="width:15%;line-height:45px;">
                 店铺订单
                 店铺订单
             </router-link>
             </router-link>

+ 12 - 1
src/main/vue/src/routerPre/index.js

@@ -189,6 +189,17 @@ const router = new Router({
                     pageMenu: '个人中心',
                     pageMenu: '个人中心',
                     pageMenu2: '首页',
                     pageMenu2: '首页',
                 }
                 }
+            }, {
+                path: '/memberMoney',
+                name: 'memberMoney',
+                component: () =>
+                    import ('../pagesPre/MemberMoney'),
+                meta: {
+                    title: '账户余额',
+                    checkLogin: true,
+                    pageMenu: '个人中心',
+                    pageMenu2: '无',
+                }
             }, {
             }, {
                 path: '/orderUpload',
                 path: '/orderUpload',
                 name: 'orderUpload',
                 name: 'orderUpload',
@@ -319,7 +330,7 @@ const router = new Router({
                     title: '上传修图',
                     title: '上传修图',
                     checkLogin: true,
                     checkLogin: true,
                     pageMenu: '商家中心',
                     pageMenu: '商家中心',
-                    pageMenu2: '首页',
+                    pageMenu2: '',
                 }
                 }
             }, {
             }, {
                 path: '/storeComment',
                 path: '/storeComment',

+ 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.1945b3838764b540fcf9.js></script><script type=text/javascript src=/static/js/vendor.832e20a11a56148d6761.js></script><script type=text/javascript src=/static/js/admin.3725b6b904015686c98e.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.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>

+ 14 - 2
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.c8acfafea2357997d2e0b2f2d5aece17.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.1945b3838764b540fcf9.js></script><script type=text/javascript src=/static/js/vendor.832e20a11a56148d6761.js></script><script type=text/javascript src=/static/js/index.4588d739a6c5e382f7bf.js></script></body><script>var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
+        }</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字符串
     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;
@@ -24,4 +24,16 @@
 
 
     } else {
     } else {
 
 
-    }</script></html>
+    }
+
+
+    document.oncontextmenu = function() {
+        return false;
+    };
+    document.onkeydown = function() {
+        if (window.event && window.event.keyCode == 123) {
+            event.keyCode = 0;
+            event.returnValue = false;
+            return false;
+        }
+    };</script></html>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/css/admin.b242f5e167ca1c5c145b23ecec24f2cb.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
src/main/webapp/static/css/index.75f0eca69058c27206fa01347cfac110.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
src/main/webapp/static/css/index.c3f81ededc7f761ef715571998831ee4.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
src/main/webapp/static/css/index.c8acfafea2357997d2e0b2f2d5aece17.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/0.8567a60d393faec58a14.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/10.4373caa4c43510c877af.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/10.5bd4fef94ff83130cd50.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/10.b7e721b1545c9dd8c39e.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/104.786842a0a19428b397ed.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/105.d5c780a5193d950ed364.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/106.154ad97438263e9d19af.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/107.9dfa40b6ffd242d781cc.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/108.4b625fca9db40b0c4735.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/109.2f36bd21e983cf8752eb.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/11.4dc9bb065474b5c3501d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/11.ea0de44b5e5441477dea.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/110.7729a0135e9376ba8c28.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/111.ce592dae4545bb068e33.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/112.5706774894635c181b1f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/113.e5446eec8e3cb67afb09.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/114.b9d5af1f09e51b775f0c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/12.a827ff3685b2c5b20c9d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/125.9e0534307b181e52daed.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/125.d744efdf00b8aa8348af.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/127.9a0d209ef40cf5c475fd.js


+ 0 - 1
src/main/webapp/static/js/128.ea71240b3370ae2096f3.js

@@ -1 +0,0 @@
-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}});

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/129.aed0a3842f43db1cf959.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/13.22f3db802a3b51520e35.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/130.e6928b54045bd5b5e572.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/131.3eea8ef492e03434c757.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/132.39cbc326421314c1d105.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/133.2af76765605801771840.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/136.d1007a042f82f6660afa.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/137.38177380e703b80537d4.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/138.10b348324acf23a04b57.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/138.3335eed91ee340c07f3e.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/138.d5f4d9a74cbc93fd0bf0.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/139.eec62ec798b87582375e.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/14.3a83604e37396ed3a84e.js


+ 0 - 1
src/main/webapp/static/js/140.59a022539a3556f38ba4.js

@@ -1 +0,0 @@
-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("gjue")},"data-v-44fef9b8",null);n.default=i.exports},gjue:function(t,n){}});

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/15.094827a244f3cfbf2630.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/15.4081cba09b57a94f9660.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/157.c9cb22d232a3c399c563.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/158.bc2efdaf6c1872cf4a64.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/159.17ca7ff6cd8a3009e5c9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/16.32dc9301b7f8c9d64f4b.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/16.a0343bf9e9065d04fe33.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/160.710e7d3a7c77c01c6952.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/161.d59086f3fad2a5631a58.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/162.66c786f9a53807dd03bb.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/17.3d29e4b89a3760609155.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/18.9b99baa570afeb663c0d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/18.a91a2421cc57f220eb19.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/18.c91e3462fd829a187f33.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/19.87af11d14373aa2e7f5b.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/19.a07ac0b3176f2c8283a3.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/20.836248344abe39e3919f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/20.83d530d1d40eefec7b0d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/20.d5a6fba4f69b98928c22.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/21.37b039f1ed85dd4251d3.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/21.d5e7292a8ec37ab107ce.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/21.fd982daf47c3f30c1a36.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/22.75ec9f0bc503ff39dcf3.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/22.ac64b5b99d615e3bd613.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/23.48b5096a4348a71d2d18.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/23.7987b1e82cfd8c47856a.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/23.da25b5bc27bbfdb04d2f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/24.8e470e4cfc96cfca5c32.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/24.a6b6c9bb489851bb1d7f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/24.af3572b4642f9a6c6415.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/25.05597b8222d0b8752fd1.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/25.3352bce63bce6e52d889.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/25.73caefdb4f0c9ef21bf4.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/26.d641fc637160745c2074.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/26.e06d6eaa4dac15def2da.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/27.39c55e02aff54f85f06f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/28.1ff126817b2512b63ff2.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/29.331d2250df04f3e656b8.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/main/webapp/static/js/29.79f950953a963b84cbbe.js


Vissa filer visades inte eftersom för många filer har ändrats