forked from github/dataease
feat(查询组件): 下拉组件的下拉选择展示支持全部和默认两种选择 #10770
This commit is contained in:
parent
f166e16575
commit
71b782d96d
@ -16,6 +16,7 @@ export interface EnumValue {
|
||||
displayId?: string
|
||||
sortId?: string
|
||||
sort?: string
|
||||
resultMode?: number
|
||||
searchText: string
|
||||
filter?: Array<{}>
|
||||
}
|
||||
|
@ -922,6 +922,7 @@ const parameterCompletion = () => {
|
||||
conditionValueF: '',
|
||||
conditionValueOperatorS: 'like',
|
||||
conditionValueS: '',
|
||||
resultMode: 0,
|
||||
defaultConditionValueOperatorF: 'eq',
|
||||
defaultConditionValueF: '',
|
||||
defaultConditionValueOperatorS: 'like',
|
||||
@ -1850,6 +1851,13 @@ defineExpose({
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="label">选项值数量</div>
|
||||
<div class="value">
|
||||
<el-radio-group v-model="curComponent.resultMode">
|
||||
<el-radio :label="0">默认</el-radio>
|
||||
<el-radio :label="1">全部</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-item top-item" v-if="curComponent.displayType === '8'">
|
||||
<div class="label">条件类型</div>
|
||||
|
@ -25,6 +25,7 @@ interface SelectConfig {
|
||||
displayType: string
|
||||
showEmpty: boolean
|
||||
id: string
|
||||
resultMode: number
|
||||
displayId: string
|
||||
sort: string
|
||||
sortId: string
|
||||
@ -50,6 +51,7 @@ const props = defineProps({
|
||||
default: () => {
|
||||
return {
|
||||
selectValue: '',
|
||||
resultMode: 0,
|
||||
defaultValue: '',
|
||||
displayType: '',
|
||||
defaultValueCheck: false,
|
||||
@ -219,7 +221,10 @@ const displayTypeChange = () => {
|
||||
|
||||
const handleFieldIdDefaultChange = (val: string[]) => {
|
||||
loading.value = true
|
||||
getEnumValue(val)
|
||||
getEnumValue({
|
||||
fieldIds: val,
|
||||
resultMode: config.value.resultMode || 0
|
||||
})
|
||||
.then(res => {
|
||||
options.value = (res || [])
|
||||
.filter(ele => ele !== null)
|
||||
@ -501,6 +506,7 @@ const setOptions = (num: number) => {
|
||||
displayId: displayId || field.id,
|
||||
sort,
|
||||
sortId,
|
||||
resultMode: config.value.resultMode || 0,
|
||||
searchText: searchText.value,
|
||||
filter: getCascadeFieldId()
|
||||
})
|
||||
|
@ -16,6 +16,7 @@ interface SelectConfig {
|
||||
selectValue: any
|
||||
defaultMapValue: any
|
||||
defaultValue: any
|
||||
resultMode: number
|
||||
checkedFieldsMap: object
|
||||
displayType: string
|
||||
id: string
|
||||
@ -39,6 +40,7 @@ const props = defineProps({
|
||||
selectValue: '',
|
||||
defaultValue: '',
|
||||
displayType: '',
|
||||
resultMode: 0,
|
||||
defaultValueCheck: false,
|
||||
multiple: false,
|
||||
checkedFieldsMap: {},
|
||||
@ -176,7 +178,10 @@ const loading = ref(false)
|
||||
|
||||
const getTreeOption = debounce(() => {
|
||||
loading.value = true
|
||||
getFieldTree(props.config.treeFieldList.map(ele => ele.id))
|
||||
getFieldTree({
|
||||
fieldIds: props.config.treeFieldList.map(ele => ele.id),
|
||||
resultMode: config.value.resultMode || 0
|
||||
})
|
||||
.then(res => {
|
||||
treeOptionList.value = dfs(res)
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user