Browse Source

选择专利、批量标引、导出专利页面

zhuhao 1 year ago
parent
commit
c0fd1fee5d

+ 16 - 0
src/api/newApi/common.js

@@ -232,6 +232,22 @@ export default {
   selectKinByPatentNo(data) {
     return axios.post("/xiaoshi/patent/selectKinByPatentNo", data);
   },
+  /**
+  * 专利详情内部查询权利要求
+  * @param {*} data 
+  * @returns 
+  */
+  queryClaimByPatentNo(params) {
+    return axios.get("/xiaoshi/patent/queryClaimByPatentNo", {params});
+  },
+  /**
+  * 专利详情外部(检索)查询权利要求
+  * @param {*} data 
+  * @returns 
+  */
+  queryExternalClaim(params) {
+    return axios.get("/xiaoshi/patentStar/queryExternalClaim", {params});
+  },
 
 
 };

+ 250 - 240
src/router/index.js

@@ -19,8 +19,8 @@ const routes = [
   },
 
   {
-    path:'/login',
-    name:'Login',
+    path: '/login',
+    name: 'Login',
     meta: {
       title: '系统登录'
     },
@@ -28,7 +28,7 @@ const routes = [
   },
   {
     path: "/agreeConceal",
-    name:'agreeConceal',
+    name: 'agreeConceal',
     meta: {
       title: '用户须知'
     },
@@ -43,24 +43,24 @@ const routes = [
         name: 'Home',
         meta: {
           title: '首页',
-          sign:'home',
-          belong:'home'
+          sign: 'home',
+          belong: 'home'
         },
         component: () => import('@/views/home/index.vue'),
       },
       //专利数据库
       {
         path: '/project',
-        name:'Project',
-        component:{render(c){return c('router-view')}},
-        redirect:'/project',
-        children:[
+        name: 'Project',
+        component: { render(c) { return c('router-view') } },
+        redirect: '/project',
+        children: [
           {
-            path:'/',
+            path: '/',
             meta: {
               title: '专利数据库',
-              sign:'project',
-              belong:'project'
+              sign: 'project',
+              belong: 'project'
             },
             component: () => import('@/views/project/index.vue'),
           },
@@ -68,21 +68,31 @@ const routes = [
             path: 'patentCollection',
             meta: {
               title: '专利列表',
-              sign:'patentCollection',
-              belong:'project'
+              sign: 'patentCollection',
+              belong: 'project'
             },
             component: () => import('@/views/project/patentCollection/index.vue')
           },
           {
             path: '/patentDetails/:patentNo',
-            name:'patentDetails',
+            name: 'patentDetails',
             meta: {
               title: '专利文章',
-              sign:'patentDetails',
+              sign: 'patentDetails',
               // belong:'project'
             },
             component: () => import('@/views/project/patentDetails/index.vue')
           },
+          // 专利数据库导出专利
+          {
+            path: "/exportPatent",
+            name: 'exportPatent',
+            meta: {
+              title: '专利数据库导出专利',
+              sign: 'exportPatent'
+            },
+            component: () => import('@/views/project/patentCollection/components/export/index.vue'),
+          },
         ],
       },
       //企业专利数据库
@@ -104,43 +114,43 @@ const routes = [
       // //专利挖掘
       {
         path: '/patentMining',
-        name:'patentMining',
-        component:{render(c){return c('router-view')}},
-        redirect:'/patentMining',
-        children:[
+        name: 'patentMining',
+        component: { render(c) { return c('router-view') } },
+        redirect: '/patentMining',
+        children: [
           {
-            path:'/',
+            path: '/',
             meta: {
               title: '专利挖掘',
-              sign:'patentMining',
-              belong:'patentMining'
+              sign: 'patentMining',
+              belong: 'patentMining'
             },
             component: () => import('@/views/patentMining/index.vue'),
           },
           {
-            path:'/details',
+            path: '/details',
             meta: {
               title: '专利挖掘详情',
-              sign:'patentMiningDetails',
-              belong:'patentMining'
+              sign: 'patentMiningDetails',
+              belong: 'patentMining'
             },
             component: () => import('@/views/patentMining/components/details/index.vue'),
           },
           {
-            path:'/excavateTask',
+            path: '/excavateTask',
             meta: {
               title: '专利挖掘任务',
-              sign:'patentMiningExcavateTask',
-              belong:'patentMining'
+              sign: 'patentMiningExcavateTask',
+              belong: 'patentMining'
             },
             component: () => import('@/views/patentMining/components/excavateTask/index.vue'),
           },
           {
-            path:'/handleExamine',
+            path: '/handleExamine',
             meta: {
               title: '专利挖掘任务详情',
-              sign:'patentMiningHandleExamine',
-              belong:'patentMining'
+              sign: 'patentMiningHandleExamine',
+              belong: 'patentMining'
             },
             component: () => import('@/views/patentMining/components/handleExamine/index.vue'),
           },
@@ -152,42 +162,42 @@ const routes = [
         name: 'Product',
         component: { render(c) { return c('router-view') } },
         redirect: '/product',
-        children:[
+        children: [
           {
-            path:'/',
-            name:'/',
+            path: '/',
+            name: '/',
             meta: {
               title: '产品',
-              sign:'product',
-              belong:'Product'
+              sign: 'product',
+              belong: 'Product'
             },
             component: () => import('@/views/product/index.vue'),
           },
           {
             path: "/productDetails",
-            name:'productDetails',
+            name: 'productDetails',
             meta: {
               title: '详情',
-              sign:'productDetails',
-              belong:'Product'
+              sign: 'productDetails',
+              belong: 'Product'
             },
             component: () => import('@/views/product/components/details'),
           },
-      //     {
-      //       path: "/mindIndex",
-      //       meta: {
-      //        title: '可视化',
-      //        button: [],
-      //      },
-      //      component: () => import('@/views/product/components/jsMind'),
-      //    },
-         {
+          //     {
+          //       path: "/mindIndex",
+          //       meta: {
+          //        title: '可视化',
+          //        button: [],
+          //      },
+          //      component: () => import('@/views/product/components/jsMind'),
+          //    },
+          {
             path: "/chartIndex",
-            name:'chartIndex',
+            name: 'chartIndex',
             meta: {
               title: '趋势图',
               sign: 'chartIndex',
-              belong:'Product'
+              belong: 'Product'
             },
             component: () => import('@/views/product/components/echarts'),
           },
@@ -196,48 +206,48 @@ const routes = [
             meta: {
               title: '产品架构',
               sign: 'frameworkIndex',
-              belong:'Product'
-           },
-           component: () => import('@/views/product/components/framework/index.vue'),
-         
-         },
+              belong: 'Product'
+            },
+            component: () => import('@/views/product/components/framework/index.vue'),
+
+          },
           {
             path: "/commodity",
             meta: {
               title: '产品商品化专利',
-              sign:'commodity',
-              belong:'Product'
-           },
-           component: () => import('@/views/product/components/commodity/index.vue'),
-         
-         },
+              sign: 'commodity',
+              belong: 'Product'
+            },
+            component: () => import('@/views/product/components/commodity/index.vue'),
+
+          },
         ],
-        
+
       },
       //事件
       {
         path: '/Event',
-        name:'Event',
-        component:{render(c){return c('router-view')}},
-        redirect:'/Event',
-        children:[
+        name: 'Event',
+        component: { render(c) { return c('router-view') } },
+        redirect: '/Event',
+        children: [
           {
-            path:'/',
+            path: '/',
             meta: {
               title: '事件',
-              sign:'event',
-              belong:'Event'
+              sign: 'event',
+              belong: 'Event'
             },
             component: () => import('@/views/event/index.vue'),
           },
           //事件可视化
           {
             path: "/eventVisual",
-            name:'eventVisual',
+            name: 'eventVisual',
             meta: {
               title: '事件可视化',
-              sign:'eventVisual',
-              belong:'Event'
+              sign: 'eventVisual',
+              belong: 'Event'
             },
             component: () => import('@/views/event/components/details/visualRouter.vue'),
           },
@@ -246,36 +256,36 @@ const routes = [
       //报告
       {
         path: '/AllReport',
-        name:'AllReport',
-        component:{render(c){return c('router-view')}},
-        redirect:'/AllReport',
-        children:[
+        name: 'AllReport',
+        component: { render(c) { return c('router-view') } },
+        redirect: '/AllReport',
+        children: [
           {
-            path:'/',
+            path: '/',
             meta: {
               title: '报告',
-              sign:'report',
-              belong:'AllReport'
+              sign: 'report',
+              belong: 'AllReport'
             },
             component: () => import('@/views/report/index.vue'),
           },
           {
-            path:'/reportDetails',
-            name:'reportDetails',
+            path: '/reportDetails',
+            name: 'reportDetails',
             meta: {
               title: '报告详情',
-              sign:'reportDetails',
-              belong:'AllReport'
+              sign: 'reportDetails',
+              belong: 'AllReport'
             },
             component: () => import('@/views/report/components/details'),
           },
           {
-            path:'/reportPatentList',
-            name:'reportPatentList',
+            path: '/reportPatentList',
+            name: 'reportPatentList',
             meta: {
               title: '报告专利清单',
-              sign:'reportPatentList',
-              belong:'AllReport'
+              sign: 'reportPatentList',
+              belong: 'AllReport'
             },
             component: () => import('@/views/report/components/patentList/index.vue'),
           },
@@ -283,171 +293,171 @@ const routes = [
           //code码页面
           {
             path: '/identificationCode',
-            name:"identificationCode",
-            meta:{
+            name: "identificationCode",
+            meta: {
               title: '分析系统',
-              sign:'identificationCode',
-              belong:'AllReport'
+              sign: 'identificationCode',
+              belong: 'AllReport'
             },
-            component:() => import('@/views/components/identificationCode/index.vue'),
+            component: () => import('@/views/components/identificationCode/index.vue'),
           },
           //FTO风险排查分配任务
           {
             path: '/allocationTask',
-            name:"allocationTask",
-            meta:{
+            name: "allocationTask",
+            meta: {
               title: '分配任务',
-              sign:'allocationTask',
-              belong:'AllReport'
+              sign: 'allocationTask',
+              belong: 'AllReport'
             },
-            component:() => import('@/views/report/components/allocationTask/index.vue'),
+            component: () => import('@/views/report/components/allocationTask/index.vue'),
           },
 
           //侵权分析
           {
             path: '/tortIndex',
-            name:"tortIndex",
-            meta:{
-              sign:'tortIndex',
-              belong:'AllReport'
+            name: "tortIndex",
+            meta: {
+              sign: 'tortIndex',
+              belong: 'AllReport'
             },
-            component:() => import('@/views/report/tort/index.vue'),
+            component: () => import('@/views/report/tort/index.vue'),
           },
           // 产品信息录入
           {
             path: '/informationEntry',
-            name:"informationEntry",
-            meta:{
+            name: "informationEntry",
+            meta: {
               title: '产品信息录入',
-              sign:'informationEntry',
-              belong:'AllReport'
+              sign: 'informationEntry',
+              belong: 'AllReport'
             },
-            component:() => import('@/views/report/tort/components/informationEntry/index.vue'),
+            component: () => import('@/views/report/tort/components/informationEntry/index.vue'),
           },
 
           //回避设计
           {
             path: '/avoid',
-            name:"avoid",
-            meta:{
+            name: "avoid",
+            meta: {
               title: '回避设计',
-              sign:'avoid',
-              belong:'AllReport'
+              sign: 'avoid',
+              belong: 'AllReport'
             },
-            component:() => import('@/views/report/avoid/index.vue'),
+            component: () => import('@/views/report/avoid/index.vue'),
           },
 
           //无效应对
           {
             path: '/manualImport',
-            name:"manualImport",
-            meta:{
+            name: "manualImport",
+            meta: {
               title: '批量手动添加证据文献',
-              sign:'manualImport',
-              belong:'AllReport'
+              sign: 'manualImport',
+              belong: 'AllReport'
             },
-            component:() => import('@/views/report/InvalidResponse/components/ManualImport/index.vue'),
+            component: () => import('@/views/report/InvalidResponse/components/ManualImport/index.vue'),
           },
 
-      //     //添加无效证据和理由
-      //     {
-      //       path:'/invalidIdexRouter',
-      //       name:'invalidIdexRouter',
-      //       meta:{
-      //         title:'无效证据和理由',
-      //         aside:true,
-      //         showHeader:true,
-      //       },
-      //       component:() => import('@/views/report/InvalidResponse/components/invalidIdexRouter.vue'),
-      //     },
+          //     //添加无效证据和理由
+          //     {
+          //       path:'/invalidIdexRouter',
+          //       name:'invalidIdexRouter',
+          //       meta:{
+          //         title:'无效证据和理由',
+          //         aside:true,
+          //         showHeader:true,
+          //       },
+          //       component:() => import('@/views/report/InvalidResponse/components/invalidIdexRouter.vue'),
+          //     },
           //导入证据文献
           {
-            path:'/evidence',
-            name:'evidence',
-            meta:{
-              title:'证据详情',
-              sign:'evidence',
-              belong:'AllReport'
+            path: '/evidence',
+            name: 'evidence',
+            meta: {
+              title: '证据详情',
+              sign: 'evidence',
+              belong: 'AllReport'
             },
-            component:() => import('@/views/report/InvalidResponse/components/Evidence/index.vue'),
+            component: () => import('@/views/report/InvalidResponse/components/Evidence/index.vue'),
           },
-      //     //对比任务
-      //     {
-      //       path: '/SelectedPatent',
-      //       name:"SelectedPatent",
-      //       meta:{
-      //         aside:true
-      //       },
-      //       component:() => import('@/views/report/reportDetails/components/SelectedPatent.vue'),
-      //     },
-      //     // 任务分配
-      //     {
-      //       path: '/AssignTasks',
-      //       name:"/AssignTasks",
-      //       meta:{
-      //         aside:true
-      //       },
-      //       component:() => import('@/views/report/Invalid/InvalidPage/AssignTasks.vue'),
-      //     },
-      //     //添加对比文件
-      //     {
-      //       path:'/addPatentList',
-      //       name:'/addPatentList',
-      //       meta:{
-      //         title:'添加对比文件',
-      //         aside:true,
-      //         showHeader:true,
-      //         // hiddenHeader:true
-      //       },
-      //       component:() => import('@/views/report/components/addPatentList'),
-      //     },
-      //     //查看单个专利详情
-      //     {
-      //       path:'/patentDetails',
-      //       name:"patentDetails",
-      //       meta:{
-      //         aside:true
-      //       },
-      //       component:() => import('@/views/components/common/PatentDetails')
-      //     },
-      //     //无效应对证据文献详情
-      //     {
-      //       path:'/checkFileDetails/:key',
-      //       name:'checkFileDetails/:key',
-      //       meta:{
-      //         title:'证据文献详情',
-      //         aside:true,
-      //         showHeader:true,
-      //       },
-      //       component:() => import('@/views/report/InvalidResponse/components/FileDetails/index.vue'),
-      //     },
-      //     //报告任务清单
-      //     {
-      //       path:'/rTaskList',
-      //       name:'rTaskList',
-      //       meta:{
-      //         title:'任务',
-      //         aside:true,
-      //         showHeader:true,
-      //       },
-      //       component: () => import('@/views/report/task/index.vue'),
-      //     },
-      //     // },
+          //     //对比任务
+          //     {
+          //       path: '/SelectedPatent',
+          //       name:"SelectedPatent",
+          //       meta:{
+          //         aside:true
+          //       },
+          //       component:() => import('@/views/report/reportDetails/components/SelectedPatent.vue'),
+          //     },
+          //     // 任务分配
+          //     {
+          //       path: '/AssignTasks',
+          //       name:"/AssignTasks",
+          //       meta:{
+          //         aside:true
+          //       },
+          //       component:() => import('@/views/report/Invalid/InvalidPage/AssignTasks.vue'),
+          //     },
+          //     //添加对比文件
+          //     {
+          //       path:'/addPatentList',
+          //       name:'/addPatentList',
+          //       meta:{
+          //         title:'添加对比文件',
+          //         aside:true,
+          //         showHeader:true,
+          //         // hiddenHeader:true
+          //       },
+          //       component:() => import('@/views/report/components/addPatentList'),
+          //     },
+          //     //查看单个专利详情
+          //     {
+          //       path:'/patentDetails',
+          //       name:"patentDetails",
+          //       meta:{
+          //         aside:true
+          //       },
+          //       component:() => import('@/views/components/common/PatentDetails')
+          //     },
+          //     //无效应对证据文献详情
+          //     {
+          //       path:'/checkFileDetails/:key',
+          //       name:'checkFileDetails/:key',
+          //       meta:{
+          //         title:'证据文献详情',
+          //         aside:true,
+          //         showHeader:true,
+          //       },
+          //       component:() => import('@/views/report/InvalidResponse/components/FileDetails/index.vue'),
+          //     },
+          //     //报告任务清单
+          //     {
+          //       path:'/rTaskList',
+          //       name:'rTaskList',
+          //       meta:{
+          //         title:'任务',
+          //         aside:true,
+          //         showHeader:true,
+          //       },
+          //       component: () => import('@/views/report/task/index.vue'),
+          //     },
+          //     // },
         ],
       },
       //任务模块
       {
         path: '/myTask',
-        name:'myTask',
-        component:{render(c){return c('router-view')}},
-        redirect:'/myTask',
-        children:[
+        name: 'myTask',
+        component: { render(c) { return c('router-view') } },
+        redirect: '/myTask',
+        children: [
           {
-            path:'/',
+            path: '/',
             meta: {
               title: '我的任务',
-              sign:'myTask',
-              belong:'myTask'
+              sign: 'myTask',
+              belong: 'myTask'
             },
             component: () => import('@/views/task/index.vue'),
           },
@@ -456,21 +466,21 @@ const routes = [
       //场景可视化
       {
         path: '/visual',
-        name:'visual',
+        name: 'visual',
         meta: {
           title: '场景可视化',
-          sign:'visual',
-          belong:'visual'
+          sign: 'visual',
+          belong: 'visual'
         },
         component: () => import('@/views/visual')
       },
       {
         path: '/visual/:title',
-        name:'flowPath',
+        name: 'flowPath',
         meta: {
-          sign:'flowPath',
+          sign: 'flowPath',
           title: '可视化平台',
-          belong:'visual'
+          belong: 'visual'
         },
         component: () => import('@/views/visual/title/index.vue')
       },
@@ -496,7 +506,7 @@ const routes = [
       //     },
       //   ]
       // },
-      
+
       // {
       //   path: "custom",
       //   component: () => import('@/views/analyse/custom'),
@@ -513,44 +523,44 @@ const routes = [
       // },
       //查看文件
       {
-        path:'/checkFile',
-        name:'/checkFile',
-        meta:{
-          aside:true,
-          sign:'checkFile',
+        path: '/checkFile',
+        name: '/checkFile',
+        meta: {
+          aside: true,
+          sign: 'checkFile',
         },
-        component:() => import('@/views/components/view/checkFile.vue'),
+        component: () => import('@/views/components/view/checkFile.vue'),
       },
       //excel导入
       {
         path: '/import',
-        name:"import",
-        meta:{
+        name: "import",
+        meta: {
           title: 'excel导入',
-          sign:'import'
+          sign: 'import'
         },
-        component:() => import('@/views/components/import/excelImport'),
+        component: () => import('@/views/components/import/excelImport'),
       },
       //专利号导入
       {
         path: '/PatentNoImport',
-        name:"PatentNoImport",
-        meta:{
+        name: "PatentNoImport",
+        meta: {
           title: '专利号导入',
-          sign:'PatentNoImport'
+          sign: 'PatentNoImport'
         },
-        component:() => import('@/views/components/import/PatentNoImport'),
+        component: () => import('@/views/components/import/PatentNoImport'),
       },
       //检索导入
       {
         path: '/conditionImport',
-        name:"conditionImport",
-        meta:{
+        name: "conditionImport",
+        meta: {
           title: '专利检索',
-          sign:'conditionImport',
-          belong:'conditionImport'
+          sign: 'conditionImport',
+          belong: 'conditionImport'
         },
-        component:() => import('@/views/components/import/conditionImport'),
+        component: () => import('@/views/components/import/conditionImport'),
       },
       //检索结果
       {
@@ -573,10 +583,10 @@ const routes = [
       // 任务清单
       {
         path: "/taskList",
-        name:'taskList',
+        name: 'taskList',
         meta: {
           title: '任务清单',
-          sign:'taskList'
+          sign: 'taskList'
         },
         component: () => import('@/views/components/import/task/index.vue'),
       },
@@ -590,7 +600,7 @@ const routes = [
       //   component: () => import('@/views/indicia'),
       // },
 
-      
+
     ]
   },
 ]
@@ -602,27 +612,27 @@ const router = new VueRouter({
 })
 
 router.beforeEach((to, from, next) => {
-   if (to.path === '/login'||to.path==='/' || to.path == '/agreeConceal'){
+  if (to.path === '/login' || to.path === '/' || to.path == '/agreeConceal') {
     if (to.meta.title) {
       document.title = to.meta.title;
     }
     next()
-  } 
-  else if(to.meta.allowPath){
+  }
+  else if (to.meta.allowPath) {
     if (to.meta.title) {
       document.title = to.meta.title;
     }
     next()
   }
-  else{
+  else {
     const tokenStr = Cookies.get('token')
 
-    switch(tokenStr){
+    switch (tokenStr) {
       case undefined:
         if (to.meta.title) {
           document.title = to.meta.title;
         }
-        next({name:'Login',params:{ redirect:to.fullPath}})
+        next({ name: 'Login', params: { redirect: to.fullPath } })
         break
       default:
         if (to.meta.title) {

+ 1 - 1
src/views/components/import/conditionImport/searchResult.vue

@@ -164,7 +164,7 @@ export default {
   },
   created() { },
   async mounted() {
-    this.columnList = await this.$commonJS.getCustomField('patent')
+    this.columnList = await this.$commonJS.getCustomField('patent',{ projectId: 0, taskId: 0 })
     if (this.$s.getSession('queryParams') && this.$s.getSession('queryParams').params.retrieveRecordId) {
       this.queryParams.retrieveRecordId = this.$s.getSession('queryParams').params.retrieveRecordId
     }

+ 61 - 17
src/views/project/patentCollection/components/dialog/PatentBatchIndex.vue

@@ -12,41 +12,42 @@
                 @change="change(item)"></el-switch>
               <div v-if="item.enabled" class="patent-batch-index-field-content">
                 <template v-if="item.type === 0 || item.type === 2">
-                  <el-input type="textarea" v-model="item.text" placeholder="请输入内容" size="small"></el-input>
+                  <el-input type="textarea" v-model="item.text" @change="changeOption(item)" placeholder="请输入内容"
+                    size="small"></el-input>
                 </template>
                 <template v-if="item.type === 1">
-                  <el-date-picker v-model="item.text" value-format="yyyy-MM-dd" type="date" size="small"
-                    placeholder="选择日期" class="width_100"></el-date-picker>
+                  <el-date-picker v-model="item.text" @change="changeOption(item)" value-format="yyyy-MM-dd" type="date"
+                    size="small" placeholder="选择日期" class="width_100"></el-date-picker>
                 </template>
                 <template v-if="item.type === 4">
-                  <el-radio-group v-model="item.selected">
-                    <div v-for="option in item.option">
+                  <el-radio-group v-model="item.selected" @change="changeOption(item)">
+                    <div v-for="option in item.option" :key="option.id">
                       <el-radio :label="option.id">{{ option.name }}</el-radio>
                     </div>
                   </el-radio-group>
                 </template>
                 <template v-if="item.type === 5">
-                  <el-checkbox-group v-model="item.selected">
-                    <div v-for="option in item.option">
+                  <el-checkbox-group v-model="item.selected" @change="changeOption(item)">
+                    <div v-for="option in item.option" :key="option.id">
                       <el-checkbox :label="option.id">{{ option.name }}</el-checkbox>
                     </div>
                   </el-checkbox-group>
                 </template>
                 <template v-if="item.type === 6">
-                  <el-tree @check-change="onChangeTree($event, item)" :ref="item.id" :data="item.option" node-key="id"
+                  <el-tree :ref="item.id" :data="item.option" node-key="id"
                     check-strictly default-expand-all :props="{ children: 'child', label: 'name' }">
                     <span class="custom-tree-node" slot-scope="{ node, data }">
-                      <el-checkbox-group v-model="item.selected">
+                      <el-checkbox-group v-model="item.selected" @change="changeOption(item)">
                         <el-checkbox :label="data.id">{{ data.name }}</el-checkbox>
                       </el-checkbox-group>
                     </span>
                   </el-tree>
                 </template>
                 <template v-if="item.isCategory == 1">
-                  <el-tree @check-change="onChangeTree($event, item)" :ref="item.id" :data="item.option" node-key="id"
+                  <el-tree :ref="item.id" :data="item.option" node-key="id"
                     check-strictly default-expand-all :props="{ children: 'child', label: 'name' }">
                     <span class="custom-tree-node" slot-scope="{ node, data }">
-                      <el-checkbox-group v-model="item.selected">
+                      <el-checkbox-group v-model="item.selected" @change="changeOption(item)">
                         <el-checkbox :label="data.id">{{ data.name }}</el-checkbox>
                       </el-checkbox-group>
                     </span>
@@ -74,14 +75,48 @@ export default {
       visible: false,
       // 自定义及架构数据源
       field: [],
+      // 选择的数据
+      selectQuery: {},
+      // 检索的数据
+      searchQuery: '',
+      // 自定义字段筛选的数据
+      customFields: [],
+      // 自定义字段选中或填写的值
+      selectValue: [],
     }
   },
   mounted() {
   },
   methods: {
-    // 自定义字段树
-    onChangeTree(event, val) {
-      console.log(event, val);
+    // 
+    changeOption(val) {
+      // console.log(val);
+      var obj = {
+        projectId: this.projectId,
+        fieldType: val.type,
+        fieldId: val.id,
+        optionType: 2,//操作类型 0取消 1增加 2覆盖
+      }
+      if ([0, 1, 2].includes(val.type)) {
+        obj.fieldValue = val.text ? [val.text] : null
+      } else {
+        obj.fieldValue = val.selected
+      }
+      this.findSplice(val,obj)
+    },
+    findSplice(val,obj) {
+      let a = this.selectValue.findIndex(item => {
+        return item.fieldId == val.id
+      })
+      if (a != -1) {
+        if (!obj.fieldValue || obj.fieldValue.length == 0) {
+          this.selectValue.splice(a, 1)
+        } else {
+          this.selectValue.splice(a, 1, obj)
+        }
+      } else {
+        this.selectValue.push(obj)
+      }
     },
     // 开关,是否打开请求自定义字段以及架构的值
     change(val) {
@@ -168,18 +203,27 @@ export default {
       })
     },
     // 打开弹窗
-    async open() {
+    async open({ selectQuery, searchQuery, customFields }) {
+      // console.log(selectQuery, searchQuery, customFields);
+      this.selectQuery = selectQuery
+      this.searchQuery = searchQuery
+      this.customFields = customFields
       await this.getList()
       this.getPatent()
       this.visible = true
     },
     // 弹窗确定
-    submit() { 
+    submit() {
       let params = {
-        projectId:this.projectId,
+        projectId: this.projectId,
+        ...this.selectQuery,//选择的信息
+        searchQuery: this.searchQuery,//检索的信息
+        customFields: this.customFields,//自定义字段的信息
+        esCustomFieldDTOS: this.selectValue,
       }
       this.$api.batchAddCustomField(params).then(res => {
         if (res.code == 200) {
+          this.$message.success('标引成功')
           this.close()
         }
       })

+ 142 - 0
src/views/project/patentCollection/components/export/components/patent.vue

@@ -0,0 +1,142 @@
+<template>
+  <div class="patent-export">
+    <el-container class="">
+      <el-header>
+        <span class="title">选择导出字段</span>
+      </el-header>
+      <el-container>
+        <el-aside width="650px">
+          <div style="padding:20px;">
+            <el-transfer v-model="selected" :titles="['未选择', '已选择']" :props="{ key: 'value', label: 'name' }"
+              :data="field" @change="handleChange" @right-check-change="rightCheckChange" filterable
+              :filter-method="filterMethod">
+              <div slot="left-footer"></div>
+              <div class="transfer-footer" slot="right-footer">
+                <el-button @click="handleQueryOrder(-1)" type="primary" size="small" icon="el-icon-top"
+                  circle></el-button>
+                <el-button @click="handleQueryOrder(1)" size="small" icon="el-icon-bottom" circle></el-button>
+              </div>
+            </el-transfer>
+          </div>
+          <div class="button">
+            <el-button type="primary" :loading="btnLoading" @click="handleExport">导出</el-button>
+          </div>
+        </el-aside>
+        <!-- 列表 -->
+        <el-main>
+          <systemTask ref="systemTask"></systemTask>
+        </el-main>
+      </el-container>
+    </el-container>
+  </div>
+</template>
+
+<script>
+import systemTask from "@/views/components/import/task/index.vue"
+export default {
+  components: {
+    systemTask
+  },
+  props: {
+    // 项目id
+    projectId: '',
+    // 选择条件、检索条件、自定义字段筛选条件
+    condition: {
+      type: Object,
+      default: () => {
+        return {}
+      }
+    }
+  },
+  data() {
+    return {
+      selected: [],
+      // 数据源
+      field: [],
+      // 按钮Loading
+      btnLoading: false,
+      rightSelect:[],
+    }
+  },
+  async mounted() {
+    await this.getList()
+  },
+  methods: {
+    // 获取栏位数据
+    async getList() {
+      this.field = await this.$commonJS.getCustomField('patent', { projectId: this.projectId, taskId: this.taskId })
+    },
+    // 导出
+    handleExport() { 
+      if (!this.selected.length) {
+        this.$message.error('请选择导出字段')
+        return false
+      }
+      let params = {
+        projectId: this.projectId,
+        ...this.condition
+      }
+      // this.btnLoading = true
+      // this.$api.exportPatentList(data).then(response => {
+      //   this.btnLoading = false
+      //   this.$message.success('请求成功')
+      //   //调用查询任务的方法
+      // }).catch(error => {
+      //   this.btnLoading = false
+      // })
+    },
+    rightCheckChange(data) {
+      this.rightSelect = data
+    },
+    handleChange(val) {
+      let order = 1
+      for (let i = 0; i < this.selected.length; i++) {
+        const index = this.field.map(item => item.value).indexOf(this.selected[i])
+        this.field[index].order = order++
+      }
+    },
+    // 搜索栏位值
+    filterMethod(query, item) {
+      return item.name.indexOf(query) !== -1
+    },
+    // 移动位置
+    handleQueryOrder(order) {
+      this.rightSelect.map(item => {
+        const index = this.selected.indexOf(item)
+        const cIndex = index + order
+        if (cIndex < 0 || cIndex >= this.selected.length) {
+          return false
+        }
+        let current = this.field.find(item => item.value === this.selected[index])
+        let exchange = this.field.find(item => item.value === this.selected[cIndex])
+        current.order = current.order + order
+        exchange.order = exchange.order + (order === -1 ? 1 : -1)
+        this.field.sort((a, b) => {
+          return a.order - b.order
+        })
+        const temp = this.selected[index]
+        this.selected[index] = this.selected[cIndex]
+        this.selected[cIndex] = temp
+      })
+    },
+  },
+}
+</script>
+
+<style lang="scss">
+.patent-export {
+  height: calc(100% - 80px);
+  .el-transfer-panel {
+    height: 650px;
+
+    .el-transfer-panel__list {
+      height: 650px;
+    }
+  }
+
+  .button {
+    text-align: center;
+    
+  }
+}
+</style>

+ 35 - 0
src/views/project/patentCollection/components/export/index.vue

@@ -0,0 +1,35 @@
+<template>
+  <div>
+    <exportPatent :projectId="projectId" :condition="condition"></exportPatent>
+  </div>
+</template>
+
+<script>
+import exportPatent from './components/patent.vue'
+export default {
+  components: {
+    exportPatent,
+  },
+  data() {
+    return {
+
+    }
+  },
+  computed: {
+    projectId() {
+      return this.$route.query.projectId
+    },
+    condition() {
+      return JSON.parse(this.$route.query.condition)
+    },
+  },
+  methods: {
+
+  },
+  mounted() {
+
+  },
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 199 - 0
src/views/project/patentCollection/components/mixins/fastSelectPatent.js

@@ -0,0 +1,199 @@
+// 选择专利js
+export const fastSelectPatent = {
+  data() {
+    return {
+      // 数据
+      tableData: [],
+      //总数
+      total: 0,
+      //分页及选择专利的信息
+      queryParams: {
+        current: 1,
+        size: 10,
+        groupField: '0',
+        selected: [],
+        isAdd: [],
+        isDelete: [],
+      },
+      //是否编辑//编辑按钮暂时隐藏,改为默认为true
+      refresh: true,
+      //选择的专利集合
+      patentNoList: [],
+      //选择总数
+      selectedTotal: 0,
+      //选择专利加载
+      selectNumberLoading: false,
+      // 起始位置
+      startNumber: 1,
+      // 结束位置
+      endNumber: 0,
+      // 判断是否是全部选择或范围选择
+      quickSelect: false,
+      quickSelectArr: [],
+    }
+  },
+  methods: {
+    // 是否刷新
+    isRefresh() {
+      this.refresh = false
+      this.$nextTick(() => {
+        this.refresh = true
+      })
+    },
+    //快速选择
+    handleSelectNumber(type) {
+      switch (type) {
+        case 0: //本页选择
+          this.patentNoList = [...new Set(this.patentNoList.concat(this.$store.state.patent.records.map((item) => item.patentNo))),];
+          this.queryParams.isAdd = [...new Set(this.queryParams.isAdd.concat(this.$store.state.patent.records.map((item) => item.patentNo))),];
+          break;
+        case 1: //全部选择
+          this.startNumber = 1;
+          this.endNumber = this.total;
+          this.$set(this.queryParams, 'startNumber', 1)
+          this.$set(this.queryParams, 'endNumber', this.total)
+        case 2: //范围选择
+          this.queryParams.isDelete = [];
+          this.queryParams.isAdd = [];
+          this.patentNoList = [];
+          this.quickSelect = true;
+          if (type == 2) {
+            if (!Number(this.queryParams.startNumber) || !Number(this.queryParams.endNumber)) {
+              this.$set(this.queryParams, 'startNumber', this.startNumber > 0 ? this.startNumber : 1)
+              this.$set(this.queryParams, 'endNumber', this.endNumber > 0 ? this.endNumber : this.total)
+              break;
+            }
+            this.startNumber = this.queryParams.startNumber;
+            this.endNumber = this.queryParams.endNumber;
+          }
+          this.commonSwitch();
+          break;
+      }
+      this.getSelectedTotal()
+      this.isRefresh()
+    },
+    //每页全部选择或范围选择的专利
+    commonSwitch() {
+      var arr = []
+      if (this.queryParams.size * this.queryParams.current >= this.startNumber) {
+        if (this.queryParams.size * this.queryParams.current >= this.endNumber) {
+          if (this.queryParams.size * (this.queryParams.current - 1) + 1 <= this.startNumber) {
+            var a = this.startNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
+            var b = this.endNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
+            for (var y = a; y <= b; y++) {
+              arr.push(this.tableData[y].patentNo)
+            }
+          } else {
+            var a = this.queryParams.size * (this.queryParams.current - 1) + 1 - (this.queryParams.size * (this.queryParams.current - 1) + 1);
+            var b = this.endNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
+            for (var y = a; y <= b; y++) {
+              arr.push(this.tableData[y].patentNo)
+            }
+          }
+        } else {
+          if (this.queryParams.size * (this.queryParams.current - 1) + 1 <= this.startNumber) {
+            var a = this.startNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
+            var b = this.queryParams.size * this.queryParams.current - (this.queryParams.size * (this.queryParams.current - 1) + 1);
+            for (var y = a; y <= b; y++) {
+              arr.push(this.tableData[y].patentNo)
+            }
+          } else {
+            var a = this.queryParams.size * (this.queryParams.current - 1) + 1 - (this.queryParams.size * (this.queryParams.current - 1) + 1);
+            var b = this.queryParams.size * this.queryParams.current - (this.queryParams.size * (this.queryParams.current - 1) + 1);
+            for (var y = a; y <= b; y++) {
+              arr.push(this.tableData[y].patentNo)
+            }
+          }
+        }
+      }
+      // this.patentNoList = JSON.parse(JSON.stringify(arr))
+      this.quickSelectArr = JSON.parse(JSON.stringify(arr))
+      this.getHaveChoose(arr)
+    },
+    //获取已选择的专利
+    getHaveChoose(arr) {
+      var arr1 = [...new Set(arr.concat(this.queryParams.isAdd))]
+      this.patentNoList = arr1.filter((x) => this.queryParams.isDelete.indexOf(x) == -1)
+    },
+    //获取已选择的总条数
+    getSelectedTotal() {
+      this.selectedTotal = Number(this.endNumber) - Number(this.startNumber) + 1 + Number(this.queryParams.isAdd.length) - Number(this.queryParams.isDelete.length)
+    },
+    //获取手动选择的专利
+    getChoosePatentNo(patentNo) {
+      if (this.quickSelect) {
+        var index = this.queryParams.isDelete.findIndex(item => {
+          return item == patentNo
+        })
+        if (index == -1) {
+          var index2 = this.quickSelectArr.findIndex(item => {
+            return item == patentNo
+          })
+          if (index2 == -1) {
+            this.setIsAdd(patentNo)
+          } else {
+            this.queryParams.isDelete.push(patentNo)
+          }
+        } else {
+          this.queryParams.isDelete.splice(index, 1)
+        }
+      } else {
+        this.setIsAdd(patentNo)
+      }
+      this.getSelectedTotal()
+    },
+    //是否加入isAdd里面
+    setIsAdd(patentNo) {
+      var index = this.queryParams.isAdd.findIndex(item => {
+        return item == patentNo
+      })
+      if (index != -1) {
+        this.queryParams.isAdd.splice(index, 1)
+      } else {
+        this.queryParams.isAdd.push(patentNo)
+      }
+    },
+    //取消选择
+    handleCancelSelectNumber() {
+      this.patentNoList = [];
+      this.queryParams.isAdd = []
+      this.queryParams.isDelete = []
+      this.startNumber = 1
+      this.queryParams.startNumber = 1
+      this.queryParams.endNumber = this.total
+      this.endNumber = 0
+      this.quickSelect = false
+      this.selectedTotal = 0
+      // this.getList()
+      this.isRefresh()
+    },
+    // 范围选择起始数字框
+    change1(val) {
+      if (!isNaN(val)) {
+        if (!val || val <= 0) {
+          this.queryParams.startNumber = 1
+        } else {
+          if (this.queryParams.startNumber > this.total) {
+            this.queryParams.startNumber = this.total
+          }
+        }
+      } else {
+        this.queryParams.startNumber = 1
+      }
+    },
+    // 范围选择截止数字框
+    change2(val) {
+      if (!isNaN(val)) {
+        if (!val || val <= 0) {
+          this.queryParams.endNumber = this.total
+        } else {
+          if (this.queryParams.endNumber > this.total) {
+            this.queryParams.endNumber = this.total
+          }
+        }
+      } else {
+        this.queryParams.endNumber = this.total
+      }
+    },
+  },
+}

+ 47 - 225
src/views/project/patentCollection/index.vue

@@ -42,12 +42,12 @@
               </el-tooltip>
             </el-button-group>
             <el-dropdown trigger="click" split-button type="primary" size="small">
-              <span @click="handleField" v-disabled="false">自定义栏位管理</span>
+              <span @click="handleFieldManage" >显示栏位管理</span>
               <el-dropdown-menu slot="dropdown" class="text-align_center">
                 <el-dropdown-item @click.native="handleFile">报告文档</el-dropdown-item>
                 <!-- <el-dropdown-item @click.native="handleQuestion" v-if="$permission('/workspace/event')">事
                   件</el-dropdown-item> -->
-                <el-dropdown-item @click.native="handleFieldManage">显示栏位管理</el-dropdown-item>
+                <el-dropdown-item @click.native="handleField" v-disabled="false">自定义栏位管理</el-dropdown-item>
                 <el-dropdown-item @click.native="exportPDF">导出PDF首页</el-dropdown-item>
                 <!-- <el-dropdown-item @click.native="handleBatch"
                   :disabled="!($permission('/workspace/folder/batchUploadSpecification') && $r(projectId, [1, 2]))">批量上传说明书</el-dropdown-item>
@@ -184,6 +184,7 @@
 
 <script>
 import { downLoad2, getTreeDataList, getTreeLastChildren, getPatentCountry } from "@/utils"
+import { fastSelectPatent } from './components/mixins/fastSelectPatent'
 import FieldDrawer from '@/views/components/drawer/Field.vue'
 import PatentAbstractListView from './components/views/Abstract'
 import PatentTableListView from './components/views/Table.vue'
@@ -196,6 +197,7 @@ import reportFileDrawer from '@/views/report/components/drawer/reportFileDrawer.
 import addAndEditReport from '@/views/report/components/dialog/addAndEditReport.vue'
 import PatentBatchIndexVue from './components/dialog/PatentBatchIndex.vue'
 export default {
+  mixins: [fastSelectPatent],
   components: {
     FieldDrawer,
     PatentAbstractListView,
@@ -255,45 +257,16 @@ export default {
       },
       //页大小
       sizeArr: [10, 20, 30, 40, 50, 100],
-      //分页
-      queryParams: {
-        current: 1,
-        size: 10,
-        groupField: '0',
-        selected: [],
-        isAdd: [],
-        isDelete: [],
-      },
-      //总数
-      total: 0,
       //排序
       sort: [],
       //加载
       loading: false,
-      // 数据
-      tableData: [],
-      //是否编辑//编辑按钮暂时隐藏,改为默认为true
-      refresh: true,
       // 统计勾选的值(专利著录(专利本身))
       searchPatentCheck: [],
       // 存放专利本身检索条件
       searchStr: '',
       // 存放自定义栏位的检索条件
       customFields: [],
-      /*选择专利变量start*/
-      //选择的专利集合
-      patentNoList: [],
-      //选择总数
-      selectedTotal: 0,
-      //选择专利加载
-      selectNumberLoading: false,
-      // 起始位置
-      startNumber: 1,
-      // 结束位置
-      endNumber: 0,
-      quickSelect: false,
-      quickSelectArr: [],
-      /*选择专利变量end*/
     };
   },
   watch: {},
@@ -305,7 +278,7 @@ export default {
   },
   created() { },
   async mounted() {
-    this.customList = await this.$commonJS.getCustomField('patent')
+    this.customList = await this.$commonJS.getCustomField('patent', { projectId: this.projectId, taskId: this.taskId })
     await this.getColumn()
     // 获取专利信息
     this.getList()
@@ -528,7 +501,44 @@ export default {
     },
     // 批量标引
     handleIndex() {
-      this.$refs.PatentBatchIndexVue.open()
+      let obj = {
+        selectQuery: {
+          isAdd: this.queryParams.isAdd,
+          isDelete: this.queryParams.isDelete,
+          startNumber: this.startNumber,
+          endNumber: this.endNumber,
+        },
+        searchQuery: this.searchStr,
+        customFields: this.customFields
+      }
+      this.$refs.PatentBatchIndexVue.open(obj)
+    },
+    //导出专利
+    async handleExport(val) {
+      if (val) {
+        if (this.startNumber < 0 && this.endNumber < 1 || this.queryParams.isAdd.length == 0) {
+          this.$message.error('请先选择专利')
+          return false
+        }
+      }
+      let obj = {
+        selectQuery: {
+          isAdd: this.queryParams.isAdd,
+          isDelete: this.queryParams.isDelete,
+          startNumber: this.startNumber,
+          endNumber: this.endNumber,
+        },
+        searchQuery: this.searchStr,
+        customFields: this.customFields
+      }
+      let router=this.$router.resolve({
+        path: '/exportPatent',
+        query: {
+          projectId: this.projectId,
+          condition:JSON.stringify(obj)
+        }
+      })
+      window.open(router.href,'_blank')
     },
 
 
@@ -544,20 +554,8 @@ export default {
 
 
 
-    //批量上传说明书
-    handleBatch() {
-      this.$refs.batchInstructionDialog.open()
-    },
-    // 事件按钮
-    handleQuestion() {
-      let a = this.$router.resolve({
-        path: '/questionEvent',
-        query: {
-          projectId: this.projectId
-        }
-      })
-      window.open(a.href, '_blank');
-    },
+
+
     //PDF首页导出
     exportPDF() {
       let params = JSON.parse(JSON.stringify(this.queryParams))
@@ -580,22 +578,7 @@ export default {
         }
       })
     },
-    //导出专利
-    async handleExport(selectId) {
-      this.exportLoading = true
-      const key = await this.saveSelectPatent(selectId)
-      if (!key) {
-        return false
-      }
-      this.exportLoading = false
-      this.$router.push({
-        path: '/workspace/folder/export/patent',
-        query: {
-          id: this.projectId,
-          key: key
-        }
-      })
-    },
+
 
     //合并申请人
     handleMerge() {
@@ -665,168 +648,7 @@ export default {
 
 
 
-    // 是否刷新
-    isRefresh() {
-      this.refresh = false
-      this.$nextTick(() => {
-        this.refresh = true
-      })
-    },
-    //快速选择
-    handleSelectNumber(type) {
-      switch (type) {
-        case 0: //本页选择
-          this.patentNoList = [...new Set(this.patentNoList.concat(this.$store.state.patent.records.map((item) => item.patentNo))),];
-          this.queryParams.isAdd = [...new Set(this.queryParams.isAdd.concat(this.$store.state.patent.records.map((item) => item.patentNo))),];
-          break;
-        case 1: //全部选择
-          this.startNumber = 1;
-          this.endNumber = this.total;
-          this.$set(this.queryParams, 'startNumber', 1)
-          this.$set(this.queryParams, 'endNumber', this.total)
-        case 2: //范围选择
-          this.queryParams.isDelete = [];
-          this.queryParams.isAdd = [];
-          this.patentNoList = [];
-          this.quickSelect = true;
-          if (type == 2) {
-            if (!Number(this.queryParams.startNumber) || !Number(this.queryParams.endNumber)) {
-              this.$set(this.queryParams, 'startNumber', this.endNumber > 0 ? this.startNumber : 1)
-              this.$set(this.queryParams, 'endNumber', this.endNumber > 0 ? this.endNumber : this.total)
-              break;
-            }
-            this.startNumber = this.queryParams.startNumber;
-            this.endNumber = this.queryParams.endNumber;
-          }
-          this.commonSwitch();
-          break;
-      }
-      this.getSelectedTotal()
-      this.isRefresh()
-    },
-    //每页全部选择或范围选择的专利
-    commonSwitch() {
-      var arr = []
-      if (this.queryParams.size * this.queryParams.current >= this.startNumber) {
-        if (this.queryParams.size * this.queryParams.current >= this.endNumber) {
-          if (this.queryParams.size * (this.queryParams.current - 1) + 1 <= this.startNumber) {
-            var a = this.startNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
-            var b = this.endNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
-            for (var y = a; y <= b; y++) {
-              arr.push(this.tableData[y].patentNo)
-            }
-          } else {
-            var a = this.queryParams.size * (this.queryParams.current - 1) + 1 - (this.queryParams.size * (this.queryParams.current - 1) + 1);
-            var b = this.endNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
-            for (var y = a; y <= b; y++) {
-              arr.push(this.tableData[y].patentNo)
-            }
-          }
-        } else {
-          if (this.queryParams.size * (this.queryParams.current - 1) + 1 <= this.startNumber) {
-            var a = this.startNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
-            var b = this.queryParams.size * this.queryParams.current - (this.queryParams.size * (this.queryParams.current - 1) + 1);
-            for (var y = a; y <= b; y++) {
-              arr.push(this.tableData[y].patentNo)
-            }
-          } else {
-            var a = this.queryParams.size * (this.queryParams.current - 1) + 1 - (this.queryParams.size * (this.queryParams.current - 1) + 1);
-            var b = this.queryParams.size * this.queryParams.current - (this.queryParams.size * (this.queryParams.current - 1) + 1);
-            for (var y = a; y <= b; y++) {
-              arr.push(this.tableData[y].patentNo)
-            }
-          }
-        }
-      }
-      // this.patentNoList = JSON.parse(JSON.stringify(arr))
-      this.quickSelectArr = JSON.parse(JSON.stringify(arr))
-      this.getHaveChoose(arr)
-    },
-    //获取已选择的专利
-    getHaveChoose(arr) {
-      var arr1 = [...new Set(arr.concat(this.queryParams.isAdd))]
-      this.patentNoList = arr1.filter((x) => this.queryParams.isDelete.indexOf(x) == -1)
-    },
-    //获取已选择的总条数
-    getSelectedTotal() {
-      this.selectedTotal = Number(this.endNumber) - Number(this.startNumber) + 1 + Number(this.queryParams.isAdd.length) - Number(this.queryParams.isDelete.length)
-    },
-    //获取手动选择的专利
-    getChoosePatentNo(patentNo) {
-      if (this.quickSelect) {
-        var index = this.queryParams.isDelete.findIndex(item => {
-          return item == patentNo
-        })
-        if (index == -1) {
-          var index2 = this.quickSelectArr.findIndex(item => {
-            return item == patentNo
-          })
-          if (index2 == -1) {
-            this.setIsAdd(patentNo)
-          } else {
-            this.queryParams.isDelete.push(patentNo)
-          }
-        } else {
-          this.queryParams.isDelete.splice(index, 1)
-        }
-      } else {
-        this.setIsAdd(patentNo)
-      }
-      this.getSelectedTotal()
-    },
-    //是否加入isAdd里面
-    setIsAdd(patentNo) {
-      var index = this.queryParams.isAdd.findIndex(item => {
-        return item == patentNo
-      })
-      if (index != -1) {
-        this.queryParams.isAdd.splice(index, 1)
-      } else {
-        this.queryParams.isAdd.push(patentNo)
-      }
-    },
-    //取消选择
-    handleCancelSelectNumber() {
-      this.patentNoList = [];
-      this.queryParams.isAdd = []
-      this.queryParams.isDelete = []
-      this.startNumber = 1
-      this.queryParams.startNumber = 1
-      this.queryParams.endNumber = this.total
-      this.endNumber = 0
-      this.quickSelect = false
-      this.selectedTotal = 0
-      // this.getList()
-      this.isRefresh()
-    },
-    // 范围选择起始数字框
-    change1(val) {
-      if (!isNaN(val)) {
-        if (!val || val <= 0) {
-          this.queryParams.startNumber = 1
-        } else {
-          if (this.queryParams.startNumber > this.total) {
-            this.queryParams.startNumber = this.total
-          }
-        }
-      } else {
-        this.queryParams.startNumber = 1
-      }
-    },
-    // 范围选择截止数字框
-    change2(val) {
-      if (!isNaN(val)) {
-        if (!val || val <= 0) {
-          this.queryParams.endNumber = this.total
-        } else {
-          if (this.queryParams.endNumber > this.total) {
-            this.queryParams.endNumber = this.total
-          }
-        }
-      } else {
-        this.queryParams.endNumber = this.total
-      }
-    },
+
 
   },
 };

+ 22 - 22
src/views/project/patentDetails/components/patentMessage/PatentFamily.vue

@@ -5,13 +5,13 @@
         <el-form :inline="true" style="" v-if="projectId">
           <el-form-item label="同族类型">
             <el-select v-model="type" size="small" @change="onChange">
-              <el-option label="简单同族" value="simpleFamilyId"></el-option>
-              <el-option label="INPADOC同族" value="inpadocFamilyId"></el-option>
-              <el-option label="扩展同族" value="patsnapFamilyId"></el-option>
+              <el-option label="简单同族" value="simple"></el-option>
+              <el-option label="INPADOC同族" value="inpadoc"></el-option>
+              <el-option label="扩展同族" value="patsnap"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="专利号">
-            <el-input v-model="queryParams.patentNo" size="small" placeholder="请输入专利号"></el-input>
+            <el-input v-model="queryParams2.patentNo" size="small" placeholder="请输入专利号"></el-input>
           </el-form-item>
           <el-form-item>
             <el-button type="" size="small" @click="getList">查询</el-button>
@@ -19,7 +19,7 @@
         </el-form>
       </el-header>
       <el-main>
-        <el-table v-loading="loading" :data="tableData" header-row-class-name="custom-table-header">
+        <el-table v-loading="loading" :data="tableData2" header-row-class-name="custom-table-header">
           <el-table-column label="摘要附图" align="center" min-width="120px" show-overflow-tooltip>
             <template slot-scope="scope">
               <div style="height: 150px;" class="picture">
@@ -66,7 +66,7 @@
         </el-table>
       </el-main>
       <el-footer class="pagination">
-        <el-pagination :current-page.sync="queryParams.pageNum" :page-size="queryParams.pageSize" :total="total"
+        <el-pagination :current-page.sync="queryParams2.pageNum" :page-size="queryParams2.pageSize" :total="total"
           @current-change="handleCurrentChange" layout="total, prev, pager, next, jumper" background></el-pagination>
       </el-footer>
     </el-container>
@@ -79,25 +79,25 @@ export default {
   mixins: [patentDetails],
   data() {
     return {
-      type: '0',
-      queryParams: {
+      type: '',
+      queryParams2: {
         // familyId: 0,
         pageNum: 1,
         pageSize: 10,
       },
       loading: false,
-      tableData: [],
+      tableData2: [],
       total: 0
     }
   },
   watch: {
     patentId() {
-      this.queryParams.pageNum = 1
+      this.queryParams2.pageNum = 1
       this.onChange()
     },
     patentNo() {
       if (!this.projectId) {
-        this.queryParams.pageNum = 1
+        this.queryParams2.pageNum = 1
         this.onChange()
       }
     }
@@ -109,12 +109,12 @@ export default {
     getList() {
       this.loading = true
       let params = {
-        ...this.queryParams,
+        ...this.queryParams2,
         no: this.patent.patentNo,//专利号
         type: this.type,//同族类型
       }
       this.$api.selectKinByPatentNo(params).then(response => {
-        this.tableData = response.data.records
+        this.tableData2 = response.data.data
         this.total = response.data.total
         this.loading = false
       })
@@ -125,20 +125,20 @@ export default {
         patentCell: 5,
         patentNo: this.patent.publicNo,
         appNo: this.patent.applicationNo,
-        pageNum: this.queryParams.pageNum,
-        pageSize: this.queryParams.pageSize
+        pageNum: this.queryParams2.pageNum,
+        pageSize: this.queryParams2.pageSize
       }
       this.$api.getPatentPart(params).then(response => {
         if (response.code == 200) {
-          this.tableData = response.data.familyPatentResult.records
-          this.tableData.forEach(item => {
+          this.tableData2 = response.data.familyPatentResult.records
+          this.tableData2.forEach(item => {
             this.getFamilyImage(item)
           })
           this.total = response.data.familyPatentResult.total
           this.loading = false
         }
       }).catch(error => {
-        this.tableData = []
+        this.tableData2 = []
         this.total = 0
         this.loading = false
       })
@@ -167,16 +167,16 @@ export default {
         return false;
       }
       if (this.type == 'simpleFamilyId') {
-        this.queryParams.familyId = this.patent.simpleFamily
+        this.queryParams2.familyId = this.patent.simpleFamily
       } else if (this.type == 'inpadocFamilyId') {
-        this.queryParams.familyId = this.patent.inpadocFamily
+        this.queryParams2.familyId = this.patent.inpadocFamily
       } else {
-        this.queryParams.familyId = this.patent.patSnapFamily
+        this.queryParams2.familyId = this.patent.patSnapFamily
       }
       this.getList()
     },
     handleCurrentChange(val) {
-      this.queryParams.pageNum = val;
+      this.queryParams2.pageNum = val;
       this.getList();
     },
   }