zhuliu преди 2 години
родител
ревизия
3b2ccef0cb

+ 10 - 9
RMS-FrontEnd/src/views/components/articles/components/history/components/echarts/components/MultipleLine/index.vue

@@ -173,6 +173,15 @@ export default {
          }
        })
      });
+     timeList = timeList.sort((a,b)=>{
+          if(timeUnit == 0){
+            return Date.parse(a.replace(/-/g, "/")) - Date.parse(b.replace(/-/g, "/"))
+          }else if(timeUnit==1){
+            return  Date.parse(a.match(/(\d{1,3})+(?:\.\d+)?/g).join('/'))-Date.parse(b.match(/(\d{1,3})+(?:\.\d+)?/g).join('/'))
+          }else{
+            return Date.parse(a.substring(0,a.length-1))-Date.parse(b.substring(0,b.length-1))
+          }
+        }),
      data.forEach(item=>{
        if(item.saleVOS && item.saleVOS.length>0){
          item.saleVOS.forEach(item2=>{
@@ -185,15 +194,7 @@ export default {
        
      });
      this.selected = {
-       x:timeList.sort((a,b)=>{
-        if(timeUnit == 0){
-            return Date.parse(a.replace(/-/g, "/")) - Date.parse(b.replace(/-/g, "/"))
-          }else if(timeUnit==1){
-            return  Date.parse(a.match(/(\d{1,3})+(?:\.\d+)?/g).join('/'))-Date.parse(b.match(/(\d{1,3})+(?:\.\d+)?/g).join('/'))
-          }else{
-            return Date.parse(a.substring(0,a.length-1))-Date.parse(b.substring(0,b.length-1))
-          }
-       }),
+       x:timeList,
        y:data.map(item=>{return item.name}),
        data:data
      }

+ 66 - 10
RMS-FrontEnd/src/views/components/articles/components/history/examination.vue

@@ -31,7 +31,11 @@
                     <template slot-scope="scope">
                         <span v-if="scope.row.vVisible">
                           <span v-if="scope.row.reportFiles">
-                              <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;"><p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis">{{item.name?item.name:item.fileName}}</p></div>
+                            <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;align-items:center;">
+                              <p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis;cursor: pointer">{{item.name?item.name+'.'+item.suffix:item.fileName}}</p> 
+                              <Menu :data="item" @delFile="delFile1(scope.row,item.id,scope.$index)"></Menu>
+                            </div>
+                              <!-- <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;"><p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis">{{item.name?item.name:item.fileName}}</p></div> -->
                             </span>
                              <span v-else><i class="el-icon-minus"></i></span>
                         </span>
@@ -52,11 +56,11 @@
                 <el-table-column label="操作" width="160" align="center">
                     <template slot-scope="scope">
                         <div class="special">
-                            <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row)">编辑</span>
-                            <span v-else class="items" @click="edit(scope.row)">保存</span>
+                            <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row,scope.$index)">编辑</span>
+                            <span v-else class="items" @click="edit(scope.row,scope.$index)">保存</span>
                             <span>&nbsp;|&nbsp;</span>
                             <span v-if="scope.row.vVisible" class="items" @click="deleteit(scope.row)">删除</span>
-                            <span v-else class="items" @click="close(scope.row)">取消</span>
+                            <span v-else class="items" @click="close(scope.row,scope.$index)">取消</span>
                         </div>
                     </template>
                 </el-table-column>
@@ -68,7 +72,11 @@
 </template>
 
 <script>
+import Menu from '@/views/components/common/menu/index2.vue'
 export default {
+  components:{
+      Menu
+    },
   props:["patent"],
   data() {
     return {
@@ -162,7 +170,34 @@ export default {
       }
       
     },
-    edit(row) {
+    delFile1(row,id,index){
+        var index = row.reportFiles.findIndex(item=>{
+          return item.id == id
+        })
+        if(index!=-1){
+          row.reportFiles.splice(index,1)
+        }
+      this.update(row,index)
+    },
+    update(row,index){
+      let formData = new FormData()
+          if(row.fileList){
+            for (var i = 0; i < row.fileList.length; i++) {
+              formData.append("files", row.fileList[i]);
+            }
+          }
+          row.patentNo = this.patent.publicNo
+          formData.append("jsons", JSON.stringify(row));
+        if (row.id) {
+          this.$api.updateReviewHistory(formData).then(res => { 
+            if (res.code==200) {
+              this.$message.success('修改成功')
+              this.getList2(row,index)
+            }
+          })
+        }
+    },
+    edit(row,index) {
       if (row.vVisible == false) {
         // let data = {
         //   id: row.id,
@@ -184,20 +219,32 @@ export default {
           this.$api.updateReviewHistory(formData).then(res => { 
             if (res.code==200) {
               this.$message.success('修改成功')
-              this.getList()
+              this.getList2(row,index)
             }
           })
         } else {
           this.$api.addReviewHistory(formData).then(res => { 
             if (res.code==200) {
               this.$message.success('保存成功')
-              this.getList()
+              this.getList2(row,index)
             }
           })
         }
-      };
+      }else{
+        row.RowData = JSON.parse(JSON.stringify(row))
+      }
       row.vVisible = !row.vVisible
     },
+    getList2(row,index){
+      this.$api.queryReviewHistory(this.queryParams).then(res => {
+        if (res.code==200) {
+          if(!row.id){
+            this.$set(this.reviewData[index],'id',res.data.records[index].id)
+          }
+          this.$set(this.reviewData[index],'reportFiles',res.data.records[index].reportFiles)
+        }
+      })
+    },
     formatDateTime(date) {
       var y = date.getFullYear();
       var m = date.getMonth() + 1;
@@ -231,8 +278,17 @@ export default {
         }
       })
     },
-    close() {
-      this.getList()
+    close(row,index) {
+      if(row.id){
+        var index1 = this.reviewData.findIndex(item=>{
+          return item.id == row.id
+        })
+        if(index1!=-1){
+          this.$set(this.reviewData,index1,row.RowData)
+        }
+      }else{
+        this.reviewData.splice(index,1)
+      }
     },
     getList() {
       this.$api.queryReviewHistory(this.queryParams).then(res => {

+ 68 - 29
RMS-FrontEnd/src/views/components/articles/components/history/invalid.vue

@@ -39,7 +39,13 @@
                     <template slot-scope="scope">
                         <span v-if="scope.row.vVisible">
                           <span v-if="scope.row.reportFiles">
-                              <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;"><p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis">{{item.name?item.name:item.fileName}}</p></div>
+                            <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;align-items:center;">
+                              <p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis;cursor: pointer">{{item.name?item.name+'.'+item.suffix:item.fileName}}</p> 
+                              <Menu :data="item" @delFile="delFile1(scope.row,item.id,scope.$index)"></Menu>
+                            </div>
+                              <!-- <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;">
+                                <p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis">{{item.name?item.name:item.fileName}}</p>
+                              </div> -->
                             </span>
                              <span v-else><i class="el-icon-minus"></i></span>
                         </span>
@@ -61,11 +67,11 @@
                 <el-table-column label="操作" width="160" align="center">
                     <template slot-scope="scope">
                     <div class="special">
-                        <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row)">编辑</span>
-                        <span v-else class="items" @click="edit(scope.row)">保存</span>
+                        <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row,scope.$index)">编辑</span>
+                        <span v-else class="items" @click="edit(scope.row,scope.$index)">保存</span>
                         <span>&nbsp;|&nbsp;</span>
                         <span v-if="scope.row.vVisible" class="items" @click="deleteit(scope.row)">删除</span>
-                        <span v-else class="items" @click="close(scope.row)">取消</span>
+                        <span v-else class="items" @click="cancel(scope.row,scope.$index)">取消</span>
                     </div>
                 </template>
                 </el-table-column>
@@ -77,7 +83,11 @@
 </template>
 
 <script>
+import Menu from '@/views/components/common/menu/index2.vue'
 export default {
+  components:{
+      Menu
+    },
   props:["patent"],
   data() {
     return {
@@ -174,7 +184,34 @@ export default {
       }
       
     },
-    edit(row) {
+    delFile1(row,id,index){
+        var index = row.reportFiles.findIndex(item=>{
+          return item.id == id
+        })
+        if(index!=-1){
+          row.reportFiles.splice(index,1)
+        }
+      this.update(row,index)
+    },
+    update(row,index){
+      let formData = new FormData()
+          if(row.fileList){
+            for (var i = 0; i < row.fileList.length; i++) {
+              formData.append("files", row.fileList[i]);
+            }
+          }
+          row.patentNo = this.patent.publicNo
+          formData.append("jsons", JSON.stringify(row));
+        if (row.id) {
+          this.$api.editInvalidRecord(formData).then(res => { 
+            if (res.code==200) {
+              this.$message.success('修改成功')
+              this.getList2(row,index)
+            }
+          })
+        }
+    },
+    edit(row,index) {
       if (row.vVisible == false) {
         // let data = {
           
@@ -199,42 +236,34 @@ export default {
           this.$api.editInvalidRecord(formData).then(res => { 
             if (res.code==200) {
               this.$message.success('修改成功')
-              this.getList()
+              this.getList2(row,index)
             }
           })
         } else {
           this.$api.addInvalidRecord(formData).then(res => { 
             if (res.code == 200) {
               this.$message.success('保存成功')
-              this.getList()
+              this.getList2(row,index)
             }
           })
         }
         // this.isEdit = false
         // row.vVisible = !row.vVisible
+      }else{
+        row.RowData = JSON.parse(JSON.stringify(row))
       }
-      // else{
-      //    if(this.isEdit){
-      //     this.$alert('您有修改未保存,请先保存修改', '提示', {
-      //     confirmButtonText: '确定',
-      //     callback: action => {
-      //       // this.$message({
-      //       //   type: 'info',
-      //       //   message: `action: ${ action }`
-      //       // });
-      //     }
-      //   });
-      //   }else{
-      //     // row.vVisible = !row.vVisible
-      //     this.isEdit = true
-      //   }
-        
-      // }
-      // if(this.isEdit == false){
-        
-      // }
       row.vVisible = !row.vVisible
     },
+    getList2(row,index){
+      this.$api.queryInvalidRecord(this.queryParams).then(res => {
+        if (res.code==200) {
+          if(!row.id){
+            this.$set(this.invalidData[index],'id',res.data.records[index].id)
+          }
+          this.$set(this.invalidData[index],'reportFiles',res.data.records[index].reportFiles)
+        }
+      })
+    },
     formatDateTime(date) {
       var y = date.getFullYear();
       var m = date.getMonth() + 1;
@@ -269,8 +298,18 @@ export default {
         
       })
     },
-    close() {
-      this.getList()
+    cancel(row,index) {
+      if(row.id){
+        var index1 = this.invalidData.findIndex(item=>{
+          return item.id == row.id
+        })
+        if(index1!=-1){
+          this.$set(this.invalidData,index1,row.RowData)
+        }
+      }else{
+        this.invalidData.splice(index,1)
+      }
+      // this.getList()
     },
     getList() {
       this.$api.queryInvalidRecord(this.queryParams).then(res => {

+ 66 - 10
RMS-FrontEnd/src/views/components/articles/components/history/litigation.vue

@@ -61,7 +61,11 @@
                     <template slot-scope="scope">
                         <span v-if="scope.row.vVisible">
                           <span v-if="scope.row.reportFiles">
-                              <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;"><p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis">{{item.name?item.name:item.fileName}}</p></div>
+                            <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;align-items:center;">
+                              <p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis;cursor: pointer">{{item.name?item.name+'.'+item.suffix:item.fileName}}</p> 
+                              <Menu :data="item" @delFile="delFile1(scope.row,item.id,scope.$index)"></Menu>
+                            </div>
+                              <!-- <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;"><p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis">{{item.name?item.name:item.fileName}}</p></div> -->
                             </span>
                              <span v-else><i class="el-icon-minus"></i></span>
                         </span>
@@ -82,11 +86,11 @@
                 <el-table-column label="操作" width="160" align="center">
                     <template slot-scope="scope">
                     <div class="special">
-                        <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row)">编辑</span>
-                        <span v-else class="items" @click="edit(scope.row)">保存</span>
+                        <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row,scope.$index)">编辑</span>
+                        <span v-else class="items" @click="edit(scope.row,scope.$index)">保存</span>
                         <span>&nbsp;|&nbsp;</span>
                         <span v-if="scope.row.vVisible" class="items" @click="deleteit(scope.row)">删除</span>
-                        <span v-else class="items" @click="close(scope.row)">取消</span>
+                        <span v-else class="items" @click="close(scope.row,scope.$index)">取消</span>
                     </div>
                 </template>
                 </el-table-column>
@@ -98,7 +102,11 @@
 </template>
 
 <script>
+import Menu from '@/views/components/common/menu/index2.vue'
 export default {
+  components:{
+      Menu
+    },
   props:["patent"],
   data() {
     return {
@@ -192,7 +200,34 @@ export default {
       }
       
     },
-    edit(row) {
+    delFile1(row,id,index){
+        var index = row.reportFiles.findIndex(item=>{
+          return item.id == id
+        })
+        if(index!=-1){
+          row.reportFiles.splice(index,1)
+        }
+      this.update(row,index)
+    },
+    update(row,index){
+      let formData = new FormData()
+          if(row.fileList){
+            for (var i = 0; i < row.fileList.length; i++) {
+              formData.append("files", row.fileList[i]);
+            }
+          }
+          row.patentNo = this.patent.publicNo
+          formData.append("jsons", JSON.stringify(row));
+        if (row.id) {
+          this.$api.editLitigationHistory(formData).then(res => { 
+            if (res.code==200) {
+              this.$message.success('修改成功')
+              this.getList2(row,index)
+            }
+          })
+        }
+    },
+    edit(row,index) {
       if (row.vVisible == false) {
         // let data = {
         //   id: row.id,
@@ -219,21 +254,33 @@ export default {
           this.$api.editLitigationHistory(formData).then(res => { 
             if (res.code == 200) {
               this.$message.success('修改成功')
-              this.getList()
+              this.getList2(row,index)
             }
           })
         } else {
           this.$api.addLitigationHistory(formData).then(res => { 
             if (res.code == 200) {
               this.$message.success('保存成功')
-              this.getList()
+              this.getList2(row,index)
             }
           })
         }
-      } 
+      }else{
+        row.RowData = JSON.parse(JSON.stringify(row))
+      }
       row.vVisible = !row.vVisible
      
     },
+    getList2(row,index){
+      this.$api.queryLitigationHistory(this.queryParams).then(res => {
+        if (res.code==200) {
+          if(!row.id){
+            this.$set(this.litigationData[index],'id',res.data.records[index].id)
+          }
+          this.$set(this.litigationData[index],'reportFiles',res.data.records[index].reportFiles)
+        }
+      })
+    },
     formatDateTime(date) {
       var y = date.getFullYear();
       var m = date.getMonth() + 1;
@@ -268,8 +315,17 @@ export default {
       })
     },
     // 取消按钮
-    close() {
-      this.getList()
+    close(row,index) {
+      if(row.id){
+        var index1 = this.litigationData.findIndex(item=>{
+          return item.id == row.id
+        })
+        if(index1!=-1){
+          this.$set(this.litigationData,index1,row.RowData)
+        }
+      }else{
+        this.litigationData.splice(index,1)
+      }
     },
     getList() {
       this.$api.queryLitigationHistory(this.queryParams).then(res => {

+ 66 - 10
RMS-FrontEnd/src/views/components/articles/components/history/other.vue

@@ -22,7 +22,11 @@
                     <template slot-scope="scope">
                         <span v-if="scope.row.vVisible">
                           <span v-if="scope.row.reportFiles">
-                              <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;"><p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis">{{item.name?item.name:item.fileName}}</p></div>
+                            <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;align-items:center;">
+                              <p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis;cursor: pointer">{{item.name?item.name+'.'+item.suffix:item.fileName}}</p> 
+                              <Menu :data="item" @delFile="delFile1(scope.row,item.id,scope.$index)"></Menu>
+                            </div>
+                              <!-- <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;"><p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis">{{item.name?item.name:item.fileName}}</p></div> -->
                             </span>
                              <span v-else><i class="el-icon-minus"></i></span>
                         </span>
@@ -49,11 +53,11 @@
                 <el-table-column label="操作" width="160" align="center">
                     <template slot-scope="scope">
                         <div class="special">
-                            <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row)">编辑</span>
-                            <span v-else class="items" @click="edit(scope.row)">保存</span>
+                            <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row,scope.$index)">编辑</span>
+                            <span v-else class="items" @click="edit(scope.row,scope.$index)">保存</span>
                             <span>&nbsp;|&nbsp;</span>
                             <span v-if="scope.row.vVisible" class="items" @click="deleteit(scope.row)">删除</span>
-                            <span v-else class="items" @click="close(scope.row)">取消</span>
+                            <span v-else class="items" @click="close(scope.row,scope.$index)">取消</span>
                         </div>
                     </template>
                 </el-table-column>
@@ -65,7 +69,11 @@
 </template>
 
 <script>
+import Menu from '@/views/components/common/menu/index2.vue'
 export default {
+  components:{
+      Menu
+    },
   props:["patent"],
   data() {
     return {
@@ -159,7 +167,34 @@ export default {
       }
       
     },
-    edit(row) {
+    delFile1(row,id,index){
+        var index = row.reportFiles.findIndex(item=>{
+          return item.id == id
+        })
+        if(index!=-1){
+          row.reportFiles.splice(index,1)
+        }
+      this.update(row,index)
+    },
+    update(row,index){
+      let formData = new FormData()
+          if(row.fileList){
+            for (var i = 0; i < row.fileList.length; i++) {
+              formData.append("files", row.fileList[i]);
+            }
+          }
+          row.patentNo = this.patent.publicNo
+          formData.append("jsons", JSON.stringify(row));
+        if (row.id) {
+          this.$api.updateReferences(formData).then(res => { 
+            if (res.code==200) {
+              this.$message.success('修改成功')
+              this.getList2(row,index)
+            }
+          })
+        }
+    },
+    edit(row,index) {
       if (row.vVisible == false) {
         // let data = {
         //   id: row.id,
@@ -181,14 +216,14 @@ export default {
           this.$api.updateReferences(formData).then(res => { 
               if (res.code==200) {
                 this.$message.success('修改成功')
-                this.getList()
+                this.getList2(row,index)
               }
           })
         } else {
           this.$api.addReferences(formData).then(res => { 
               if (res.code==200) {
                 this.$message.success('保存成功')
-                this.getList()
+                this.getList2(row,index)
               }
           })
         }
@@ -205,9 +240,21 @@ export default {
         // if(row.judgmentTime){
         //   row.judgmentTime=this.formatDateTime(row.judgmentTime)
         //   }
-      };
+      }else{
+        row.RowData = JSON.parse(JSON.stringify(row))
+      }
       row.vVisible = !row.vVisible
     },
+    getList2(row,index){
+      this.$api.queryReferences(this.queryParams).then(res => {
+        if (res.code==200) {
+          if(!row.id){
+            this.$set(this.reviewData[index],'id',res.data.records[index].id)
+          }
+          this.$set(this.reviewData[index],'reportFiles',res.data.records[index].reportFiles)
+        }
+      })
+    },
     formatDateTime(date) {
       var y = date.getFullYear();
       var m = date.getMonth() + 1;
@@ -241,8 +288,17 @@ export default {
         }
       })
     },
-    close() {
-      this.getList()
+    close(row,index) {
+      if(row.id){
+        var index1 = this.reviewData.findIndex(item=>{
+          return item.id == row.id
+        })
+        if(index1!=-1){
+          this.$set(this.reviewData,index1,row.RowData)
+        }
+      }else{
+        this.reviewData.splice(index,1)
+      }
     },
     getList() {
       this.$api.queryReferences(this.queryParams).then(res => {

+ 216 - 0
RMS-FrontEnd/src/views/components/common/menu/index2.vue

@@ -0,0 +1,216 @@
+<template>
+    <div class="menuPopover" :class="menuStyle" @mouseover="mouseover" @mouseout="mouseout">
+        
+        <el-popover
+        placement="top-start"
+        title=""
+        
+        trigger="hover"
+        >
+        <ul class="menu-list1" >
+            <li @click="downLoad(data)"><i class="fa el-icon-download"></i><span>下载</span></li>
+            <li @click="preview(data)"><i class="fa el-icon-view"></i><span>预览</span></li>
+            <li @click="delFile(data)"><i class="fa el-icon-delete"></i><span>删除</span></li>
+        </ul>
+        <div slot="reference" class="menu-button">
+            <div class="line-box">
+                <div class="line"></div>
+                <div class="line"></div>
+                <div class="line"></div>
+            </div>
+        </div>
+    </el-popover>
+        
+    </div>
+</template>
+<script>
+
+import {File} from './mixins'
+export default {
+    props:['data'],
+    mixins:[File],
+    data() {
+        return {
+            menuStyle:'menu-box',
+            active:false,
+        }
+    },
+    watch:{
+
+    },
+    methods:{
+        mouseover(){
+            this.menuStyle = 'menu-box active' 
+            this.active = true
+        },
+        mouseout(){
+            this.menuStyle = 'menu-box' 
+            this.active = false
+        },
+        // downLoad(){
+        //     downLoad2(this.data.url) 
+        // },
+        // preview(){
+        //     var item = this.data
+        //     var arr = ['png','jpeg','bmp','jpg']
+        //     if(arr.includes(item.suffix)){
+        //         var FileUrl = this.$p + item.url
+        //         var isPicture = 1
+        //     }else if(item.suffix == 'pdf'){
+        //         var FileUrl = this.$p + item.url
+        //         var isPicture = 0
+        //     }else{
+        //         var FileUrl =  'http://192.168.1.24:8012/onlinePreview?url='+ btoa(encodeURIComponent(this.$p + item.url))
+        //         var isPicture = 0
+        //     }
+        //     const router = this.$router.resolve({
+        //         path: '/checkFile',
+        //         query: {
+        //             row: JSON.stringify(item),
+        //             FileUrl: FileUrl,
+        //             isPicture:isPicture
+        //         }
+        //     })
+        //     window.open(router.href, '_blank');
+        // },
+        // delFile(){
+        //     this.$emit('delFile',this.data.id)
+        // }
+    }
+}
+</script>
+<style>
+.el-popover{
+    min-width: 100px;
+    padding: 0;
+}
+</style>
+<style lang="scss" scoped>
+    .menu-button{
+        width: 25px;
+        height: 25px;
+        background-color: white;
+        border-radius: 50%;
+        // box-shadow: 0 0 0 4px rgba(92,103,255,0.3);
+        color: #fff;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        position: relative;
+        
+        cursor: pointer;
+        transition: 0.2s ease-in;
+    }
+    .menu-button:hover{
+        background-color: white;
+        z-index: 999;
+        // box-shadow: 0 0 0 8px rgba(92,103,255,0.3);
+    }
+    .menu-button .line-box{
+        width: 10px;
+        height: 10px;
+        display: flex;
+        flex-direction: column;
+        justify-content: space-between;
+        cursor: pointer;
+        transition: transform 0.3s ease-out;
+    }
+    .menu-button .line{
+        background-color: black;
+        width: 100%;
+        height: 2px;
+        border-radius: 2px;
+    }
+    .menu-button .line:first-child{
+        width: 50%;
+        transform-origin: right;
+        transition: transform 0.3s ease-in-out;
+    }
+    .menu-button .line:last-child{
+        width: 50%;
+        align-self: flex-end;
+        transform-origin: left;
+        transition: transform 0.3s ease-in-out;
+    }
+    .menu-list1{
+        padding: 6px;
+        transition: 0.3s ease;
+        transition: delay 0.3s;
+        
+    }
+    .menu-list1 li{
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        padding: 10px;
+        color: #343470;
+        cursor: pointer;
+        position: relative;
+        opacity: 1;
+        transform:  translateX(-10px);
+        transition: 0.2s ease-in;
+    }
+    .menu-list1 li:hover{
+        color: #5c67ff;
+    }
+    .menu-list1 li::before{
+        content: '';
+        width: calc(100% - 24px);
+        height: 1px;
+        background-color: rgba(92,103,255,0.1);
+        position: absolute;
+        bottom: 0;
+        left: 12px;
+    }
+    .menu-list1 li:last-child::before{
+        display: none;
+    }
+    .menu-list1 .fa{
+        font-size: 18px;
+        width: 18px;
+        height: 18px;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+    }
+    .menu-list1 span{
+        font-size: 14px;
+        margin-left: 8px;
+    }
+    .active{
+        position: relative;
+    }
+    .active .line-box{
+        transform: rotate(-45deg);
+    }
+    .active .line-box .line:first-child{
+        transform: rotate(-90deg) translateX(1px);
+    }
+    .active .line-box .line:last-child{
+        transform: rotate(-90deg) translateX(-1px);
+    }
+    .active .menu-list{
+        margin: 0;
+        opacity: 1;
+        transform: scale(1);
+    }
+    .active .menu-list li{
+        animation: fade-in-item 0.4s linear forwards;
+    }
+    .active .menu-list li:nth-child(1){
+        animation-delay: 0.1s;
+    }
+    .active .menu-list li:nth-child(2){
+        animation-delay: 0.2s;
+    }
+    .active .menu-list li:nth-child(3){
+        animation-delay: 0.3s;
+    }
+    
+    @keyframes fade-in-item{
+        100%{
+            transform: translateX(0);
+            opacity: 1;
+        }
+    }
+</style>

+ 10 - 9
RMS-FrontEnd/src/views/product/components/echarts/components/MultipleLine/index.vue

@@ -159,6 +159,15 @@ export default {
           }
         })
       });
+      timeList = timeList.sort((a,b)=>{
+          if(timeUnit == 0){
+            return Date.parse(a.replace(/-/g, "/")) - Date.parse(b.replace(/-/g, "/"))
+          }else if(timeUnit==1){
+            return  Date.parse(a.match(/(\d{1,3})+(?:\.\d+)?/g).join('/'))-Date.parse(b.match(/(\d{1,3})+(?:\.\d+)?/g).join('/'))
+          }else{
+            return Date.parse(a.substring(0,a.length-1))-Date.parse(b.substring(0,b.length-1))
+          }
+        }),
       data.forEach(item=>{
         if(item.saleVOS && item.saleVOS.length>0){
           item.saleVOS.forEach(item2=>{
@@ -172,15 +181,7 @@ export default {
       });
       
       this.selected = {
-        x:timeList.sort((a,b)=>{
-          if(timeUnit == 0){
-            return Date.parse(a.replace(/-/g, "/")) - Date.parse(b.replace(/-/g, "/"))
-          }else if(timeUnit==1){
-            return  Date.parse(a.match(/(\d{1,3})+(?:\.\d+)?/g).join('/'))-Date.parse(b.match(/(\d{1,3})+(?:\.\d+)?/g).join('/'))
-          }else{
-            return Date.parse(a.substring(0,a.length-1))-Date.parse(b.substring(0,b.length-1))
-          }
-        }),
+        x:timeList,
         y:productNameList,
         data:data
       }

+ 1 - 1
RMS-FrontEnd/src/views/report/components/Tabel.vue

@@ -101,7 +101,7 @@ export default {
       if (this.data.length && offsetBodyHeight < offsetTop) {
         this.tableHeight = offsetBodyHeight + 75
       } else if (!this.data.length) {
-        this.tableHeight = null
+        this.tableHeight = 300
       } else {
         this.tableHeight = offsetTop
       }

+ 35 - 29
RMS-FrontEnd/src/views/report/components/matter/remarryMatter.vue

@@ -373,11 +373,13 @@ export default {
             if(this.registerForm.type==1 || this.registerForm.edit){
                 this.$refs.upload.clearFiles()
             }
+            
             this.registerVisible = false
         },
         //获取后续事项
         getMatter(val){
             this.matterSign = false
+            this.btnLoading = true
             try{
                 var keyList={
                     followUpName:'',
@@ -403,9 +405,10 @@ export default {
                 }
                 })
                 this.registerForm.followUps = list
-                
+                this.submitRegister1()
             }catch(e){
                 this.$message.error('后续事项名称不能为空')
+                this.btnLoading = false
             }  
         },
         //编辑事项结果
@@ -416,35 +419,35 @@ export default {
         submitRegister(){
             this.matterSign = true
             this.$nextTick(()=>{
-                this.btnLoading = true
+                // this.btnLoading = true
                 if(this.registerForm.followUps && this.registerForm.followUps.length>0){
-                    try{
-                        var keyList={
-                            followUpName:'',
-                            remark:'',
-                            agent:'',
-                            assistPerson:'',
-                            timeLimit:''
-                        }
-                        this.registerForm.followUps.forEach(item=>{
-                            var a = false
-                            for(let key in keyList){
-                                if(item[key] !='' && item[key] != null){
-                                    a = true
-                                }
-                            }
-                            if(a == true){
-                                if(item.followUpName!='') {
+                    // try{
+                    //     var keyList={
+                    //         followUpName:'',
+                    //         remark:'',
+                    //         agent:'',
+                    //         assistPerson:'',
+                    //         timeLimit:''
+                    //     }
+                    //     this.registerForm.followUps.forEach(item=>{
+                    //         var a = false
+                    //         for(let key in keyList){
+                    //             if(item[key] !='' && item[key] != null){
+                    //                 a = true
+                    //             }
+                    //         }
+                    //         if(a == true){
+                    //             if(item.followUpName!='') {
                                     
-                                }else{
-                                    throw new Error()
-                                }
-                            }
-                        })
-                        this.submitRegister1()
-                    }catch(e){
-                        this.$message.error('名称不能为空')
-                    }
+                    //             }else{
+                    //                 throw new Error()
+                    //             }
+                    //         }
+                    //     })
+                    //     this.submitRegister1()
+                    // }catch(e){
+                    //     this.$message.error('名称不能为空')
+                    // }
                 }else{
                     this.submitRegister1()
                 } 
@@ -467,7 +470,10 @@ export default {
                     if(response.code == 200){
                         this.btnLoading = false
                         this.getList()
-                        this.closeRegister()
+                        if(this.registerForm.type != 2 || this.registerForm.edit){
+                            this.closeRegister()
+                        }
+                        
                     }
                 }).catch(error=>{
                     this.btnLoading = false

+ 9 - 0
RMS-FrontEnd/src/views/report/components/patentTable.vue

@@ -222,6 +222,15 @@ export default{
         this.$emit("choiceFormSelected", a)
       }else{
         this.selected = []
+        this.choiceForm = {}
+        this.choiceQueryParams={
+          taskId:null,
+          size:10,
+          current:1,
+          reportId:this.reportId,
+          compareResult:null,
+        },
+        this.getList()
       }
     },
     // async choiceMark(val) {

+ 10 - 3
RMS-FrontEnd/src/views/report/index.vue

@@ -25,7 +25,7 @@
                         </el-select>
                       </el-form-item>
                       <el-form-item label="核心结论">
-                        <el-select v-model="queryParams.cronIds" size="small" multiple collapse-tags clearable style="width:150px">
+                        <el-select v-model="queryParams.cronIds" size="small" multiple collapse-tags clearable style="width:180px">
                           <el-option v-for="item in ConclusionList.filter(item=>{return this.queryParams.types.length>0?this.queryParams.types.indexOf(item.rType.toString()) != -1:item.cTypeId!=''})" :key="item.cType" :label="item.cTypeName" :value="item.cType">
                             <span style="float: left">{{ item.cTypeName }}</span>
                             <span style="float: right; color: #8492a6; font-size: 13px;margin-left:10px">{{ item.rTypeName }}</span>
@@ -360,7 +360,7 @@ export default {
               type: 'warning'
             }).then(() => {
               this.handleDelete(row)
-              this.$message.success("删除报告成功")
+             
             }).catch(() => {
               this.$message.info("已取消删除")         
             });
@@ -560,7 +560,12 @@ export default {
     },
     handleDelete(row) {
       this.$api.deleReport({ id: row.id }).then(res => {
-        this.getList()
+        if(res.code == 200){
+          this.$message.success("删除报告成功")
+          this.getList()
+        }
+      }).catch(error=>{
+        this.$message.success("删除报告失败")
       })
     },
     handleFields(row) {
@@ -610,8 +615,10 @@ export default {
       
     },
     getParams(params){
+      console.log(params)
       if(params.conclusionType=='-1'){
         this.queryParams.statuses=['0','1','2','4','5']
+        this.queryParams.types = [params.type]
       }else{
         this.queryParams.cronIds=[params.conclusionType]
       }