Bladeren bron

Merge branch 'dev' of http://47.106.221.167:8088/zhuliu/RMS-FrontEnd into dev

zhuhao 2 jaren geleden
bovenliggende
commit
5ba185225f

+ 8 - 0
RMS-FrontEnd/src/router/index.js

@@ -163,6 +163,14 @@ const routes = [
         component:() => import('@/views/report/FTO/FTOPage/ReportDetails/index.vue'),
       },
       {
+        path: '/taskReportDetails',
+        name:"taskReportDetails",
+        meta:{
+          aside:true
+        },
+        component:() => import('@/views/task/components/taskReportDetails.vue'),
+      },
+      {
         path: '/import',
         name:"import",
         meta:{

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

@@ -219,9 +219,9 @@ export const addContrast = {
       else{
         if(selectObj.anchorNode.nodeValue!=null){
           if(selectObj.extentOffset>=selectObj.anchorOffset){
-            this.anchorOffset += selectObj.anchorOffset - selectObj.anchorNode.nodeValue.length + selectObj.anchorNode.nodeValue.trimStart().length;
+            this.anchorOffset += selectObj.anchorOffset
           }else{
-            this.anchorOffset += selectObj.extentOffset - selectObj.extentNode.nodeValue.length + selectObj.extentNode.nodeValue.trimStart().length;
+            this.anchorOffset += selectObj.extentOffset
           }
            
         }

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

@@ -162,7 +162,7 @@ export const patentKeywordsHighlight = {
      if(this.contrastList){
        for(let i=0;i<this.contrastList.length;i++){
         if(this.contrastList[i].patentNo == this.patent.publicNo){
-          if(this.contrastList[i].fields == field){
+          if(this.contrastList[i].fields.indexOf(field)!=-1){
             var a = {
             color:"#dff209",
             Type:2,

+ 1 - 1
RMS-FrontEnd/src/views/report/FTO/FTOPage/components/ProductMessage.vue

@@ -210,7 +210,7 @@ export default{
             }
             this.$api.getProduct(a).then(response=>{
               if (response.code == 200) {
-                  if (this.data.deadLine) {
+                  if (response.data.deadLine) {
                     this.isDate=false
                   }
                     this.product = response.data

+ 5 - 2
RMS-FrontEnd/src/views/report/FTO/FTOPage/components/ProductResult.vue

@@ -61,7 +61,7 @@
                             <td>优先权</td>
                             <td><span v-if="patent">{{patent.priorityNo}}</span></td>
                             <td>案件状态</td>
-                            <td> <span v-if="patent.affair">{{patent.affair[0].status}}</span></td>
+                            <td> <span v-if="patent&&patent.affair">{{patent.affair[0].status}}</span></td>
                             <td>同族专利</td>
                             <td><span v-if="patent" v-html="getPatentFamily(patent)"></span></td>
                         </tr>
@@ -208,8 +208,11 @@ export default {
     },
    async mounted() {
        await this.getPatentList()
-       this.patent = this.patentList[0]
+       if(this.patentList.length>0){
+        this.patent = this.patentList[0]
         this.queryCompareMessage(this.patent.patentNo)
+       }
+       
     },
     methods: {
       async handleAnalyse(id) {

+ 14 - 0
RMS-FrontEnd/src/views/report/Invalid/InvalidPage/Result.vue

@@ -39,6 +39,7 @@
       <el-table
       :data="tableData.filter(item=>typeArr.includes(item.pType))"
       :span-method="objectSpanMethod"
+      :row-class-name="tableRowClassName"
       border
       style="min-width: 100%; margin-top: 20px;overflow:auto"
       v-if="show"
@@ -312,6 +313,19 @@ export default {
     
   },
   methods: {
+    tableRowClassName({ row, rowIndex }){
+      var a = false
+      for(let key in row){
+        if(key.indexOf('_Id')!=-1){
+          a = true
+          // console.log(rowIndex)
+        }
+      }
+      if(a){
+
+      }
+      
+    },
     //查看图片
     showImage(url){
       this.imageUrl = url

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

@@ -6,32 +6,32 @@
           <span>{{ (scope.$index + 1) + ((params.current - 1) * params.size) }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="名称"  align="center">
+      <el-table-column label="名称"  align="center" prop="name" sortable>
         <template slot-scope="scope">
             <el-link type="primary"  @click="tableName(scope.row)">{{scope.row.name}}</el-link>
         </template>
       </el-table-column>
-      <el-table-column label="标的专利/产品"  align="center">
+      <el-table-column label="标的专利/产品"  align="center" prop="signPatentNo" sortable>
         <template slot-scope="scope">
             <span v-if="scope.row.type == 3">{{scope.row.signPatentNo}}</span>
             <el-link type="primary" v-else @click="toPatentDetails(scope.row.signPatentNo,scope.row)">{{scope.row.signPatentNo}}</el-link>
         </template>
       </el-table-column>
-      <el-table-column label="应用场景" width="160" :show-overflow-tooltip="true" align="center">
+      <el-table-column label="应用场景" width="160" :show-overflow-tooltip="true" align="center" prop="scenarioNames" sortable>
         <template slot-scope="scope">
             <div v-for="item in scope.row.scenarioNames">{{item}}</div>
         </template>
       </el-table-column>
-      <el-table-column label="创建人" prop="createPersonName" align="center"> </el-table-column>
-      <el-table-column label="负责人" prop="personName" align="center"> </el-table-column>
-      <el-table-column label="客户" prop="clientName" align="center"> </el-table-column>
-      <el-table-column label="技术/产品" prop="proTec" align="center"> </el-table-column>
+      <el-table-column label="创建人" prop="createPersonName" sortable align="center"> </el-table-column>
+      <el-table-column label="负责人" prop="personName" sortable align="center"> </el-table-column>
+      <el-table-column label="客户" prop="clientName" sortable align="center"> </el-table-column>
+      <el-table-column label="技术/产品" prop="proTec" sortable align="center"> </el-table-column>
       <el-table-column label="状态" align="center" >
         <template slot-scope="scope">
             <span>{{state[scope.row.status]}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" prop="createTime" width="200" align="center"> </el-table-column>
+      <el-table-column label="创建时间" prop="createTime" sortable width="200" align="center"> </el-table-column>
   
       <el-table-column label="操作" align="center" width="200px">
         <template slot-scope="scope">
@@ -109,41 +109,36 @@ export default {
     },
 
     sortChange({ column, prop, order }) {
+      console.log(order)
       if (!order) {
         this.sortData('create_time', 'desc')
         return false
       }
       const o = {
-        'descending': 'desc',
-        'ascending': 'asc',
+        'descending': '1',
+        'ascending': '0',
       }
-      let key
-      switch (prop) {
-        case 'createTime':
-          key = 'create_time'
-          break
-        case 'clientName':
-          key = 'clientid'
-          break
-        case 'technicalTheme':
-          key = 'technical_theme'
-          break
-        case 'createName':
-          key = 'creat_id'
-          break
-        case 'contractNo':
-          key = 'contract_no'
-          break
-        case 'caseDate':
-          key = 'case'
-          break
-        case 'personnelName':
-          key = 'personnel_id'
-          break
-        default:
-          key = prop
-      }
-      this.sortData(key, o[order])
+      let orderBy = prop
+      // switch (prop) {
+      //   case 'clientName':
+      //     orderBy = 'clientId'
+      //     break
+      //   case 'createPersonName':
+      //     orderBy = 'createPersonId'
+      //     break
+      //   case 'scenarioNames':
+      //     orderBy = 'scenarioList'
+      //     break
+      //   case 'personName':
+      //     orderBy = 'personId'
+      //     break
+      //   case 'proTec':
+      //     orderBy = 'proTec'
+      //     break
+      //   default:
+      //     orderBy = prop
+      // }
+      this.sortData(orderBy, o[order])
     },
     sortData(prop, order) {
       this.$emit('sort', { prop, order })

+ 21 - 2
RMS-FrontEnd/src/views/report/index.vue

@@ -35,10 +35,12 @@
         <div style="text-align: center;">
           <el-pagination
               background
-              layout="total, prev, pager, next, jumper"
+              layout="total,sizes, prev, pager, next, jumper"
               :current-page.sync="queryParams.current"
+              :page-sizes="pageSize"
               :page-size.sync="queryParams.size"
               @current-change="handleCurrentChange"
+              @size-change="handleSizeChange"
               :total="total">
           </el-pagination>
         </div>
@@ -85,6 +87,7 @@ export default {
   },
   data() {
     return {
+     
       btnLoading:false,
       reportTemplate:false,
       setVisible:false,
@@ -98,6 +101,7 @@ export default {
         current: 1,
         signPatentNo:"",
       },
+      pageSize:[10,"全部"],
       total: 0,
       loading: false,
       showDialog: false,
@@ -129,6 +133,12 @@ export default {
     this.getList()
   },
   methods: {
+    handleSizeChange(val) {
+      // this.queryParams.size = null
+      // this.queryParams.current = null
+      this.getList()
+        // console.log(`每页 ${val} 条`);
+      },
     getReportTemplateId(val){
       this.reportTemplateId = val
     },
@@ -363,7 +373,10 @@ export default {
       this.$refs.ReportForm.open(row)
     },
     handleSort(sort) {
-      this.queryParams.sort = { ...sort }
+      console.log(sort)
+      this.queryParams.orderBy = sort.prop
+      this.queryParams.orderDesc = sort.order
+      // this.queryParams.sort = { ...sort }
       this.getList()
     },
     handleCurrentChange(val) {
@@ -400,7 +413,13 @@ export default {
       this.loading = true
       this.$api.QueryReport(this.queryParams).then(response=>{
         if(response.code == 200){
+          this.pageSize = [10]
           this.dataList = response.data
+          // if(!this.queryParams.size){
+          //   this.queryParams.current = 1
+          //   this.queryParams.size = this.total = response.pageColumn.total
+          // }
+          this.pageSize.push(response.pageColumn.total)
           this.total = response.pageColumn.total
            this.loading = false
         }

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

@@ -59,18 +59,22 @@
 import { PatentDetails } from "@/views/components/common/mixins";
 export default {
     mixins:[PatentDetails],
-    props:['row'],
+    props:['reportId'],
     data() {
         return {
             file:[],
-            form:this.row,
+            form:{
+              id:this.reportId
+            },
             dictMessage:{},
             Already:[]
         }
     },
     watch:{
-        'row'(val){
-          //  this.form = val
+        reportId(val){
+           this.form = {
+            id:val
+           }
            this.getList()
         }
     },

+ 22 - 0
RMS-FrontEnd/src/views/task/MyHandle.vue

@@ -28,6 +28,13 @@
 		>
 			  <el-table-column prop="id" type="index" label="序号" width="100" align="center"></el-table-column>
 			  <el-table-column prop="taskName" label="任务名称" width="230" align="center"></el-table-column>
+			  <el-table-column prop="reportName" label="所属报告" width="200" align="center">
+				<template slot-scope="scope">
+					<div>
+						<el-link type="primary" @click="checkReport(scope.row)">{{ scope.row.reportName }}</el-link>
+					</div>
+				</template>
+			  </el-table-column>
 			  <el-table-column prop="handlePersonName" label="处理人" width="150" align="center"></el-table-column>
 			  <el-table-column prop="createName" label="发起人" width="150" align="center"></el-table-column>
 			  <el-table-column prop="createTime" label="创建时间" sortable width="180" align="center"></el-table-column>
@@ -189,7 +196,22 @@
 	mounted() {
 	  this.getList()
 	},
+	computed:{
+		dictMessage() {
+			return this.$store.state.dictMessage.dictMessage
+		},
+	},
 	methods: {
+		checkReport(row){
+			row.dictMessage = this.dictMessage
+			row.type = row.reportType
+			row.name = row.taskName
+			this.$s.setSession('row', row)
+			var router = this.$router.resolve({
+				name: 'taskReportDetails' ,
+			})
+          window.open(router.href, '_blank');
+		},
 		//查询任务
 		async getList(){
 			this.tableData = []

+ 83 - 0
RMS-FrontEnd/src/views/task/components/taskReportDetails.vue

@@ -0,0 +1,83 @@
+<template>
+    <div>
+        <el-container>
+        <el-aside width="210px" style="overflow:hidden" class="patent-articles-menu">
+          <el-menu class="theme-dark" :default-active="activeMenu" @select="handleSelect">
+            <el-menu-item v-for="item in reportType==3?menuList:menuList1" :index="item.path" v-if="item.show">
+              <i class="el-icon-film"></i>
+              <span slot="title">{{item.title}}</span>
+            </el-menu-item>
+          </el-menu>
+        </el-aside>
+        <el-container>
+          <!-- <el-header></el-header> -->
+          <el-main class="admin-main-box">
+            <component :is="activeMenu" :row="row" :reportId="reportId" :patentNo="signPatentNo" :signPatentNo="signPatentNo" :reportId2="reportId" :taskId="taskId"></component>
+          </el-main>
+        </el-container>
+      </el-container>
+    </div>
+</template>
+
+<script>
+import BasicInformation from '@/views/report/reportDetails/components/basicMessage.vue';
+import ProductMessage from '@/views/report/FTO/FTOPage/components/ProductMessage.vue';
+import SignPatent from '@/views/components/articles/components/features.vue';
+import ContrastResult from '@/views/report/Invalid/InvalidPage/Result.vue';
+import ProductContrastResult from '@/views/report/FTO/FTOPage/components/ProductResult.vue';
+export default {
+    components:{
+        BasicInformation,
+        ProductMessage,
+        SignPatent,
+        ContrastResult,
+        ProductContrastResult
+    },
+    data() {
+        return {
+            activeMenu: "BasicInformation",
+            menuList: [
+              { title: '基本信息', path:"BasicInformation",show:true}, 
+                { title: '标的产品信息', path:"ProductMessage",show:true}, 
+                { title: '对比结果', path:"ProductContrastResult",show:true}, 
+            ],
+            menuList1: [
+              { title: '基本信息', path:"BasicInformation",show:true}, 
+                { title: '标的专利特征拆分详情', path:"SignPatent",show:true}, 
+                { title: '对比结果', path:"ContrastResult",show:true }
+            ],
+        }
+    },
+    computed:{
+        dictMessage() {
+            return this.$s.getSession('row').dictMessage.REPORT_TYPE
+        },
+        row(){
+            return this.$s.getSession('row')
+        },
+        reportId(){
+            return this.$s.getSession('row').reportId
+        },
+        taskId(){
+            return this.$s.getSession('row').id
+        },
+        reportType(){
+            return this.$s.getSession('row').reportType
+        },
+        signPatentNo(){
+            return this.$s.getSession('row').signPatentNo
+        }
+    },
+    mounted() {
+        this.changePageTitle()
+    },
+    methods: {
+        changePageTitle() {
+            document.title = `${this.row.reportName} ${'报告详情'}`
+        },
+        handleSelect(index, path) {
+            this.activeMenu = index
+        },
+    },
+}
+</script>