Prechádzať zdrojové kódy

解决选择专利时先全部选择在选择本页数量错误

zhuliu 1 rok pred
rodič
commit
1482dcfd34

+ 4 - 2
src/router/index.js

@@ -71,7 +71,8 @@ const routes = [
             meta: {
               title: '专利列表',
               sign: 'patentCollection',
-              belong: 'project'
+              belong: 'project',
+              keepAlive:true
             },
             component: () => import('@/views/project/patentCollection/index.vue')
           },
@@ -293,7 +294,8 @@ const routes = [
             meta: {
               title: '报告详情',
               sign: 'reportDetails',
-              belong: 'AllReport'
+              belong: 'AllReport',
+              keepAlive:true
             },
             component: () => import('@/views/report/components/details'),
           },

+ 2 - 1
src/views/components/import/mixins/index.js

@@ -287,7 +287,8 @@ export default{
             this.$router.push({
                 path: "/taskList",
                 query:{
-                    importToId:this.form.importToId
+                    importToId:this.form.importToId,
+                    importToType:this.form.importToType
                 }
             });
         },

+ 2 - 2
src/views/components/import/task/index.vue

@@ -1,8 +1,8 @@
 
 <template>
   <div class="height_100">
-    <TaskList :importToId="importToId"></TaskList>
-  </div>
+    <TaskList :importToId="importToId" :importToType="importToType"></TaskList>
+  </div> 
 </template>
 
 <script>

+ 4 - 4
src/views/layout/index.vue

@@ -21,10 +21,10 @@
       </el-header>
       <el-main class="main">
         <section class="wrapper" >
-          <!-- <keep-alive> -->
-            <router-view id="view"></router-view>
-          <!-- </keep-alive> -->
-          <!-- <router-view id="view" v-if="!$route.meta.keepAlive"></router-view> -->
+          <keep-alive>
+            <router-view id="view" v-if="$route.meta.keepAlive"></router-view>
+          </keep-alive>
+          <router-view id="view" v-if="!$route.meta.keepAlive"></router-view>
           <contextMenu></contextMenu>
         </section>
       </el-main>

+ 14 - 2
src/views/project/patentCollection/components/mixins/fastSelectPatent.js

@@ -54,8 +54,20 @@ export const fastSelectPatent = {
     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))),];
+          var patentNos = this.$store.state.patent.records.map((item) => item.patentNo)
+          if(this.quickSelect){
+            var arr = patentNos.filter(item=>{
+              return this.patentNoList.indexOf(item) == -1
+            })
+            if(arr.length>0){
+              arr.forEach(item => {
+                this.getChoosePatentNo(item)
+              });
+            }
+          }else{
+            this.queryParams.isAdd = [...new Set(this.queryParams.isAdd.concat(patentNos)),];
+          }
+          this.patentNoList = [...new Set(this.patentNoList.concat(patentNos)),];
           break;
         case 1: //全部选择
           this.startNumber = 1;

+ 1 - 1
src/views/project/patentCollection/components/mixins/index.js

@@ -196,7 +196,7 @@ export const handleData = {
             // obj.value = `${key}2`
             // obj.type = 'Array'
             // var text = this.$commonJS.getColumnData(row, obj, prop, data)
-            var text = ipcArr.join('')
+            var text = ipcArr.join('<br>')
             break;
           case 'legalStatus'://法律状态
           case 'simpleStatus'://专利状态

+ 30 - 18
src/views/report/components/patentList/components/customFields/components/tab1.vue

@@ -47,27 +47,39 @@
 
               <!-- 专利本身 -->
               <template v-else>
-                <div v-if="item.children && item.children.length>0" style="margin-bottom: 10px;">
-                  <el-select v-model="item.select" @change="selectChange($event, item)" placeholder="请选择" size="small">
-                    <el-option v-for="item in item.children" :key="item.value" :label="item.label"
-                      :value="item.value">
-                    </el-option>
+                <div v-if="item.optionValue && item.optionValue.length>0" style="display: flex;align-items: center;">
+                  <el-select v-model="item.valueOne"  placeholder="请选择" size="small" clearable>
+                      <el-option v-for="item in item.optionValue" :key="item.value" :label="item.label"
+                        :value="item.value">
+                      </el-option>
                   </el-select>
-                </div>
-                <div style="display: flex;align-items: center;">
-                  <template v-if="item.type == 'DateTime'">
-                    <el-date-picker clear-icon v-model="item.valueOne" size="small" type="year" value-format="yyyy"
-                      placeholder="请选择时间"></el-date-picker>
-                    <span style="margin: 5px;">至</span>
-                    <el-date-picker clear-icon v-model="item.valueTwo" size="small" type="year" value-format="yyyy"
-                      placeholder="请选择时间"></el-date-picker>
-                  </template>
-                  <template v-else>
-                    <el-input size="small" v-model="item.valueOne" placeholder="请输入内容"></el-input>
-                  </template>
                   <el-button @click.stop="handleSearch(item)" size="small" type="primary" class="margin-left_10"
-                    icon="el-icon-search" circle></el-button>
+                      icon="el-icon-search" circle></el-button>
                 </div>
+                <template v-else>
+                  <div v-if="item.children && item.children.length>0" style="margin-bottom: 10px;">
+                    <el-select v-model="item.select" @change="selectChange($event, item)" placeholder="请选择" size="small">
+                      <el-option v-for="item in item.children" :key="item.value" :label="item.label"
+                        :value="item.value">
+                      </el-option>
+                    </el-select>
+                  </div>
+                  <div style="display: flex;align-items: center;">
+                    <template v-if="item.type == 'DateTime'">
+                      <el-date-picker clear-icon v-model="item.valueOne" size="small" type="year" value-format="yyyy"
+                        placeholder="请选择时间"></el-date-picker>
+                      <span style="margin: 5px;">至</span>
+                      <el-date-picker clear-icon v-model="item.valueTwo" size="small" type="year" value-format="yyyy"
+                        placeholder="请选择时间"></el-date-picker>
+                    </template>
+                    <template v-else>
+                      <el-input size="small" v-model="item.valueOne" placeholder="请输入内容"></el-input>
+                    </template>
+                    <el-button @click.stop="handleSearch(item)" size="small" type="primary" class="margin-left_10"
+                      icon="el-icon-search" circle></el-button>
+                  </div>
+                </template>
+                
                 <div class="content_list" v-loading="item.loading">
                   <el-checkbox-group v-model="item.check" @change="onChange">
                     <div class="source-checkbox">

+ 5 - 1
src/views/report/components/patentList/components/customFields/index.vue

@@ -129,13 +129,16 @@ export default {
     // 检索条件取消时统计勾选项一并取消//待修改,需要考虑产品架构、技术分类、等id重复的情况
     close() {
       let currentData = this.searchPatentCheck
-      if(currentData.length==0){
+      // if(currentData.length==0){
         this.field.forEach(item => {
           item.check = []
         })
         this.fieldTree.forEach(item=>{
           item.check = []
         })
+      // }
+      if(currentData.length == 0){
+        return 
       }
       var obj = {}
       for (var i = 0; i < currentData.length; i++){
@@ -254,6 +257,7 @@ export default {
         // }
         if (row.filedKind != -1 && (row.type == 'Array' || row.type == 'tree')) {
           if (row.filedKind == 0) {
+            
             this.$set(row,'loading',true)
             const [num, option] = await Promise.allSettled([this.esCountAnalysis(row), this.queryCustomOption(row)])
             var nums = num.status == 'fulfilled' ? num.value.detailDTOS : []