diff --git a/core/core-frontend/src/api/dataset.ts b/core/core-frontend/src/api/dataset.ts index 796cf88402..d8b5c469fd 100644 --- a/core/core-frontend/src/api/dataset.ts +++ b/core/core-frontend/src/api/dataset.ts @@ -16,6 +16,7 @@ export interface EnumValue { displayId?: string sortId?: string sort?: string + resultMode?: number searchText: string filter?: Array<{}> } diff --git a/core/core-frontend/src/custom-component/v-query/Component.vue b/core/core-frontend/src/custom-component/v-query/Component.vue index 36fbdfa107..a036a0bfef 100644 --- a/core/core-frontend/src/custom-component/v-query/Component.vue +++ b/core/core-frontend/src/custom-component/v-query/Component.vue @@ -423,7 +423,17 @@ const queryData = () => { requiredName = next.name } - if ( + if (next.displayType === '8') { + const { conditionValueF, conditionValueS, conditionType } = next + if (conditionType === 0) { + requiredName = conditionValueF === '' ? next.name : '' + } else { + requiredName = [conditionValueF || '', conditionValueS || ''].filter(ele => ele !== '') + .length + ? next.name + : '' + } + } else if ( (Array.isArray(next.selectValue) && !next.selectValue.length) || (next.selectValue !== 0 && !next.selectValue) ) { diff --git a/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue b/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue index dae6c1674e..9d4e98f5e3 100644 --- a/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue +++ b/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue @@ -922,6 +922,7 @@ const parameterCompletion = () => { conditionValueF: '', conditionValueOperatorS: 'like', conditionValueS: '', + resultMode: 0, defaultConditionValueOperatorF: 'eq', defaultConditionValueF: '', defaultConditionValueOperatorS: 'like', @@ -1850,6 +1851,13 @@ defineExpose({ +
选项值数量
+
+ + 默认 + 全部 + +
条件类型
diff --git a/core/core-frontend/src/custom-component/v-query/Select.vue b/core/core-frontend/src/custom-component/v-query/Select.vue index 4ae900a494..f0728dfaf8 100644 --- a/core/core-frontend/src/custom-component/v-query/Select.vue +++ b/core/core-frontend/src/custom-component/v-query/Select.vue @@ -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() }) diff --git a/core/core-frontend/src/custom-component/v-query/Tree.vue b/core/core-frontend/src/custom-component/v-query/Tree.vue index 0b29fb690c..79d255a21a 100644 --- a/core/core-frontend/src/custom-component/v-query/Tree.vue +++ b/core/core-frontend/src/custom-component/v-query/Tree.vue @@ -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) }) diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/index.vue b/core/core-frontend/src/views/visualized/data/datasource/form/index.vue index 79a3500da5..b662c737b9 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/index.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/index.vue @@ -135,6 +135,25 @@ const getDatasourceTypes = () => { }) } getDatasourceTypes() +const loadDsPlugin = data => { + data.forEach(item => { + const { name, category, type, icon, extraParams, staticMap } = item + const node = { + name, + category, + type, + icon, + extraParams, + isPlugin: true, + staticMap + } + + const index = typeList.findIndex(ele => ele === node.catalog) + if (index !== -1) { + databaseList[index].push(node) + } + }) +} const getLatestUseTypes = () => { latestUse({}).then(res => { @@ -726,6 +745,10 @@ defineExpose({ @finish="complete" ref="creatDsFolder" > +