|
|
|
|
@ -15,7 +15,25 @@
|
|
|
|
|
<Select v-model="select.filter[0].op" style="width: 100px;margin-left: 10px;" placeholder="搜索条件">
|
|
|
|
|
<Option v-for="item in op" :key="item.value" :value="item.value">{{ item.label }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
<Input v-model="select.filter[0].value" style="width: 150px;margin-left: 10px;" placeholder="请填写关键词"/>
|
|
|
|
|
<template v-if="select.filter[0].op !== 'range' && !columnArrTest(select.filter[0].key)">
|
|
|
|
|
<Input v-model="select.filter[0].value" style="width: 150px;margin-left: 10px;" placeholder="请填写关键词"/>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else-if="select.filter[0].op !== 'range' && columnArrTest(select.filter[0].key)">
|
|
|
|
|
<Select v-model="select.filter[0].value" style="width: 150px;margin-left: 10px;" placeholder="请选择关键词">
|
|
|
|
|
<Option v-for="item in getColumnParams(select.filter[0].key)" :key="item.id" :value="item.id">{{ item.value }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<Input :value="select.filter[0].value.split(',')[0]"
|
|
|
|
|
style="width: 150px;margin-left: 10px;"
|
|
|
|
|
placeholder="范围开始关键词"
|
|
|
|
|
@input="(e)=>inputStartHandler(e,select.filter[0])"/>
|
|
|
|
|
<span style="margin-left: 10px;display: flex;align-items: center;">至</span>
|
|
|
|
|
<Input :value="select.filter[0].value.split(',')[1]"
|
|
|
|
|
style="width: 150px;margin-left: 10px;"
|
|
|
|
|
placeholder="范围结束关键词"
|
|
|
|
|
@input="(e)=>inputEndHandler(e,select.filter[0])"/>
|
|
|
|
|
</template>
|
|
|
|
|
<Button
|
|
|
|
|
style="margin-left: 10px"
|
|
|
|
|
type="primary"
|
|
|
|
|
@ -38,7 +56,25 @@
|
|
|
|
|
<Select v-model="item.op" style="width: 100px;margin-left: 10px;" placeholder="搜索条件">
|
|
|
|
|
<Option v-for="item in op" :key="item.value" :value="item.value">{{ item.label }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
<Input v-model="item.value" style="width: 150px;margin-left: 10px;" placeholder="请填写关键词"/>
|
|
|
|
|
<template v-if="item.op !== 'range' && !columnArrTest(item.key)">
|
|
|
|
|
<Input v-model="item.value" style="width: 150px;margin-left: 10px;" placeholder="请填写关键词"/>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else-if="item.op !== 'range' && columnArrTest(item.key)">
|
|
|
|
|
<Select v-model="item.value" style="width: 150px;margin-left: 10px;" placeholder="请选择关键词">
|
|
|
|
|
<Option v-for="item in getColumnParams(item.key)" :key="item.id" :value="item.id">{{ item.value }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<Input :value="item.value.split(',')[0]"
|
|
|
|
|
style="width: 150px;margin-left: 10px;"
|
|
|
|
|
placeholder="范围开始关键词"
|
|
|
|
|
@input="(e)=>inputStartHandler(e,item)"/>
|
|
|
|
|
<span style="margin-left: 10px;">至</span>
|
|
|
|
|
<Input :value="item.value.split(',')[1]"
|
|
|
|
|
style="width: 150px;margin-left: 10px;"
|
|
|
|
|
placeholder="范围结束关键词"
|
|
|
|
|
@input="(e)=>inputEndHandler(e,item)"/>
|
|
|
|
|
</template>
|
|
|
|
|
<el-button v-if="index !== 0" size="small" type="danger" icon="el-icon-delete" circle style="margin-left: 10px;" @click="select.filter.splice(index,1)"></el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -126,6 +162,16 @@ export default {
|
|
|
|
|
reset() {
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//target要为内存地址引用类型
|
|
|
|
|
inputStartHandler(e,target) {
|
|
|
|
|
let temp = target?.value.split(',')[1]
|
|
|
|
|
target.value = `${e},${temp ? temp : ""}`
|
|
|
|
|
},
|
|
|
|
|
inputEndHandler(e,target) {
|
|
|
|
|
let temp = target?.value.split(',')[0]
|
|
|
|
|
target.value = `${temp ? temp : ""},${e}`
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
async getField() {
|
|
|
|
|
if(this.$route.meta.params?.custom_form) {
|
|
|
|
|
let decode = decodeURIComponent(this.$route.meta.params?.custom_form)
|
|
|
|
|
@ -154,7 +200,18 @@ export default {
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {},
|
|
|
|
|
computed: {
|
|
|
|
|
columnArrTest() {
|
|
|
|
|
return function (field) {
|
|
|
|
|
return this.form.find(i => i.field === field) ? this.form.find(i => i.field === field).search_input === 'checkbox' : false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getColumnParams() {
|
|
|
|
|
return function (field) {
|
|
|
|
|
return this.form.find(i => i.field === field) ? this.form.find(i => i.field === field).paramters : []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
this.getField()
|
|
|
|
|
|
|
|
|
|
@ -182,6 +239,7 @@ export default {
|
|
|
|
|
justify-content: center;
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
& > span {
|
|
|
|
|
|
|
|
|
|
padding: 0 10px;
|
|
|
|
|
|