|
@@ -85,15 +85,23 @@
|
|
</div>
|
|
</div>
|
|
<!-- </el-col> -->
|
|
<!-- </el-col> -->
|
|
<!-- </el-row> -->
|
|
<!-- </el-row> -->
|
|
- <div style="width:50px">
|
|
|
|
- <span v-if="list.length==1" style="opacity: 0;"> 内容 </span>
|
|
|
|
- <el-button v-else size="small" @click="deleteList(i)"><i class="el-icon-delete"></i></el-button>
|
|
|
|
|
|
+ <div style="width:80px">
|
|
|
|
+ <!-- <span v-if="list.length==1" style="opacity: 0;"> 内容 </span> -->
|
|
|
|
+ <span v-if="list.length==1" class="btns">
|
|
|
|
+ <el-button v-if="searchValue" size="small" @click="add(i)"><i class="el-icon-plus"></i></el-button>
|
|
|
|
+ <el-button size="small" @click="deleteList(i)" style="opacity:0"><i class="el-icon-delete"></i></el-button>
|
|
|
|
+ </span>
|
|
|
|
+ <span v-else class="btns">
|
|
|
|
+ <el-button v-if="searchValue" size="small" @click="add(i)"><i class="el-icon-plus"></i></el-button>
|
|
|
|
+ <el-button size="small" @click="deleteList(i)"><i class="el-icon-delete"></i></el-button>
|
|
|
|
+ </span>
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="button_group" v-if="searchValue">
|
|
<div class="button_group" v-if="searchValue">
|
|
- <el-button size="small" type="primary" @click="add">增加</el-button>
|
|
|
|
|
|
+ <!-- <el-button size="small" type="primary" @click="add">增加</el-button> -->
|
|
<el-button size="small" type="primary" @click="search2">检索</el-button>
|
|
<el-button size="small" type="primary" @click="search2">检索</el-button>
|
|
<el-button size="small" @click="reset">重置</el-button>
|
|
<el-button size="small" @click="reset">重置</el-button>
|
|
<!-- <el-button size="small" @click="createSearch" v-if="searchValue">生成检索式</el-button> -->
|
|
<!-- <el-button size="small" @click="createSearch" v-if="searchValue">生成检索式</el-button> -->
|
|
@@ -120,12 +128,16 @@ export default {
|
|
type:Array,
|
|
type:Array,
|
|
default: ()=>{ return [
|
|
default: ()=>{ return [
|
|
{
|
|
{
|
|
- label:'并且',
|
|
|
|
- value:'&&'
|
|
|
|
|
|
+ name:'并且',
|
|
|
|
+ value:'AND'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name:'或者',
|
|
|
|
+ value:'OR'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- label:'或者',
|
|
|
|
- value:'||'
|
|
|
|
|
|
+ name:'非',
|
|
|
|
+ value:'NOT'
|
|
},
|
|
},
|
|
] }
|
|
] }
|
|
},
|
|
},
|
|
@@ -224,8 +236,11 @@ export default {
|
|
},
|
|
},
|
|
watch:{
|
|
watch:{
|
|
field(){
|
|
field(){
|
|
- this.list.length = 0
|
|
|
|
- this.rule()
|
|
|
|
|
|
+ if(this.list.length == 0){
|
|
|
|
+ this.rule()
|
|
|
|
+ }
|
|
|
|
+ // this.list.length = 0
|
|
|
|
+
|
|
},
|
|
},
|
|
list: {
|
|
list: {
|
|
handler(val) {
|
|
handler(val) {
|
|
@@ -244,6 +259,7 @@ export default {
|
|
})
|
|
})
|
|
// this.constants.GJ=this.countryList
|
|
// this.constants.GJ=this.countryList
|
|
}
|
|
}
|
|
|
|
+
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
change(list){
|
|
change(list){
|
|
@@ -261,40 +277,48 @@ export default {
|
|
//校验
|
|
//校验
|
|
rule(){
|
|
rule(){
|
|
if(this.list.length>=1){
|
|
if(this.list.length>=1){
|
|
|
|
+ this.createSearch()
|
|
return false
|
|
return false
|
|
}else{
|
|
}else{
|
|
this.list.push({
|
|
this.list.push({
|
|
|
|
+ dataType:1,
|
|
logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
// field:this.field.length>0?this.field[0][this.fieldProps.value]:'',
|
|
// field:this.field.length>0?this.field[0][this.fieldProps.value]:'',
|
|
field:'PN',
|
|
field:'PN',
|
|
placeholder:'请输入公开号,例:CN102860161 OR CN1526554846',
|
|
placeholder:'请输入公开号,例:CN102860161 OR CN1526554846',
|
|
operator:this.operator.length>0?this.operator[0][this.operatorProps.value]:'',
|
|
operator:this.operator.length>0?this.operator[0][this.operatorProps.value]:'',
|
|
|
|
+ value:''
|
|
})
|
|
})
|
|
// this.rule()
|
|
// this.rule()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
//增加
|
|
//增加
|
|
- add(){
|
|
|
|
- this.list.push({
|
|
|
|
- logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
|
|
- // field:this.field.length>0?this.field[0][this.fieldProps.value]:'',
|
|
|
|
- field:'PN',
|
|
|
|
- placeholder:'请输入公开号,例:CN102860161 OR CN1526554846',
|
|
|
|
- operator:this.operator.length>0?this.operator[0][this.operatorProps.value]:'',
|
|
|
|
- },
|
|
|
|
- // {
|
|
|
|
- // logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
|
|
- // field:this.field.length>0?this.field[0][this.fieldProps.value]:'',
|
|
|
|
- // operator:this.operator.length>0?this.operator[0][this.operatorProps.value]:''
|
|
|
|
- // }
|
|
|
|
- )
|
|
|
|
|
|
+ add(index){
|
|
|
|
+ var obj = {
|
|
|
|
+ dataType:1,
|
|
|
|
+ logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
|
|
+ // field:this.field.length>0?this.field[0][this.fieldProps.value]:'',
|
|
|
|
+ field:'PN',
|
|
|
|
+ placeholder:'请输入公开号,例:CN102860161 OR CN1526554846',
|
|
|
|
+ operator:this.operator.length>0?this.operator[0][this.operatorProps.value]:'',
|
|
|
|
+ value:''
|
|
|
|
+ }
|
|
|
|
+ if(index || index == 0){
|
|
|
|
+ this.list.splice(index+1,0,obj)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ this.list.push(obj)
|
|
},
|
|
},
|
|
//鼠标悬浮文字提示
|
|
//鼠标悬浮文字提示
|
|
getTitle(val){
|
|
getTitle(val){
|
|
if(val){
|
|
if(val){
|
|
- return this.filedList.filter(item=>{
|
|
|
|
|
|
+ var obj = this.filedList.find(item=>{
|
|
return item.value == val
|
|
return item.value == val
|
|
- })[0].label + '('+ val + ')'
|
|
|
|
|
|
+ })
|
|
|
|
+ if(obj){
|
|
|
|
+ return obj.label + '('+ val + ')'
|
|
|
|
+ }
|
|
|
|
+ return '';
|
|
}
|
|
}
|
|
},
|
|
},
|
|
//删除
|
|
//删除
|
|
@@ -305,11 +329,13 @@ export default {
|
|
reset(){
|
|
reset(){
|
|
this.list = [
|
|
this.list = [
|
|
{
|
|
{
|
|
|
|
+ dataType:1,
|
|
logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
// field:this.field.length>0?this.field[0][this.fieldProps.value]:'',
|
|
// field:this.field.length>0?this.field[0][this.fieldProps.value]:'',
|
|
field:'PN',
|
|
field:'PN',
|
|
placeholder:'请输入公开号,例:CN102860161 OR CN1526554846',
|
|
placeholder:'请输入公开号,例:CN102860161 OR CN1526554846',
|
|
- operator:this.operator.length>0?this.operator[0][this.operatorProps.value]:''
|
|
|
|
|
|
+ operator:this.operator.length>0?this.operator[0][this.operatorProps.value]:'',
|
|
|
|
+ value:''
|
|
},
|
|
},
|
|
// {
|
|
// {
|
|
// logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
// logical:this.logical.length>0?this.logical[0][this.logicalProps.value]:'',
|
|
@@ -424,12 +450,13 @@ export default {
|
|
},
|
|
},
|
|
//检索式检索
|
|
//检索式检索
|
|
search2() {
|
|
search2() {
|
|
- this.$emit('search', this.searchStr.trim())
|
|
|
|
|
|
+ this.$emit('search', this.searchStr.trim(),this.list)
|
|
},
|
|
},
|
|
// 二次检索和重新检索
|
|
// 二次检索和重新检索
|
|
searchTwo(val) {
|
|
searchTwo(val) {
|
|
var a = {
|
|
var a = {
|
|
searchStr: this.searchStr.trim(),
|
|
searchStr: this.searchStr.trim(),
|
|
|
|
+ data:this.list
|
|
}
|
|
}
|
|
if (val == 'repeat') {//二次检索
|
|
if (val == 'repeat') {//二次检索
|
|
a.isRepeat = true
|
|
a.isRepeat = true
|
|
@@ -442,6 +469,10 @@ export default {
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
|
+.btns{
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+}
|
|
.content_border{
|
|
.content_border{
|
|
width:100%;
|
|
width:100%;
|
|
// min-width: 1500px;
|
|
// min-width: 1500px;
|