diff --git a/Dockerfile b/Dockerfile index db67a1ff3a..906088419e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM registry.cn-qingdao.aliyuncs.com/dataease/alpine-openjdk17-jre +FROM registry.cn-qingdao.aliyuncs.com/dataease/alpine-openjdk21-jre RUN mkdir -p /opt/apps/config /opt/dataease2.0/drivers/ /opt/dataease2.0/cache/ /opt/dataease2.0/data/map /opt/dataease2.0/data/static-resource/ /opt/dataease2.0/data/appearance/ /opt/dataease2.0/data/exportData/ @@ -11,8 +11,9 @@ WORKDIR /opt/apps ADD core/core-backend/target/CoreApplication.jar /opt/apps/app.jar ENV JAVA_APP_JAR=/opt/apps/app.jar +ENV RUNNING_PORT=8100 ENV JAVA_OPTIONS="-Dfile.encoding=utf-8 -Dloader.path=/opt/apps -Dspring.config.additional-location=/opt/apps/config/" -HEALTHCHECK --interval=15s --timeout=5s --retries=20 --start-period=30s CMD nc -zv 127.0.0.1 8100 +HEALTHCHECK --interval=15s --timeout=5s --retries=20 --start-period=30s CMD nc -zv 127.0.0.1 $RUNNING_PORT CMD ["/deployments/run-java.sh"] diff --git a/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java b/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java index 992c5d65d8..c776352991 100644 --- a/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java +++ b/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java @@ -68,7 +68,8 @@ public class Utils { String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), ele.getDataeaseName())); } else { originField = originField.replaceAll("\\[" + ele.getId() + "]", - tableObj.getTableAlias() + "." + datasourceType.getPrefix() + ele.getDataeaseName() + datasourceType.getSuffix()); + datasourceType.getPrefix() + tableObj.getTableAlias() + datasourceType.getSuffix() + + "." + datasourceType.getPrefix() + ele.getDataeaseName() + datasourceType.getSuffix()); } } else { originField = originField.replaceAll("\\[" + ele.getId() + "]", "(" + ele.getOriginName() + ")"); diff --git a/core/core-frontend/src/api/dataset.ts b/core/core-frontend/src/api/dataset.ts index 8b1c42b7a4..3232268a1a 100644 --- a/core/core-frontend/src/api/dataset.ts +++ b/core/core-frontend/src/api/dataset.ts @@ -36,7 +36,10 @@ export interface DatasetDetail { fields: { dimensionList: Array quotaList: Array + parameterList?: Array } + activelist?: string + hasParameter?: boolean checkList: string[] list: Array } diff --git a/core/core-frontend/src/assets/svg/dv-style-fontFamily.svg b/core/core-frontend/src/assets/svg/dv-style-fontFamily.svg new file mode 100644 index 0000000000..4f6721e5dc --- /dev/null +++ b/core/core-frontend/src/assets/svg/dv-style-fontFamily.svg @@ -0,0 +1 @@ + diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue index bf19c1b2d7..23bb2a947a 100644 --- a/core/core-frontend/src/components/dashboard/DbToolbar.vue +++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue @@ -285,6 +285,14 @@ const batchOptStatusChange = value => { } const openOuterParamsSet = () => { + if (componentData.value.length === 0) { + ElMessage.warning('当前仪表板为空,请先添加组件') + return + } + if (!dvInfo.value.id) { + ElMessage.warning('请先保存当前页面') + return + } outerParamsSetRef.value.optInit() } diff --git a/core/core-frontend/src/components/data-visualization/canvas/ContextMenuDetails.vue b/core/core-frontend/src/components/data-visualization/canvas/ContextMenuDetails.vue index 57d89ac69e..e824380a85 100644 --- a/core/core-frontend/src/components/data-visualization/canvas/ContextMenuDetails.vue +++ b/core/core-frontend/src/components/data-visualization/canvas/ContextMenuDetails.vue @@ -90,7 +90,7 @@ const paste = () => { } const deleteComponent = () => { - if (curComponent.value) { + if (curComponent.value && !isGroupArea.value) { const curInfo = getCurInfo() dvMainStore.deleteComponentById(curComponent.value?.id, curInfo.componentData) } else if (areaData.value.components.length) { @@ -153,6 +153,10 @@ const handleComposeMouseDown = e => { const composeDivider = computed(() => { return !(!curComponent || curComponent['isLock'] || curComponent['component'] != 'Group') }) + +const isGroupArea = computed(() => { + return curComponent.value?.component === 'GroupArea' +})