Ver Fonte

18号前台修改

panhui há 7 anos atrás
pai
commit
3ac50f4c84
100 ficheiros alterados com 926 adições e 129 exclusões
  1. 153 42
      src/main/vue/src/components/ImgItem.vue
  2. 112 10
      src/main/vue/src/components/OrderItem.vue
  3. 8 1
      src/main/vue/src/emUI.less
  4. 97 41
      src/main/vue/src/pagesPre/OrderExamine.vue
  5. 460 0
      src/main/vue/src/pagesPre/OrderExamineShare.vue
  6. 23 11
      src/main/vue/src/pagesPre/OrderUpload.vue
  7. 52 13
      src/main/vue/src/pagesPre/OrderUploadChange.vue
  8. 2 1
      src/main/vue/src/pagesPre/Product.vue
  9. 2 1
      src/main/vue/src/pagesPre/Shop.vue
  10. 2 2
      src/main/vue/src/pagesPre/StoreComment.vue
  11. 4 2
      src/main/vue/src/pagesPre/UserCenter.vue
  12. 2 1
      src/main/vue/src/pagesPre/UserComment.vue
  13. 9 0
      src/main/vue/src/routerPre/index.js
  14. 0 1
      src/main/webapp/static/css/index.e3275ed11be0caa0bafe4fa6d375f510.css
  15. 0 0
      src/main/webapp/static/js/10.7d70ef2eca341040e1e5.js
  16. 0 0
      src/main/webapp/static/js/100.a430df97155de3ad2d3d.js
  17. 0 0
      src/main/webapp/static/js/101.16b63bcdaac73e6f0f36.js
  18. 0 1
      src/main/webapp/static/js/102.fa40befe33c1c89ee730.js
  19. 0 0
      src/main/webapp/static/js/103.259068dc52375efb9cb1.js
  20. 0 0
      src/main/webapp/static/js/104.f444dae9aa781d2803d6.js
  21. 0 0
      src/main/webapp/static/js/105.9ab800dedb7b96597e5d.js
  22. 0 0
      src/main/webapp/static/js/106.4b059e93f12fcce3ca83.js
  23. 0 0
      src/main/webapp/static/js/107.76d30c3cc7e76fa71b3c.js
  24. 0 0
      src/main/webapp/static/js/108.e89cf32aa08041ddb17a.js
  25. 0 0
      src/main/webapp/static/js/109.4e16201c3dfe62f1111b.js
  26. 0 0
      src/main/webapp/static/js/110.fa0664e22e07c6d2dc3e.js
  27. 0 0
      src/main/webapp/static/js/111.bdf2d4aef3dddf27b982.js
  28. 0 0
      src/main/webapp/static/js/112.c4f9e30e9ef39acd2ba9.js
  29. 0 0
      src/main/webapp/static/js/113.d6cacab9f32c6eab45a0.js
  30. 0 0
      src/main/webapp/static/js/114.87906b7b637e869abf9b.js
  31. 0 0
      src/main/webapp/static/js/115.6d5a172c838fc8c7bc66.js
  32. 0 0
      src/main/webapp/static/js/116.35527a2b1267341bf61e.js
  33. 0 0
      src/main/webapp/static/js/117.c95fe042dccfeeb2a561.js
  34. 0 0
      src/main/webapp/static/js/118.6d5704fe57f204510931.js
  35. 0 0
      src/main/webapp/static/js/119.a242320d8f2aea4cb2f1.js
  36. 0 0
      src/main/webapp/static/js/120.3ee4a13c10b8eeaf3efa.js
  37. 0 0
      src/main/webapp/static/js/121.eec34325efc962eedab5.js
  38. 0 0
      src/main/webapp/static/js/122.c0924b2a3d70f59bc535.js
  39. 0 0
      src/main/webapp/static/js/123.8d9b937639c8f1ab2c87.js
  40. 0 0
      src/main/webapp/static/js/124.8ea635339f33d9d30bfc.js
  41. 0 0
      src/main/webapp/static/js/125.894f6e0b5da4094859a9.js
  42. 0 0
      src/main/webapp/static/js/126.5b46a6f1d81f0a2d5d68.js
  43. 0 0
      src/main/webapp/static/js/127.9a0d209ef40cf5c475fd.js
  44. 0 1
      src/main/webapp/static/js/128.ea71240b3370ae2096f3.js
  45. 0 0
      src/main/webapp/static/js/129.aed0a3842f43db1cf959.js
  46. 0 0
      src/main/webapp/static/js/130.e6928b54045bd5b5e572.js
  47. 0 0
      src/main/webapp/static/js/131.3eea8ef492e03434c757.js
  48. 0 0
      src/main/webapp/static/js/132.39cbc326421314c1d105.js
  49. 0 0
      src/main/webapp/static/js/133.2af76765605801771840.js
  50. 0 0
      src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js
  51. 0 0
      src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js
  52. 0 0
      src/main/webapp/static/js/136.d1007a042f82f6660afa.js
  53. 0 0
      src/main/webapp/static/js/137.38177380e703b80537d4.js
  54. 0 0
      src/main/webapp/static/js/138.10b348324acf23a04b57.js
  55. 0 0
      src/main/webapp/static/js/139.fbd82d35c9eaaa8d5157.js
  56. 0 1
      src/main/webapp/static/js/140.7aa122b7d3aaaacc4793.js
  57. 0 0
      src/main/webapp/static/js/141.340492d60e398800860b.js
  58. 0 0
      src/main/webapp/static/js/142.df9a4206846f9800b77e.js
  59. 0 0
      src/main/webapp/static/js/143.33c7701d2d6c6bcdbca9.js
  60. 0 0
      src/main/webapp/static/js/144.ed071fbb600b12d04eb1.js
  61. 0 0
      src/main/webapp/static/js/145.e2ccb850c12af5a13627.js
  62. 0 0
      src/main/webapp/static/js/146.b22a1fe01a8f4c4c16b3.js
  63. 0 0
      src/main/webapp/static/js/147.ca6a8cac0b3abb47a911.js
  64. 0 0
      src/main/webapp/static/js/148.2d519b10d6a08b49bb23.js
  65. 0 0
      src/main/webapp/static/js/149.9c1dbc9a31662eb55ea6.js
  66. 0 0
      src/main/webapp/static/js/150.1e71ac56b42ab2f4cce6.js
  67. 0 0
      src/main/webapp/static/js/151.44d9183b23b15fa1a61a.js
  68. 0 0
      src/main/webapp/static/js/152.412dfdaed9cdf88b9a6c.js
  69. 0 0
      src/main/webapp/static/js/153.4b9e80c87d3191b8547c.js
  70. 0 0
      src/main/webapp/static/js/154.66f0a30fbc109da9aa8a.js
  71. 0 0
      src/main/webapp/static/js/155.9bdbf911cef273768923.js
  72. 0 0
      src/main/webapp/static/js/156.11dd49c0024b037392e4.js
  73. 0 0
      src/main/webapp/static/js/157.c9cb22d232a3c399c563.js
  74. 0 0
      src/main/webapp/static/js/158.bc2efdaf6c1872cf4a64.js
  75. 0 0
      src/main/webapp/static/js/159.17ca7ff6cd8a3009e5c9.js
  76. 0 0
      src/main/webapp/static/js/16.a4e86dc39a4b9c05d599.js
  77. 0 0
      src/main/webapp/static/js/160.710e7d3a7c77c01c6952.js
  78. 0 0
      src/main/webapp/static/js/161.d59086f3fad2a5631a58.js
  79. 0 0
      src/main/webapp/static/js/162.66c786f9a53807dd03bb.js
  80. 0 0
      src/main/webapp/static/js/18.7f0c3916026370b1b976.js
  81. 0 0
      src/main/webapp/static/js/19.468b290b58e91f3e4573.js
  82. 0 0
      src/main/webapp/static/js/20.4bd5a1dd15d71b57d3b0.js
  83. 0 0
      src/main/webapp/static/js/22.40679665e70ca8a9823d.js
  84. 0 0
      src/main/webapp/static/js/23.1b63a1644fcc9546b299.js
  85. 0 0
      src/main/webapp/static/js/25.0241b6b25b3a26496956.js
  86. 0 0
      src/main/webapp/static/js/26.49858d1c4c3e747f09e9.js
  87. 0 0
      src/main/webapp/static/js/27.c388fb124a1a7d9aafac.js
  88. 0 0
      src/main/webapp/static/js/28.69b8c6e90a8f64311120.js
  89. 0 0
      src/main/webapp/static/js/29.80023569d0ff6ea14373.js
  90. 0 0
      src/main/webapp/static/js/30.cc434578e15a98dc0412.js
  91. 0 0
      src/main/webapp/static/js/31.8fb3f8d7798a30d3f37b.js
  92. 0 0
      src/main/webapp/static/js/32.4a3a4f435434900d9fd8.js
  93. 0 0
      src/main/webapp/static/js/33.6f6794c6d4910744faae.js
  94. 0 0
      src/main/webapp/static/js/34.f5a496d95f818236cafe.js
  95. 0 0
      src/main/webapp/static/js/35.dc9a999833208a768b11.js
  96. 0 0
      src/main/webapp/static/js/36.06a857f56e3ccafa5be8.js
  97. 0 0
      src/main/webapp/static/js/37.9a16133ec1bb93cc992f.js
  98. 0 0
      src/main/webapp/static/js/38.5b733cdac78f421b9bce.js
  99. 0 0
      src/main/webapp/static/js/39.3b3e0dfe6826212b887b.js
  100. 0 0
      src/main/webapp/static/js/40.382a4a3fa8267b56a153.js

+ 153 - 42
src/main/vue/src/components/ImgItem.vue

@@ -55,8 +55,22 @@
             </el-dialog>
 
             <div class="box" v-if="preView&&label=='finishedImage'" @click="preView=false">
-                <img @click.stop="" @mousewheel='scrollEvent' :style="{marginTop:(0-bigImgStyle.top)+'px'}" :src="img[label]+'?x-oss-process=image/resize,m_lfit,h_'+bigImgStyle.height+',w_'+bigImgStyle.width" alt="">
+                <div draggable='false' :style="{transform:'scale('+nowNum+')'}" class="img-content" @click.stop="" @dragenter='dragStop' @dragover='dragStop' @mousewheel='scrollEvent' @mousedown="drugEvent" @mousemove="drugmoveEvent" @mouseup="isDrug=false">
+                    <img draggable="false" :id='"img"+label+img.id' :style="{transform:'translate('+bigImgStyle.left+'px,'+bigImgStyle.top+'px)',height:realImg.height+'px',width:realImg.width+'px'}" :src="img[label]+'?x-oss-process=image/resize,m_lfit,h_'+bigImgStyle.height*2+',w_'+bigImgStyle.width*2" alt="">
+                </div>
+                <el-button icon="el-icon-close" @click="preView=false" circle class="closeBtn"></el-button>
+
+                <div v-if="imgStyle=='examine'&&label=='finishedImage'" class="checkContent" @click.stop="">
+                    <template v-if='!isChange'>
+                        <el-button style="margin-right:20px;" v-if="img.statusFlag==1" icon="el-icon-check" type="success" circle></el-button>
+                        <el-button style="margin-right:20px;" @click.stop="changeStatus(1)" v-else icon="el-icon-check" type="success" circle plain></el-button>
+                        <el-button style="margin-right:20px;" v-if="img.statusFlag==2" type="danger" icon="el-icon-close" circle></el-button>
+                        <el-button style="margin-right:20px;" @click.stop="dialogFormVisible=true,detailRemarkFlag=''" v-else type="danger" icon="el-icon-close" circle plain></el-button>
+                    </template>
+
+                    <el-button @click.stop="dialogFormVisible=true,detailRemarkFlag='1'" icon="el-icon-edit" circle plain></el-button>
 
+                </div>
             </div>
         </template>
 
@@ -126,7 +140,16 @@ export default {
                 left: 0,
                 top: 0,
             },
-            nowNum: 0
+            nowNum: 1,
+            drag: {
+                X: 0,
+                Y: 0,
+            },
+            isDrug: false,
+            realImg: {
+                width: 0,
+                height: 0
+            }
         }
     },
     computed: {
@@ -159,56 +182,88 @@ export default {
 
     },
     methods: {
-        scrollEvent(e) {
-            console.log(e)
-            this.nowNum++
-            var left = this.bigImgStyle.left
-            var top = this.bigImgStyle.top
-            var width = this.bigImgStyle.width
-            var height = this.bigImgStyle.height
-            if (e.wheelDeltaY > 0) {
-
-                width = this.bigImgStyle.width + 100
-                height = this.bigImgStyle.height + 100
-                if (width > 3000 || height > 3000) {
-                    width = 3000
-                    height = 3000
+        dragStop(e) {
+            e.preventDefault()
+        },
+        dragStartEvent(e) {
+            this.drag = {
+                X: e.offsetX,
+                Y: e.offsetY
+            }
+        },
+        drugmoveEvent(e) {
+
+            if (this.isDrug) {
+                var left = this.bigImgStyle.left + e.offsetX - this.drag.X
+                var top = this.bigImgStyle.top + e.offsetY - this.drag.Y
+
+
+                var imgWidth = parseInt(document.getElementById('img' + this.label + this.img.id).offsetWidth * this.nowNum)
+                var imgHeight = parseInt(document.getElementById('img' + this.label + this.img.id).offsetHeight * this.nowNum)
+
+                if ((imgHeight - window.innerHeight) / 2 < top * this.nowNum || 0 - (imgHeight - window.innerHeight) / 2 > top * this.nowNum) {
+                    top = this.bigImgStyle.top
                 }
-                if (width === 3000 || height === 3000) {
-                    return
+                if ((imgWidth - window.innerWidth) / 2 < left * this.nowNum || 0 - (imgWidth - window.innerWidth) / 2 > left * this.nowNum) {
+                    left = this.bigImgStyle.left
                 }
 
 
-            }
-            else {
-                width = this.bigImgStyle.width - 100
-                height = this.bigImgStyle.height - 100
-                if (width < window.innerWidth || height < window.innerHeight) {
-                    width = window.innerWidth
-                    height = window.innerHeight
-
+                if (imgWidth <= window.innerWidth) {
+                    left = 0
                 }
-                if (width === window.innerWidth || height === window.innerHeight) {
-                    return
+                if (imgHeight <= window.innerHeight) {
+                    top = 0
                 }
 
-            }
 
-            if (width > window.innerWidth) {
-                left = width - window.innerWidth
-            }
 
-            if (height > window.innerHeight) {
-                top = height - window.innerHeight
-            }
 
+                this.bigImgStyle.left = left
+                this.bigImgStyle.top = top
+                console.log(imgHeight, top)
+            }
+        },
+        drugEvent(e) {
+            this.drag = {
+                X: e.offsetX,
+                Y: e.offsetY
+            }
+            console.log(e)
+            this.isDrug = true
+        },
+        scrollEvent(e) {
 
-            this.bigImgStyle = {
-                width: parseInt(width),
-                height: parseInt(height),
-                left: left / 2,
-                top: top / 2
+            if (e.deltaY < 0) {
+                if (this.nowNum < 2) {
+                    this.nowNum = this.nowNum + 0.1
+                }
             }
+            else {
+                if (this.nowNum > 1) {
+                    this.nowNum = this.nowNum - 0.1
+                    var imgWidth = parseInt(document.getElementById('img' + this.label + this.img.id).offsetWidth * this.nowNum)
+                    var imgHeight = parseInt(document.getElementById('img' + this.label + this.img.id).offsetHeight * this.nowNum)
+
+                    if ((imgHeight - window.innerHeight) / 2 > this.bigImgStyle.top * this.nowNum || 0 - (imgHeight - window.innerHeight) / 2 < this.bigImgStyle.top * this.nowNum) {
+                        if (this.bigImgStyle.top > 0) {
+                            this.bigImgStyle.top = (imgHeight - window.innerHeight) / 2 / this.nowNum
+                        }
+                        else {
+                            this.bigImgStyle.top = 0 - (imgHeight - window.innerHeight) / 2 / this.nowNum
+                        }
+                    }
+                    if ((imgWidth - window.innerWidth) / 2 > this.bigImgStyle.left * this.nowNum || 0 - (imgWidth - window.innerWidth) / 2 < this.bigImgStyle.left * this.nowNum) {
+                        if (this.bigImgStyle.left > 0) {
+                            this.bigImgStyle.left = (imgWidth - window.innerWidth) / 2 / this.nowNum
+                        }
+                        else {
+                            this.bigImgStyle.left = 0 - (imgWidth - window.innerWidth) / 2 / this.nowNum
+                        }
+                    }
+                }
+            }
+
         },
         choose() {
             // if (this.imgStyle == 'upload') {
@@ -216,6 +271,9 @@ export default {
             // }
             // if (this.imgStyle == 'preView' || (this.imgStyle == 'examine' && this.label == 'finishedImage')) {
             this.preView = true
+            this.nowNum = 1
+            this.bigImgStyle.left = 0
+            this.bigImgStyle.top = 0
             // }
         },
         getImg() {
@@ -234,12 +292,12 @@ export default {
                     }
                     if (key > 1) {
                         height = img.height / img.width * width
-                        // height1 = img.height / img.width * width1
                     }
                     else {
                         width = img.width / img.height * height
                         // width1 = img.width / img.height * height1
                     }
+                    console.log(width)
                     this.imageStyle = {
                         backgroundImage: `url(${this.img[this.label]})`,
                         width: width,
@@ -256,6 +314,17 @@ export default {
                     }
                 }
                 img.src = this.img[this.label]
+
+                var img2 = new Image()
+                img2.onload = () => {
+                    this.realImg = {
+                        width: img2.width,
+                        height: img2.height
+                    }
+
+                }
+
+                img2.src = this.img[this.label] + '?x-oss-process=image/resize,m_lfit,h_' + window.innerHeight + ',w_' + window.innerWidth
             }
         },
         delImg() {
@@ -286,7 +355,7 @@ export default {
                     if (res.success) {
                         this.dialogFormVisible = false
                         this.$message.success('成功');
-                        this.$emit('changeRemark')
+                        this.$emit('changeRemark',{remark:this.remark,id:this.img.id})
                     } else {
                         this.$message.warning('失败')
                     }
@@ -421,9 +490,51 @@ export default {
     left: 0;
     overflow: hidden;
     text-align: center;
+    display: -webkit-box;
+    display: -moz-box;
+    display: -ms-flexbox;
+    display: -webkit-flex;
+    display: flex;
+    align-items: center;
+    -webkit-align-items: center;
+    box-align: center;
+    -moz-box-align: center;
+    -webkit-box-align: center;
+    -webkit-justify-content: center;
+    justify-content: center;
+    -moz-box-pack: center;
+    -webkit--moz-box-pack: center;
+    box-pack: center;
+    .img-content {
+        display: inline-block;
+        overflow: hidden;
+        z-index: 2;
+        // vertical-align: middle;
+        // transform: translate(-50%,-50%)
+    }
     img {
         display: block;
         margin: auto;
+        cursor: move;
+    }
+
+    .closeBtn {
+        position: absolute;
+        right: 50px;
+        top: 20px;
+        z-index: 3;
+    }
+
+    .checkContent {
+        width: 100%;
+        height: 50px;
+        background-color: rgba(0, 0, 0, 0.3);
+        min-height: 50px;
+        z-index: 3;
+        line-height: 50px;
+        position: absolute;
+        bottom: 0;
+        left: 0;
     }
 }
 </style>

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

@@ -9,10 +9,23 @@
                 <img style="width:30px;height:25px;position: absolute;right: 30px;top: 9px;" src="../assetsPre/kefu.png" alt="">
             </span>
 
-            <span style="float:right;position: relative;cursor: pointer;" v-else @click="goChat">
+            <!-- <span style="float:right;position: relative;cursor: pointer;" v-else @click="goChat">
                 <span style="margin-right:66px;">用户:{{info.userInfo.nickname}}</span>
                 <img style="width:30px;height:25px;position: absolute;right: 30px;top: 9px;" src="../assetsPre/kefu.png" alt="">
-            </span>
+            </span> -->
+            <el-popover v-else placement="left" width="200" trigger="hover">
+                <div>
+                    <img :src="info.userInfo.icon" style="width:50px;height:50px;border-radius:100%;display:block;margin:auto;" alt="">
+                    <div style="margin:10px;font-size:16px;font-weight:bold;text-align:center;color:#000">{{info.userInfo.nickname}}</div>
+                    <el-rate style="text-align:center" :disabled="true" v-model="info.productComment.starLevel" :colors="['#99A9BF', '#F7BA2A', '#FF9900']">
+                    </el-rate>
+                    <div style="text-align:center">{{info.productComment.commentCount}}人评论</div>
+                </div>
+                <span @click="goChat" style="float:right;position: relative;cursor: pointer;" slot="reference">
+                    <span style="margin-right:66px;">用户:{{info.userInfo.nickname}}</span>
+                    <img style="width:30px;height:25px;position: absolute;right: 30px;top: 9px;" src="../assetsPre/kefu.png" alt="">
+                </span>
+            </el-popover>
         </div>
 
         <div class="ordercontent">
@@ -41,13 +54,14 @@
 
                 <template v-if="statusName=='待修图'&&type=='shop'">
                     <div class="preview" @click="downloadImg('original')">
-                        <img src="../assetsPre/excel.png" style="width:40px;height:39px;" alt="">
+                        <img src="../assetsPre/prePhoto.png" alt="">
                         <span>下载原图</span>
                     </div>
 
-                    <div class="preview" @click="goNextquery('orderUpload',{type:'look'})">
-                        <img src="../assetsPre/prePhoto.png" style="margin-left:32px;" alt="">
-                        <span>查看备注</span>
+                    <div class="preview" @click="downloadRemark('remark')">
+
+                        <img src="../assetsPre/excel.png" style="margin-left:32px;width:40px;height:39px;" alt="">
+                        <span>下载备注</span>
                     </div>
                 </template>
 
@@ -126,11 +140,17 @@
                     <img src="../assetsPre/excel.png" style="margin-left:50px;width:30px;height:29px;" alt="">
                     <span>修改备注</span>
                 </template>
-                <template v-else>
+
+            </div>
+
+            <div class="preview" v-if="type=='shop'" @click="downloadRemark('repairRemark',item.id)">
+                <template>
                     <img src="../assetsPre/excel.png" style="margin-left:50px;width:30px;height:29px;" alt="">
-                    <span>查看备注</span>
+                    <span>下载备注</span>
                 </template>
+
             </div>
+
             <template v-if="type=='user'">
                 <el-button v-if="item.statusFlag==1" type="text" style="float:right;margin:10px 20px 0;" size="mini">已提交</el-button>
                 <el-button v-if="item.statusFlag==2" @click="goNextquery('orderExamine',{repairId:item.id})" type="primary" style="float:right;margin:10px 20px 0;" size="mini">去审核</el-button>
@@ -141,6 +161,16 @@
             </template>
             <el-button v-if="item.statusFlag==3" type="text" style="float:right;margin:10px 20px 0;" size="mini">已结束</el-button>
         </div>
+
+        <el-dialog title="压缩处理" :visible.sync="dialogVisible" width="20%" :close-on-click-modal='false' :show-close='false' style="text-align: center;">
+            <div style="margin-top:30px;" v-if="tip">
+                <i class="el-icon-loading"></i>
+                图片{{tip}}正在处理,请耐心等待
+            </div>
+
+            <el-progress style="margin:10px auto" type="circle" :percentage="temp" :status="isSuccess?'success':''"></el-progress>
+
+        </el-dialog>
     </div>
 </template>
 
@@ -160,6 +190,11 @@ export default {
     },
     data() {
         return {
+            downloadCode: '',
+            dialogVisible: false,
+            isSuccess: false,
+            tip: '',
+            temp: 0
         }
     },
     computed: {
@@ -183,7 +218,7 @@ export default {
                     result = false
                 }
             }
-            return true
+            return result
         }
     },
     methods: {
@@ -213,11 +248,77 @@ export default {
             })
         },
         downloadImg(typeFlag) {
+            this.$confirm('下载可能需要很长时间,确定要下载吗?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                const baseUrl = process.env.NODE_ENV === 'production' ? '../' : `http://${location.hostname}:8080`;
+
+                this.downloadCode = Date.parse(new Date())
+                window.location.href = baseUrl + '/orderImage/zipFilesDown?orderId=' + this.info.id + '&typeFlag=' + typeFlag + '&code=' + this.downloadCode
+                this.getLine(this.downloadCode)
+            }).catch(() => {
+
+            });
+
+
+        },
+        getLine(code) {
+            this.dialogVisible = true
+            this.$http.get({
+                url: '/imageDownLog/getOne',
+                data: {
+                    imageCode: code,
+                    orderId: this.info.id
+                }
+            }).then(res => {
+                if (res.success) {
+                    if (res.data) {
+                        this.tip = res.data.imageName
+                        if (res.data.statusFlag == 1) {
+                            this.temp = parseInt(res.data.nowNum / res.data.totalNum * 100)
+                        }
+                        else {
+                            this.temp = parseInt((res.data.nowNum - 1) / res.data.totalNum * 100)
+                        }
+                        if (this.temp == 100) {
+                            this.isSuccess = true
+                            setTimeout(() => {
+                                this.dialogVisible = false
+                            }, 1500)
+                        }
+                        else {
+                            setTimeout(() => {
+                                this.getLine(code)
+                            }, 1500)
+                        }
+
+
+
+                    }
+                    else {
+                        setTimeout(() => {
+                            this.getLine(code)
+                        }, 1500)
+                    }
+
+                } else {
+
+                }
+            });
+        },
+        downloadRemark(typeFlag, repairId) {
 
             const baseUrl = process.env.NODE_ENV === 'production' ? '../' : `http://${location.hostname}:8080`;
 
+            if (typeFlag == 'remark') {
+                window.location.href = baseUrl + '/orderImage/exportRemark?orderId=' + this.info.id
+            }
+            if (typeFlag === 'repairRemark') {
+                window.location.href = baseUrl + '/orderRepairDetail/exportRemark?repairId=' + repairId
+            }
 
-            window.location.href = baseUrl + '/orderImage/zipFilesDown?orderId=' + this.info.id + '&typeFlag=' + typeFlag
         },
         goChat() {
             window.open(window.location.origin + window.location.pathname + '?storeId=' + this.info.storeId + '#/storeChat?chatUserId=' + this.info.userId)
@@ -292,6 +393,7 @@ export default {
         height: 40px;
         background: rgba(255, 249, 241, 1);
         line-height: 40px;
+        // display: flex;
 
         span {
             font-size: 12px;

+ 8 - 1
src/main/vue/src/emUI.less

@@ -3,8 +3,10 @@
     padding: 0;
     border: 0;
 }
-body{
+body,html{
     background-color: #f9f9f9;
+   border:1px solid #f9f9f9;
+   box-sizing: border-box
 }
 
 .myTab{
@@ -422,3 +424,8 @@ a{
         margin-right:2%
     }
 }
+
+
+.el-message-box__message{
+    word-break: break-all;
+}

+ 97 - 41
src/main/vue/src/pagesPre/OrderExamine.vue

@@ -1,50 +1,56 @@
 <template>
     <div class="container">
-        <div class="top" v-if="orderInfo.productInfo">
-            <span>订单号:{{orderInfo.orderCode}}</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="statusFlag" placeholder="筛选状态" @change="getImage">
-                <el-option key="0" label="未审核" value="0">
-                </el-option>
-                <el-option key="1" label="审核通过" value="1">
-                </el-option>
-                <el-option key="2" label="审核失败" value="2">
-                </el-option>
-            </el-select>
-        </div>
-
-        <div class="content">
-
-            <template v-if="orderImage.length>0">
-                <div class="imgList">
-                    <div class="title">原<br/>片</div>
-                    <img-item v-for="(item,index) in orderImage" @changeRemark="getImage" :label='"originalImage"' :index='index' :img='item' :imgStyle='"examine"' @delImg='getImage' style="display:inline-block;margin:0 30px 0 0;vertical-align: middle;"></img-item>
-                </div>
+        <template v-if="isFinish">
 
-                <div class="imgList" style="margin-top:50px;">
-                    <div class="title" style="color:#FB6E08">成<br/>片</div>
-                    <img-item :isChange='isChange' v-for="(item,index) in orderImage" @changeRemark="changeRemark" :label='"finishedImage"' :index='index' :img='item' :imgStyle='"examine"' @delImg='getImage' style="display:inline-block;margin:0 30px 0 0;vertical-align: middle;"></img-item>
-                </div>
-            </template>
-            <div v-else class="nothing">
-                <img src="../assetsPre/nothingImg.png" alt="">
-                <p>没有图片哦!</p>
+        </template>
+        <template v-else>
+            <div class="top" v-if="orderInfo.productInfo">
+                <span>订单号:{{orderInfo.orderCode}}</span>
+                <span style="margin-left:20px;">{{orderInfo.productInfo.title}}</span>
+                <template v-if="!isChange">
+                    <span style="font-size:14px;color:#666;margin-left:20px">已审核/全部:{{orderInfo.quantity-needCheckNum}}/{{orderInfo.quantity}}</span>
+                    <el-button style="float:right;margin:20px 20px 0 30px;" v-if="isSuccess" type="primary" class="btn" @click="submit">审核通过</el-button>
+                    <el-button style="float:right;margin:20px 20px 0 30px;" v-if="isFail" type="warning" class="btn" @click="getRepair">确认提交第{{repairNum}}次返修</el-button>
+                </template>
+                <el-select v-if="!isChange" size="mini" style="float:right;margin-top:25px;width:120px" clearable v-model="statusFlag" placeholder="筛选状态" @change="getImage">
+                    <el-option key="0" label="未审核" value="0">
+                    </el-option>
+                    <el-option key="1" label="审核通过" value="1">
+                    </el-option>
+                    <el-option key="2" label="审核失败" value="2">
+                    </el-option>
+                </el-select>
             </div>
 
-        </div>
+            <div class="content">
+
+                <template v-if="orderImage.length>0">
+                    <div class="imgList">
+                        <div class="title">原<br/>片</div>
+
+                        <img-item v-for="(item,index) in orderImage" @changeRemark="getImage" :label='"originalImage"' :index='index' :img='item' :imgStyle='"examine"' @delImg='getImage' style="display:inline-block;margin:0 30px 0 0;vertical-align: middle;"></img-item>
 
-        <el-pagination background :page-size="7" @current-change="currentPageChange" :current-page="currentPage" layout="total, prev, pager, next" :total="totalNumber">
-        </el-pagination>
+                    </div>
+
+                    <div class="imgList" style="margin-top:50px;">
+                        <div class="title" style="color:#FB6E08">成<br/>片</div>
+                        <img-item :isChange='isChange' v-for="(item,index) in orderImage" @changeRemark="changeRemark" :label='"finishedImage"' :index='index' :img='item' :imgStyle='"examine"' @delImg='getImage' style="display:inline-block;margin:0 30px 0 0;vertical-align: middle;"></img-item>
+                    </div>
+                </template>
+                <div v-else class="nothing">
+                    <img src="../assetsPre/nothingImg.png" alt="">
+                    <p>没有图片哦!</p>
+                </div>
+
+            </div>
 
-        <div class="bottom">
-            <template v-if="!isChange">
-                <span v-if="canUploadNum>0">当前已上传{{orderImage.length}}张图片,还需上传{{canUploadNum}}张</span>
-                <span v-else>全部{{orderImage.length}}张图片</span>
-                <el-button style="float:right;margin:10px;" v-if="isSuccess" type="primary" class="btn" @click="submit">审核通过</el-button>
-                <el-button style="float:right;margin:10px;" v-if="isFail" type="warning" class="btn" @click="getRepair">确认提交第{{repairNum}}次返修</el-button>
-            </template>
+            <el-pagination style="padding:0 0 20px" background :page-size="7" @current-change="currentPageChange" :current-page="currentPage" layout="total, prev, pager, next" :total="totalNumber">
+            </el-pagination>
 
-        </div>
+            <div class="bottom">
+                <el-button type="warning" plain @click="goShare">他人审片</el-button>
+            </div>
+        </template>
 
     </div>
 </template>
@@ -63,16 +69,47 @@ export default {
         }).then(res => {
             if (res.success) {
                 this.orderInfo = res.data
+                if (res.data) {
+                    if (res.data.orderRepairList.length != 0) {
+                        if (res.data.orderRepairList[0].statusFlag != 0) {
+                            this.isFirstCheck = false
+                        }
+                    }
+                }
+
                 if (this.$route.query.repairId) {
                     this.repairId = this.$route.query.repairId
+                    res.data.orderRepairList.forEach(item => {
+                        if (this.repairId == item.id) {
+                            console.log(item.statusFlag)
+                            if (item.statusFlag ===3) {
+                                this.isFinish = true
+                            }
+                        }
+
+                    })
                 }
                 else {
                     if (this.orderInfo.orderRepairList.length > 0) {
                         this.repairId = this.orderInfo.orderRepairList[0].id
                     }
 
+                    if (!this.isFirstCheck) {
+                        this.isFinish = true
+                    }
+
+                }
+                if (this.isFinish) {
+                    this.$alert('该阶段审核已经结束', '审核结束', {
+                        confirmButtonText: '确定',
+                        callback: action => {
+                            history.back()
+                        }
+                    });
+                }
+                else {
+                    this.getImage()
                 }
-                this.getImage()
             }
         })
 
@@ -126,7 +163,10 @@ export default {
             isFail: false,
             repairId: 0,
             isChange: false,
-            statusFlag: ''
+            statusFlag: '',
+            needCheckNum: 0,
+            isFirstCheck: true,
+            isFinish: false
         }
     },
     methods: {
@@ -198,6 +238,7 @@ export default {
                 }
             }).then(res => {
                 if (res.success) {
+                    this.needCheckNum = res.data.length
                     if (res.data.length == 0) {
                         this.$http.get({
                             url: '/orderImage/all',
@@ -216,6 +257,8 @@ export default {
                     }
                 }
             })
+
+
         },
         chooseImg(index) {
             console.log(index)
@@ -337,6 +380,19 @@ export default {
 
                 }
             })
+        },
+        goShare() {
+            var repair = ''
+            if (this.$route.query.repairId) {
+                repair = '&repairId=' + this.$route.query.repairId
+            }
+            this.$alert('点击确定转到下列分享链接:<br/> http://localhost:8081/index.html#/OrderExamineShare?orderId=' + this.$route.query.orderId + repair, '分享链接', {
+                confirmButtonText: '确定',
+                dangerouslyUseHTMLString: true,
+                callback: action => {
+                    window.open('http://localhost:8081/index.html#/OrderExamineShare?orderId=' + this.$route.query.orderId + repair)
+                }
+            });
         }
     },
     components: {

+ 460 - 0
src/main/vue/src/pagesPre/OrderExamineShare.vue

@@ -0,0 +1,460 @@
+<template>
+    <div class="container">
+        <template v-if="isFinish">
+
+        </template>
+        <template v-else>
+            <div class="top" v-if="orderInfo.productInfo">
+                <span>订单号:{{orderInfo.orderCode}}</span>
+                <span style="margin-left:20px;">{{orderInfo.productInfo.title}}</span>
+                <template v-if="!isChange">
+                    <span style="font-size:14px;color:#666;margin-left:20px">已审核/全部:{{orderInfo.quantity-needCheckNum}}/{{orderInfo.quantity}}</span>
+                    <el-button style="float:right;margin:20px 20px 0 30px;" v-if="isSuccess" type="primary" class="btn" @click="submit">审核通过</el-button>
+                    <el-button style="float:right;margin:20px 20px 0 30px;" v-if="isFail" type="warning" class="btn" @click="getRepair">确认提交第{{repairNum}}次返修</el-button>
+                </template>
+                <el-select v-if="!isChange" size="mini" style="float:right;margin-top:25px;width:120px" clearable v-model="statusFlag" placeholder="筛选状态" @change="getImage">
+                    <el-option key="0" label="未审核" value="0">
+                    </el-option>
+                    <el-option key="1" label="审核通过" value="1">
+                    </el-option>
+                    <el-option key="2" label="审核失败" value="2">
+                    </el-option>
+                </el-select>
+            </div>
+
+            <div class="content">
+
+                <template v-if="orderImage.length>0">
+                    <div class="imgList">
+                        <div class="title">原<br/>片</div>
+
+                        <img-item v-for="(item,index) in orderImage" @changeRemark="getImage" :label='"originalImage"' :index='index' :img='item' :imgStyle='"examine"' @delImg='getImage' style="display:inline-block;margin:0 30px 0 0;vertical-align: middle;"></img-item>
+
+                    </div>
+
+                    <div class="imgList" style="margin-top:50px;">
+                        <div class="title" style="color:#FB6E08">成<br/>片</div>
+                        <img-item :isChange='isChange' v-for="(item,index) in orderImage" @changeRemark="changeRemark" :label='"finishedImage"' :index='index' :img='item' :imgStyle='"examine"' @delImg='getImage' style="display:inline-block;margin:0 30px 0 0;vertical-align: middle;"></img-item>
+                    </div>
+                </template>
+                <div v-else class="nothing">
+                    <img src="../assetsPre/nothingImg.png" alt="">
+                    <p>没有图片哦!</p>
+                </div>
+
+            </div>
+
+            <el-pagination style="padding:0 0 20px" background :page-size="7" @current-change="currentPageChange" :current-page="currentPage" layout="total, prev, pager, next" :total="totalNumber">
+            </el-pagination>
+        </template>
+
+    </div>
+</template>
+<script>
+import { mapState } from 'vuex'
+import imgItem from '../components/ImgItem'
+import formValidator from '../formValidator'
+const baseUrl = process.env.NODE_ENV === 'production' ? '../' : 'http://localhost:8080';
+export default {
+    created() {
+        this.$http.get({
+            url: '/userOrder/getOne',
+            data: {
+                id: this.$route.query.orderId
+            }
+        }).then(res => {
+            if (res.success) {
+                this.orderInfo = res.data
+                if (res.data) {
+                    if (res.data.orderRepairList.length != 0) {
+                        if (res.data.orderRepairList[0].statusFlag != 0) {
+                            this.isFirstCheck = false
+                        }
+                    }
+                }
+
+                if (this.$route.query.repairId) {
+                    this.repairId = this.$route.query.repairId
+                    res.data.orderRepairList.forEach(item => {
+                        if (this.repairId == item.id) {
+                            if (item.statusFlag == 3) {
+                                this.isFinish = true
+                            }
+                        }
+
+                    })
+                }
+                else {
+                    if (this.orderInfo.orderRepairList.length > 0) {
+                        this.repairId = this.orderInfo.orderRepairList[0].id
+                    }
+
+                    if (!this.isFirstCheck) {
+                        this.isFinish = true
+                    }
+
+                }
+
+                if (this.isFinish) {
+                    this.$alert('该阶段审核已经结束', '审核结束', {
+                        confirmButtonText: '确定',
+                        callback: action => {
+                           window.close()
+                        }
+                    });
+                }
+                else {
+                    this.getImage()
+                }
+
+            }
+        })
+
+        if (this.$route.query.isChange) {
+            this.isChange = true
+        }
+
+
+
+    },
+    computed: {
+        ...mapState(['userInfo']),
+        url() {
+            return baseUrl + '/assets/uploadFile'
+        },
+        allImage() {
+            var list = []
+            this.addImage.forEach(item => {
+                list.push(item.originalImage)
+            })
+            return list
+        },
+        canUploadNum() {
+            var num = 0
+            if (this.orderInfo.quantity) {
+                num = this.orderInfo.quantity - this.orderImage.length
+            }
+            return num
+        },
+        repairNum() {
+            var num = 0
+            if (this.orderInfo.orderRepairList.length) {
+                num = this.orderInfo.orderRepairList[this.orderInfo.orderRepairList.length - 1].typeFlag + 1
+                if (this.orderInfo.orderRepairList[this.orderInfo.orderRepairList.length - 1].statusFlag != 0) {
+                    num++
+                }
+            }
+
+            return num
+        }
+    },
+    data() {
+        return {
+            orderInfo: {},
+            dialogVisible: false,
+            addImage: [],
+            orderImage: [],
+            currentPage: 1,
+            totalNumber: 0,
+            isSuccess: false,
+            isFail: false,
+            repairId: 0,
+            isChange: false,
+            statusFlag: '',
+            needCheckNum: 0,
+            isFirstCheck: true,
+            isFinish: false
+        }
+    },
+    methods: {
+        changeRemark() {
+            if (!this.repairId) {
+                this.$http.get({
+                    url: '/userOrder/getOne',
+                    data: {
+                        id: this.$route.query.orderId
+                    }
+                }).then(res => {
+                    if (res.success) {
+                        this.orderInfo = res.data
+                        if (this.$route.query.repairId) {
+                            this.repairId = this.$route.query.repairId
+                        }
+                        else {
+                            if (this.orderInfo.orderRepairList.length > 0) {
+                                this.repairId = this.orderInfo.orderRepairList[0].id
+                            }
+
+                        }
+                        this.getImage()
+                    }
+                })
+
+
+            }
+            else {
+                this.getImage()
+            }
+        },
+        currentPageChange(page) {
+            this.currentPage = page;
+            this.getImage();
+        },
+        getImage() {
+            var data = {
+                orderId: this.$route.query.orderId,
+                currentPage: this.currentPage,
+                pageNumber: 7,
+            }
+            if (this.repairId) {
+                data.repairId = this.repairId
+            }
+            if (this.$route.query.repairId) {
+                data.baseRepairId = this.$route.query.repairId
+            }
+            if (this.statusFlag) {
+                data.statusFlag = this.statusFlag
+            }
+            this.orderImage = []
+            this.$http.get({
+                url: '/orderImage/page',
+                data: data
+            }).then(res => {
+                if (res.success) {
+                    this.orderImage = res.data.pp
+                    this.totalNumber = res.data.page.totalNumber;
+                }
+            })
+            this.isSuccess = false
+            this.isFail = false
+            this.$http.get({
+                url: '/orderImage/all',
+                data: {
+                    orderId: this.$route.query.orderId,
+                    statusFlag: 0
+                }
+            }).then(res => {
+                if (res.success) {
+                    this.needCheckNum = res.data.length
+                    if (res.data.length == 0) {
+                        this.$http.get({
+                            url: '/orderImage/all',
+                            data: {
+                                orderId: this.$route.query.orderId,
+                                statusFlag: 2
+                            }
+                        }).then(res => {
+                            if (res.data.length == 0) {
+                                this.isSuccess = true
+                            }
+                            else {
+                                this.isFail = true
+                            }
+                        })
+                    }
+                }
+            })
+
+
+        },
+        chooseImg(index) {
+            console.log(index)
+        },
+        handleRemove(file, fileList) {
+            console.log(file, fileList);
+            var list = []
+            fileList.forEach(item => {
+                item.response.data.forEach(todo => {
+                    var jsop = {
+                        originalImage: todo,
+                        remark: ''
+                    }
+                    list.push(jsop)
+                })
+            })
+            this.addImage = list
+        },
+        handleSuccess(res) {
+            res.data.forEach(item => {
+                if (this.allImage.indexOf(item) == -1 && this.addImage.length <= this.canUploadNum) {
+                    var jsop = {
+                        originalImage: item,
+                        remark: ""
+                    }
+                    this.addImage.push(jsop)
+                }
+                else if (this.addImage.length > this.canUploadNum) {
+                    this.$message({
+                        message: '已经上传' + this.addImage.length + '张图片了,请预览后确认图片',
+                        type: 'warning'
+                    });
+                }
+            })
+        },
+        delImg(index) {
+            this.addImage.splice(index, 1)
+        },
+        upload() {
+            this.saveImage(0)
+        },
+        saveImage(i) {
+            if (i == this.allImage.length) {
+                this.$message.success('成功');
+                this.dialogVisible = false
+                this.getImage()
+            }
+            else {
+                var data = {
+                    originalImage: this.allImage[i],
+                    orderId: this.orderInfo.id,
+                    userId: this.userInfo.id,
+                    storeId: this.orderInfo.storeId
+
+                }
+                this.$http.post({
+                    url: '/orderImage/save',
+                    data: data
+                }).then(res => {
+                    if (res.success) {
+                        this.saveImage(i + 1)
+                    } else {
+                        this.$message.warning('失败')
+                    }
+                });
+            }
+        },
+        submit() {
+            if (this.$route.query.repairId) {
+                this.$http.post({
+                    url: '/orderRepair/update',
+                    data: {
+                        id: this.$route.query.repairId,
+                        statusFlag: 3
+                    }
+                }).then(res => {
+                    if (res.success) {
+
+                    }
+                })
+            }
+            this.$http.post({
+                url: '/userOrder/update',
+                data: {
+                    id: this.orderInfo.id,
+                    statusFlag: 3
+                }
+            }).then(res => {
+                if (res.success) {
+                    // this.$message.success('提交成功');
+                    // history.back()
+
+                    this.$http.post({
+                        url: '/userOrder/confirm',
+                        data: {
+                            id: this.orderInfo.id,
+                        }
+                    }).then(res2 => {
+                        if (res2.success) {
+                            this.$message.success('提交成功');
+                            location.reload()
+                        }
+                    })
+                }
+            })
+
+        },
+        getRepair() {
+            this.$http.post({
+                url: '/userOrder/repair',
+                data: {
+                    id: this.orderInfo.id,
+                    statusFlag: 4
+                }
+            }).then(res => {
+                if (res.success) {
+                    this.$message.success('提交成功');
+                     location.reload()
+
+                }
+            })
+        }
+    },
+    components: {
+        imgItem
+    }
+}
+</script>
+<style lang="less" scoped>
+.container {
+    max-width: 1190px;
+    margin: 15vh auto;
+    background: rgba(255, 255, 255, 1);
+    border-bottom: 1px solid rgba(234, 234, 234, 1);
+    .top {
+        height: 78px;
+        background: rgba(255, 255, 255, 1);
+        border: 1px solid rgba(234, 234, 234, 1);
+        padding: 0 30px;
+        span {
+            font-size: 18px;
+            font-family: MicrosoftYaHei;
+            color: rgba(51, 51, 51, 1);
+            line-height: 78px;
+        }
+        .btn {
+            float: right;
+            margin-top: 20px;
+        }
+    }
+
+    .content {
+        padding: 0 30px;
+        min-height: 450px;
+        .title {
+            font-size: 14px;
+            font-family: MicrosoftYaHei-Bold;
+            font-weight: bold;
+            color: rgba(11, 158, 192, 1);
+            line-height: 19px;
+            margin-bottom: 20px;
+            display: inline-block;
+            vertical-align: middle;
+            margin-right: 20px;
+        }
+
+        .imgList {
+            margin-top: 20px;
+        }
+    }
+
+    .bottom {
+        height: 58px;
+        border-top: 1px solid rgba(234, 234, 234, 1);
+        line-height: 58px;
+        padding: 0 30px;
+        margin-top: 20px;
+        span {
+            font-size: 14px;
+            color: #999;
+        }
+    }
+
+    .nothing {
+        margin-top: 20px;
+        img {
+            width: 167px;
+            height: 167px;
+            display: block;
+            margin: auto;
+        }
+
+        p {
+            font-size: 14px;
+            text-align: center;
+            color: rgba(51, 51, 51, 1);
+            line-height: 19px;
+            margin-top: 24px;
+        }
+    }
+}
+</style>

+ 23 - 11
src/main/vue/src/pagesPre/OrderUpload.vue

@@ -40,7 +40,7 @@
             <template v-if="orderImage.length>0">
                 <div class="title">原片</div>
                 <div class="imgList">
-                    <img-item v-for="(item,index) in orderImage" @changeRemark="getImage" :canCancel='canSubmit' :storeType='true' :label='"originalImage"' :index='index' :img='item' :imgStyle='"upload"' @delImg='delImg' style="display:inline-block;margin:0 30px 30px 0;"></img-item>
+                    <img-item v-for="(item,index) in orderImage" @changeRemark="changeRemark" :canCancel='canSubmit' :storeType='true' :label='"originalImage"' :index='index' :img='item' :imgStyle='"upload"' @delImg='delImg' style="display:inline-block;margin:0 30px 30px 0;"></img-item>
                 </div>
             </template>
 
@@ -125,11 +125,17 @@ export default {
             loading: false,
             tip: [],
             realNum: 0,
-            maxNum:0,
+            maxNum: 0,
+            AddImageloading: false
         }
     },
     methods: {
         getImage() {
+            const loading = this.$loading({
+                lock: true,
+                text: '正在加载中',
+            });
+
             this.orderImage = []
             this.$http.get({
                 url: '/orderImage/all',
@@ -138,11 +144,22 @@ export default {
                 }
             }).then(res => {
                 if (res.success) {
+
                     res.data.forEach(item => {
                         item.isSuccess = true
                     })
                     this.orderImage = res.data
                     this.realNum = res.data.length
+                    if (this.realNum) {
+                        setTimeout(() => {
+                            loading.close();
+                        }, 1500);
+                    }
+                    else {
+                        loading.close();
+                    }
+
+
                 }
             })
         },
@@ -150,17 +167,12 @@ export default {
             console.log(index)
         },
         changeRemark(json) {
-            // if(this.changeRemark.j)
+            if (this.orderImgId.indexOf(json.id) != -1) {
+                this.addImage[this.orderImgId.indexOf(json.id)].remark = json.remark
+            }
         },
         handleRemove(file, fileList) {
-            var list = []
-            fileList.forEach(item => {
-                item.response.data.forEach(todo => {
-                    list.push(todo)
-                })
-            })
-            this.addImage = list
-            this.num = list.length
+
         },
         handleSuccess(res) {
             console.log(res)

+ 52 - 13
src/main/vue/src/pagesPre/OrderUploadChange.vue

@@ -3,13 +3,15 @@
         <div class="top" v-if="orderInfo.productInfo">
             <span>订单号:{{orderInfo.orderCode}}</span>
             <span style="margin-left:20px;">{{orderInfo.productInfo.title}}</span>
+            <span style="color:#666;font-size:14px;margin-left:20px">全部{{allNumber}}张图片,还需上传{{notUp}}张</span>
+            <el-button style="float:right;margin:15px 10px 0 20px;width:100px" v-if="!notUp" type="primary" class="btn" @click="submit">提交</el-button>
             <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="1" label="未上传" value="1">
                 </el-option>
                 <el-option key="0" label="已上传" value="0">
                 </el-option>
             </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>
         </div>
 
         <div class="content">
@@ -43,13 +45,12 @@
         <div class="bottom">
             <template v-if="!isChange">
                 <!-- <span v-if="canUploadNum>0">当前已上传{{orderImage.length}}张图片,还需上传{{canUploadNum}}张</span> -->
-                <span>全部{{allNumber}}张图片,还需上传{{notUp}}张</span>
-                <el-button style="float:right;margin:10px;" v-if="!notUp" type="primary" class="btn" @click="submit">提交</el-button>
+
             </template>
 
         </div>
 
-        <el-dialog title="上传图片" :visible.sync="dialogVisible" width="400px" :close-on-click-modal='false'>
+        <el-dialog title="上传图片" class="uploadDialog" :visible.sync="dialogVisible" width="80%" top="50px" :close-on-click-modal='false'>
             <div v-if="tip.length>0" class="tip" style="margin-bottom:10px;">
                 <template v-if="tip[0].indexOf('正在压缩')!=-1">
                     <i class="el-icon-loading"></i>{{tip[0]}}请不要关闭窗口耐心等待
@@ -63,7 +64,7 @@
                 <div class="el-upload__text">将文件拖到此处,或
                     <em>点击上传</em>
                 </div>
-                <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,当前已上传{{addImage.length}}张图片,还可以上传张</div>
+                <div class="el-upload__tip" slot="tip">只能上传RGB图片类型的jpg/png文件,已上传/总张数:{{orderInfo.quantity-notUp}} / {{orderInfo.quantity}}</div>
             </el-upload>
 
             <!-- <span slot="footer" class="dialog-footer">
@@ -175,16 +176,40 @@ export default {
         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
             }
 
 
+            return new Promise((resolve, reject) => {
+                this.$http.get({
+                    url: '/orderImage/getOne',
+                    data: {
+                        orderId: this.$route.query.orderId,
+                        imageName: file.name
+                    }
+                }).then(res => {
+                    if (res.data) {
+                        if (res.data.statusFlag == 1) {
+                            reject()
+                        }
+                        else {
+                            resolve()
+                        }
+
+                    }
+                    else {
+                        this.$message({
+                            message: file.name + '图片不在任务中,不能上传',
+                            type: 'warning'
+                        });
+                        reject()
+                    }
+                })
+            })
+
+
+
 
-            return isJPG
         },
         changeRemark() {
             if (!this.repairId) {
@@ -305,12 +330,12 @@ export default {
                     tips.splice(index, 1)
                 }
             })
-            tips.splice(0, 0, flie.name + '文件上传成功')
+            tips.splice(0, 0, flie.name + (res.success ? '文件上传成功' : '上传失败'))
             this.tip = tips
             setTimeout(() => {
                 var tips = [...this.tip]
                 tips.forEach((item, index) => {
-                    if (item.indexOf('文件上传成功') != -1) {
+                    if (item.indexOf((res.success ? '文件上传成功' : '上传失败')) != -1) {
                         tips.splice(index, 1)
                     }
                 })
@@ -318,9 +343,23 @@ export default {
             }, 1000)
             if (res.success) {
                 if (this.orderImgId.indexOf(res.data[0].id) != -1) {
+                    this.$http.get({
+                        url: '/orderImage/all',
+                        data: {
+                            orderId: this.$route.query.orderId,
+                            unFinished: this.$route.query.repairId ? '' : 1,
+                            repairId: this.$route.query.repairId,
+                            statusFlag: this.$route.query.repairId ? 2 : ''
+                        }
+                    }).then(res => {
+                        this.notUp = res.data.length
+                    })
                     this.orderImage.splice(this.orderImgId.indexOf(res.data[0].id), 1, res.data[0])
                 }
             }
+            else {
+                return false
+            }
 
         },
         delImg(index) {

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

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

+ 2 - 1
src/main/vue/src/pagesPre/Shop.vue

@@ -340,7 +340,8 @@ export default {
                     onShelf: 'Y',
                     useFlag: 'Y',
                     currentPage: this.commentCurrent,
-                    pageNumber: 8
+                    pageNumber: 8,
+                    typeFlag: 0
                 }
             }).then(res => {
                 if (res.success) {

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

@@ -62,8 +62,8 @@ export default {
                 advancedQuery: this.advancedQuerySearchKey,
                 orderByStr: this.orderByStr,
                 // userId: this.userInfo.id
-                storeId: this.myStoreInfo.id
-
+                storeId: this.myStoreInfo.id,
+                typeFlag: 0
             }
 
             if (this.$route.query.column) {

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

@@ -42,7 +42,7 @@
                     </el-aside>
                     <el-main :style="{paddingLeft:nowMenuList.length>0?'20px':0}">
 
-                        <el-alert v-if="coveListNum>0&&pageMenu=='商家中心'" :title="'当前有'+coveListNum+'条未读消息,请尽快去客户咨询处回复。'" type="warning" show-icon style='margin-bottom:10px;'>
+                        <el-alert v-if="coveListNum>0&&pageMenu=='商家中心'&&pageName=='商家首页'" :title="'当前有'+coveListNum+'条未读消息,请尽快去客户咨询处回复。'" type="warning" show-icon style='margin-bottom:10px;'>
                         </el-alert>
 
                         <router-view ref='child' @startChat='startChat'></router-view>
@@ -164,7 +164,8 @@ export default {
                     }],
                     '无': []
                 }
-            }
+            },
+            pageName:''
         }
     },
     watch: {
@@ -184,6 +185,7 @@ export default {
                     console.log(e)
 
                 })
+                this.pageName=this.$route.meta.title
             }
         }
     },

+ 2 - 1
src/main/vue/src/pagesPre/UserComment.vue

@@ -61,7 +61,8 @@ export default {
                 searchKey: this.filter1,
                 advancedQuery: this.advancedQuerySearchKey,
                 orderByStr: this.orderByStr,
-                userId: this.userInfo.id
+                userId: this.userInfo.id,
+                typeFlag: 0
             }
 
             if (this.$route.query.column) {

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

@@ -407,6 +407,15 @@ const router = new Router({
             name: '404',
             component: () =>
                 import ('../pagesPre/404')
+        },
+        {
+            path: '/orderExamineShare',
+            name: 'orderExamineShare',
+            component: () =>
+                import ('../pagesPre/OrderExamineShare'),
+            meta: {
+                title: '审核照片',
+            }
         }
     ]
 });

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 1
src/main/webapp/static/css/index.e3275ed11be0caa0bafe4fa6d375f510.css


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/10.7d70ef2eca341040e1e5.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/100.a430df97155de3ad2d3d.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/101.16b63bcdaac73e6f0f36.js


+ 0 - 1
src/main/webapp/static/js/102.fa40befe33c1c89ee730.js

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

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/103.259068dc52375efb9cb1.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/104.f444dae9aa781d2803d6.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/105.9ab800dedb7b96597e5d.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/106.4b059e93f12fcce3ca83.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/107.76d30c3cc7e76fa71b3c.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/108.e89cf32aa08041ddb17a.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/109.4e16201c3dfe62f1111b.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/110.fa0664e22e07c6d2dc3e.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/111.bdf2d4aef3dddf27b982.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/112.c4f9e30e9ef39acd2ba9.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/113.d6cacab9f32c6eab45a0.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/114.87906b7b637e869abf9b.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/115.6d5a172c838fc8c7bc66.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/116.35527a2b1267341bf61e.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/117.c95fe042dccfeeb2a561.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/118.6d5704fe57f204510931.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/119.a242320d8f2aea4cb2f1.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/120.3ee4a13c10b8eeaf3efa.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/121.eec34325efc962eedab5.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/122.c0924b2a3d70f59bc535.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/123.8d9b937639c8f1ab2c87.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/124.8ea635339f33d9d30bfc.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/125.894f6e0b5da4094859a9.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/126.5b46a6f1d81f0a2d5d68.js


Diff do ficheiro suprimidas por serem muito extensas
+ 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}});

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/129.aed0a3842f43db1cf959.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/130.e6928b54045bd5b5e572.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/131.3eea8ef492e03434c757.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/132.39cbc326421314c1d105.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/133.2af76765605801771840.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/134.112bcd7ea11af0f81dd3.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/135.8fb55cc47a63b86e893c.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/136.d1007a042f82f6660afa.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/137.38177380e703b80537d4.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/138.10b348324acf23a04b57.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/139.fbd82d35c9eaaa8d5157.js


+ 0 - 1
src/main/webapp/static/js/140.7aa122b7d3aaaacc4793.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("c+fW")},"data-v-472e9b91",null);n.default=i.exports},"c+fW":function(t,n){}});

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/141.340492d60e398800860b.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/142.df9a4206846f9800b77e.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/143.33c7701d2d6c6bcdbca9.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/144.ed071fbb600b12d04eb1.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/145.e2ccb850c12af5a13627.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/146.b22a1fe01a8f4c4c16b3.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/147.ca6a8cac0b3abb47a911.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/148.2d519b10d6a08b49bb23.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/149.9c1dbc9a31662eb55ea6.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/150.1e71ac56b42ab2f4cce6.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/151.44d9183b23b15fa1a61a.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/152.412dfdaed9cdf88b9a6c.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/153.4b9e80c87d3191b8547c.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/154.66f0a30fbc109da9aa8a.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/155.9bdbf911cef273768923.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/156.11dd49c0024b037392e4.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/157.c9cb22d232a3c399c563.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/158.bc2efdaf6c1872cf4a64.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/159.17ca7ff6cd8a3009e5c9.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/16.a4e86dc39a4b9c05d599.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/160.710e7d3a7c77c01c6952.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/161.d59086f3fad2a5631a58.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/162.66c786f9a53807dd03bb.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/18.7f0c3916026370b1b976.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/19.468b290b58e91f3e4573.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/20.4bd5a1dd15d71b57d3b0.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/22.40679665e70ca8a9823d.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/23.1b63a1644fcc9546b299.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/25.0241b6b25b3a26496956.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/26.49858d1c4c3e747f09e9.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/27.c388fb124a1a7d9aafac.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/28.69b8c6e90a8f64311120.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/29.80023569d0ff6ea14373.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/30.cc434578e15a98dc0412.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/31.8fb3f8d7798a30d3f37b.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/32.4a3a4f435434900d9fd8.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/33.6f6794c6d4910744faae.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/34.f5a496d95f818236cafe.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/35.dc9a999833208a768b11.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/36.06a857f56e3ccafa5be8.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/37.9a16133ec1bb93cc992f.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/38.5b733cdac78f421b9bce.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/39.3b3e0dfe6826212b887b.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
src/main/webapp/static/js/40.382a4a3fa8267b56a153.js


Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff