Переглянути джерело

修改检索条件以及说明

zhuliu 1 рік тому
батько
коміт
66818f4be1

+ 3 - 2
src/utils/common.js

@@ -195,8 +195,9 @@ treeToArray(data,prop={children:children}){
         value += ')'
       } else {
         if (item.value) {
-          var values = this.AddQuotationMarks(item.value)
-          value = values.join('')
+          // var values = this.AddQuotationMarks(item.value)
+          // value = values.join('')
+          value = `(${item.value})`
         } else {
           return
         }

+ 24 - 16
src/utils/model/search/search.vue

@@ -167,9 +167,17 @@ export default {
                     value:'>'
                 },
                 {
+                    label:'>=',
+                    value:'>='
+                },
+                {
                     label:'<',
                     value:'<'
                 },
+                {
+                    label:'<=',
+                    value:'<='
+                },
             ] }
         },
         //运算符配置
@@ -370,11 +378,11 @@ export default {
                             }
                            
                         }else{
-                            if(item.value.length == 1){
-                                str = str + " "+ item.logical + ' '+ item.field + item.operator + item.value[0]
-                            }else{
+                            // if(item.value.length == 1){
+                            //     str = str + " "+ item.logical + ' '+ item.field + item.operator + item.value[0]
+                            // }else{
                                 str = str + " "+ item.logical + ' '+ item.field + item.operator + '(' + item.value.join(" OR ")+')'
-                            }
+                            // }
                             
                         }
                     }
@@ -387,13 +395,13 @@ export default {
                                 if( item.value[0] && item.value[1] ){
                                     str = str  + ''+ item.field + item.operator + '(' + item.value[0] +'~'+item.value[1]+')'
                                 }else if(!item.value[0] || !item.value[1]){
-                                    str = str  + ''+ item.field + item.operator + (item.value[0] || item.value[1])
+                                    str = str  + ''+ item.field + item.operator + '(' + (item.value[0] || item.value[1])+')'
                                 }
                             }else{
                                 if( item.value[0] && item.value[1] ){
                                     str = str + " "+ item.logical + ' '+ item.field + item.operator + '(' + item.value[0] +'~'+item.value[1]+')'
                                 }else if(!item.value[0] || !item.value[1]){
-                                    str = str + " "+ item.logical + ' '+ item.field + item.operator + (item.value[0] || item.value[1])
+                                    str = str + " "+ item.logical + ' '+ item.field + item.operator + '(' + (item.value[0] || item.value[1])+')'
                                 }
                             }
                             
@@ -402,21 +410,21 @@ export default {
                 }else{
                     if(item.value){
                         a = true
-                        var a = item.value.replace(/("[^"]*"|'[^']*')/g,'')
-                        var arr = a.match(/\s{1}and|AND|OR|or|NOT|not\s{1}/g)
-                        if(arr&&arr.length>0){
+                        // var a = item.value.replace(/("[^"]*"|'[^']*')/g,'')
+                        // var arr = a.match(/\s{1}and|AND|OR|or|NOT|not\s{1}/g)
+                        // if(arr&&arr.length>0){
                             if(index == 0){
                                 str = str +''+ item.field + item.operator +'(' + item.value+')'
                             }else{
                                 str = str + " "+ item.logical + ' '+ item.field + item.operator +'(' + item.value+')'
                             }
-                        }else{
-                            if(index == 0){
-                                str = str +''+ item.field + item.operator  + item.value
-                            }else{
-                                str = str + " "+ item.logical + ' '+ item.field + item.operator  + item.value
-                            }
-                        }
+                        // }else{
+                        //     if(index == 0){
+                        //         str = str +''+ item.field + item.operator  + item.value
+                        //     }else{
+                        //         str = str + " "+ item.logical + ' '+ item.field + item.operator  + item.value
+                        //     }
+                        // }
                     }
                         
                 }

+ 10 - 7
src/views/components/import/conditionImport/AdvancedSearch.vue

@@ -10,12 +10,14 @@
     <div>
         <div>
             <div><b>表达式与语法:</b></div>
-            检索条件表达式,可支持AND、OR、NOT等逻辑运算符号(不区分大小写)和等于(=)比较符号,其中:<br>
-            1、日期栏位的值支持yyyy. yyyyMM、 yyyyMMdd等格式;已知时间的连续范围为“2006-02-02”到“2009-01-01”,应输入:<span class="red">AD=20060202~20090101</span>;注意:日期的范围检索必须精确到日。<br>
-            2、专利类型(PT)栏位的值包括:1、8 为发明 检索发明,2、9 为新型,3 为外观(注意:仅中国专利);例:<span class="red">PT=1</span><br>
-            3、法律状态(LG)栏位的值包括:1:有效、2:失效、3:审中(注意:仅中国专利);例:<span class="red">LG=1</span><br>
-            4、国家〔地区)相关栏位的值为国家地区代码,需要大写,例如:CN代表中国、US代表美国、JP代表日本等;<br>
-            5、搜索条件中有空格把整个搜索条件前后加上英文双引号,例如:<span class="red">TI=(石墨烯 NOT 石墨烯薄膜 OR "graphene film") AND AD=2018 AND GD=20180205~20190101</span>;<br>
+            检索条件表达式,可支持AND、OR、NOT等逻辑符号(不区分大小写),其中:<br>
+            1、如果检索条件中含有空格或者换行且需要作为一个整体条件查询时需要使用双引号括起来,例如:<span class="red">TI=(石墨烯 NOT 石墨烯薄膜 OR "graphene film")</span>;<br>
+            2、如果检索条件中包含多个检索条件,则需要使用()括起来;例如:<span class="red">TI =(NOT 晶体管 AND  计算机 OR 电子)</span><br>
+            3、号码与人如果需要查询多个可以使用空格分割;例如:<span class="red">PN=(CN106455703B CN203913378U)</span><br>
+            4、日期栏位的值支持yyyy、yyyyMM、 yyyyMMdd等格式以及多种范围运算符(=、>、>=、<、<=);例如:<span class="red">AD=20060202~20090101;AD>2006;AD<=2015等</span><br>
+            5、专利类型(PT)栏位的值包括:1、8 为发明 检索发明,2、9 为新型,3 为外观(注意:仅中国专利);例如:<span class="red">PT=1</span><br>
+            6、法律状态(LG)栏位的值包括:1:有效、2:失效、3:审中(注意:仅中国专利);例如:<span class="red">LG=1</span><br>
+            7、国家〔地区)相关栏位的值为国家地区代码,需要大写,例如:CN代表中国、US代表美国、JP代表日本等;<br>
         </div>
         <div>
             <div><b>检索栏位包括:</b></div>
@@ -81,7 +83,8 @@ export default {
         // }
         var params = {
             DBType:this.DBType,
-            component:'AdvancedSearch'
+            component:'AdvancedSearch',
+            data:a.trim()
         }
         this.$emit('search',a.trim(),params)
     },

+ 10 - 10
src/views/components/import/conditionImport/FormSearch.vue

@@ -216,10 +216,10 @@ export default {
                                 }else{
                                     if( this.form[keys[i]][0] && this.form[keys[i]][1] ){
                                         // str1 = str1 + ' AND ' + keys[i] + '<=' + this.form[keys[i]][1] 
-                                        str1 = str1 + keys[i] + '=' + this.form[keys[i]][0] +'~'+this.form[keys[i]][1]
+                                        str1 = str1 + keys[i] + '=(' + this.form[keys[i]][0] +'~'+this.form[keys[i]][1] +')'
                                     }else if(!this.form[keys[i]][0] || !this.form[keys[i]][1]){
                                         // str1 = str1 + keys[i] + '<=' + this.form[keys[i]][1] 
-                                        str1 = str1 + keys[i] + '=' + (this.form[keys[i]][0] || this.form[keys[i]][1])
+                                        str1 = str1 + keys[i] + '=(' + (this.form[keys[i]][0] || this.form[keys[i]][1]) +')'
                                     }
                                 }
                                 
@@ -248,14 +248,14 @@ export default {
                     }
                 }else{
                     if(this.form[keys[i]]){
-                        var a = this.form[keys[i]].replace(/("[^"]*"|'[^']*')/g,'')
-                        var arr = a.match(/\s{1}and|AND|OR|or|NOT|not\s{1}/g)
-                        if(arr&&arr.length>0){
-                            str1 = str1 + keys[i] + '=(' + this.form[keys[i]]+')'  
-                        }else{
-                            str1 = str1 + keys[i] + '=' + this.form[keys[i]] 
-                        }
-                        
+                        // var a = this.form[keys[i]].replace(/("[^"]*"|'[^']*')/g,'')
+                        // var arr = a.match(/\s{1}and|AND|OR|or|NOT|not\s{1}/g)
+                        // if(arr&&arr.length>0){
+                        //     str1 = str1 + keys[i] + '=(' + this.form[keys[i]]+')'  
+                        // }else{
+                        //     str1 = str1 + keys[i] + '=' + this.form[keys[i]] 
+                        // }
+                        str1 = str1 + keys[i] + '=(' + this.form[keys[i]]  + ')'
                     }
                     
                 }

+ 2 - 20
src/views/components/import/conditionImport/customSearch.vue

@@ -23,7 +23,7 @@
         </el-aside>
         <el-main>
             <div>
-                <myFormSearch :list="(editData && editData.component == 'customSearch')?editData.data:list" :operator="operator" :field="field" :searchValue="true" @search="search"></myFormSearch>
+                <myFormSearch :list="(editData && editData.component == 'customSearch')?editData.data:list" :field="field" :searchValue="true" @search="search"></myFormSearch>
             </div>
         </el-main>
     </el-container>
@@ -43,25 +43,7 @@ export default {
         checkList:[],
         checked:false,
 
-            //运算符
-            operator:[
-                {
-                    label:'=',
-                    value:'='
-                },
-                // {
-                //     label:'>',
-                //     value:'>'
-                // },
-                // {
-                //     label:'<',
-                //     value:'<'
-                // },
-                // {
-                //     label:'<=',
-                //     value:'<='
-                // },
-            ],
+
             //搜索值
             field:JSON.parse(JSON.stringify(this.$constants.searchField)),
             countryList1:[],

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

@@ -226,7 +226,7 @@ export default {
       }
       if(val.data){
         var params = this.$s.getSession('conditionImport')
-        if(params.data && params.component != 'AdvancedSearch'){
+        if(params.data && params.data.component != 'AdvancedSearch'){
           if(val.isRepeat){
             if(params.data.data && params.data.data.length>0){
               params.data.data.push(val.data[0])
@@ -251,8 +251,8 @@ export default {
           }
           params.data.component = 'customSearch'
           this.$s.setSession('conditionImport',params)
-        }else if(params.component == 'AdvancedSearch'){
-          params.data = this.condition.searchCondition
+        }else if(params.data.component == 'AdvancedSearch'){
+          params.data.data = this.condition.searchCondition
           this.$s.setSession('conditionImport',params)
         }
       }

+ 3 - 2
src/views/project/patentCollection/components/drawer/merge.vue

@@ -507,8 +507,9 @@ export default {
           value += ')'
         } else {
           if (item.value) {
-            var values = this.$commonJS.AddQuotationMarks(item.value)
-            value = values.join('')
+            // var values = this.$commonJS.AddQuotationMarks(item.value)
+            // value = values.join('')
+            value = `(${item.value})`
           } else {
             return
           }

+ 6 - 4
src/views/report/components/patentList/components/searchPatent.vue

@@ -335,8 +335,9 @@ export default {
               
             } else {
               if(item.inputValue){
-                var values = this.$commonJS.AddQuotationMarks(item.inputValue)
-                this.searchStr = `${item.value} ${sign} (${values.join('')})`
+                // var values = this.$commonJS.AddQuotationMarks(item.inputValue)
+                // this.searchStr = `${item.value} ${sign} (${values.join('')})`
+                this.searchStr = `${item.value} ${sign} (${item.inputValue})`
               }
               
             }
@@ -361,8 +362,9 @@ export default {
               
             } else {
               if(item.inputValue){
-                var values = this.$commonJS.AddQuotationMarks(item.inputValue)
-                this.searchStr += ` AND ${item.value} ${sign} (${values.join('')})`
+                // var values = this.$commonJS.AddQuotationMarks(item.inputValue)
+                // this.searchStr += ` AND ${item.value} ${sign} (${values.join('')})`
+                this.searchStr += ` AND ${item.value} ${sign} (${item.inputValue})`
               }
               
             }