From 22f649f0dd174557498e7f830b8131c8d4960e7a Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Tue, 15 Jul 2025 18:05:17 +0800 Subject: [PATCH] fix(user): user manage --- frontend/src/views/ds/Datasource.vue | 64 ++++++++++--------- frontend/src/views/ds/DatasourceForm.vue | 22 +++---- frontend/src/views/ds/DatasourceList.vue | 6 +- frontend/src/views/ds/js/ds-type.ts | 16 +++-- frontend/src/views/system/model/Card.vue | 2 +- frontend/src/views/system/model/Model.vue | 11 +++- frontend/src/views/system/model/ModelForm.vue | 32 ++++++---- frontend/src/views/system/model/ModelList.vue | 8 +-- .../src/views/system/model/ParamsForm.vue | 12 ++++ 9 files changed, 104 insertions(+), 69 deletions(-) diff --git a/frontend/src/views/ds/Datasource.vue b/frontend/src/views/ds/Datasource.vue index d9a5adc7..fda9b441 100644 --- a/frontend/src/views/ds/Datasource.vue +++ b/frontend/src/views/ds/Datasource.vue @@ -14,7 +14,7 @@ import DatasourceListSide from './DatasourceListSide.vue' import DatasourceForm from './DatasourceForm.vue' import { datasourceApi } from '@/api/datasource' import Card from './Card.vue' -import { dsTypeWithImg } from './js/ds-type' +import { dsTypeWithImgSort } from './js/ds-type' import { useI18n } from 'vue-i18n' interface Datasource { @@ -34,20 +34,24 @@ const datasourceConfigvVisible = ref(false) const editDatasource = ref(false) const activeStep = ref(0) const activeName = ref('') +const activeType = ref('') const datasourceFormRef = ref() const datasourceList = shallowRef([] as Datasource[]) -const defaultDatasourceList = shallowRef(dsTypeWithImg as (Datasource & { img: string })[]) +const defaultDatasourceList = shallowRef(dsTypeWithImgSort as (Datasource & { img: string })[]) const currentDefaultDatasource = ref('') const datasourceListWithSearch = computed(() => { - if (!keywords.value) return datasourceList.value - return datasourceList.value.filter((ele) => - ele.name.toLowerCase().includes(keywords.value.toLowerCase()) + if (!keywords.value && !currentDatasourceType.value) return datasourceList.value + return datasourceList.value.filter( + (ele) => + ele.name.toLowerCase().includes(keywords.value.toLowerCase()) && + (ele.type === currentDatasourceType.value || !currentDatasourceType.value) ) }) const beforeClose = () => { datasourceConfigvVisible.value = false + activeStep.value = 0 } const defaultDatasourceListWithSearch = computed(() => { if (!defaultDatasourceKeywords.value) return defaultDatasourceList.value @@ -56,8 +60,16 @@ const defaultDatasourceListWithSearch = computed(() => { ) }) +const currentDatasourceType = ref('') + const handleDefaultDatasourceChange = (item: any) => { - currentDefaultDatasource.value = item.name + if (currentDatasourceType.value === item.type) { + currentDefaultDatasource.value = '' + currentDatasourceType.value = '' + } else { + currentDefaultDatasource.value = item.name + currentDatasourceType.value = item.type + } } const formatKeywords = (item: string) => { @@ -92,6 +104,14 @@ const handleAddDatasource = () => { datasourceConfigvVisible.value = true } +const refresh = () => { + activeName.value = '' + activeStep.value = 0 + activeType.value = '' + datasourceConfigvVisible.value = false + search() +} + const deleteHandler = (item: any) => { ElMessageBox.confirm(t('datasource.data_source', { msg: item.name }), { confirmButtonType: 'danger', @@ -124,11 +144,12 @@ const deleteHandler = (item: any) => { const clickDatasource = (ele: any) => { activeStep.value = 1 activeName.value = ele.name + activeType.value = ele.type } const clickDatasourceSide = (ele: any) => { activeName.value = ele.name - activeStep.value = 1 + activeType.value = ele.type } const search = () => { @@ -138,28 +159,6 @@ const search = () => { } search() -const submit = (item: any) => { - if (!item.id) { - datasourceApi.add(item).then(() => { - beforeClose() - search() - ElMessage({ - type: 'success', - message: 'Add completed', - }) - }) - return - } - datasourceApi.edit(item).then(() => { - beforeClose() - search() - ElMessage({ - type: 'success', - message: 'Edit completed', - }) - }) -} - const currentDataTable = ref() const dataTableDetail = (ele: any) => { currentDataTable.value = ele @@ -187,7 +186,7 @@ const dataTableDetail = (ele: any) => {