Browse Source

修改测试遇到的问题

zhuliu 2 years ago
parent
commit
e4a1b94c4f
24 changed files with 289 additions and 679 deletions
  1. 5 5
      RMS-FrontEnd/src/App.vue
  2. 31 0
      RMS-FrontEnd/src/views/components/articles/ContrastIndex.vue
  3. 11 11
      RMS-FrontEnd/src/views/components/articles/components/history/examination.vue
  4. 11 12
      RMS-FrontEnd/src/views/components/articles/components/history/invalid.vue
  5. 11 11
      RMS-FrontEnd/src/views/components/articles/components/history/litigation.vue
  6. 12 11
      RMS-FrontEnd/src/views/components/articles/components/history/other.vue
  7. 1 1
      RMS-FrontEnd/src/views/components/articles/components/mixins.js
  8. 7 8
      RMS-FrontEnd/src/views/components/articles/index.vue
  9. 34 0
      RMS-FrontEnd/src/views/components/common/PatentDetails/index.vue
  10. 2 2
      RMS-FrontEnd/src/views/components/common/mixins.js
  11. 1 1
      RMS-FrontEnd/src/views/components/gaoliang/components/pizhu.vue
  12. 1 1
      RMS-FrontEnd/src/views/components/import/index.vue
  13. 17 4
      RMS-FrontEnd/src/views/components/task/components/realTime.vue
  14. 2 1
      RMS-FrontEnd/src/views/components/task/index.vue
  15. 73 579
      RMS-FrontEnd/src/views/components/task/index1.vue
  16. 3 3
      RMS-FrontEnd/src/views/index/index.vue
  17. 2 0
      RMS-FrontEnd/src/views/layout/components/clientManage.vue
  18. 2 2
      RMS-FrontEnd/src/views/layout/mixins/index.js
  19. 5 1
      RMS-FrontEnd/src/views/report/InvalidResponse/components/FileDetails/fileDetails.vue
  20. 2 2
      RMS-FrontEnd/src/views/report/InvalidResponse/components/FileDetails/index.vue
  21. 28 11
      RMS-FrontEnd/src/views/report/InvalidResponse/components/InvalidIndex.vue
  22. 19 11
      RMS-FrontEnd/src/views/report/InvalidResponse/components/flowPath.vue
  23. 8 1
      RMS-FrontEnd/src/views/report/InvalidResponse/components/responseDialog.vue
  24. 1 1
      RMS-FrontEnd/src/views/report/reportDetails/components/basicMessage.vue

+ 5 - 5
RMS-FrontEnd/src/App.vue

@@ -7,11 +7,11 @@
                   <el-input type="color" v-model="mark.color"  style="opacity: 0;user-select:none;" @input="changeColor()"/>
                 </div>
                 &NonBreakingSpace;&NonBreakingSpace;&NonBreakingSpace;
-                <el-radio-group v-model="mark.scratchType">
-                  <el-radio :label="2" style="margin:0 10px;" @click.native.prevent="handleRadioClick(2)">波浪线</el-radio>
-                  <el-radio :label="0" style="margin-right: 10px;" @click.native.prevent="handleRadioClick(0)">下划线</el-radio>
-                  <el-radio :label="1" style="margin-right: 10px;font-size: 18px;" @click.native.prevent="handleRadioClick(1)">高亮</el-radio>
-                </el-radio-group>
+                <div style="font-size: 14px;font-weight: 500;">
+                  <span @click="handleRadioClick(2)" style="margin:0 10px">波浪线</span>
+                  <span @click="handleRadioClick(0)" style="margin:0 10px">下划线</span>
+                  <span @click="handleRadioClick(1)" style="margin:0 10px">高亮</span>
+                </div>
                 &NonBreakingSpace;&NonBreakingSpace;
                 <a onclick="pizhu()" style="font-size: 14px;font-weight: 500;"> 批注</a>
                 

+ 31 - 0
RMS-FrontEnd/src/views/components/articles/ContrastIndex.vue

@@ -415,6 +415,37 @@ export default {
       this.$set(this.patent, 'change2', change)
       this.loading = false
       this.changePageTitle()
+      if(this.reportId){
+        this.getPiZhuContrastList(this.patent.publicNo)
+      }
+      
+    },
+    getPiZhuContrastList(val) {
+      if (val) {
+        var index = this.piZhuContrastList.findIndex(item => {
+          item.patentNo == val
+        })
+        if (index != -1) {
+          return false;
+        }
+      }
+      let params = {
+        patentNo: val?val:this.patent.publicNo,
+        id: this.reportId,
+        createFrom:2
+      }
+      this.$api.scratchWordsQuery(params).then(response => {
+        if (response.code==200) {
+          if (this.piZhuContrastList.length > 0) {
+             var a = this.piZhuContrastList.filter(item => {
+              return item.patentNo != params.patentNo
+             }).concat(response.data)
+          } else {
+             var a = response.data
+          }
+           this.$store.commit('SET_PATENT_PIZHU_CONTRAST', a)
+        }
+      })
     },
     // async getPatent(id) {
     //   this.loading = true

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

@@ -275,27 +275,27 @@ export default {
 
     // 点击删除按钮
     deleteit(row) {
-      this.$api.deleReviewHistory({ id: row.id }).then(res => {
-        if (res.code == 200) {
-          this.$confirm('是否删除', '提示', {
+      this.$confirm('是否删除', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
         }).then(() => {
-          this.$message({
-            type: 'success',
-            message: '删除成功!'
-          });
-          this.getList()
+          this.$api.deleReviewHistory({ id: row.id }).then(res => {
+            if (res.code == 200) {
+              this.$message({
+                type: 'success',
+                message: '删除成功!'
+              });
+              this.getList()
+            }
+          })
         }).catch(() => {
           this.$message({
             type: 'info',
             message: '已取消删除'
           });          
         });
-          
-        }
-      })
+      
     },
     close(row,index) {
       if(row.id){

+ 11 - 12
RMS-FrontEnd/src/views/components/articles/components/history/invalid.vue

@@ -296,28 +296,27 @@ export default {
 
     // 点击删除按钮
     deleteit(row) {
-      this.$api.deleInvalidRecord({id:row.id}).then(res => {
-        if (res.code == 200) {
-          this.$confirm('是否删除', '提示', {
+      this.$confirm('是否删除', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
         }).then(() => {
-          this.$message({
-            type: 'success',
-            message: '删除成功!'
-          });
-          this.getList()
+          this.$api.deleInvalidRecord({id:row.id}).then(res => {
+            if (res.code == 200) {
+              this.$message({
+                type: 'success',
+                message: '删除成功!'
+              });
+              this.getList()
+            }
+          })
         }).catch(() => {
           this.$message({
             type: 'info',
             message: '已取消删除'
           });          
         });
-          
-        }
-        
-      })
+      
     },
     cancel(row,index) {
       if(row.id){

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

@@ -311,27 +311,27 @@ export default {
 
     // 点击删除按钮
     deleteit(row) {
-      this.$api.deleteLitigationHistory({ id: row.id }).then(res => { 
-        if (res.code == 200) {
-          this.$confirm('是否删除', '提示', {
+      this.$confirm('是否删除', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
         }).then(() => {
-          this.$message({
-            type: 'success',
-            message: '删除成功!'
-          });
-          this.getList()
+          this.$api.deleteLitigationHistory({ id: row.id }).then(res => { 
+            if (res.code == 200) {
+              this.$message({
+              type: 'success',
+              message: '删除成功!'
+            });
+            this.getList()
+            }
+          })
         }).catch(() => {
           this.$message({
             type: 'info',
             message: '已取消删除'
           });          
         });
-          
-        }
-      })
+      
     },
     // 取消按钮
     close(row,index) {

+ 12 - 11
RMS-FrontEnd/src/views/components/articles/components/history/other.vue

@@ -286,27 +286,28 @@ export default {
 
     // 点击删除按钮
     deleteit(row) {
-      this.$api.deleReferences({ id: row.id }).then(res => {
-        if (res.code == 200) {
-          this.$confirm('是否删除', '提示', {
+      this.$confirm('是否删除', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
           type: 'warning'
         }).then(() => {
-          this.$message({
-            type: 'success',
-            message: '删除成功!'
-          });
-          this.getList()
+          this.$api.deleReferences({ id: row.id }).then(res => {
+            if (res.code == 200) {
+              this.$message({
+                type: 'success',
+                message: '删除成功!'
+              });
+              this.getList()
+            }
+          })
+          
         }).catch(() => {
           this.$message({
             type: 'info',
             message: '已取消删除'
           });          
         });
-          
-        }
-      })
+      
     },
     close(row,index) {
       if(row.id){

+ 1 - 1
RMS-FrontEnd/src/views/components/articles/components/mixins.js

@@ -834,7 +834,7 @@ export const addContrast = {
           a.id = null
           a.remark = null
           // a.color = this.currentSelectObj.color
-          a.createFrom = 2
+          a.createFrom = this.reportId?2:0
           a.Type = 0
 
           a.rightSort=this.currentSelectObj.rightSort

+ 7 - 8
RMS-FrontEnd/src/views/components/articles/index.vue

@@ -414,7 +414,7 @@ export default {
   },
   created() {
   },
-  mounted() {
+  async mounted() {
     // this.height = document.querySelector('.patent-content').offsetHeight>500?document.querySelector('.patent-content').offsetHeight + 90:500
     this.params = this.$s.getSession('params')
     // window.addDuiBi = this.addDuiBi
@@ -435,9 +435,9 @@ export default {
       this.getQueryProofList()//获取证据列表
       this.queryScratchs()//获取陈述意见列表
     } else {
-       this.getPatent(this.patentNo)
+      await this.getPatent(this.patentNo)
       // 请求查询批注
-      this.getPiZhuContrastList(this.patentNo)
+      this.getPiZhuContrastList(this.patent.publicNo)
     }
    
 
@@ -502,8 +502,8 @@ export default {
       this.loading = false
       // 1是文献2是非文献
      if (val.type == 1) {
-        this.getPatent(val.proofConditions)
-        this.getPiZhuContrastList(val.proofConditions)
+       await this.getPatent(val.proofConditions)
+        this.getPiZhuContrastList(this.patent.publicNo)
       } else {
         let url = `http://${this.$c.hostname}:8012/onlinePreview?url=` + btoa(encodeURIComponent(this.$p + val.proofConditions))
         this.$nextTick(() => {
@@ -632,11 +632,10 @@ export default {
         }
       }
       let params = {
-        patentNo: val?val:this.patentNo,
+        patentNo: val?val:this.patent.publicNo,
         id: this.reportId,
         createFrom:2
       }
-      console.log(val,params)
       this.$api.scratchWordsQuery(params).then(response => {
         if (response.code==200) {
           if (this.piZhuContrastList.length > 0) {
@@ -1024,7 +1023,7 @@ if(index!=-1){
       this.patentId = data.id
       this.changePageTitle()
       // 请求批注
-      this.getPiZhuContrastList(data.patentNo)
+      this.getPiZhuContrastList(data.publicNo)
     },
     //查询任务下专利状态
     getPatentStatus(patentNo){

+ 34 - 0
RMS-FrontEnd/src/views/components/common/PatentDetails/index.vue

@@ -34,16 +34,50 @@ export default{
         reportId(){
             return this.$route.query.reportId
         },
+        piZhuContrastList() {
+            return this.$store.state.report.piZhuContrastList
+        }
   },
   created() {
       // console.log(this.$route.query.patentNo);
     },
   mounted() {
+    // if(this.reportId){
+    //     this.getPiZhuContrastList(this.patentNo)
+    // }
         // this.form =this.$route.params.form
         // this.showBtn = this.$route.params.showBtn
         // console.log(this.$route.params)
     },
     methods: {
+        // 查询批注
+    getPiZhuContrastList(val) {
+      if (val) {
+        var index = this.piZhuContrastList.findIndex(item => {
+          item.patentNo == val
+        })
+        if (index != -1) {
+          return false;
+        }
+      }
+      let params = {
+        patentNo: val?val:this.patentNo,
+        id: this.reportId,
+        createFrom:2
+      }
+      this.$api.scratchWordsQuery(params).then(response => {
+        if (response.code==200) {
+          if (this.piZhuContrastList.length > 0) {
+             var a = this.piZhuContrastList.filter(item => {
+              return item.patentNo != params.patentNo
+             }).concat(response.data)
+          } else {
+             var a = response.data
+          }
+           this.$store.commit('SET_PATENT_PIZHU_CONTRAST', a)
+        }
+      })
+    },
         // submit(id){
         //     this.form.status = id
         //     this.$api.AddReport(this.form).then(response=>{

+ 2 - 2
RMS-FrontEnd/src/views/components/common/mixins.js

@@ -308,7 +308,7 @@ export const patentKeywordsHighlight = {
 
 
     getViewDom(text, field) {
-      if (this.patent.publicNo && field) {
+      if (this.patent && this.patent.publicNo && field) {
         // SET_PATENT_OPINION_CONTRAST
         var arr = ['piZhuContrastList', 'contrastList', 'opinionContrastList']
         arr.forEach((item, index) => {
@@ -620,7 +620,7 @@ export const PatentDetails = {
         path: '/patentDetails',
         query:{
           patentNo: patentNo,
-          reportId:row?row.id:"",
+          reportId:row?row.id:(this.reportId?this.reportId:''),
         }
       })
       window.open(router.href, '_blank')

+ 1 - 1
RMS-FrontEnd/src/views/components/gaoliang/components/pizhu.vue

@@ -204,7 +204,7 @@ export default {
           let params = {
             patentNo:this.mark.patentNo,
             id: this.mark.rangeId,
-            createFrom:1
+            createFrom:2
           }
           this.$api.scratchWordsQuery(params).then(res => {
             if (res.code == 200) {

+ 1 - 1
RMS-FrontEnd/src/views/components/import/index.vue

@@ -109,7 +109,7 @@
 <script>
 // import ProjectFieldDrawer from "../../layout/components/field.vue";
 // import ProjectFolderDialog from "../common/Folder.vue";
-import SystemTask from '../task'
+import SystemTask from '../task/index1.vue'
 import { mapGetters } from "vuex";
 
 export default {

+ 17 - 4
RMS-FrontEnd/src/views/components/task/components/realTime.vue

@@ -111,6 +111,9 @@ export default {
     };
   },
   watch: {
+    webSockets(val){
+      this.initTask2()
+    }
   },
   computed: {
     webSocket1(){
@@ -119,15 +122,25 @@ export default {
   },
   created() {},
   mounted() {
-    this.initTask()
+    this.initTask1()
     this.getList()
   },
   methods: {
-    initTask() {
-      var webSocket = this.webSocket1|| this.webSocket
+    initTask1(){
+      var webSocket = this.webSocket
+      this.initTask(webSocket)
+    },
+    initTask2(){
+      var webSocket = this.webSocket1
+      this.initTask(webSocket)
+    },
+    initTask(webSocket) {
+      if(!webSocket){
+        return false
+      }
       webSocket.onmessage = (e) => {
         const { code, data, message } = JSON.parse(e.data)
-        console.log({ code, data, message });
+        // console.log({ code, data, message });
         if (code === 903 || code === 904) {
           const index = this.taskData.findIndex(item=>{return item.id == data.taskId})
           // const index = this.taskData.findIndex(item=>{return item.id == data.id})

+ 2 - 1
RMS-FrontEnd/src/views/components/task/index.vue

@@ -46,7 +46,8 @@ export default {
   },
   methods: {
     connectWebSocket() {
-      let webSocket = new WebSocket(`ws://${this.$c.hostname}:8877/api/v2/ws/`+this.userinfo.id)
+      // let webSocket = new WebSocket(`ws://${this.$c.hostname}:8877/api/v2/ws/`+this.userinfo.id)
+      let webSocket = new WebSocket(`ws://192.168.1.24:8877/api/v2/ws/`+this.userinfo.id)
       this.webSocket = webSocket
       webSocket.onopen = () => {
         console.log('WebSocket连接成功')

+ 73 - 579
RMS-FrontEnd/src/views/components/task/index1.vue

@@ -11,32 +11,13 @@
       </el-header>
       <el-main class="system-task-main">
         <div v-if="activeName === '0'" key="task1">
-          <el-table :data="taskData" border header-row-class-name="custom-table-header" v-loading="loadingCancel" element-loading-text = "请耐心等待,数据正在加载中...">
+          <el-table :data="taskData" border header-row-class-name="custom-table-header">
             <el-table-column v-if="form === 1" label="文件名称" prop="oldName" align="center" show-overflow-tooltip></el-table-column>
-            <el-table-column label="任务数量" prop="total" align="center" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.total?scope.row.total:scope.row.allNum }}</span>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column label="当前下标" prop="index" align="center" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.index?scope.row.index:scope.row.successNum }}</span>
-                </div>
-              </template>
-            </el-table-column>
+            <el-table-column label="任务数量" prop="total" align="center" show-overflow-tooltip></el-table-column>
+            <el-table-column label="当前条数" prop="index" align="center" show-overflow-tooltip></el-table-column>
             <el-table-column label="实时进度" align="center" min-width="200px" show-overflow-tooltip>
               <template slot-scope="scope">
-                <el-progress :text-inside="true" :stroke-width="20" :percentage="scope.row.percentage?scope.row.percentage:scope.row.taskProcess" :color="customColors"></el-progress>
-              </template>
-            </el-table-column>
-            <el-table-column label="当前状态" align="center" v-if="form == 8" min-width="100px" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <span>{{ statusObj[scope.row.taskDetailState] }}</span>
-               <!-- <span v-if="scope.row.taskDetailState!=5">{{ scope.row.taskType?'进行中':'等待中' }}</span>
-               <span v-else>已取消</span> -->
+                <el-progress :text-inside="true" :stroke-width="20" :percentage="scope.row.percentage" :color="customColors"></el-progress>
               </template>
             </el-table-column>
             <el-table-column v-if="form === 2" label="操作" align="center" width="120" show-overflow-tooltip>
@@ -45,112 +26,41 @@
                 <el-link v-else type="primary" @click.native="handleDownload(scope.row)">下载文件</el-link>
               </template>
             </el-table-column>
-            <el-table-column v-if="form === 9 || form === 8" label="操作" align="center" width="150" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <p v-if="scope.row.taskDetailState!=5">
-                  <el-link class="margin-left_10" type="danger"  @click="cancel(scope.row)">取消</el-link>
-                  <el-link class="margin-left_10" type="danger" @click="handleCancelZan(scope.row)" v-if="scope.row.taskDetailState==6">继续</el-link>
-                  <span class="loadCss" type="danger" @click="handleCancelZan(scope.row)" v-else-if="scope.row.taskDetailState==8" >暂停中</span>
-                  <el-link class="margin-left_10" type="danger" @click="handleCancelZan(scope.row)" v-else>暂停</el-link>
-                </p>
-                <p class="margin-left_10" type="danger" v-else>已取消</p>
-              </template>
-            </el-table-column>
           </el-table>
         </div>
         <div v-else key="task2">
-          <el-form inline v-if="form!=9">
-            <el-form-item  label="创建人">
-              <el-input v-model="queryParams.createName" size="small" placeholder="请输入创建人名称"></el-input>
+          <el-form inline>
+            <el-form-item label="创建人">
+              <el-input v-model="queryParams.createUserName" size="small" placeholder="请输入创建人名称"></el-input>
             </el-form-item>
-            <!-- <el-form-item v-else label="任务类型">
-                <el-input v-model.trim="queryParams.taskType" size="small" placeholder="请输入任务类型"></el-input>
-                <el-select v-model="queryParams.taskType" size="small" clearable placeholder="请选择任务类型">
-                  <el-option
-                    v-for="item in options"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
-                  </el-option>
-                </el-select>
-            </el-form-item> -->
             <el-form-item>
-              <el-button  size="small" type="" @click="getList2">搜索</el-button>
+              <el-button size="small" type="" @click="getList">搜索</el-button>
             </el-form-item>
           </el-form>
-          <el-table v-loading="loading" :data="tableData" border header-row-class-name="custom-table-header" @sort-change="sortChange">
-            <el-table-column v-if="form === 1" label="文件名称" prop="oldName" align="center" show-overflow-tooltip></el-table-column>
-            <el-table-column v-else label="#" type="index" align="center" width="55">
-              <template slot-scope="scope">
-                <span>{{ (scope.$index + 1) + ((queryParams.current - 1) * queryParams.size) }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column v-if="form!=9 && form!=8" label="开始时间" align="center" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <span >{{ $d(scope.row.startTime) }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column v-if="form!=9 && form!=8" label="结束时间" align="center" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <span>{{ $d(scope.row.endTime) }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column v-else label="创建时间" prop="createTime" align="center" sortable="custom" show-overflow-tooltip>
+          <el-table v-loading="loading" :data="tableData" border header-row-class-name="custom-table-header">
+            <el-table-column v-if="form === 1" label="文件名称" prop="taskName" align="center" show-overflow-tooltip></el-table-column>
+            <el-table-column v-else label="#" type="index" align="center" width="55"></el-table-column>
+            <el-table-column label="开始时间" align="center" show-overflow-tooltip>
               <template slot-scope="scope">
-                <span>{{ scope.row.createTime }}</span>
+                <span>{{ scope.row.createDate }}</span>
               </template>
             </el-table-column>
-            <el-table-column v-if="form==9 || form==8" label="任务类型" align="center" show-overflow-tooltip>
+            <el-table-column label="结束时间" align="center" show-overflow-tooltip>
               <template slot-scope="scope">
-                <span>{{ scope.row.taskType==1?'定时任务':'普通任务' }}</span>
+                <span>{{ scope.row.finishTime }}</span>
               </template>
             </el-table-column>
             <el-table-column label="任务状态" align="center" show-overflow-tooltip>
               <template slot-scope="scope">
-                <span v-if="form!=9 && form!=8">{{ statusObj[scope.row.status] }}</span>
-                <span v-else>{{ statusObj[scope.row.taskState] }}</span>
+                <span>{{ statusObj[scope.row.state] }}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="createName" label="创建人" align="center" width="120" show-overflow-tooltip></el-table-column>
-            <el-table-column v-if="form==9 || form==8" label="定时周期" prop="dateType" align="center" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <div>
-               <span v-if="scope.row.taskType == 1">{{dateType.find(item=> item.value == getType(scope.row.crons)).label }}</span> 
-               <span v-else></span> 
-              </div>
-            </template>
-            </el-table-column>
-            <!-- <el-table-column v-if="form==9 || form==8" label="定时时间" prop="dates" align="center" show-overflow-tooltip></el-table-column> -->
-            <el-table-column v-if="form==9 || form==8" label="最近更新时间" prop="modifiedTime" align="center" sortable="custom" show-overflow-tooltip></el-table-column>
-            <el-table-column v-if="form!=9 && form!=8" label="操作" align="center" width="120" show-overflow-tooltip>
+            <el-table-column prop="createUserName" label="创建人" align="center" width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column label="操作" align="center" width="120" show-overflow-tooltip>
               <template slot-scope="scope" v-if="scope.row.status !== 0">
-                <el-link type="primary" @click.native="handleDownload(scope.row)" v-if="$permission('/workspace/common/taskDownload')">下载</el-link>
-                <el-link class="margin-left_10" type="danger" @click.native="handleDelete(scope.row)" v-if="$permission('/workspace/common/delete')">删除</el-link>
-              </template>
-            </el-table-column>
-            <el-table-column v-else label="操作" align="center" width="150" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <div>
-                  <el-dropdown v-if="scope.row.taskType == 1" split-button type="primary" size="small" @command="handleCommand($event,scope.row)" @click="handleClick(scope.row)">
-                    <p>编辑</p>
-                    <el-dropdown-menu slot="dropdown">
-                      <el-dropdown-item command="1">{{ pause==0?'暂停任务':'继续任务' }} </el-dropdown-item>
-                      <!-- <el-dropdown-item command="1">暂停任务 </el-dropdown-item> -->
-                      <el-dropdown-item command="2">删除任务</el-dropdown-item>
-                      <!-- <el-dropdown-item command="3">取消</el-dropdown-item> -->
-                      <el-dropdown-item command="4">更新记录</el-dropdown-item>
-                    </el-dropdown-menu>
-                  </el-dropdown>
-                  <el-dropdown v-else split-button type="primary" size="small" @command="handleCommand($event,scope.row)" @click="deletes(scope.row)">
-                    <p>删除</p>
-                    <el-dropdown-menu slot="dropdown">
-                      <el-dropdown-item command="4">更新记录</el-dropdown-item>
-                    </el-dropdown-menu>
-                  </el-dropdown>
-                  <!-- <el-link class="margin-left_10" type="danger" @click="deletes(scope.row)" v-if="scope.row.taskType!=1">删除</el-link> -->
-                </div>
+                <el-link type="primary" @click.native="handleDownload(scope.row)">下载</el-link>
+                <el-link class="margin-left_10" type="danger" @click.native="handleDelete(scope.row)" >删除</el-link>
               </template>
-                
             </el-table-column>
           </el-table>
           <div class="pagination">
@@ -159,90 +69,19 @@
         </div>
       </el-main>
     </el-container>
-    <el-dialog title="编辑"
-      :visible.sync="visible"
-      width="600px"
-      :before-close="close"
-      append-to-body
-      :close-on-click-modal="false">
-        <el-form :model="forms" :rules="rules" ref="forms" label-width="100px">
-          <el-form-item label="来源网站" prop="configId">
-              <el-select v-model="forms.configId" placeholder="请选择网站" style="width: 100%;">
-                  <el-option v-for="item in website"
-                    :key="item.id"
-                    :label="item.webName"
-                    :value="item.id">
-                  </el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="下载内容" prop="configCells">
-              <el-select v-model="forms.configCells"  multiple collapse-tags placeholder="请选择下载内容" style="width: 100%;">
-                  <el-option v-for="item in download"
-                    :key="item.id"
-                    :label="item.cellName"
-                    :value="item.id">
-                  </el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="是否更新" prop="taskType">
-              <el-switch v-model="forms.taskType" @change="changeTaskType" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#ff4949">  </el-switch>
-            </el-form-item>
-            <el-form-item label="更新间隔" v-if="forms.taskType==1" prop="dateType">
-                <el-select v-model="forms.dateType" @change="getDateType" clearable placeholder="请选择更新时间间隔" style="margin-right: 20px;width: 100%;">
-                  <el-option v-for="item in dateType"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            <el-form-item label="选择更新时间" v-show="forms.dateType">
-                <timeChoose :type="forms.dateType" @value="handleData" :cron="forms.crons" style="width:100%"></timeChoose>
-            </el-form-item>
-            <el-form-item label="检索信息">
-              <el-input v-model="forms.conditions" placeholder="请输入检索信息" type="textarea"></el-input>
-            </el-form-item>
-        </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="close">取 消</el-button>
-        <el-button type="primary" @click="sure">确 定</el-button>
-      </span>
-    </el-dialog>
-
-    <updateLog ref="updateLog"></updateLog>
   </div>
 </template>
 
 <script>
 import { mapGetters } from "vuex";
 import { downLoad2, getFileName } from "@/utils";
-import { cron } from "@/views/components/common/components/mixins";
-import timeChoose from "@/views/components/common/components/timeChoose.vue";
-import updateLog from "./components/updateLog.vue";
 
 export default {
-  mixins:[cron],
-  props: {
-    form: Number,
-    downloadId:String,
-    isGetList:Boolean,
-  },
-  components: {
-    timeChoose,
-    updateLog,
-  },
+  // props: {
+  //   form: Number,
+  // },
+  props:['form','reportId'],
   data() {
-    const dateTypeRule = (rule, value, callback) => {
-      if (this.forms.taskType == 1) {
-        if (value) {
-          callback()
-        } else {
-          callback(new Error('请选择更新周期'))
-        }
-      } else {
-        callback()
-      }
-    }
     return {
       activeName: '0',
       taskData: [],
@@ -250,25 +89,21 @@ export default {
       total: 0,
       tableData: [],
       queryParams: {
-        status: null,
+        // status: null,
+        state:0,
         size: 10,
         current: 1,
-        projectName: '',
-        type: 0,
-        order: 'desc',
-        createName: '',
-        projectId: 0
+        // projectName: '',
+        // type: 0,
+        // order: 'desc',
+        // createName: '',
+        reportId: 0
       },
       statusObj: {
-        0: '等待中',
+        0: '队列中',
         1: '进行中',
         2: '成功',
         3: '失败',
-        4: '等待下一次执行',
-        5: '已取消',
-        6: '暂停',
-        7: '待取消',
-        8: '待暂停'
       },
       customColors: [
         {color: '#f56c6c', percentage: 20},
@@ -281,112 +116,41 @@ export default {
         1: '专利导入',
         2: '专利导出',
         3: '说明书导入',
-      },
-      visible:false,
-      loadingCancel:false,
-      options: [
-        {label:'普通任务',value:0},
-        {label:'定时任务',value:1},
-      ],
-      dateType: [
-        {label:'每天',value:'day'},
-        {label:'每周',value:'week'},
-        {label:'每月',value:'month'},
-        {label:'每年',value:'year'},
-      ],
-      website:[],
-      download:[],
-      forms:{},
-      pause:0,
-      rules: {
-        configId: [{ required: true, message: '请选择来源网站', trigger: 'change' },],
-        configCells: [{ required: true, message: '请选择下载内容', trigger: 'change' },],
-        taskType: [{ required: true, message: '请选择', trigger: 'change' },],
-        dateType: [{ required: true,  validator:dateTypeRule, trigger: 'change' },],
-      },
-      webSocket1: '',
+      }
     }
   },
   computed: {
-    ...mapGetters(['webSocket', 'userinfo'])
+    ...mapGetters(['webSocket'])
+
   },
-  watch: {
-    isGetList(val) {
-      this.getList2()
+  watch:{
+    activeName(val){
+      if(val==1){
+        this.getList()
+      }else{
+        this.getQueueList()
+      }
     },
   },
   mounted() {
-    this.queryParams.type = this.form
-    this.queryParams.projectId = this.$route.query.id
-    // this.getList()
-    // console.log(this.downloadId);
-    
-   
-    if (this.form != 9) {
-      this.initTask()
-      this.getList()
-      this.getQueueList()
-    } else {
-      this.connectWebSocket(this.userinfo.id)
-      this.getTasks()//网站导入查询
-      this.getTaskDetails()//传入状态查询实时进度
-      this.getAllConfig()//请求全部网站
-    }
-    
+    // this.queryParams.type = this.form
+    // this.queryParams.reportId = this.reportId
+   this.getQueueList()
+    this.initTask()
     
   },
   methods: {
-    connectWebSocket(userId) {
-      this.webSocket1 = new WebSocket(`ws://${this.$c.hostname}:8111/api/quartz/ws/` + userId)
-      // this.webSocket1 = new WebSocket(`ws://192.168.1.24:8111/api/quartz/ws/` + userId)
-
-      // Store.commit('SET_WEB_SOCKET', webSocket)
-      this.webSocket1.onopen = () => {
-        console.log('WebSocket连接成功') 
-        this.initTask()
-        return true
-      }
-      
-      // webSocket.onmessage = async (e) => {
-      //   console.log(e)
-      // }
-      this.webSocket1.onerror = () => {
-        console.log('WebSocket连接失败')
-        // var timer = setTimeout(() => {
-        //   for (var i = 0; i < 3; i++){
-        //     var state = this.connectWebSocket(this.userinfo.id)
-        //     if (state) {
-        //       clearTimeout(timer)
-        //     }
-        //     if (i == 2) {
-        //       clearTimeout(timer)
-        //     }
-        //   }
-        // },1000)
-      }
-      this.webSocket1.onclose = () => {
-        console.log('WebSocket连接关闭')
-        // var timer = setTimeout(() => {
-        //   for (var i = 0; i < 3; i++){
-        //     var state = this.connectWebSocket(this.userinfo.id)
-        //     if (state) {
-        //       clearTimeout(timer)
-        //     }
-        //     if (i == 2) {
-        //       clearTimeout(timer)
-        //     }
-        //   }
-        // },1000)
+    initTask() {
+      let webSocket = this.webSocket
+      if(!webSocket){
+        return false
       }
-    },
-    initTask(webSocket1) {
-      var webSocket = this.webSocket1?this.webSocket1:this.webSocket
       webSocket.onmessage = (e) => {
+        // console.log(e)
         const { code, data, message } = JSON.parse(e.data)
-        // console.log({ code, data, message });
+        // console.log(JSON.parse(e.data))
         if (code === 903 || code === 904) {
-          const index = this.taskData.findIndex(item=>{return item.id == data.id || item.taskId==data.taskId})
-          // const index = this.taskData.findIndex(item=>{return item.id == data.id})
+          const index = this.taskData.map(item => item.taskId).indexOf(data.taskId)
           if (index === -1) {
             // this.taskData.push(data)
           } else {
@@ -396,46 +160,38 @@ export default {
             if(this.form==1){
               this.$message.success(`导入任务完成`)
                for(var i = 0;i<this.taskData.length;i++){
-                if(this.taskData[i].complete==true){
-                  this.taskData.splice(i,1)
-                }
+              if(this.taskData[i].complete==true){
+                this.taskData.splice(i,1)
               }
-            }else if (this.form==9) {
-             switch (data.taskDetailState) {
-              case '3':
-                this.$message.error(`导入任务失败`)
-                break;
-              case '2':
-                this.$message.success(`导入任务完成`)
-                break;
-              default:
-                break;
-             }
+            }
             }else{
               this.$message.success(`导出任务完成`)
             }
             
             // console.log(this.form)
            
-            this.getList2()
+            this.getList()
           }
         } else if (code === 803 || code === 804) {
           this.$message.error(message)
-          this.getList2()
+          this.getList()
         }
       }
+    
     },
     getQueueList() {
+      
       this.taskData = []
-      this.$api.getQueueList({ type: this.form, projectId: this.queryParams.projectId }).then(response => {
-        // console.log(response.data)
-        response.data.map(item => {
+      this.queryParams.reportId = this.reportId
+      this.queryParams.state=0
+      this.$api.reImportTask(this.queryParams).then(response => {
+        response.data.records.map(item => {
           this.taskData.push({
-            projectId: item.projectId,
-            total: item.total,
+            reportId: item.reportId,
+            total: item.importCount,
             index: 0,
             taskId: item.id,
-            oldName: item.oldName,
+            oldName: item.taskName,
             complete: false,
             url: '',
             fileName: '',
@@ -446,7 +202,7 @@ export default {
       })
     },
     handleDownload(row) {
-      downLoad2(row.url)
+      downLoad2(row.filePath)
     },
     handleDelete(row) {
       this.$confirm('确认删除本条数据吗?', '提示', {
@@ -455,7 +211,7 @@ export default {
         type: 'warning'
       }).then(() => {
         this.loading = true
-        this.$api.deleteTask({ id: row.id }).then(response => {
+        this.$api.deleteImportTask({ id: row.id }).then(response => {
           this.$message.success('删除成功')
           this.loading = false
           this.getList()
@@ -466,11 +222,13 @@ export default {
     },
     handleCurrentChange(val) {
       this.queryParams.current = val;
-      this.getList2();
+      this.getList();
     },
     getList() {
       this.loading = true
-      this.$api.getTaskList(this.queryParams).then(response => {
+      this.queryParams.state = 2
+      this.queryParams.reportId = this.reportId
+      this.$api.reImportTask(this.queryParams).then(response => {
         this.tableData = response.data.records
         this.total = response.data.total
         this.loading = false
@@ -478,275 +236,11 @@ export default {
         this.loading = false
       })
     },
-    getList2() {
-      if (this.form!=9) {
-        this.getList()
-      } else {
-        // 网站导入查询按钮(当form为9网站导入,8为专利号导入)
-        this.getTasks()
-        this.getTaskDetails()//传入状态查询实时进度
-      }
-    },
-    // 网站导入暂停,继续任务操作
-    async handleSuspend(row) {
-      // console.log(this.pause);
-      if (this.pause==0) {//暂停pauseJobTask
-       await this.$api.pauseJobTask({taskId: row.id}).then(res => {
-          if (res.code == 200) {
-            this.pause=1
-            this.$message.success('已成功暂停该任务')
-            // console.log(this.pause);
-          }
-        })
-      } else {//继续
-       await this.$api.resumeJobTask({taskId: row.id}).then(res => {
-          if (res.code == 200) {
-            this.pause=0
-            this.$message.success('继续执行该任务')
-          }
-        })
-      }
-      this.$nextTick(() => {
-        this.getList2()
-      })
-      
-    },
-    // 网站导入表格操作编辑按钮
-    handleClick(row) {
-      this.forms = JSON.parse(JSON.stringify(row))
-      this.forms.dateType = this.getType(JSON.parse(JSON.stringify(row.crons)))
-      this.forms.configCells=this.forms.configCells.split(',').map(Number)
-      // console.log(this.forms);
-      this.downloads()
-      this.visible=true
-    },
-    // 网站导入表格操作按钮组
-    handleCommand(command,row) {
-      switch (command) {
-        case '1'://暂停/继续
-          this.handleSuspend(row)
-          break;
-        case '2'://删除
-          this.deletes(row)
-          break;
-        case '3'://取消定时
-          // this.handleTime(row)
-          break;
-        case '4'://更新日志
-          this.$refs.updateLog.open(row,this.userinfo.id,this.webSocket1)
-          break;
-        default:
-          break;
-      }
-    },
-    deletes(row) {
-      this.$confirm('确认删除本条数据吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-         this.$api.deleteTasks([row.id]).then(res => {
-          if (res.code == 200) {
-            if(res.data.length>0){
-              this.$message.error(`${res.data.length}条任务删除失败`)
-            }else{
-              this.$message.success('成功删除该任务')
-            }
-            
-            this.getList2()
-          }
-        })
-      }).catch(err => {
-        this.$message.info('取消删除该任务')
-      })
-     
-    },
-     // 请求全部网站
-     getAllConfig() {
-      this.$api.getAllConfig({}).then(res => {
-        if (res.code==200) {
-          this.website = res.data
-        }
-      })
-    },
-    // 请求当前网站可下载项
-    async downloads() {
-      let a= this.website.filter(item => {
-        return item.id==this.forms.configId
-      })
-      this.forms.configType = a[0].webType
-      await this.$api.getConfigCell({type:this.forms.configType}).then(res => {
-        if (res.code==200) {
-          this.download = res.data
-          this.forms.configCells=this.download.map(item=>{ return item.id })
-        }
-      })
-    },
-    // 实时进度取消
-    cancel(row) {
-      // console.log(row);
-      let task = {
-        taskId: row.id,
-        state:7,//7为待取消
-      }
-      // this.loadingCancel=true
-      this.$api.setDetailState(task).then(res => {
-        if (res.code==200) {
-          this.$message.success('任务已取消')
-          this.getList2()
-        }
-      }).catch(error => {
-        this.$message.error(error.message)
-        this.loadingCancel=false
-      })
-    },
-    // 实时进度暂停继续
-    handleCancelZan(row) {
-      // console.log(row);
-      // this.loadingCancel=true
-      let task = {
-        taskId: row.id,
-        // state:0
-      }
-      if (row.taskDetailState==6) {
-         task.state = 0
-         this.$api.setDetailState(task).then(res => {
-          if (res.code==200) {
-            this.$message.success('继续执行')
-              this.getList2()
-            }
-         }).catch(error => {
-            this.$message.error(error.message)
-            this.loadingCancel=false
-         })
-      } else {
-        task.state = 8
-        this.$api.setDetailState(task).then(res => {
-          if (res.code==200) {
-            this.$message.success('已暂停')
-            this.getList2()
-            }
-        }).catch(error => {
-          this.$message.error(error.message)
-          this.loadingCancel=false
-        })
-      }
-      // this.$nextTick(() => {
-      //   this.getList2()
-      // })
-    },
-    changeTaskType(val) {
-        this.forms.dateType=''
-        this.forms.conditions=''
-    },
-    //网站下载任务查询
-    getTasks() {
-      // this.tableData = []
-      this.loading=true
-      this.$api.getTasks(this.queryParams).then(response => {
-        // console.log(response.data)
-        this.tableData = response.data.records
-        this.total = response.data.total
-        this.loading=false
-      }).catch(error => {
-        this.loading = false
-      })
-    },
-    getTaskDetails() {
-      let queryParams = {
-        current: 1,
-        size: 10,
-        taskDetailStates: [0,1,6,8]//等待,进行,取消,暂停
-      }
-      this.$api.getTaskDetails(queryParams).then(res => { 
-        if (res.code==200) {
-          this.taskData=res.data.records
-          // this.total=res.data.total
-        }
-      })
-    },
-   
-    // 获取时间
-    handleData(val) {
-      if (this.forms.dateType=='') {
-        this.$message.error('请先选择更新周期')
-        return false
-      }
-      this.forms.crons=val
-    },
-    // 排序
-    sortChange({ column, prop, order }) {
-      if (!order) {
-        return false
-      }
-      const o = {
-        'descending': 'desc',
-        'ascending': 'asc',
-      }
-      this.queryParams.orderBy = prop
-      this.queryParams.orderType = o[order]
-      this.getList2()
-    },
-    sure() {
-      this.$refs.forms.validate((valid) => { 
-        let a= this.website.filter(item => {
-            return item.webType==this.forms.configType
-        })
-        this.forms.configId = a[0].id
-        if (valid) {
-          this.$api.updateTasks(this.forms).then(response => { 
-            if (response.code==200) {
-              this.$message.success('已成功编辑该任务')
-              this.getList2()
-              this.close()
-            }
-          })
-        }
-      })
-      
-     
-    },
-    close() {
-      this.visible=false
-    },
-    getDateType(val) {
-      // console.log(val)
-      this.forms.crons = ''
-    },
   }
 }
 </script>
 
 <style lang="scss">
-.loadCss::after{
-  content:'暂停中';
-  color: #F56C6C;
-  position: absolute;
-  left: 0;
-  top: 0;
-  overflow: hidden;
-  animation: loadName 1s linear infinite;
-}
-// .loadCss::before{
-//   content: '   ';
-//   position: absolute;
-//   left: 0;
-//   top: 0;
-//   overflow: hidden;
-// }
-.loadCss{
-  color: #ebeef5;
-  margin-left: 10px;
-  position: relative;
-}
-@keyframes loadName {
-  0%{
-    width: 0;
-  };
-  100%{
-    width: 100%;
-  }
-}
 .system-task {
   height: 100%;
   .system-task-main {

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

@@ -26,7 +26,7 @@ export default {
             if(that.input == 'xiaoshi'){
               that.show = false
               clearInterval(that.timer)
-              that.$router.push({path: '/login'})
+              that.$router.push({path: '/admin/login'})
             }else{
               that.$set(that,'input','')
             }
@@ -40,14 +40,14 @@ export default {
     var time2 = new Date().getTime()
     if(time2>=time){
       this.show = false
-      this.$router.push({path: '/login'})
+      this.$router.push({path: '/admin/login'})
     }else{
       this.show = true
       this.timer = setInterval(() => {
         if (new Date().getTime()>=time) {
           this.show = false
           clearInterval(this.timer)
-          this.$router.push({path: '/login'})
+          this.$router.push({path: '/admin/login'})
         }
       }, 1000)
     }

+ 2 - 0
RMS-FrontEnd/src/views/layout/components/clientManage.vue

@@ -204,6 +204,8 @@
           }).catch(error => {
             this.loading = false
           })
+        }).catch(err => {
+          this.$message.info('取消删除')
         })
       }
     }

+ 2 - 2
RMS-FrontEnd/src/views/layout/mixins/index.js

@@ -4,8 +4,8 @@ import Store from '@/store'
 export const webSocket = {
   methods: {
     connectWebSocket(userId) {
-      let webSocket = new WebSocket(`ws://${this.$c.hostname}:8872/api/report/api/ws/`+userId)
-      // let webSocket = new WebSocket(`ws://192.168.1.24:8872/api/report/api/ws/`+userId)
+      // let webSocket = new WebSocket(`ws://${this.$c.hostname}:8872/api/report/api/ws/`+userId)
+      let webSocket = new WebSocket(`ws://192.168.1.24:8872/api/report/api/ws/`+userId)
       Store.commit('SET_WEB_SOCKET', webSocket)
       webSocket.onopen = () => {
         console.log('WebSocket连接成功')

+ 5 - 1
RMS-FrontEnd/src/views/report/InvalidResponse/components/FileDetails/fileDetails.vue

@@ -15,7 +15,11 @@
         </el-tabs>
     </div>
     <div v-else>
-       <ContrastIndex v-if="type == 1" v-bind="$attrs" v-on="$listeners" :reportId="reportId" :evidenceFlieId="evidence.id" :evidence="evidence" @on-change='changefix' :publicNo="evidence.proofConditions" :signPatentNo="signPatentNo" :reportType="reportType"></ContrastIndex> 
+      <div>
+        <img src="@/assets/visual/fixed.png" width="20px" height="20px" @click="qx" v-if="fix===true" />
+          <img src="@/assets/visual/unfixed.png" width="20px" height="20px" @click="gd" v-if="fix===false"  />
+      </div>
+       <ContrastIndex v-if="type == 1" v-bind="$attrs" v-on="$listeners" :reportId="reportId" :evidenceFlieId="evidence.id" :evidence="evidence" @on-change='changefix' :publicNo="evidence.proofConditions" :signPatentNo="signPatentNo" :reportType="reportType" :showEvidence="showEvidence"></ContrastIndex> 
        <check-File v-else ref="checkFile1"></check-File>
     </div>
     

+ 2 - 2
RMS-FrontEnd/src/views/report/InvalidResponse/components/FileDetails/index.vue

@@ -128,7 +128,7 @@ export default {
         this.evidence.id = -1
         this.params.aid = -1
         this.$s.setSession('params',this.params)
-        this.getPiZhuContrastList(this.params.signPatentNo)
+        // this.getPiZhuContrastList(this.params.signPatentNo)
         await this.$router.push({
         path: '/checkFileDetails/' + -1,
       })
@@ -165,7 +165,7 @@ export default {
       // 1是文献2是非文献
      if (val.type == 1) {
         // this.getPatent(val.proofConditions)
-        this.getPiZhuContrastList(val.proofConditions)
+        // this.getPiZhuContrastList(val.proofConditions)
       } else {
         // let url = `http://${this.$c.hostname}:8012/onlinePreview?url=` + btoa(encodeURIComponent(this.$p + val.proofConditions))
         // this.$nextTick(() => {

+ 28 - 11
RMS-FrontEnd/src/views/report/InvalidResponse/components/InvalidIndex.vue

@@ -48,7 +48,8 @@
               <span v-if="scope.row.proofGroups.length > 0">
                 <p v-for="(i, index) in scope.row.proofGroups" :key="index">
                   <span v-for="(y, index1) in i.proofs" :key="y.label">
-                    <el-link @click="check(item, y)">D{{ y.sort }}</el-link>
+                    <el-link @click="check(item, y)" v-if="y.id!=0">D{{ y.sort }}</el-link>
+                    <span v-else>{{y.fileName}}</span>
                     <span v-if="index1 < i.proofs.length - 1"> + </span>
                   </span>
                 </p>
@@ -57,8 +58,8 @@
                 {{ scope.row[item.key] }}
               </span>
             </div>
-            <div v-else-if="item.key == 'court'"><span :style="{'margin-left':(scope.row.invalidName == 3 || scope.row.invalidName == 2)?'45px':0}">{{ getData(scope.row,item.key) }} </span>
-              <span style="margin-left:20px;float:right" v-if="scope.row.invalidName == 3 || scope.row.invalidName == 2"> 
+            <div v-else-if="item.key == 'court'" style="position:relative"><span >{{ getData(scope.row,item.key) }} </span>
+              <span style="margin-left:20px;position:absolute;right:0" v-if="scope.row.invalidName == 3 || scope.row.invalidName == 2"> 
                 <el-link type="primary" @click="toogleExpand(scope.row,scope.$index)">详情</el-link> 
               </span>
             </div>
@@ -172,8 +173,9 @@
               </span> -->
               <span v-for="(item, index) in form.proofGroups" :key="index" style="margin-right:10px">
                 <span v-for="(i, index1) in (item.proofs)" :key="i.label">
-                    <el-link v-if="i.sort">D{{ i.sort }}</el-link>
-                    <el-link v-else>{{ i.sortStr }}</el-link>
+                    <el-link v-if="i.sort && i.id!=0">D{{ i.sort }}</el-link>
+                    <el-link v-else-if="i.sortStr && i.id!=0">{{ i.sortStr }}</el-link>
+                    <span v-else>公知常识</span>
                   <span v-if="index1 < item.proofs.length - 1">+</span>
                 </span>
                 <el-popover placement="top-start" width="200" trigger="hover">
@@ -204,9 +206,9 @@
                     <el-table-column prop="sortStr" label="证据" align="center">
                       <template slot-scope="scope">
                         <!-- 打开证据弹窗,添加证据文献中的证据 -->
-                        <div>
-                          {{ scope.row.sortStr }} 
-                          <span style="float:right" @click="openEvidence(scope.row)">
+                        <div style="position:relative">
+                          <span>{{ scope.row.sortStr }} </span>
+                          <span style="position:absolute;right:0" @click="openEvidence(scope.row)" v-if="scope.row.id!=0">
                             <el-link type="primary">选择无效证据</el-link>
                           </span>
                         </div>
@@ -532,10 +534,19 @@ export default {
       await this.$api.queryInvalidReason({reportId:this.reportId}).then((res) => {
         if (res.code == 200) {
           if(res.data){
-            var a = [...new Set(res.data.map(item => item.invalidName))]
-            this.tableData=res.data.sort((x,y)=>{
-                return a.indexOf(x.invalidName) - a.indexOf(y.invalidName)
+            // var a = this.invalidList.map(item => item.value)
+            // this.tableData=res.data.sort((x,y)=>{
+            //     return a.indexOf(x.invalidName) - a.indexOf(y.invalidName)
+            // })
+            var a = []
+            this.invalidList.forEach((item,index)=>{
+              a[index] = res.data.filter(item1=>{
+                return item1.invalidName == item.value
+              }).sort((x,y)=>{
+                return x.content - y.content
+              })
             })
+            this.tableData = [].concat(...a)
           }else{
             this.tableData = []
           }
@@ -603,6 +614,12 @@ export default {
             item.proofStrIds = []
             return item
           })
+          this.EvidenceList.push(
+            {
+              id:0,
+              sortStr:'公知常识'
+            }
+          )
         }
       }).catch((error) => {
         

+ 19 - 11
RMS-FrontEnd/src/views/report/InvalidResponse/components/flowPath.vue

@@ -132,38 +132,46 @@ export default {
     },
     // 删除文件
     delFile(item) {
-      console.log(item);
       // var index = this.form.files.findIndex(item => {
       //   return item.id == id
       // })
       // if (index != -1) {
       item.reportFile = {}
-      this.form=item
+      this.form = item
       this.deleFile=!this.deleFile
       //   this.submit()
       // }
     },
     // 编辑
     edit(item) {
-      this.form = JSON.parse(JSON.stringify(item))
-      this.$refs.responseDialog.open(this.form)
+      var form = JSON.parse(JSON.stringify(item))
+      this.$refs.responseDialog.open(form)
     },
     // 删除
     dele(item) {
       let a = {
         id:item.id
       }
-      this.$api.deleteInvalidProcess(a).then((res) => {
-        if (res.code==200) {
-          this.$message.success('删除成功')
-          this.getList()
-        }
+      this.$confirm('确认删除本条数据吗?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.$api.deleteInvalidProcess(a).then((res) => {
+            if (res.code==200) {
+              this.$message.success('删除成功')
+              this.getList()
+            }
+          })
+        }).catch(err => {
       })
+      
     },
     // 添加
     handleCommand(ev) {
-      this.form.processType = ev
-      this.$refs.responseDialog.open(this.form)
+      var form = {}
+      form.processType = ev
+      this.$refs.responseDialog.open(form)
     },
   },
 }

+ 8 - 1
RMS-FrontEnd/src/views/report/InvalidResponse/components/responseDialog.vue

@@ -17,11 +17,17 @@
           </el-form-item>
         </template>
         <el-form-item v-if="form.processType!=0" label="附件:">
+          <template>
+            <div> 
+              <p v-if="form.reportFile && form.reportFile.name">{{ form.reportFile.name }}</p>
               <el-upload  ref="upload" class="upload-file" drag action="#" :auto-upload="false" :show-file-list="true" :on-change="onChange" :limit="1"  :on-remove="handleRemove" :on-exceed="handleExceed">
                 <i :class="!file ? 'el-icon-upload' : 'el-icon-refresh'"></i>
                 <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
                 <div class="el-upload__tip" slot="tip"></div>
               </el-upload>
+            </div>
+          </template>
+             
         </el-form-item>
         <el-form-item v-if="form.processType==5" label="备注内容:">
           <el-input type='textarea' v-model="form.remark" autocomplete="off" placeholder="请输入备注"></el-input>
@@ -74,7 +80,7 @@ export default {
   methods: {
     open(form) {
       this.form = JSON.parse(JSON.stringify(form))
-      if(this.form.processType == 0){
+      if(this.form.processType == 0 && this.form.id){
         this.$set(this.form,'address',this.form.oralExam.address)
         this.$set(this.form,'participants',this.form.oralExam.participants)
       }
@@ -210,6 +216,7 @@ export default {
         })
         fileList.splice(index2, 1)
       } else {
+        this.form.reportFile = null
         this.file.push(file.raw)
       }
     },

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

@@ -5,7 +5,7 @@
             <el-form :model="form" ref="reportForm" label-width="120px">
                 
                 <el-form-item :label="form.type==3?'标的产品:':'标的专利:'" prop="signPatentNo">
-                    <el-link type="primary" v-if="form.type!=3" @click="toPatentDetails(form.signPatentNo)">{{form.signPatentNo}}</el-link>
+                    <el-link type="primary" v-if="form.type!=3" @click="toPatentDetails(form.signPatentNo,form)">{{form.signPatentNo}}</el-link>
                     <span v-else>{{form.signPatentNo}}</span>
                 <!-- <el-input v-model="form.signPatentNo" autocomplete="off" placeholder="请输入标的专利号" @change="getPatentNo"></el-input>
                 <p v-if="show==1" class="tips">查不到该专利请<span @click="imports">导入</span></p>