From 7448dd06d5edcc8906c9392975308d4aa603834d Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Tue, 12 Nov 2024 10:36:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE):?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E8=B5=84=E6=BA=90=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E6=96=B9=E5=BC=8F=E7=9A=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/api/common.ts | 7 +++++++ core/core-frontend/src/pages/panel/main.ts | 5 +++++ core/core-frontend/src/permission.ts | 3 +++ core/core-frontend/src/views/common/DeResourceTree.vue | 6 ++++-- .../src/views/visualized/data/dataset/index.vue | 6 ++++-- .../src/views/visualized/data/datasource/index.vue | 6 ++++-- 6 files changed, 27 insertions(+), 6 deletions(-) diff --git a/core/core-frontend/src/api/common.ts b/core/core-frontend/src/api/common.ts index a60126bb85..81b9745bdd 100644 --- a/core/core-frontend/src/api/common.ts +++ b/core/core-frontend/src/api/common.ts @@ -6,3 +6,10 @@ export const getRoleRouters = async (): Promise> return res?.data }) } + +// 获取默认排序 +export const getDefaultSettings = async (): Promise => { + return request.get({ url: '/sysParameter/defaultSettings' }).then(res => { + return res?.data + }) +} diff --git a/core/core-frontend/src/pages/panel/main.ts b/core/core-frontend/src/pages/panel/main.ts index ef8e4377c4..f450ea81ee 100644 --- a/core/core-frontend/src/pages/panel/main.ts +++ b/core/core-frontend/src/pages/panel/main.ts @@ -63,6 +63,8 @@ import { setupStore } from '@/store' import { useEmbedded } from '@/store/modules/embedded' import { setupElementPlus, setupElementPlusIcons } from '@/plugins/element-plus' import { setupRouter } from '@/router/embedded' +import { getDefaultSettings } from '@/api/common' +import { useCache } from '@/hooks/web/useCache' const setupAll = async ( dom: string, @@ -116,6 +118,9 @@ const setupAll = async ( const appearanceRes = await import('@/store/modules/appearance') const appearanceStore = appearanceRes.useAppearanceStoreWithOut() appearanceStore.setAppearance(true) + const defaultSort = await getDefaultSettings() + const { wsCache } = useCache() + wsCache.set('TreeSort-backend', defaultSort['basic.defaultSort'] ?? '1') app.mount(dom) return app } diff --git a/core/core-frontend/src/permission.ts b/core/core-frontend/src/permission.ts index 2c52b85605..e75919847e 100644 --- a/core/core-frontend/src/permission.ts +++ b/core/core-frontend/src/permission.ts @@ -2,6 +2,7 @@ import router from './router' import { useUserStoreWithOut } from '@/store/modules/user' import { useAppStoreWithOut } from '@/store/modules/app' import type { RouteRecordRaw } from 'vue-router' +import { getDefaultSettings } from '@/api/common' import { useNProgress } from '@/hooks/web/useNProgress' import { usePermissionStoreWithOut, pathValid, getFirstAuthMenu } from '@/store/modules/permission' import { usePageLoading } from '@/hooks/web/usePageLoading' @@ -60,6 +61,8 @@ router.beforeEach(async (to, from, next) => { } await appearanceStore.setAppearance() await appearanceStore.setFontList() + const defaultSort = await getDefaultSettings() + wsCache.set('TreeSort-backend', defaultSort['basic.defaultSort'] ?? '1') if ((wsCache.get('user.token') || isDesktop) && !to.path.startsWith('/de-link/')) { if (!userStore.getUid) { await userStore.setUser() diff --git a/core/core-frontend/src/views/common/DeResourceTree.vue b/core/core-frontend/src/views/common/DeResourceTree.vue index 3a0a0d98b0..df609c1e8a 100644 --- a/core/core-frontend/src/views/common/DeResourceTree.vue +++ b/core/core-frontend/src/views/common/DeResourceTree.vue @@ -233,14 +233,16 @@ const getTree = async () => { ) { dvMainStore.resetDvInfo() } + let curSortType = sortList[Number(wsCache.get('TreeSort-backend')) ?? 1].value + curSortType = wsCache.get(`TreeSort-${curCanvasType.value}`) ?? curSortType if (nodeData.length && nodeData[0]['id'] === '0' && nodeData[0]['name'] === 'root') { state.originResourceTree = nodeData[0]['children'] || [] - sortTypeChange(state.curSortType) + sortTypeChange(curSortType) afterTreeInit() return } state.originResourceTree = nodeData - sortTypeChange(state.curSortType) + sortTypeChange(curSortType) afterTreeInit() } diff --git a/core/core-frontend/src/views/visualized/data/dataset/index.vue b/core/core-frontend/src/views/visualized/data/dataset/index.vue index bf25c29738..c2fefc7d35 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/index.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/index.vue @@ -283,6 +283,8 @@ const dtLoading = ref(false) const isCreated = ref(false) const getData = () => { dtLoading.value = true + let curSortType = sortList[Number(wsCache.get('TreeSort-backend')) ?? 1].value + curSortType = wsCache.get('TreeSort-dataset') ?? curSortType const request = { busiFlag: 'dataset' } as BusiTreeRequest interactiveStore .setInteractive(request) @@ -292,12 +294,12 @@ const getData = () => { rootManage.value = nodeData[0]['weight'] >= 7 state.datasetTree = nodeData[0]['children'] || [] originResourceTree = cloneDeep(unref(state.datasetTree)) - sortTypeChange(state.curSortType) + sortTypeChange(curSortType) return } state.datasetTree = nodeData originResourceTree = cloneDeep(unref(state.datasetTree)) - sortTypeChange(state.curSortType) + sortTypeChange(curSortType) }) .finally(() => { dtLoading.value = false diff --git a/core/core-frontend/src/views/visualized/data/datasource/index.vue b/core/core-frontend/src/views/visualized/data/datasource/index.vue index dc500a26e9..29fe7832b5 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/index.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/index.vue @@ -471,6 +471,8 @@ const symmetricKey = ref('') const listDs = () => { rawDatasourceList.value = [] dsLoading.value = true + let curSortType = sortList[Number(wsCache.get('TreeSort-backend')) ?? 1].value + curSortType = wsCache.get('TreeSort-dataset') ?? curSortType const request = { busiFlag: 'datasource' } as BusiTreeRequest interactiveStore .setInteractive(request) @@ -480,12 +482,12 @@ const listDs = () => { rootManage.value = nodeData[0]['weight'] >= 7 state.datasourceTree = nodeData[0]['children'] || [] originResourceTree = cloneDeep(unref(state.datasourceTree)) - sortTypeChange(state.curSortType) + sortTypeChange(curSortType) return } originResourceTree = cloneDeep(unref(state.datasourceTree)) state.datasourceTree = nodeData - sortTypeChange(state.curSortType) + sortTypeChange(curSortType) }) .finally(() => { mounted.value = true From 14cffed8c84665e0d948a76626e3d3589d8703e4 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Tue, 12 Nov 2024 11:41:47 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E9=9B=86):=20?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E9=A2=84=E8=A7=88=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=EF=BC=8C=E5=BD=93=E6=9F=90=E4=B8=AA=E5=AD=97=E6=AE=B5=E7=9A=84?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E8=BF=87=E5=A4=9A=E6=97=B6=EF=BC=8C=E5=8D=95?= =?UTF-8?q?=E8=A1=8C=E6=98=BE=E7=A4=BA=EF=BC=8C=E5=90=8E=E9=9D=A2=E8=B7=9F?= =?UTF-8?q?=20...=20=EF=BC=8C=E7=82=B9=E5=BC=80=E6=97=B6=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E5=86=85=E5=AE=B9=20#12802?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/visualized/data/dataset/index.vue | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/core/core-frontend/src/views/visualized/data/dataset/index.vue b/core/core-frontend/src/views/visualized/data/dataset/index.vue index c2fefc7d35..1c8178f604 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/index.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/index.vue @@ -411,6 +411,15 @@ const exportData = () => { useEmitt().emitter.emit('data-export-center', { activeName: 'IN_PROGRESS' }) } +const rowClick = (_, __, event) => { + const element = event.target.parentNode.parentNode + if ([...element.classList].includes('no-hide')) { + element.classList.remove('no-hide') + return + } + element.classList.add('no-hide') +} + const openMessageLoading = cb => { const iconClass = `el-icon-loading` const customClass = `de-message-loading de-message-export` @@ -1017,8 +1026,10 @@ const getMenuList = (val: boolean) => {