[update] 调文档库的搜索,表头,新增

This commit is contained in:
lideqin
2023-08-25 17:53:44 +08:00
parent 59e68f795b
commit c4caed0e3f
9 changed files with 596 additions and 592 deletions
+163 -161
View File
@@ -4,57 +4,58 @@
<a-col :md="(24 / (minLength + 1))" :sm="(24 / minLength)" v-for="(item,index) in searchList" :key="index" style="line-height: 48px">
<template v-if="index < minLength">
<!-- 树形选择器 -->
<template v-if="item.field_show_type === FieldType.TREE.value">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-tree-select
tree-node-filter-prop="title"
v-model="queryParam[item.db_field_name]"
:maxTagCount="1"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
:tree-data="item.tree"
tree-checkable
:placeholder="$t('pleaseSelect')+item.db_field_txt"
/>
</a-form-item>
</template>
<!-- <template v-if="item.fieldShowType === FieldType.TREE.value">-->
<!-- <a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-tree-select-->
<!-- tree-node-filter-prop="title"-->
<!-- v-model="queryParam[item.dbFieldName]"-->
<!-- :maxTagCount="1"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- :tree-data="item.tree"-->
<!-- tree-checkable-->
<!-- :placeholder="$t('pleaseSelect')+item.dbFieldTxt"-->
<!-- />-->
<!-- </a-form-item>-->
<!-- </template>-->
<!-- 输入框 -->
<template
v-else-if="[FieldType.TEXT_STRING.value, FieldType.TEXT.value,FieldType.PERSON.value,
FieldType.STANDARD.value, FieldType.TEXT_LINK.value].includes(item.field_show_type)">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+item.db_field_txt"
v-model="queryParam[item.db_field_name]"></a-input>
v-if="[FieldType.TEXT_BOX.value, FieldType.TEXTAREA.value,FieldType.USER_SINGLE.value,
FieldType.ORGAN_SINGLE.value, FieldType.STANDARD_MORE.value, FieldType.ORGAN_MORE.value]
.includes(item.fieldShowType)">
<a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+item.dbFieldTxt"
v-model="queryParam[item.dbFieldName]"></a-input>
</a-form-item>
</template>
<!-- 数字输入框 -->
<template v-else-if="item.field_show_type === FieldType.TEXT_NUMBER.value">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input-number :placeholder="$t('pleaseEnter')+item.db_field_txt"
v-model="queryParam[item.db_field_name]" :min="1" :max="99999999"/>
</a-form-item>
</template>
<!-- <template v-else-if="item.fieldShowType === FieldType.TEXT_NUMBER.value">-->
<!-- <a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-input-number :placeholder="$t('pleaseEnter')+item.dbFieldTxt"-->
<!-- v-model="queryParam[item.dbFieldName]" :min="1" :max="99999999"/>-->
<!-- </a-form-item>-->
<!-- </template>-->
<!-- 字典多选框 -->
<template v-else-if="item.field_show_type === FieldType.PULL_MORE.value">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-multi-select-tag v-model="queryParam[item.db_field_name]"
:placeholder="$t('pleaseSelect')+item.db_field_txt" :type="'select'"
:triggerChange="false" :dictCode="item.dict_field"/>
</a-form-item>
</template>
<!-- <template v-else-if="item.fieldShowType === FieldType.OPTION_SINGLE.value">-->
<!-- <a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <j-multi-select-tag v-model="queryParam[item.dbFieldName]"-->
<!-- :placeholder="$t('pleaseSelect')+item.dbFieldTxt" :type="'select'"-->
<!-- :triggerChange="false" :dictCode="item.dict_field"/>-->
<!-- </a-form-item>-->
<!-- </template>-->
<!-- 日期区间 -->
<template v-else-if="[FieldType.DATE_SINGLE.value, FieldType.DATE_MORE.value].includes(item.field_show_type)">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-range-picker v-model="queryParam[item.db_field_name]"
:placeholder="$t('pleaseSelect')+item.db_field_txt"
<template v-else-if="[FieldType.DATE_SINGLE.value, FieldType.DATE_MORE.value].includes(item.fieldShowType)">
<a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-range-picker v-model="queryParam[item.dbFieldName]"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
format="YYYY-MM-DD" value-format="YYYY-MM-DD"
@change="onChange(item.db_field_name)"></a-range-picker>
@change="onChange(item.dbFieldName)"></a-range-picker>
</a-form-item>
</template>
<!-- 字典单选框 -->
<template v-else-if="item.field_show_type === FieldType.PULL_SINGLE.value">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-model="queryParam[item.db_field_name]"
:placeholder="$t('pleaseSelect')+item.db_field_txt"
<template v-else-if="item.fieldShowType === FieldType.OPTION_SINGLE.value || item.fieldShowType === FieldType.OPTION_MORE.value">
<a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-model="queryParam[item.dbFieldName]"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
:type="'select'"
:triggerChange="false" :dictCode="item.dict_field"/>
</a-form-item>
@@ -63,55 +64,56 @@
<template v-if="index >= minLength && toggleSearchStatus">
<!-- 树形选择器 -->
<template v-if="item.field_show_type === FieldType.TREE.value">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-tree-select
tree-node-filter-prop="title"
v-model="queryParam[item.db_field_name]"
:maxTagCount="1"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
:tree-data="item.tree"
tree-checkable
:placeholder="$t('pleaseSelect')+item.db_field_txt"
/>
</a-form-item>
</template>
<!-- <template v-if="item.fieldShowType === FieldType.TREE.value">-->
<!-- <a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-tree-select-->
<!-- tree-node-filter-prop="title"-->
<!-- v-model="queryParam[item.dbFieldName]"-->
<!-- :maxTagCount="1"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- :tree-data="item.tree"-->
<!-- tree-checkable-->
<!-- :placeholder="$t('pleaseSelect')+item.dbFieldTxt"-->
<!-- />-->
<!-- </a-form-item>-->
<!-- </template>-->
<!-- 输入框 -->
<template v-else-if="[FieldType.TEXT_STRING.value, FieldType.TEXT.value,FieldType.PERSON.value,
FieldType.STANDARD.value, FieldType.TEXT_LINK.value].includes(item.field_show_type)">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+item.db_field_txt"
v-model="queryParam[item.db_field_name]"></a-input>
<template v-if="[FieldType.TEXT_BOX.value, FieldType.TEXTAREA.value,FieldType.USER_SINGLE.value,
FieldType.ORGAN_SINGLE.value, FieldType.STANDARD_MORE.value, FieldType.ORGAN_MORE.value]
.includes(item.fieldShowType)">
<a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+item.dbFieldTxt"
v-model="queryParam[item.dbFieldName]"></a-input>
</a-form-item>
</template>
<!-- 数字输入框 -->
<template v-else-if="item.field_show_type === FieldType.TEXT_NUMBER.value">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input-number :placeholder="$t('pleaseEnter')+item.db_field_txt"
v-model="queryParam[item.db_field_name]" :min="1" :max="99999999"/>
</a-form-item>
</template>
<!-- <template v-else-if="item.fieldShowType === FieldType.TEXT_NUMBER.value">-->
<!-- <a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-input-number :placeholder="$t('pleaseEnter')+item.dbFieldTxt"-->
<!-- v-model="queryParam[item.dbFieldName]" :min="1" :max="99999999"/>-->
<!-- </a-form-item>-->
<!-- </template>-->
<!-- 字典多选框 -->
<template v-else-if="item.field_show_type === FieldType.PULL_MORE.value">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-multi-select-tag v-model="queryParam[item.db_field_name]"
:placeholder="$t('pleaseSelect')+item.db_field_txt" :type="'select'"
:triggerChange="false" :dictCode="item.dict_field"/>
</a-form-item>
</template>
<!-- <template v-else-if="item.fieldShowType === FieldType.OPTION_MORE.value">-->
<!-- <a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <j-multi-select-tag v-model="queryParam[item.dbFieldName]"-->
<!-- :placeholder="$t('pleaseSelect')+item.dbFieldTxt" :type="'select'"-->
<!-- :triggerChange="false" :dictCode="item.dict_field"/>-->
<!-- </a-form-item>-->
<!-- </template>-->
<!-- 日期区间选择器 -->
<template v-else-if="[FieldType.DATE_SINGLE.value, FieldType.DATE_MORE.value].includes(item.field_show_type)">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-range-picker v-model="queryParam[item.db_field_name]"
<template v-else-if="[FieldType.DATE_SINGLE.value, FieldType.DATE_MORE.value].includes(item.fieldShowType)">
<a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-range-picker v-model="queryParam[item.dbFieldName]"
format="YYYY-MM-DD" value-format="YYYY-MM-DD"
@change="onChange(item.db_field_name)"></a-range-picker>
@change="onChange(item.dbFieldName)"></a-range-picker>
</a-form-item>
</template>
<!-- 字典选择器 -->
<template v-else-if="item.field_show_type === FieldType.PULL_SINGLE.value">
<a-form-item :label="item.db_field_txt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-model="queryParam[item.db_field_name]"
:placeholder="$t('pleaseSelect')+item.db_field_txt"
<template v-else-if="item.fieldShowType === FieldType.OPTION_SINGLE.value || item.fieldShowType === FieldType.OPTION_MORE.value">
<a-form-item :label="item.dbFieldTxt" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-model="queryParam[item.dbFieldName]"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
:type="'select'"
:triggerChange="false" :dictCode="item.dict_field"/>
</a-form-item>
@@ -134,13 +136,13 @@
<script>
import JDictSelectTag from '../dict/JDictSelectTag'
import JMultiSelectTag from '../dict/JMultiSelectTag'
import { FieldType } from '../../enums/commonEnums'
import eventBus from '@/common/event'
import { getAction } from '@/api/manage'
export default {
name: 'Search',
components: { JDictSelectTag, JMultiSelectTag },
components: { JDictSelectTag },
props: {
url: {
type: Object,
@@ -178,65 +180,65 @@ export default {
}
},
mounted () {
// this.getSearch()
this.searchList = [
{
db_field_name: 'serial_number',
db_field_txt: '编号',
dict_field: '',
field_show_type: '1',
tree: []
},
{
db_field_name: 'title',
db_field_txt: '标题',
dict_field: '',
field_show_type: '1',
tree: []
},
{
db_field_name: 'state',
db_field_txt: '状态',
dict_field: 'state',
field_show_type: '3',
tree: []
},
{
db_field_name: 'region',
db_field_txt: '适用地区',
dict_field: 'region',
field_show_type: '4',
tree: []
},
{
db_field_name: 'technology_territory',
db_field_txt: '技术领域',
dict_field: 'technology_territory',
field_show_type: '0',
tree: []
},
{
db_field_name: 'issue_time',
db_field_txt: '发布日期',
dict_field: '',
field_show_type: '5',
tree: []
},
{
db_field_name: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
db_field_txt: '新车型实施日期',
dict_field: '',
field_show_type: '5',
tree: []
},
{
db_field_name: 'implement_time',
db_field_txt: '在产车实施日期',
dict_field: '',
field_show_type: '5',
tree: []
}
]
this.getSearch()
// this.searchList = [
// {
// dbFieldName: 'serial_number',
// dbFieldTxt: '编号',
// dict_field: '',
// fieldShowType: '1',
// tree: []
// },
// {
// dbFieldName: 'title',
// dbFieldTxt: '标题',
// dict_field: '',
// fieldShowType: '1',
// tree: []
// },
// {
// dbFieldName: 'state',
// dbFieldTxt: '状态',
// dict_field: 'state',
// fieldShowType: '3',
// tree: []
// },
// {
// dbFieldName: 'region',
// dbFieldTxt: '适用地区',
// dict_field: 'region',
// fieldShowType: '4',
// tree: []
// },
// {
// dbFieldName: 'technology_territory',
// dbFieldTxt: '技术领域',
// dict_field: 'technology_territory',
// fieldShowType: '0',
// tree: []
// },
// {
// dbFieldName: 'issue_time',
// dbFieldTxt: '发布日期',
// dict_field: '',
// fieldShowType: '5',
// tree: []
// },
// {
// dbFieldName: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
// dbFieldTxt: '新车型实施日期',
// dict_field: '',
// fieldShowType: '5',
// tree: []
// },
// {
// dbFieldName: 'implement_time',
// dbFieldTxt: '在产车实施日期',
// dict_field: '',
// fieldShowType: '5',
// tree: []
// }
// ]
},
methods: {
searchQuery () {
@@ -251,28 +253,28 @@ export default {
// 获取查询条件列表
getSearch () {
const params = {
flag: this.flag
module: this.flag
}
// getAction(this.url.getSearchList, params).then((res) => {
// if (res.success) {
// this.searchList = res.result
// // if (this.searchQueryList && this.searchQueryList.length > 0) {
// // for (let i = 0; i < this.searchList.length; i++) {
// // // 是要去掉这个字段的搜索??
// // if (this.searchList[i].db_field_name === 'issue_time') {
// // this.searchList.splice(i, 1)
// // i--
// // }
// // // db_field_name 说明可以被代替位置??
// // if (this.searchList[i].db_field_name === 'title') {
// // const data = this.searchList[i + 1]
// // this.searchList[i + 1] = this.searchQueryList[0]
// // this.searchList.push(data)
// // }
// // }
// // }
// }
// })
getAction(this.url.getSearchList, params).then((res) => {
if (res.success) {
this.searchList = res.result
// if (this.searchQueryList && this.searchQueryList.length > 0) {
// for (let i = 0; i < this.searchList.length; i++) {
// // 是要去掉这个字段的搜索??
// if (this.searchList[i].db_field_name === 'issue_time') {
// this.searchList.splice(i, 1)
// i--
// }
// // db_field_name 说明可以被代替位置??
// if (this.searchList[i].db_field_name === 'title') {
// const data = this.searchList[i + 1]
// this.searchList[i + 1] = this.searchQueryList[0]
// this.searchList.push(data)
// }
// }
// }
}
})
},
onChange (item) {
if (this.queryParam[item] && this.queryParam[item].length > 0) {