From c4818a2a7a808747fc348cbf65f4cf73e8130c46 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 25 Nov 2024 10:01:34 +0800 Subject: [PATCH 01/22] =?UTF-8?q?perf(X-Pack):=20=E6=B8=B8=E7=A6=BB?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/locales/zh-CN.ts | 4 +++- de-xpack | 2 +- .../api-base/src/main/java/io/dataease/api/free/FreeApi.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index c2beecc97a..16bc5390db 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -3858,6 +3858,8 @@ export default { single_del_tips_dataset: '该数据集存在如下血缘关系,删除会造成相关视图失效,确定删除?', single_del_tips_datasource: '有 {0} 个数据集正在使用此数据源,删除后数据集不可用,确定删除?', folder: '文件夹', - del_folder_tips: '删除后,此文件夹下的所有资源都会被删除,请谨慎操作。' + del_folder_tips: '删除后,此文件夹下的所有资源都会被删除,请谨慎操作。', + sync_to_org: '迁移至目标组织', + sync_org_placeholder: '请选择目标组织' } } diff --git a/de-xpack b/de-xpack index 0b3d7d7ed6..11008cf20f 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 0b3d7d7ed645f0332d4d42f5ee29ba9454d9c3e2 +Subproject commit 11008cf20f99a8794c4790f61f2832a2e48aec3e diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/free/FreeApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/free/FreeApi.java index f63adfb602..0f51b930ed 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/free/FreeApi.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/free/FreeApi.java @@ -1,5 +1,6 @@ package io.dataease.api.free; +import io.dataease.api.free.dto.FreeBatchDelRequest; import io.dataease.api.free.dto.FreeBatchSyncRequest; import io.dataease.api.free.dto.FreeQueryRequest; import io.dataease.api.free.dto.FreeSyncRequest; @@ -24,5 +25,5 @@ public interface FreeApi { void syncBatch(@RequestBody FreeBatchSyncRequest request); @PostMapping("/deleteBatch") - void deleteBatch(@RequestBody FreeBatchSyncRequest request); + void deleteBatch(@RequestBody FreeBatchDelRequest request); } From b32112b3db4d9c208e805d570e5218efebdb56f0 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 25 Nov 2024 10:33:38 +0800 Subject: [PATCH 02/22] =?UTF-8?q?perf:=20=E6=A1=8C=E9=9D=A2=E7=89=88?= =?UTF-8?q?=E5=A4=B4=E9=83=A8=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/db/desktop/V2.10.3__ddl.sql | 5 +- .../src/layout/components/DesktopSetting.vue | 55 +++++++++++++++++++ .../src/layout/components/Header.vue | 4 ++ .../src/layout/components/HeaderSystem.vue | 5 +- 4 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 core/core-frontend/src/layout/components/DesktopSetting.vue diff --git a/core/core-backend/src/main/resources/db/desktop/V2.10.3__ddl.sql b/core/core-backend/src/main/resources/db/desktop/V2.10.3__ddl.sql index 6c8df1e11b..e8570bb31b 100644 --- a/core/core-backend/src/main/resources/db/desktop/V2.10.3__ddl.sql +++ b/core/core-backend/src/main/resources/db/desktop/V2.10.3__ddl.sql @@ -11,8 +11,9 @@ ALTER TABLE `visualization_link_jump_target_view_info` ADD COLUMN `target_type` varchar(50) NULL COMMENT '联动目标类型 view 图表 filter 过滤组件 outParams 外部参数'; ALTER TABLE `visualization_link_jump_target_view_info` - MODIFY COLUMN `target_view_id` varchar(50) NULL DEFAULT NULL COMMENT '目标图表ID' AFTER `source_field_active_id`, - MODIFY COLUMN `target_field_id` varchar(50) NULL DEFAULT NULL COMMENT '目标字段ID' AFTER `target_view_id`; + MODIFY COLUMN `target_view_id` varchar(50) NULL DEFAULT NULL COMMENT '目标图表ID'; +ALTER TABLE `visualization_link_jump_target_view_info` + MODIFY COLUMN `target_field_id` varchar(50) NULL DEFAULT NULL COMMENT '目标字段ID'; update visualization_link_jump_target_view_info set target_type = 'view'; ALTER TABLE `data_visualization_info` diff --git a/core/core-frontend/src/layout/components/DesktopSetting.vue b/core/core-frontend/src/layout/components/DesktopSetting.vue new file mode 100644 index 0000000000..911c7db571 --- /dev/null +++ b/core/core-frontend/src/layout/components/DesktopSetting.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/core/core-frontend/src/layout/components/Header.vue b/core/core-frontend/src/layout/components/Header.vue index 95619db5d3..6dae89860c 100644 --- a/core/core-frontend/src/layout/components/Header.vue +++ b/core/core-frontend/src/layout/components/Header.vue @@ -23,6 +23,7 @@ import AiComponent from '@/layout/components/AiComponent.vue' import { findBaseParams } from '@/api/aiComponent' import AiTips from '@/layout/components/AiTips.vue' import CopilotCom from '@/layout/components/Copilot.vue' +import DesktopSetting from './DesktopSetting.vue' const appearanceStore = useAppearanceStoreWithOut() const { push } = useRouter() @@ -211,6 +212,9 @@ onMounted(() => {
+
+ +
diff --git a/core/core-frontend/src/layout/components/HeaderSystem.vue b/core/core-frontend/src/layout/components/HeaderSystem.vue index ccbf8394e1..f635118bff 100644 --- a/core/core-frontend/src/layout/components/HeaderSystem.vue +++ b/core/core-frontend/src/layout/components/HeaderSystem.vue @@ -7,10 +7,11 @@ import { useRouter } from 'vue-router' import AccountOperator from '@/layout/components/AccountOperator.vue' import { useAppearanceStoreWithOut } from '@/store/modules/appearance' import { useI18n } from '@/hooks/web/useI18n' +import { isDesktop } from '@/utils/ModelUtil' const appearanceStore = useAppearanceStoreWithOut() const { push } = useRouter() const { t } = useI18n() - +const desktop = isDesktop() const props = withDefaults( defineProps<{ title: string @@ -43,7 +44,7 @@ const navigate = computed(() => appearanceStore.getNavigate) {{ t('work_branch.back_to_work_branch') }} - + From e7e202de84914d0cd30cfa529fdac0dc6c44b565 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Mon, 25 Nov 2024 11:09:31 +0800 Subject: [PATCH 03/22] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E6=BA=90):=20?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E8=AF=A6=E6=83=85=E9=A1=B5=E7=9A=84?= =?UTF-8?q?=E6=96=B0=E5=BB=BA=E6=95=B0=E6=8D=AE=E9=9B=86=E6=8C=89=E9=92=AE?= =?UTF-8?q?=EF=BC=8C=E8=BF=9B=E5=85=A5=E5=88=B0=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E9=A1=B5=EF=BC=8C=E7=82=B9=E5=87=BB=E5=B7=A6?= =?UTF-8?q?=E4=B8=8A=E8=A7=92=E8=BF=94=E5=9B=9E=E6=8C=89=E9=92=AE=E6=88=96?= =?UTF-8?q?=E5=8F=B3=E4=B8=8A=E8=A7=92=E4=BF=9D=E5=AD=98=E5=B9=B6=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=8C=89=E9=92=AE=EF=BC=8C=E8=BF=94=E5=9B=9E=E7=9A=84?= =?UTF-8?q?=E6=98=AF=E6=95=B0=E6=8D=AE=E9=9B=86=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=EF=BC=8C=E8=80=8C=E4=B8=8D=E6=98=AF=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/visualized/data/datasource/index.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 2a4935d5c2..f5300d5ff9 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/index.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/index.vue @@ -132,6 +132,7 @@ const createDataset = (tableName?: string) => { useEmitt().emitter.emit('changeCurrentComponent', 'DatasetEditor') return } + wsCache.set('ds-info-id', nodeInfo.id) router.push({ path: '/dataset-form', query: { @@ -989,7 +990,9 @@ const loadInit = () => { } onMounted(() => { - nodeInfo.id = (route.params.id as string) || (route.query.id as string) || '' + const dsId = wsCache.get('ds-info-id') || route.params.id + nodeInfo.id = (dsId as string) || (route.query.id as string) || '' + wsCache.delete('ds-info-id') loadInit() listDs() const { opt } = router.currentRoute.value.query From 854090dd7f48c7bf50f61464717c298f07c9a918 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Mon, 25 Nov 2024 11:10:07 +0800 Subject: [PATCH 04/22] =?UTF-8?q?fix(=E5=B7=A5=E4=BD=9C=E5=8F=B0):=20?= =?UTF-8?q?=E5=B8=AE=E5=8A=A9-=20hover=20=E8=83=8C=E6=99=AF=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E4=B8=8D=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/layout/components/ToolboxCfg.vue | 3 +- .../src/layout/components/TopDoc.vue | 23 ++++++++------ .../src/layout/components/TopDocCard.vue | 31 ++++++++----------- 3 files changed, 27 insertions(+), 30 deletions(-) diff --git a/core/core-frontend/src/layout/components/ToolboxCfg.vue b/core/core-frontend/src/layout/components/ToolboxCfg.vue index e31ca8dec5..633faac003 100644 --- a/core/core-frontend/src/layout/components/ToolboxCfg.vue +++ b/core/core-frontend/src/layout/components/ToolboxCfg.vue @@ -83,9 +83,8 @@ onMounted(() => { diff --git a/core/core-frontend/src/layout/components/TopDocCard.vue b/core/core-frontend/src/layout/components/TopDocCard.vue index 0e4797b747..41211ac028 100644 --- a/core/core-frontend/src/layout/components/TopDocCard.vue +++ b/core/core-frontend/src/layout/components/TopDocCard.vue @@ -27,33 +27,28 @@ const openBlank = () => { From acfd0b189f6acc37c14fe343ee62208e26436d55 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Mon, 25 Nov 2024 17:16:59 +0800 Subject: [PATCH 20/22] =?UTF-8?q?fix(=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6)?= =?UTF-8?q?:=20=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6=E5=9C=A8=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E6=95=B0=E6=8D=AE=E9=9B=86=E6=97=B6=EF=BC=8C=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E5=87=BA=E7=8E=B0=E9=94=99=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom-component/v-query/QueryConditionConfiguration.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 eadee77911..a74e29b52c 100644 --- a/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue +++ b/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue @@ -3491,7 +3491,7 @@ defineExpose({ } } .label { - width: 100px; + width: 80px; color: #1f2329; } From e790cf8042f47841caa2bb461901559175b81fec Mon Sep 17 00:00:00 2001 From: ulleo Date: Mon, 25 Nov 2024 17:55:29 +0800 Subject: [PATCH 21/22] =?UTF-8?q?feat(=E5=9B=BE=E8=A1=A8):=20=E8=A7=A3?= =?UTF-8?q?=E9=99=A4=E8=A1=A8=E6=A0=BC=E8=A1=8C=E9=AB=98100=E7=9A=84?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #13385 最大限制由100调整为1000 --- .../editor-style/components/table/TableHeaderSelector.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue b/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue index 08f157afab..248daa3ca6 100644 --- a/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue +++ b/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue @@ -275,7 +275,7 @@ onMounted(() => { controls-position="right" v-model="state.tableHeaderForm.tableTitleHeight" :min="20" - :max="100" + :max="1000" @change="changeTableHeader('tableTitleHeight')" /> From 9978fc6f3f9cd2ec6e319c92ffad119ff62d4fa3 Mon Sep 17 00:00:00 2001 From: jianneng-fit2cloud Date: Mon, 25 Nov 2024 18:32:42 +0800 Subject: [PATCH 22/22] =?UTF-8?q?feat(=E5=9B=BE=E8=A1=A8):=20=E4=BB=AA?= =?UTF-8?q?=E8=A1=A8=E7=9B=98=E6=94=AF=E6=8C=81=E6=98=BE=E7=A4=BA=E6=95=B0?= =?UTF-8?q?=E5=80=BC=E5=92=8C=E7=99=BE=E5=88=86=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/models/chart/chart-attr.d.ts | 4 + core/core-frontend/src/utils/canvasStyle.ts | 3 +- .../editor-style/components/LabelSelector.vue | 239 +++++++++++++++++- .../chart/components/editor/util/chart.ts | 10 +- .../js/panel/charts/others/gauge.ts | 27 +- 5 files changed, 274 insertions(+), 9 deletions(-) diff --git a/core/core-frontend/src/models/chart/chart-attr.d.ts b/core/core-frontend/src/models/chart/chart-attr.d.ts index 9c987be935..bf788a7382 100644 --- a/core/core-frontend/src/models/chart/chart-attr.d.ts +++ b/core/core-frontend/src/models/chart/chart-attr.d.ts @@ -946,6 +946,10 @@ declare interface ChartLabelAttr { * 全部显示 */ fullDisplay: boolean + /** + * 仪表盘占比显示格式 + */ + proportionSeriesFormatter: SeriesFormatter } /** * 提示设置 diff --git a/core/core-frontend/src/utils/canvasStyle.ts b/core/core-frontend/src/utils/canvasStyle.ts index ee77b6366b..c675a33a26 100644 --- a/core/core-frontend/src/utils/canvasStyle.ts +++ b/core/core-frontend/src/utils/canvasStyle.ts @@ -127,7 +127,8 @@ export const customAttrTrans = { ], label: { fontSize: '', - seriesLabelFormatter: ['fontSize'] + seriesLabelFormatter: ['fontSize'], + proportionSeriesFormatter: ['fontSize'] }, tooltip: { fontSize: '', diff --git a/core/core-frontend/src/views/chart/components/editor/editor-style/components/LabelSelector.vue b/core/core-frontend/src/views/chart/components/editor/editor-style/components/LabelSelector.vue index efc953d811..c463944dd5 100644 --- a/core/core-frontend/src/views/chart/components/editor/editor-style/components/LabelSelector.vue +++ b/core/core-frontend/src/views/chart/components/editor/editor-style/components/LabelSelector.vue @@ -238,7 +238,8 @@ const state = reactive<{ labelForm: DeepPartial }>({ seriesLabelFormatter: [], labelFormatter: DEFAULT_LABEL.labelFormatter, conversionTag: DEFAULT_LABEL.conversionTag, - totalFormatter: DEFAULT_LABEL.totalFormatter + totalFormatter: DEFAULT_LABEL.totalFormatter, + proportionSeriesFormatter: DEFAULT_LABEL.proportionSeriesFormatter } }) @@ -303,7 +304,10 @@ const showSeriesLabelFormatter = computed(() => { const showDivider = computed(() => { const DIVIDER_PROPS = ['labelFormatter', 'showDimension', 'showQuota', 'showProportion'] return ( - includesAny(props.propertyInner, ...DIVIDER_PROPS) && !isBarRangeTime.value && !isGroupBar.value + includesAny(props.propertyInner, ...DIVIDER_PROPS) && + !isBarRangeTime.value && + !isGroupBar.value && + !isGauge.value ) }) @@ -460,6 +464,9 @@ const conversionPrecision = [ const noFullDisplay = computed(() => { return !['liquid', 'gauge', 'indicator'].includes(props.chart.type) }) +const isGauge = computed(() => { + return props.chart.type === 'gauge' +})