From ed8c71d61e698615e7c73de7fdbcf1da7d3f3b8d Mon Sep 17 00:00:00 2001 From: fit2cloudrd Date: Mon, 22 Jan 2024 11:07:03 +0800 Subject: [PATCH 01/11] Update issue templates --- .github/ISSUE_TEMPLATE/----.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/----.md b/.github/ISSUE_TEMPLATE/----.md index 7a56df6669..271ee1c842 100644 --- a/.github/ISSUE_TEMPLATE/----.md +++ b/.github/ISSUE_TEMPLATE/----.md @@ -7,4 +7,7 @@ assignees: xuwei-fit2cloud, yayanpei-fit2cloud --- +DataEase 版本: + + **请描述您的需求或者改进建议.** From 753ae3c67a5b2625eda89d8305e86f92029962ca Mon Sep 17 00:00:00 2001 From: fit2cloudrd Date: Mon, 22 Jan 2024 11:15:42 +0800 Subject: [PATCH 02/11] Update issue templates --- .github/ISSUE_TEMPLATE/bug---.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug---.md b/.github/ISSUE_TEMPLATE/bug---.md index 58994bde2f..4d870d9915 100644 --- a/.github/ISSUE_TEMPLATE/bug---.md +++ b/.github/ISSUE_TEMPLATE/bug---.md @@ -3,7 +3,7 @@ name: Bug 提交 about: 提交产品缺陷帮助我们更好的改进 title: "[Bug]" labels: 状态:待处理 -assignees: BBchicken-9527, Shenguobin0102, zrfit +assignees: BBchicken-9527, Shenguobin0102 --- From 953a613b720526a875da1204af4ef1a33b87ca49 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 Jan 2024 11:40:37 +0800 Subject: [PATCH 03/11] =?UTF-8?q?perf:=20=E7=99=BB=E5=BD=95=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-xpack | 2 +- .../java/io/dataease/api/permissions/user/api/UserApi.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/de-xpack b/de-xpack index 2012e4fb3c..fc34032acd 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 2012e4fb3c3169330cc70b09e4e77d144b22031b +Subproject commit fc34032acd1aa4b4fe2eb0e67685b1ee498aa4a3 diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/user/api/UserApi.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/user/api/UserApi.java index 5ced63487f..f20610d75d 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/user/api/UserApi.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/user/api/UserApi.java @@ -152,4 +152,8 @@ public interface UserApi { @Hidden @GetMapping("/firstEchelon/{limit}") List firstEchelon(@PathVariable("limit") Long limit); + + @Hidden + @GetMapping("/queryByAccount") + CurUserVO queryByAccount(String account); } From 5a93d15d5d75e1f9cd1eb8dbc1a82600a569527d Mon Sep 17 00:00:00 2001 From: xuwei-fit2cloud Date: Mon, 22 Jan 2024 15:26:28 +0800 Subject: [PATCH 04/11] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96dectl?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=EF=BC=8C=E8=8E=B7=E5=8F=96=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=9A=84=E5=90=8C=E6=97=B6=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC=20#7492?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- installer/dectl | 202 ++++++++++++++++++++++++------------------------ 1 file changed, 99 insertions(+), 103 deletions(-) diff --git a/installer/dectl b/installer/dectl index 5749d3160d..162a380605 100644 --- a/installer/dectl +++ b/installer/dectl @@ -7,6 +7,9 @@ DE_RUNNING_BASE=${DE_BASE}/dataease2.0 need_init_apisix=false compose_files="-f docker-compose.yml" compose_cmd="docker-compose" +server_url="github.com" +current_version="" +latest_version="" set -a source ${DE_RUNNING_BASE}/.env @@ -25,6 +28,12 @@ if [[ ! ${DE_EXTERNAL_MYSQL} ]] || [ "${DE_EXTERNAL_MYSQL}" = "false" ]; then compose_files="${compose_files} -f docker-compose-mysql.yml" fi +if [[ -x "$(command -v python)" ]]; then + py_cmd='python' +elif [[ -x "$(command -v python3)" ]]; then + py_cmd='python3' +fi + function usage() { echo "DATAEASE 控制脚本" echo @@ -107,7 +116,87 @@ function _healthcheck() { } function _get_current_version() { de_current_version=$(grep "^ image:.*dataease:" ${DE_RUNNING_BASE}/docker-compose.yml | awk -F'dataease:' '{print $2}') - echo $de_current_version + if test -z $de_current_version; then + echo "获取当前版本失败,请检查当前版本是否正确" + exit 1 + fi + current_version=$de_current_version +} +function _get_available_server() { + git_urls=('github.com') + + for git_url in ${git_urls[*]}; do + success="true" + + echo -ne "检测 ${git_url} ... " + curl -m 5 -kIs https://${git_url} >/dev/null + if [ $? != 0 ]; then + echo "failed" + success="false" + else + echo "ok" + fi + + if [[ ${success} == "true" ]]; then + server_url=${git_url} + break + else + unset server_url + fi + done + + if [[ "x${server_url}" == "x" ]]; then + echo "没有找到稳定的下载服务器,请访问 https://community.fit2cloud.com/#/products/dataease/downloads 下载离线安装包" + exit 1 + fi +} +function _get_latest_version() { + rm -f /tmp/de_latest_release + + $py_cmd - < /tmp/de_latest_release") +EOF + + if [ ! -f /tmp/de_latest_release ]; then + echo "获取最新版本失败,请检查网络连接是否正常" + exit 1 + fi + latest_version=$(cat /tmp/de_latest_release) } function status() { echo @@ -164,113 +253,20 @@ function reload() { function version() { echo _get_current_version + _get_latest_version + echo "current version is $current_version" } function upgrade() { echo - git_urls=('github.com') - if [[ -x "$(command -v python)" ]]; then - py_cmd='python' - elif [[ -x "$(command -v python3)" ]]; then - py_cmd='python3' - fi + _get_current_version + echo "检测当前版本为${current_version}" + _get_available_server + _get_latest_version - for git_url in ${git_urls[*]}; do - success="true" - for i in {1..3}; do - echo -ne "检测 ${git_url} ... ${i} " - curl -m 5 -kIs https://${git_url} >/dev/null - if [ $? != 0 ]; then - echo "failed" - success="false" - break - else - echo "ok" - fi - done - if [[ ${success} == "true" ]]; then - server_url=${git_url} - break - fi - done - - if [[ "x${server_url}" == "x" ]]; then - echo "没有找到稳定的下载服务器,请访问 https://community.fit2cloud.com/#/products/dataease/downloads 下载离线安装包" - exit 1 - fi - - if [[ "${server_url}" == "gitee.com" ]]; then - owner='fit2cloud-feizhiyun' - repo='DataEase' - else - owner='dataease' - repo='dataease' - fi - - export DE_VERSION=$(_get_current_version) - if test -z $DE_VERSION; then - echo "获取当前版本失败,请检查当前版本是否正确" - exit 1 - fi - echo "检测当前版本为${DE_VERSION}" - - rm -f /tmp/de_latest_release - $py_cmd - < /tmp/de_latest_release") -EOF - - if [ ! -f /tmp/de_latest_release ]; then - echo "获取最新版本失败,请检查网络连接是否正常" - exit 1 - fi - - latest_version=$(cat /tmp/de_latest_release) if [ "${latest_version}" = "" ]; then echo "未获取到最新版本" exit 1 - elif [ "${latest_version}" = "${DE_VERSION}" ]; then + elif [ "${latest_version}" = "${current_version}" ]; then echo "最新版本与当前版本一致,退出升级过程" exit 0 else @@ -283,11 +279,11 @@ EOF cd /tmp installer_file="dataease-online-installer-${latest_version}.tar.gz" - download_url="https://${server_url}/${owner}/${repo}/releases/download/${latest_version}/$installer_file" + download_url="https://${server_url}/dataease/dataease/releases/download/${latest_version}/$installer_file" curl -LOk -m 60 -o $installer_file $download_url if [ $? -ne 0 ]; then echo -e "\e[31m升级失败:连接下载服务器超时!\n可手动下载升级包,然后执行\e[1;33m /bin/bash install.sh \e[0;31m离线升级,也可以重新执行一次 dectl upgrade 命令。\e[0m" - return 2 + exit 1 fi if [ ! -f $installer_file ]; then From 851eb58044f7791ea8fec30a7d1f545dcbbe8314 Mon Sep 17 00:00:00 2001 From: ulleo Date: Mon, 22 Jan 2024 16:04:00 +0800 Subject: [PATCH 05/11] =?UTF-8?q?fix:=20=E3=80=90=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E3=80=91icon=E8=89=B2=E5=80=BC=E4=B8=8D?= =?UTF-8?q?=E5=AF=B9=EF=BC=8C=E6=9A=97=E8=89=B2=E4=B8=8B=E5=AF=B9=E5=BA=94?= =?UTF-8?q?N600-DARK=EF=BC=88#A6A6A6=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/chart/components/views/index.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/core-frontend/src/views/chart/components/views/index.vue b/core/core-frontend/src/views/chart/components/views/index.vue index bc19077c07..e4bc4cc159 100644 --- a/core/core-frontend/src/views/chart/components/views/index.vue +++ b/core/core-frontend/src/views/chart/components/views/index.vue @@ -607,7 +607,7 @@ const iconSize = computed(() => {
@@ -712,6 +712,10 @@ const iconSize = computed(() => { color: #646a73; + &.icons-container__dark { + color: #a6a6a6; + } + &.is-editing { gap: 6px; } From c9243c8ab6b8692c3be1145ee2b3fbfcd1c22c2f Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 Jan 2024 16:49:06 +0800 Subject: [PATCH 06/11] =?UTF-8?q?perf:=20=E6=97=A5=E5=BF=97=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E7=8A=B6=E6=80=81=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/dataset/server/DatasetTreeServer.java | 3 ++- .../datasource/manage/DataSourceManage.java | 14 ++++++++++---- .../datasource/server/DatasourceServer.java | 6 +++++- .../server/DataVisualizationServer.java | 9 +++++++++ de-xpack | 2 +- .../java/io/dataease/api/log/vo/LogGridVO.java | 4 ++++ .../src/main/java/io/dataease/log/DeLog.java | 4 +++- 7 files changed, 34 insertions(+), 8 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/dataset/server/DatasetTreeServer.java b/core/core-backend/src/main/java/io/dataease/dataset/server/DatasetTreeServer.java index 48bb4628f5..83f88fa2ce 100644 --- a/core/core-backend/src/main/java/io/dataease/dataset/server/DatasetTreeServer.java +++ b/core/core-backend/src/main/java/io/dataease/dataset/server/DatasetTreeServer.java @@ -6,7 +6,6 @@ import io.dataease.api.dataset.dto.DatasetTableDTO; import io.dataease.api.dataset.dto.SqlVariableDetails; import io.dataease.api.dataset.union.DatasetGroupInfoDTO; import io.dataease.api.dataset.vo.DataSetBarVO; -import io.dataease.commons.constants.OptConstants; import io.dataease.constant.LogOT; import io.dataease.constant.LogST; import io.dataease.dataset.manage.DatasetGroupManage; @@ -44,11 +43,13 @@ public class DatasetTreeServer implements DatasetTreeApi { return datasetGroupManage.save(dto, false); } + @DeLog(id = "#p0.id", ot = LogOT.MODIFY, st = LogST.DATASET) @Override public DatasetNodeDTO move(DatasetGroupInfoDTO dto) throws Exception { return datasetGroupManage.move(dto); } + @DeLog(id = "#p0", ot = LogOT.DELETE, st = LogST.DATASET) @Override public void delete(Long id) { datasetGroupManage.delete(id); diff --git a/core/core-backend/src/main/java/io/dataease/datasource/manage/DataSourceManage.java b/core/core-backend/src/main/java/io/dataease/datasource/manage/DataSourceManage.java index 8b0da25485..d898bc849a 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/manage/DataSourceManage.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/manage/DataSourceManage.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import io.dataease.api.ds.vo.DatasourceDTO; import io.dataease.commons.constants.OptConstants; import io.dataease.constant.DataSourceType; +import io.dataease.constant.LogOT; +import io.dataease.constant.LogST; import io.dataease.datasource.dao.auto.entity.CoreDatasource; import io.dataease.datasource.dao.auto.mapper.CoreDatasourceMapper; import io.dataease.datasource.dao.ext.mapper.DataSourceExtMapper; @@ -12,6 +14,7 @@ import io.dataease.datasource.dao.ext.po.DataSourceNodePO; import io.dataease.datasource.dto.DatasourceNodeBO; import io.dataease.exception.DEException; import io.dataease.license.config.XpackInteract; +import io.dataease.log.DeLog; import io.dataease.model.BusiNodeRequest; import io.dataease.model.BusiNodeVO; import io.dataease.operation.manage.CoreOptRecentManage; @@ -25,7 +28,6 @@ import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; @Component public class DataSourceManage { @@ -71,12 +73,14 @@ public class DataSourceManage { return TreeUtils.mergeTree(nodes, BusiNodeVO.class, false); } + @DeLog(id = "#p0.id", pid = "#p0.pid", ot = LogOT.CREATE, st = LogST.DATASOURCE) @XpackInteract(value = "datasourceResourceTree", before = false) public void innerSave(CoreDatasource coreDatasource) { coreDatasourceMapper.insert(coreDatasource); - coreOptRecentManage.saveOpt(coreDatasource.getId(), OptConstants.OPT_RESOURCE_TYPE.DATASOURCE,OptConstants.OPT_TYPE.NEW); + coreOptRecentManage.saveOpt(coreDatasource.getId(), OptConstants.OPT_RESOURCE_TYPE.DATASOURCE, OptConstants.OPT_TYPE.NEW); } + @DeLog(id = "#p0.id", ot = LogOT.MODIFY, st = LogST.DATASOURCE) @XpackInteract(value = "datasourceResourceTree", before = false) public void innerEdit(CoreDatasource coreDatasource) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); @@ -84,9 +88,10 @@ public class DataSourceManage { coreDatasource.setUpdateTime(System.currentTimeMillis()); coreDatasource.setUpdateBy(AuthUtils.getUser().getUserId()); coreDatasourceMapper.update(coreDatasource, updateWrapper); - coreOptRecentManage.saveOpt(coreDatasource.getId(), OptConstants.OPT_RESOURCE_TYPE.DATASOURCE,OptConstants.OPT_TYPE.UPDATE); + coreOptRecentManage.saveOpt(coreDatasource.getId(), OptConstants.OPT_RESOURCE_TYPE.DATASOURCE, OptConstants.OPT_TYPE.UPDATE); } + @DeLog(id = "#p0.id", ot = LogOT.MODIFY, st = LogST.DATASOURCE) @XpackInteract(value = "datasourceResourceTree", before = false) public void innerEditStatus(CoreDatasource coreDatasource) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); @@ -94,6 +99,7 @@ public class DataSourceManage { coreDatasourceMapper.update(coreDatasource, updateWrapper); } + @DeLog(id = "#p0.id", ot = LogOT.MODIFY, st = LogST.DATASOURCE) @XpackInteract(value = "datasourceResourceTree", before = false) public void move(DatasourceDTO dataSourceDTO) { Long id = dataSourceDTO.getId(); @@ -106,6 +112,6 @@ public class DataSourceManage { sourceData.setPid(dataSourceDTO.getPid()); sourceData.setName(dataSourceDTO.getName()); coreDatasourceMapper.updateById(sourceData); - coreOptRecentManage.saveOpt(sourceData.getId(), OptConstants.OPT_RESOURCE_TYPE.DATASOURCE,OptConstants.OPT_TYPE.UPDATE); + coreOptRecentManage.saveOpt(sourceData.getId(), OptConstants.OPT_RESOURCE_TYPE.DATASOURCE, OptConstants.OPT_TYPE.UPDATE); } } diff --git a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java index ee875b83aa..a9bfac4eb8 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java @@ -14,6 +14,8 @@ import io.dataease.api.ds.vo.*; import io.dataease.commons.constants.TaskStatus; import io.dataease.commons.utils.CommonThreadPool; import io.dataease.constant.DataSourceType; +import io.dataease.constant.LogOT; +import io.dataease.constant.LogST; import io.dataease.dataset.dto.DatasourceSchemaDTO; import io.dataease.dataset.manage.DatasetDataManage; import io.dataease.dataset.utils.TableUtils; @@ -35,6 +37,7 @@ import io.dataease.i18n.Translator; import io.dataease.job.sechedule.CheckDsStatusJob; import io.dataease.job.sechedule.ScheduleManager; import io.dataease.license.config.XpackInteract; +import io.dataease.log.DeLog; import io.dataease.model.BusiNodeRequest; import io.dataease.model.BusiNodeVO; import io.dataease.system.dao.auto.entity.CoreSysSetting; @@ -136,7 +139,7 @@ public class DatasourceServer implements DatasourceApi { dataSourceManage.move(dataSourceDTO); } case "rename" -> { - if(StringUtils.isEmpty(dataSourceDTO.getName())){ + if (StringUtils.isEmpty(dataSourceDTO.getName())) { DEException.throwException("名称不能为空!"); } CoreDatasource datasource = datasourceMapper.selectById(dataSourceDTO.getId()); @@ -550,6 +553,7 @@ public class DatasourceServer implements DatasourceApi { return datasourceDTO; } + @DeLog(id = "#p0", ot = LogOT.DELETE, st = LogST.DATASOURCE) @Override @XpackInteract(value = "datasourceResourceTree", before = false) public void delete(Long datasourceId) throws DEException { diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java index 4d251d107e..66ed07368d 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java @@ -17,8 +17,10 @@ import io.dataease.chart.manage.ChartViewManege; import io.dataease.commons.constants.DataVisualizationConstants; import io.dataease.commons.constants.OptConstants; import io.dataease.constant.CommonConstants; +import io.dataease.constant.LogOT; import io.dataease.exception.DEException; import io.dataease.license.config.XpackInteract; +import io.dataease.log.DeLog; import io.dataease.model.BusiNodeRequest; import io.dataease.model.BusiNodeVO; import io.dataease.operation.manage.CoreOptRecentManage; @@ -89,6 +91,7 @@ public class DataVisualizationServer implements DataVisualizationApi { @Resource private VisualizationWatermarkMapper watermarkMapper; + @DeLog(id = "#p0", ot = LogOT.READ, stExp = "#p1") @Override @XpackInteract(value = "dataVisualizationServer", original = true) public DataVisualizationVO findById(Long dvId, String busiFlag) { @@ -111,6 +114,7 @@ public class DataVisualizationServer implements DataVisualizationApi { return null; } + @DeLog(id = "#p0.id", pid = "#p0.pid", ot = LogOT.CREATE, stExp = "#p0.type") @Override @Transactional public String saveCanvas(DataVisualizationBaseRequest request) { @@ -123,11 +127,13 @@ public class DataVisualizationServer implements DataVisualizationApi { visualizationInfo.setSelfWatermarkStatus(0); } Long newDvId = coreVisualizationManage.innerSave(visualizationInfo); + request.setId(newDvId); //保存视图信 chartDataManage.saveChartViewFromVisualization(request.getComponentData(), newDvId, request.getCanvasViewInfo()); return newDvId.toString(); } + @DeLog(id = "#p0.id", ot = LogOT.MODIFY, stExp = "#p0.type") @Override @Transactional public void updateCanvas(DataVisualizationBaseRequest request) { @@ -168,6 +174,7 @@ public class DataVisualizationServer implements DataVisualizationApi { * @Description: 更新基础信息; * 为什么单独接口:1.基础信息更新频繁数据且数据载量较小;2.防止出现更新过多信息的情况,造成视图的误删等操作 */ + @DeLog(id = "#p0.id", ot = LogOT.MODIFY, stExp = "#p0.type") @Override @Transactional public void updateBase(DataVisualizationBaseRequest request) { @@ -181,6 +188,7 @@ public class DataVisualizationServer implements DataVisualizationApi { /** * @Description: 逻辑删除可视化信息;将delete_flag 置为0 */ + @DeLog(id = "#p0", ot = LogOT.DELETE, stExp = "#p1") @Transactional @Override public void deleteLogic(Long dvId, String busiFlag) { @@ -193,6 +201,7 @@ public class DataVisualizationServer implements DataVisualizationApi { return coreVisualizationManage.tree(request); } + @DeLog(id = "#p0.id", pid = "#p0.pid", ot = LogOT.MODIFY, stExp = "#p0.type") @Transactional @Override public void move(DataVisualizationBaseRequest request) { diff --git a/de-xpack b/de-xpack index fc34032acd..fceab26d2e 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit fc34032acd1aa4b4fe2eb0e67685b1ee498aa4a3 +Subproject commit fceab26d2e4119424cd29a226cc6fec6b6792997 diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/log/vo/LogGridVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/log/vo/LogGridVO.java index bb2665af0f..6ee1e5fb78 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/log/vo/LogGridVO.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/log/vo/LogGridVO.java @@ -16,4 +16,8 @@ public class LogGridVO implements Serializable { private String ip; private Long time; + + private boolean success; + + private String msg; } diff --git a/sdk/common/src/main/java/io/dataease/log/DeLog.java b/sdk/common/src/main/java/io/dataease/log/DeLog.java index 3194dc42a3..a8b6f4355d 100644 --- a/sdk/common/src/main/java/io/dataease/log/DeLog.java +++ b/sdk/common/src/main/java/io/dataease/log/DeLog.java @@ -13,7 +13,9 @@ public @interface DeLog { String pid() default ""; - LogST st(); + LogST st() default LogST.PANEL; LogOT ot(); + + String stExp() default ""; } From 65311f00f4efd45b9ff803a93967c3b37d2fb1ba Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 Jan 2024 17:03:59 +0800 Subject: [PATCH 07/11] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0api=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-xpack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/de-xpack b/de-xpack index fceab26d2e..19d1cc14aa 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit fceab26d2e4119424cd29a226cc6fec6b6792997 +Subproject commit 19d1cc14aaa7ff5297ebe8f3b8ea3c706f164cc3 From 230384e2b115d7631500af3f80f48298bb180fe9 Mon Sep 17 00:00:00 2001 From: ulleo Date: Mon, 22 Jan 2024 17:11:15 +0800 Subject: [PATCH 08/11] =?UTF-8?q?feat:=20=E6=8C=87=E6=A0=87=E5=8D=A1>?= =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=80=BC>=E5=90=8E=E7=BC=80=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=98=BE=E7=A4=BA=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../indicator/DeIndicator.vue | 5 +- .../src/models/chart/chart-style.d.ts | 1 + .../components/IndicatorNameSelector.vue | 1 + .../components/IndicatorValueSelector.vue | 274 ++++++++++-------- .../chart/components/editor/util/chart.ts | 1 + 5 files changed, 153 insertions(+), 129 deletions(-) diff --git a/core/core-frontend/src/custom-component/indicator/DeIndicator.vue b/core/core-frontend/src/custom-component/indicator/DeIndicator.vue index 71c400b65c..e71f474348 100644 --- a/core/core-frontend/src/custom-component/indicator/DeIndicator.vue +++ b/core/core-frontend/src/custom-component/indicator/DeIndicator.vue @@ -194,6 +194,8 @@ const indicatorSuffixClass = ref({ 'font-synthesis': 'weight style' }) +const showSuffix = ref(DEFAULT_INDICATOR_STYLE.suffixEnable) + const suffixContent = ref('') const indicatorNameShow = ref(false) @@ -293,6 +295,7 @@ const renderChart = async view => { 'font-synthesis': 'weight style' } + showSuffix.value = customAttr.indicator.suffixEnable suffixContent.value = defaultTo(customAttr.indicator.suffix, '') } if (customAttr.indicatorName && customAttr.indicatorName.show) { @@ -359,7 +362,7 @@ defineExpose({
{{ formattedResult }} - {{ suffixContent }} + {{ suffixContent }}
{{ resultName }} diff --git a/core/core-frontend/src/models/chart/chart-style.d.ts b/core/core-frontend/src/models/chart/chart-style.d.ts index 9cdd45e017..d07758fbcd 100644 --- a/core/core-frontend/src/models/chart/chart-style.d.ts +++ b/core/core-frontend/src/models/chart/chart-style.d.ts @@ -44,6 +44,7 @@ declare interface ChartIndicatorStyle { letterSpace: string fontShadow: boolean + suffixEnable: boolean suffix: string suffixFontSize: string suffixColor: string diff --git a/core/core-frontend/src/views/chart/components/editor/editor-style/components/IndicatorNameSelector.vue b/core/core-frontend/src/views/chart/components/editor/editor-style/components/IndicatorNameSelector.vue index 6444a75856..0c54dbc03d 100644 --- a/core/core-frontend/src/views/chart/components/editor/editor-style/components/IndicatorNameSelector.vue +++ b/core/core-frontend/src/views/chart/components/editor/editor-style/components/IndicatorNameSelector.vue @@ -149,6 +149,7 @@ watch( - - - - - - + - - + {{ t('chart.indicator_suffix') }} + -
- - + + - - - - - - - - + - + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + +
+
+
+
+ + + + + +
+ + + +
+
+
+
+
+ + + + {{ t('chart.font_shadow') }} + +
- - - - - - -
- - - -
-
-
-
- - - - - -
- - - -
-
-
-
-
- - - - {{ t('chart.font_shadow') }} - -
diff --git a/core/core-frontend/src/views/chart/components/editor/util/chart.ts b/core/core-frontend/src/views/chart/components/editor/util/chart.ts index 1bfe74f1e8..c0787cb1ad 100644 --- a/core/core-frontend/src/views/chart/components/editor/util/chart.ts +++ b/core/core-frontend/src/views/chart/components/editor/util/chart.ts @@ -359,6 +359,7 @@ export const DEFAULT_INDICATOR_STYLE: ChartIndicatorStyle = { letterSpace: '0', fontShadow: false, + suffixEnable: true, suffix: '', suffixFontSize: '14', suffixColor: '#5470C6', From 6b2d77ce4404fcbddb0c0ae01f920d0992e3ca56 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Mon, 22 Jan 2024 17:12:39 +0800 Subject: [PATCH 09/11] =?UTF-8?q?feat:=20=E5=B9=B4=E6=9C=88=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E8=8C=83=E5=9B=B4=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/package.json | 2 +- .../v-query/DynamicTimeRange.vue | 9 ++- .../v-query/QueryConditionConfiguration.vue | 58 ++++++++++++++++++- .../src/custom-component/v-query/Time.vue | 5 ++ core/core-frontend/src/locales/zh-CN.ts | 2 +- .../views/visualized/data/dataset/index.vue | 4 -- .../visualized/data/datasource/index.vue | 2 - 7 files changed, 70 insertions(+), 12 deletions(-) diff --git a/core/core-frontend/package.json b/core/core-frontend/package.json index 349dcd2bcd..872ffd1ece 100644 --- a/core/core-frontend/package.json +++ b/core/core-frontend/package.json @@ -24,7 +24,7 @@ "axios": "^1.3.3", "crypto-js": "^4.1.1", "dayjs": "^1.11.9", - "element-plus-secondary": "^0.4.15", + "element-plus-secondary": "^0.4.16", "element-resize-detector": "^1.2.4", "file-saver": "^2.0.5", "html-to-image": "^1.11.11", diff --git a/core/core-frontend/src/custom-component/v-query/DynamicTimeRange.vue b/core/core-frontend/src/custom-component/v-query/DynamicTimeRange.vue index 9f2c15ed32..904577a1c1 100644 --- a/core/core-frontend/src/custom-component/v-query/DynamicTimeRange.vue +++ b/core/core-frontend/src/custom-component/v-query/DynamicTimeRange.vue @@ -5,6 +5,7 @@ import { type DatePickType } from 'element-plus-secondary' import { getCustomTime } from './time-format' interface SelectConfig { timeType: string + timeGranularityMultiple: DatePickType defaultValue: [Date, Date] selectValue: [Date, Date] defaultValueCheck: boolean @@ -25,6 +26,7 @@ const props = defineProps({ type: Object as PropType, default: () => { return { + timeGranularityMultiple: 'datetimerange', defaultValue: [], selectValue: [], timeType: 'fixed', @@ -136,14 +138,19 @@ const init = () => { onBeforeMount(() => { init() }) + +const formatDate = computed(() => { + return (config.value.timeGranularityMultiple as string) === 'yearrange' ? 'YYYY' : undefined +})