From 1b3573ffa76c72330ce06a14aa019b36f8257044 Mon Sep 17 00:00:00 2001 From: "wu.jian2" Date: Mon, 9 Oct 2023 09:50:31 +0800 Subject: [PATCH 01/15] =?UTF-8?q?style:=20=E4=BF=AE=E5=A4=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E7=BC=96=E8=BE=91=E9=A1=B5=E9=9D=A2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=A2=84=E8=A7=88=EF=BC=8C=E8=A1=A8=E6=A0=BC=E6=B2=A1?= =?UTF-8?q?=E6=9C=89x=E8=BD=B4=E6=BB=9A=E5=8A=A8=E6=9D=A1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/assets/style/common/index.scss | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/data-room-ui/packages/assets/style/common/index.scss b/data-room-ui/packages/assets/style/common/index.scss index 51f5cae1..cfdc478b 100644 --- a/data-room-ui/packages/assets/style/common/index.scss +++ b/data-room-ui/packages/assets/style/common/index.scss @@ -148,12 +148,12 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts"; /* 滚动条样式设置*/ .el-table__body-wrapper::-webkit-scrollbar { - width: 12px !important; - height: 12px !important; - } + width: 6px !important; + height: 6px !important; + } .el-table__body-wrapper::-webkit-scrollbar-corner { - background: transparent !important; + background: #444851 !important; } .el-table__body-wrapper::-webkit-scrollbar-track { @@ -163,9 +163,9 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts"; .el-table__body-wrapper::-webkit-scrollbar-thumb { min-height: 20px !important; background-clip: content-box !important; - border: 2px solid transparent !important; - border-radius: 10px !important; - // background-color: #ddd; + border: 1px solid #444851 !important; + border-radius: 6px !important; + background: #444851 !important; } .el-table__fixed::before, From ec041a76b54db294ad73b7a5903ce97772c9fad9 Mon Sep 17 00:00:00 2001 From: "wu.jian2" Date: Mon, 9 Oct 2023 12:03:15 +0800 Subject: [PATCH 02/15] =?UTF-8?q?fix:=20=E8=87=AA=E5=8A=A9=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E6=B7=BB=E5=8A=A0=E5=8F=82=E6=95=B0=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=EF=BC=8C=E5=8F=82=E6=95=B0=E5=80=BC=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=9D=9E=E7=A9=BA=E6=A0=A1=E9=AA=8C=EF=BC=8C=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=89=8D=E9=9D=A2=E7=9A=84=E6=98=AF=E5=90=A6=E5=BF=85?= =?UTF-8?q?=E5=A1=AB=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataSetManagement/src/CustomEditForm.vue | 81 ++++++++++++++----- 1 file changed, 62 insertions(+), 19 deletions(-) diff --git a/data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue b/data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue index bb0bd674..2d243450 100644 --- a/data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue +++ b/data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue @@ -192,7 +192,7 @@ @@ -708,20 +708,32 @@ align="center" > 取消 + > + 取消 + 确定 + > + 确定 + @@ -963,6 +979,13 @@ export default { this.datasetTest(false) }) }, + getRules (row) { + return [{ + required: row.require === 1, + message: '参数值不能为空', + trigger: ['blur', 'change'] + }] + }, /** * 获取数据源列表 */ @@ -1014,6 +1037,13 @@ export default { * 保存参数设置 */ setParam () { + for (let i = 0; i < this.paramsListCopy.length; i++) { + const row = this.paramsListCopy[i] + if (row.require === 1 && (row.value === '' || row.value === null)) { + this.$message.error(`第${i + 1}行参数值不能为空`) + return + } + } this.dataForm.paramsList = cloneDeep(this.paramsListCopy) if (this.isTest) { this.datasetTest() @@ -1419,16 +1449,29 @@ export default { .bs-pagination { padding: 16px !important; position: unset !important; + ::v-deep .el-input__inner { width: 110px !important; border: none; background: var(--bs-el-background-1); } } -.bs-el-select{ + +.bs-el-select { width: 100% !important; } -::v-deep .el-input__inner{ + +::v-deep .el-input__inner { width: 100% !important; } + +::v-deep .el-table__row{ + height: 58px; + .cell{ + width: 100%; + margin: 0 auto; + position: absolute; + top:8px; + } +} From 9ba2334129f08f4477139021821c3eff5712e473 Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Mon, 9 Oct 2023 14:31:35 +0800 Subject: [PATCH 03/15] =?UTF-8?q?fix:=20-=20=E5=8D=87=E7=BA=A7=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E6=8F=92=E4=BB=B6=E7=89=88=E6=9C=AC=E8=87=B3?= =?UTF-8?q?1.0.1.2023100901.Alpha=EF=BC=8C=E5=85=B6=E4=B8=AD=EF=BC=9A=20?= =?UTF-8?q?=20=20-=20=E5=8D=87=E7=BA=A7mybatis-plus=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E8=87=B33.5.3.2=20=20=20=20=20-=20=E6=96=B0=E5=A2=9E=E4=BA=86?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=BA=8F=E5=88=97=E5=8C=96=E7=B1=BB?= =?UTF-8?q?EmptyAsNullDeserializer=EF=BC=8C=E8=A7=A3=E5=86=B3=E4=B8=BB?= =?UTF-8?q?=E9=94=AE=E8=87=AA=E5=A2=9E=E6=97=B6=E4=BD=BF=E7=94=A8=E7=A9=BA?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E9=97=AE=E9=A2=98=EF=BC=88https://g?= =?UTF-8?q?ithub.com/baomidou/mybatis-plus/pull/3592/files=EF=BC=89=20=20?= =?UTF-8?q?=20=20=20-=20=E7=A7=BB=E9=99=A4=E9=A1=B9=E7=9B=AE=E4=B8=AD?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=9A=84mybatis-plus=E7=9A=84count=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=85=A8=E9=83=A8=E9=87=87=E7=94=A8list.size?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E5=86=B3mybatis-plus=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E4=BF=AE=E6=94=B9=E4=BA=86count=E7=9A=84=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E7=B1=BB=E5=9E=8B=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E4=B8=8D=E5=90=8C=E7=89=88=E6=9C=AC=E7=9A=84?= =?UTF-8?q?mybatis-plus=20=20=20-=20=E5=8D=87=E7=BA=A7Springboot=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=87=B32.7.16=20-=20=E4=BC=98=E5=8C=96pom=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=EF=BC=8C=E4=B8=8D=E5=9C=A8=E4=BB=A5spring-boot-starte?= =?UTF-8?q?r-parent=E4=BD=9C=E4=B8=BAparent=E3=80=82=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E6=88=96=E9=87=8D=E5=A4=8D=E7=9A=84=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataRoom/dataroom-core/pom.xml | 8 +-- .../basic/service/IBasePageService.java | 9 ++-- .../controller/BizComponentController.java | 12 +++-- .../biz/component/dto/BizComponentDTO.java | 49 +++++++++++++++++ .../service/impl/BizComponentServiceImpl.java | 3 +- .../service/impl/DataRoomFileServiceImpl.java | 3 -- .../module/manage/dto/DataRoomPageDTO.java | 7 ++- .../core/module/map/dto/DataRoomMapDTO.java | 3 ++ .../module/template/dto/PageTemplateDTO.java | 3 ++ .../core/module/type/dto/TypeDTO.java | 3 ++ .../type/service/impl/TypeServiceImpl.java | 6 ++- DataRoom/dataroom-server/pom.xml | 8 +-- DataRoom/pom.xml | 52 +++++-------------- 13 files changed, 103 insertions(+), 63 deletions(-) create mode 100644 DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/dto/BizComponentDTO.java diff --git a/DataRoom/dataroom-core/pom.xml b/DataRoom/dataroom-core/pom.xml index 7aa08a34..21b09f78 100644 --- a/DataRoom/dataroom-core/pom.xml +++ b/DataRoom/dataroom-core/pom.xml @@ -12,8 +12,8 @@ dataroom-core - 8 - 8 + 1.8 + 1.8 UTF-8 @@ -24,10 +24,6 @@ dataset-core ${dataset.core.version} - - org.springframework.boot - spring-boot-starter - org.springframework.boot spring-boot-starter-web diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/basic/service/IBasePageService.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/basic/service/IBasePageService.java index 343b3b42..b6917eb6 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/basic/service/IBasePageService.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/basic/service/IBasePageService.java @@ -71,11 +71,12 @@ public interface IBasePageService extends ISuperService { default boolean checkNameRepeat(PageEntity entity) { AssertUtils.isTrue(StringUtils.isNotBlank(entity.getName()), "名称不能为空"); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(PageEntity::getId); queryWrapper.eq(StringUtils.isNotBlank(entity.getAppCode()), PageEntity::getAppCode, entity.getAppCode()) .eq(PageEntity::getName, entity.getName()) .eq(PageEntity::getType, entity.getType()) .ne(StringUtils.isNotBlank(entity.getId()), PageEntity::getId, entity.getId()); - return getBaseMapper().selectCount(queryWrapper) > 0; + return getBaseMapper().selectList(queryWrapper).size() > 0; } /** @@ -89,11 +90,12 @@ public interface IBasePageService extends ISuperService { default boolean checkNameRepeat(String appCode, String name, String id, String type) { AssertUtils.isTrue(StringUtils.isNotBlank(name), "名称不能为空"); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(PageEntity::getId); queryWrapper.eq(StringUtils.isNotBlank(appCode), PageEntity::getAppCode, appCode) .eq(PageEntity::getName, name) .eq(PageEntity::getType, type) .ne(StringUtils.isNotBlank(id), PageEntity::getId, id); - return getBaseMapper().selectCount(queryWrapper) > 0; + return getBaseMapper().selectList(queryWrapper).size() > 0; } @@ -105,11 +107,12 @@ public interface IBasePageService extends ISuperService { default boolean checkCodeRepeat(PageEntity entity) { AssertUtils.isTrue(StringUtils.isNotBlank(entity.getCode()), "编码不能为空"); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(PageEntity::getId); queryWrapper.eq(StringUtils.isNotBlank(entity.getAppCode()), PageEntity::getAppCode, entity.getAppCode()) .eq(PageEntity::getCode, entity.getCode()) .eq(PageEntity::getType, entity.getType()) .ne(StringUtils.isNotBlank(entity.getId()), PageEntity::getId, entity.getId()); - return getBaseMapper().selectCount(queryWrapper) > 0; + return getBaseMapper().selectList(queryWrapper).size() > 0; } } diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/controller/BizComponentController.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/controller/BizComponentController.java index 525ec945..511ddf8f 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/controller/BizComponentController.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/controller/BizComponentController.java @@ -1,6 +1,8 @@ package com.gccloud.dataroom.core.module.biz.component.controller; import com.gccloud.common.permission.ApiPermission; +import com.gccloud.common.utils.BeanConvertUtils; +import com.gccloud.dataroom.core.module.biz.component.dto.BizComponentDTO; import com.gccloud.dataroom.core.module.biz.component.dto.BizComponentSearchDTO; import com.gccloud.dataroom.core.module.biz.component.entity.BizComponentEntity; import com.gccloud.dataroom.core.module.biz.component.service.IBizComponentService; @@ -46,7 +48,8 @@ public class BizComponentController { @ApiPermission(permissions = {Permission.Component.ADD}) @PostMapping("/add") @ApiOperation(value = "新增", notes = "新增", produces = MediaType.APPLICATION_JSON_VALUE) - public R add(@ApiParam(name = "新增", value = "传入新增的业务条件", required = true) @RequestBody BizComponentEntity entity) { + public R add(@ApiParam(name = "新增", value = "传入新增的业务条件", required = true) @RequestBody BizComponentDTO dto) { + BizComponentEntity entity = BeanConvertUtils.convert(dto, BizComponentEntity.class); String code = bizComponentService.add(entity); return R.success(code); } @@ -55,7 +58,8 @@ public class BizComponentController { @ApiPermission(permissions = {Permission.Component.UPDATE}) @PostMapping("/update") @ApiOperation(value = "修改", notes = "修改", produces = MediaType.APPLICATION_JSON_VALUE) - public R update(@ApiParam(name = "修改", value = "传入修改的业务条件", required = true) @RequestBody BizComponentEntity entity) { + public R update(@ApiParam(name = "修改", value = "传入修改的业务条件", required = true) @RequestBody BizComponentDTO dto) { + BizComponentEntity entity = BeanConvertUtils.convert(dto, BizComponentEntity.class); bizComponentService.update(entity); return R.success(); } @@ -87,8 +91,8 @@ public class BizComponentController { @ApiPermission(permissions = {Permission.Component.VIEW}) @PostMapping("/name/repeat") @ApiOperation(value = "名称查重", notes = "名称查重", produces = MediaType.APPLICATION_JSON_VALUE) - public R nameRepeat(@RequestBody BizComponentEntity entity) { - return R.success(bizComponentService.checkName(entity.getId(), entity.getName())); + public R nameRepeat(@RequestBody BizComponentDTO dto) { + return R.success(bizComponentService.checkName(dto.getId(), dto.getName())); } } diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/dto/BizComponentDTO.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/dto/BizComponentDTO.java new file mode 100644 index 00000000..0ce65a72 --- /dev/null +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/dto/BizComponentDTO.java @@ -0,0 +1,49 @@ +package com.gccloud.dataroom.core.module.biz.component.dto; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.gccloud.common.utils.EmptyAsNullDeserializer; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author hongyang + * @version 1.0 + * @date 2023/6/5 11:41 + */ +@Data +public class BizComponentDTO { + + @JsonDeserialize(using = EmptyAsNullDeserializer.class) + @ApiModelProperty(notes = "主键") + private String id; + + @ApiModelProperty(notes = "业务组件中文名称") + private String name; + + @ApiModelProperty(notes = "业务组件编码,页面唯一标识符") + @TableField(updateStrategy = FieldStrategy.NEVER) + private String code; + + @ApiModelProperty(notes = "业务组件所属分组") + private String type; + + @ApiModelProperty(notes = "组件封面") + private String coverPicture; + + @ApiModelProperty(notes = "vue组件内容") + private String vueContent; + + @ApiModelProperty(notes = "组件配置内容") + private String settingContent; + + @ApiModelProperty(notes = "备注") + private String remark; + + @ApiModelProperty(notes = "排序") + private Integer orderNum; + + @ApiModelProperty(notes = "模块编码") + private String moduleCode; +} diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/service/impl/BizComponentServiceImpl.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/service/impl/BizComponentServiceImpl.java index abe2503c..4d856111 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/service/impl/BizComponentServiceImpl.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/biz/component/service/impl/BizComponentServiceImpl.java @@ -248,10 +248,11 @@ public class BizComponentServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(BizComponentEntity::getId); queryWrapper.eq(BizComponentEntity::getName, name); if (StringUtils.isNotBlank(id)) { queryWrapper.ne(BizComponentEntity::getId, id); } - return this.count(queryWrapper) > 0; + return this.list(queryWrapper).size() > 0; } } diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/file/service/impl/DataRoomFileServiceImpl.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/file/service/impl/DataRoomFileServiceImpl.java index 8920e5fe..dba0863e 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/file/service/impl/DataRoomFileServiceImpl.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/file/service/impl/DataRoomFileServiceImpl.java @@ -32,9 +32,6 @@ public class DataRoomFileServiceImpl extends ServiceImpl aliasMap = Maps.newHashMap(); - aliasMap.put("space", "size"); - QueryWrapperUtils.wrapperSort(null, DataRoomFileEntity.class, queryWrapper, searchDTO, aliasMap, DataRoomFileEntity::getOriginalName, DataRoomFileEntity::getCreateDate, DataRoomFileEntity::getSize, DataRoomFileEntity::getDownloadCount); return page(searchDTO, queryWrapper); } diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/dto/DataRoomPageDTO.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/dto/DataRoomPageDTO.java index 7e0c323d..5a47715e 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/dto/DataRoomPageDTO.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/dto/DataRoomPageDTO.java @@ -1,10 +1,12 @@ package com.gccloud.dataroom.core.module.manage.dto; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.gccloud.common.utils.EmptyAsNullDeserializer; +import com.gccloud.common.validator.group.Insert; +import com.gccloud.common.validator.group.Update; import com.gccloud.dataroom.core.constant.PageDesignConstant; import com.gccloud.dataroom.core.module.basic.dto.BasePageDTO; import com.gccloud.dataroom.core.module.chart.bean.Chart; -import com.gccloud.common.validator.group.Insert; -import com.gccloud.common.validator.group.Update; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -20,6 +22,7 @@ import java.util.List; @Data public class DataRoomPageDTO extends BasePageDTO { + @JsonDeserialize(using = EmptyAsNullDeserializer.class) @NotBlank(message = "id不能为空", groups = Update.class) @ApiModelProperty(notes = "主键id") private String id; diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/map/dto/DataRoomMapDTO.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/map/dto/DataRoomMapDTO.java index 8e30df45..265b1088 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/map/dto/DataRoomMapDTO.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/map/dto/DataRoomMapDTO.java @@ -1,5 +1,7 @@ package com.gccloud.dataroom.core.module.map.dto; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.gccloud.common.utils.EmptyAsNullDeserializer; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,6 +13,7 @@ import lombok.Data; @Data public class DataRoomMapDTO { + @JsonDeserialize(using = EmptyAsNullDeserializer.class) @ApiModelProperty(notes = "主键") private String id; diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/template/dto/PageTemplateDTO.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/template/dto/PageTemplateDTO.java index 0ed35a79..9fcb5f31 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/template/dto/PageTemplateDTO.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/template/dto/PageTemplateDTO.java @@ -1,5 +1,7 @@ package com.gccloud.dataroom.core.module.template.dto; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.gccloud.common.utils.EmptyAsNullDeserializer; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,6 +13,7 @@ import lombok.Data; @Data public class PageTemplateDTO { + @JsonDeserialize(using = EmptyAsNullDeserializer.class) @ApiModelProperty(notes = "主键") private String id; diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/type/dto/TypeDTO.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/type/dto/TypeDTO.java index b0026525..98e70029 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/type/dto/TypeDTO.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/type/dto/TypeDTO.java @@ -1,5 +1,7 @@ package com.gccloud.dataroom.core.module.type.dto; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.gccloud.common.utils.EmptyAsNullDeserializer; import com.gccloud.dataroom.core.constant.PageDesignConstant; import com.gccloud.common.validator.group.Insert; import com.gccloud.common.validator.group.Update; @@ -17,6 +19,7 @@ import javax.validation.constraints.NotBlank; public class TypeDTO { @ApiModelProperty(notes = "主键") + @JsonDeserialize(using = EmptyAsNullDeserializer.class) @NotBlank(message = "id不能为空", groups = Update.class) private String id; diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/type/service/impl/TypeServiceImpl.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/type/service/impl/TypeServiceImpl.java index afd69768..85e7075e 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/type/service/impl/TypeServiceImpl.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/type/service/impl/TypeServiceImpl.java @@ -79,18 +79,20 @@ public class TypeServiceImpl extends ServiceImpl im @Override public boolean checkCodeRepeat(String id, String type, String code) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(TypeEntity::getId); queryWrapper.eq(TypeEntity::getType, type); queryWrapper.eq(TypeEntity::getCode, code); queryWrapper.ne(StringUtils.isNotBlank(id), TypeEntity::getId, id); - return this.count(queryWrapper) > 0; + return this.list(queryWrapper).size() > 0; } @Override public boolean checkNameRepeat(String id, String type, String name) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(TypeEntity::getId); queryWrapper.eq(TypeEntity::getName, name); queryWrapper.eq(TypeEntity::getType, type); queryWrapper.ne(StringUtils.isNotBlank(id), TypeEntity::getId, id); - return this.count(queryWrapper) > 0; + return this.list(queryWrapper).size() > 0; } } diff --git a/DataRoom/dataroom-server/pom.xml b/DataRoom/dataroom-server/pom.xml index 422a5d93..5cd1a467 100644 --- a/DataRoom/dataroom-server/pom.xml +++ b/DataRoom/dataroom-server/pom.xml @@ -12,9 +12,10 @@ dataroom-server - 8 - 8 + 1.8 + 1.8 UTF-8 + true @@ -29,7 +30,7 @@ com.gccloud dataroom-core - 1.0.1.2023092701.Alpha + ${project.parent.version} @@ -51,7 +52,6 @@ org.springframework.boot spring-boot-starter-test - 2.3.12.RELEASE diff --git a/DataRoom/pom.xml b/DataRoom/pom.xml index abaa9188..cfea1cb8 100644 --- a/DataRoom/pom.xml +++ b/DataRoom/pom.xml @@ -3,18 +3,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.3.12.RELEASE - - - com.gccloud dataroom 1.0.1.2023092701.Alpha pom + dataroom 基于G2Plot、Echarts的大屏设计服务端,具备设计、预览能力,支持MySQL、Oracle、PostgreSQL、Groovy等数据集接入 https://github.com/gcpaas/DataRoom @@ -26,7 +20,16 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://github.com/gcpaas/DataRoom + + + + gcpaas + gcpaas + tech@ustcinfo.com + + dataroom-core dataroom-server @@ -36,42 +39,15 @@ 1.8 UTF-8 UTF-8 - 2.3.12.RELEASE - 1.5.20 - 1.9.6 + 2.7.16 2.9.2 1.5.21 - 3.3.2 - 3.5.6 - 2.0.6 - 3.10 - 4.1 - 3.2.2 - portable-1.7.8 - 5.3.1 - 20.0 2.13.3 20220320 - 1.2.11 - 3.9.0 - 12.2.0.1 - 5.1.49 - 42.3.3 - 0.3.2 - 2.2 - 4.9.1 - 1.0.1.2023092201.Alpha + 1.0.1.2023100901.Alpha + 2.22.2 - - - - com.alibaba - easyexcel - 2.2.5 - - - From 37ca36a871b304dd6a8774805c8c68babf7207b0 Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Mon, 9 Oct 2023 14:32:16 +0800 Subject: [PATCH 04/15] =?UTF-8?q?fix:=20-=20=E9=80=82=E9=85=8Dmybatis-plus?= =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=AC=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E5=99=A8=E6=B3=A8=E5=85=A5=20-=20=E9=80=82=E9=85=8Dsp?= =?UTF-8?q?ringboot=E6=96=B0=E7=89=88=E6=9C=AC=20=20=20-=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9spring.resources.static-locations=E4=B8=BAspring.web.r?= =?UTF-8?q?esources.static-locations=20=20=20-=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=B7=A8=E8=B6=8A=E9=85=8D=E7=BD=AEallowedOrigins=E4=B8=BAallo?= =?UTF-8?q?wedOriginPatterns=20=20=20-=20=E8=A7=A3=E5=86=B3springfox?= =?UTF-8?q?=E4=B8=8Espringboot=E6=96=B0=E7=89=88=E6=9C=AC=E4=B8=8D?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gccloud/DataRoomApplication.java | 11 +++-- .../dataroom/config/CorsBeanConfig.java | 5 ++- .../config/SwaggerBootstrapConfig.java | 45 +++++++++++++++++++ .../src/main/resources/application.yml | 8 +++- 4 files changed, 62 insertions(+), 7 deletions(-) diff --git a/DataRoom/dataroom-server/src/main/java/com/gccloud/DataRoomApplication.java b/DataRoom/dataroom-server/src/main/java/com/gccloud/DataRoomApplication.java index 0250d3fa..ff0812ae 100644 --- a/DataRoom/dataroom-server/src/main/java/com/gccloud/DataRoomApplication.java +++ b/DataRoom/dataroom-server/src/main/java/com/gccloud/DataRoomApplication.java @@ -1,6 +1,7 @@ package com.gccloud; -import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.gccloud.common.constant.CommonConst; import com.gccloud.dataroom.core.constant.DataRoomConst; import com.gccloud.dataset.constant.DatasetConstant; @@ -28,10 +29,12 @@ public class DataRoomApplication { /** * 分页插件 * - * @return + * @return PaginationInterceptor */ @Bean - public PaginationInterceptor paginationInterceptor() { - return new PaginationInterceptor(); + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); + return interceptor; } } diff --git a/DataRoom/dataroom-server/src/main/java/com/gccloud/dataroom/config/CorsBeanConfig.java b/DataRoom/dataroom-server/src/main/java/com/gccloud/dataroom/config/CorsBeanConfig.java index 9aa25d97..f7ecdbde 100644 --- a/DataRoom/dataroom-server/src/main/java/com/gccloud/dataroom/config/CorsBeanConfig.java +++ b/DataRoom/dataroom-server/src/main/java/com/gccloud/dataroom/config/CorsBeanConfig.java @@ -22,7 +22,8 @@ public class CorsBeanConfig implements WebMvcConfigurer { Cors cors = new Cors(); CorsRegistration corsRegistration = registry.addMapping(cors.getMapping()); corsRegistration - .allowedOrigins(cors.getAllowedOrigins().toArray(new String[cors.getAllowedOrigins().size()])) + // change 由allowedOrigins改为allowedOriginPatterns,springboot新版本中allowedOrigins不允许设置*,只能设置具体的域名 + .allowedOriginPatterns(cors.getAllowedOrigins().toArray(new String[cors.getAllowedOrigins().size()])) .allowCredentials(cors.getAllowCredentials()) .allowedMethods(cors.getAllowedMethods().toArray(new String[cors.getAllowedMethods().size()])) .maxAge(cors.getMaxAge()); @@ -34,4 +35,4 @@ public class CorsBeanConfig implements WebMvcConfigurer { corsRegistration.exposedHeaders(exposedHeaders.toArray(new String[exposedHeaders.size()])); } } -} \ No newline at end of file +} diff --git a/DataRoom/dataroom-server/src/main/java/com/gccloud/dataroom/config/SwaggerBootstrapConfig.java b/DataRoom/dataroom-server/src/main/java/com/gccloud/dataroom/config/SwaggerBootstrapConfig.java index 3191d93a..6a79d3c8 100644 --- a/DataRoom/dataroom-server/src/main/java/com/gccloud/dataroom/config/SwaggerBootstrapConfig.java +++ b/DataRoom/dataroom-server/src/main/java/com/gccloud/dataroom/config/SwaggerBootstrapConfig.java @@ -6,12 +6,17 @@ import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrap import com.google.common.base.Predicates; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; +import org.springframework.util.ReflectionUtils; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; @@ -20,9 +25,12 @@ import springfox.documentation.service.ApiInfo; import springfox.documentation.service.ResponseMessage; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import java.lang.reflect.Field; import java.util.List; +import java.util.stream.Collectors; /** * Swagger2 @@ -81,4 +89,41 @@ public class SwaggerBootstrapConfig implements WebMvcConfigurer { registry.addResourceHandler("doc.html") .addResourceLocations("classpath:/META-INF/resources/"); } + + // NOTE 解决springfox与springboot新版本不兼容问题 + @Bean + public BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() { + return new BeanPostProcessor() { + + @Override + public Object postProcessAfterInitialization(@NonNull Object bean, @NonNull String beanName) throws BeansException { + if (bean instanceof WebMvcRequestHandlerProvider ) { + customizeSpringfoxHandlerMappings(getHandlerMappings(bean)); + } + return bean; + } + + private void customizeSpringfoxHandlerMappings(List mappings) { + List copy = mappings.stream() + .filter(mapping -> mapping.getPatternParser() == null) + .collect(Collectors.toList()); + mappings.clear(); + mappings.addAll(copy); + } + + @SuppressWarnings("unchecked") + private List getHandlerMappings(Object bean) { + try { + Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings"); + assert field != null; + field.setAccessible(true); + return (List) field.get(bean); + } catch (IllegalArgumentException | IllegalAccessException e) { + throw new IllegalStateException(e); + } + } + }; + } + + } diff --git a/DataRoom/dataroom-server/src/main/resources/application.yml b/DataRoom/dataroom-server/src/main/resources/application.yml index 2f457e18..30a49ace 100644 --- a/DataRoom/dataroom-server/src/main/resources/application.yml +++ b/DataRoom/dataroom-server/src/main/resources/application.yml @@ -17,6 +17,7 @@ spring: # 字符串转允许List,否则导致 @RequestBody List list 类型无法解析 ACCEPT_SINGLE_VALUE_AS_ARRAY: true resources: + # 自springboot 2.5.5之后,该属性已经被废弃,使用web.resources.static-locations代替 static-locations: classpath:/static/,classpath:/META-INF/resources/,classpath:/META-INF/resources/webjars/,file:${gc.starter.file.basePath} # 静态资源配置 mvc: @@ -26,6 +27,11 @@ spring: view: prefix: classpath:/static/ suffix: .html + pathmatch: + matching-strategy: ANT_PATH_MATCHER + web: + resources: + static-locations: classpath:/static/,classpath:/META-INF/resources/,classpath:/META-INF/resources/webjars/,file:${gc.starter.file.basePath} mybatis-plus: # mybatis plus xml配置文件扫描,多个通过分号隔开 @@ -35,4 +41,4 @@ mybatis-plus: global-config: db-config: #主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"唯一ID"; - id-type: 0 + id-type: AUTO From a7ccb4940183258130246b59d80caf4d21d4e7a3 Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Mon, 9 Oct 2023 15:05:20 +0800 Subject: [PATCH 05/15] =?UTF-8?q?feat:=20=E5=8F=91=E5=B8=83=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=89=88=E6=9C=AC1.0.1.2023100901.Alpha=EF=BC=8C?= =?UTF-8?q?=E4=B8=BB=E8=A6=81=E9=92=88=E5=AF=B9jdk8-21=E5=81=9A=E4=BA=86?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataRoom/dataroom-core/pom.xml | 2 +- DataRoom/dataroom-server/pom.xml | 2 +- DataRoom/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DataRoom/dataroom-core/pom.xml b/DataRoom/dataroom-core/pom.xml index 21b09f78..ab81adf3 100644 --- a/DataRoom/dataroom-core/pom.xml +++ b/DataRoom/dataroom-core/pom.xml @@ -6,7 +6,7 @@ com.gccloud dataroom - 1.0.1.2023092701.Alpha + 1.0.1.2023100901.Alpha dataroom-core diff --git a/DataRoom/dataroom-server/pom.xml b/DataRoom/dataroom-server/pom.xml index 5cd1a467..dad9ffdc 100644 --- a/DataRoom/dataroom-server/pom.xml +++ b/DataRoom/dataroom-server/pom.xml @@ -6,7 +6,7 @@ com.gccloud dataroom - 1.0.1.2023092701.Alpha + 1.0.1.2023100901.Alpha dataroom-server diff --git a/DataRoom/pom.xml b/DataRoom/pom.xml index cfea1cb8..c8952996 100644 --- a/DataRoom/pom.xml +++ b/DataRoom/pom.xml @@ -5,7 +5,7 @@ com.gccloud dataroom - 1.0.1.2023092701.Alpha + 1.0.1.2023100901.Alpha pom dataroom From 8ce44b379888f6b23dc23df99295f0cc8b42c72f Mon Sep 17 00:00:00 2001 From: "wu.jian2" Date: Mon, 9 Oct 2023 15:21:39 +0800 Subject: [PATCH 06/15] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=87=AA?= =?UTF-8?q?=E5=8A=A9=E6=95=B0=E6=8D=AE=E9=9B=86=E8=BE=93=E5=87=BA=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=8E=92=E5=BA=8F=E6=B2=A1=E6=9C=89=E6=8C=89=E7=85=A7?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E6=9D=A5=E8=BF=9B=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataSetManagement/src/CustomEditForm.vue | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue b/data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue index 2d243450..8af93990 100644 --- a/data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue +++ b/data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue @@ -289,7 +289,7 @@
@@ -907,6 +907,22 @@ export default { tableColumnObject[item.fieldName] = '' }) return tableColumnObject + }, + // 输出字段根据orderNum排序 + sortedStructurePreviewList () { + const list = this.structurePreviewList + list.sort((a, b) => { + return a.orderNum - b.orderNum + }) + return list + }, + sortedTablePreviewList () { + const tableList = this.dataPreviewList[0] ? this.dataPreviewList[0] : this.noDataTableDisplayFields + const list = Object.keys(tableList) + list.sort((a, b) => { + return this.structurePreviewListCopy.findIndex(item => item.fieldName === a) - this.structurePreviewListCopy.findIndex(item => item.fieldName === b) + }) + return list } }, watch: { @@ -1262,6 +1278,9 @@ export default { }) } this.structurePreviewListCopy = cloneDeep(this.structurePreviewList) + this.structurePreviewListCopy = this.structurePreviewListCopy.sort((a, b) => { + return a.orderNum - b.orderNum + }) let paramsNameCheck = false this.dataForm.paramsList.forEach(param => { const checkList = this.structurePreviewList.filter(item => item.fieldName === param.name) @@ -1465,13 +1484,14 @@ export default { width: 100% !important; } -::v-deep .el-table__row{ +::v-deep .el-table__row { height: 58px; - .cell{ + + .cell { width: 100%; margin: 0 auto; position: absolute; - top:8px; + top: 8px; } } From ae555904891550d551c517afb1f8f40d22d41dcc Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Mon, 9 Oct 2023 15:28:51 +0800 Subject: [PATCH 07/15] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E6=95=B0=E6=8D=AE=E7=AE=A1=E7=90=86=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E6=9F=A5=E8=AF=A2=E7=BB=93=E6=9E=9C=E5=92=8C?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E5=B1=95=E5=BC=80=E5=AD=98=E5=9C=A8=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E6=9D=A1=E6=95=B0=E6=8D=AE=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E5=BD=93=E5=87=BA=E7=8E=B0=E5=90=8C=E4=B8=80=E6=9D=A1?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=97=B6=EF=BC=8C=E5=B0=86=E5=A4=96=E9=83=A8?= =?UTF-8?q?=E7=9A=84=E6=8A=98=E5=8F=A0=E5=88=B0=E5=AD=90=E7=BA=A7=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/MapDataManagement/src/index.vue | 46 +++++++++++++------ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/data-room-ui/packages/MapDataManagement/src/index.vue b/data-room-ui/packages/MapDataManagement/src/index.vue index d7e4a567..aa434332 100644 --- a/data-room-ui/packages/MapDataManagement/src/index.vue +++ b/data-room-ui/packages/MapDataManagement/src/index.vue @@ -272,19 +272,24 @@ export default { }, getDataList() { this.lazyResolveMap.clear() - this.searchLoading = true - this.loadingText = '正在加载地图数据...' - mapList(this.searchForm).then(res => { - this.mapList = res - this.searchLoading = false - }).catch(err => { - this.searchLoading = false + this.$nextTick(() => { + this.mapList = [] + }) + this.$nextTick(() => { + this.searchLoading = true + this.loadingText = '正在加载地图数据...' + mapList(this.searchForm).then(res => { + this.mapList = res + this.searchLoading = false + }).catch(err => { + this.searchLoading = false + }) + // 清除展开状态 + for (let i = 0; i < this.lazyResolveIds.length; i++) { + this.$refs.table.store.states.treeData[this.lazyResolveIds[i]].loaded = false; + this.$refs.table.store.states.treeData[this.lazyResolveIds[i]].expanded = false + } }) - // 清除展开状态 - for (let i = 0; i < this.lazyResolveIds.length; i++) { - this.$refs.table.store.states.treeData[this.lazyResolveIds[i]].loaded = false; - this.$refs.table.store.states.treeData[this.lazyResolveIds[i]].expanded = false - } }, /** * 新增、删除、修改等操作成功后刷新数据,不改变展开状态 @@ -295,7 +300,6 @@ export default { if (this.lazyResolveMap.get(parentId)) { // 刷新父节点 const { data, treeNode, resolve } = this.lazyResolveMap.get(parentId) - // debugger this.$set(this.$refs.table.store.states.lazyTreeNodeMap, parentId, []) this.load(data, treeNode, resolve) return @@ -330,8 +334,20 @@ export default { this.lazyResolveIds.push(data.id) mapList({ parentId: data.id - }).then(res => { - resolve(res) + }).then(childList => { + // 解决同一页中同一条数据同时出现,如果懒加载中存在,那么将之前查询出来的数据删除 + let deleteIdList = [] + childList.forEach((child) => { + this.mapList.forEach((mapInfo) => { + if (mapInfo.id === child.id) { + deleteIdList.push(mapInfo.id) + } + }) + }) + this.mapList = this.mapList.filter((map) => { + return deleteIdList.indexOf(map.id) === -1 + }) + resolve(childList) }).catch(err => { resolve([]) }) From ef0844a56516b76ee6ac23369bba755bb7c8e450 Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Mon, 9 Oct 2023 15:32:59 +0800 Subject: [PATCH 08/15] =?UTF-8?q?feat:=20=E7=BB=84=E4=BB=B6=E6=96=B0?= =?UTF-8?q?=E5=A2=9E[=E8=A1=A8=E8=BE=BE=E5=BC=8F=E5=85=B3=E8=81=94?= =?UTF-8?q?=E7=9A=84=E7=BB=84=E4=BB=B6=E7=9A=84code=E9=9B=86=E5=90=88]?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gccloud/dataroom/core/module/chart/bean/Chart.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/bean/Chart.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/bean/Chart.java index 2f1e0db0..c4d3ad54 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/bean/Chart.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/bean/Chart.java @@ -91,4 +91,7 @@ public class Chart { @ApiModelProperty(notes = "计算表达式") private String expression; + @ApiModelProperty(notes = "表达式关联的组件的code集合") + private List expressionCodes; + } From b73d61e525858df5ce46eccb8ae78c103d88ec5b Mon Sep 17 00:00:00 2001 From: "wu.jian2" Date: Mon, 9 Oct 2023 15:39:17 +0800 Subject: [PATCH 09/15] =?UTF-8?q?fix:=20=E6=96=B0=E5=A2=9E=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E7=BB=84=E4=BB=B6=E3=80=81=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=B7=BB=E5=8A=A0=E5=90=8D=E7=A7=B0=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E5=88=A4=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data-room-ui/packages/ComponentList/EditForm.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/data-room-ui/packages/ComponentList/EditForm.vue b/data-room-ui/packages/ComponentList/EditForm.vue index 677766fb..192c3d43 100644 --- a/data-room-ui/packages/ComponentList/EditForm.vue +++ b/data-room-ui/packages/ComponentList/EditForm.vue @@ -214,7 +214,11 @@ export default { { validator: (rule, value, callback) => { if (value) { - this.$dataRoomAxios.post('/bigScreen/design/name/repeat', { + const reqUrl = { + component: '/bigScreen/design/name/repeat', + bizComponent: '/bigScreen/bizComponent/name/repeat' + } + this.$dataRoomAxios.post(reqUrl[this.type], { name: value, type: this.type, id: this.dataForm.id @@ -229,7 +233,7 @@ export default { callback() } }, - trigger: 'change' + trigger: ['blur', 'change'] } ] }, From 46df8466949d255c2845fc3d53a412f5a9eafd1a Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Mon, 9 Oct 2023 16:07:25 +0800 Subject: [PATCH 10/15] =?UTF-8?q?fix:=20=E5=9C=B0=E5=9B=BE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=96=B0=E5=A2=9E=E5=AD=90=E7=BA=A7=E5=90=8E=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=B1=95=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data-room-ui/packages/MapDataManagement/src/index.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data-room-ui/packages/MapDataManagement/src/index.vue b/data-room-ui/packages/MapDataManagement/src/index.vue index aa434332..e742a8dc 100644 --- a/data-room-ui/packages/MapDataManagement/src/index.vue +++ b/data-room-ui/packages/MapDataManagement/src/index.vue @@ -316,6 +316,8 @@ export default { const { data, treeNode, resolve } = this.lazyResolveMap.get(parentId) this.$set(this.$refs.table.store.states.lazyTreeNodeMap, parentId, []) this.load(data, treeNode, resolve) + // 展开该父节点 + this.$refs.table.toggleRowExpansion(parentId, true); } else { // 刷新根节点 this.getDataList() From 4c6f5c2a876ad058370b6875d1c9bb7520bb85e7 Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Mon, 9 Oct 2023 16:35:44 +0800 Subject: [PATCH 11/15] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F=E9=A1=B5=E9=9D=A2=E8=A1=A8=E4=B8=AD=E7=9A=84=E5=86=97?= =?UTF-8?q?=E4=BD=99=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataroom/core/module/basic/entity/PageEntity.java | 6 ------ DataRoom/doc/init.sql | 4 ---- DataRoom/doc/update.sql | 8 +++++++- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/basic/entity/PageEntity.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/basic/entity/PageEntity.java index c47d7704..12304f5a 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/basic/entity/PageEntity.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/basic/entity/PageEntity.java @@ -44,12 +44,6 @@ public class PageEntity extends SuperEntity implements Serializable { @ApiModelProperty(notes = "大屏首页封面") private String coverPicture; - @ApiModelProperty(notes = "页面图标") - private String icon; - - @ApiModelProperty(notes = "图标颜色") - private String iconColor; - @ApiModelProperty(notes = "具体组件配置、JSON格式") @TableField(typeHandler = BasePageDTOTypeHandler.class) private BasePageDTO config; diff --git a/DataRoom/doc/init.sql b/DataRoom/doc/init.sql index 9f403161..290faf41 100644 --- a/DataRoom/doc/init.sql +++ b/DataRoom/doc/init.sql @@ -29,15 +29,11 @@ CREATE TABLE `big_screen_page` `name` varchar(100) NOT NULL DEFAULT '' COMMENT '页面中文名称', `code` varchar(255) NOT NULL DEFAULT '' COMMENT '页面编码,页面唯一标识符', `cover_picture` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图片文件路径', - `icon` varchar(100) NOT NULL DEFAULT '' COMMENT '页面图标', - `icon_color` varchar(100) NOT NULL DEFAULT '' COMMENT '图标颜色', `type` varchar(100) NOT NULL DEFAULT 'custom' COMMENT '页面类型', - `layout` varchar(255) NOT NULL DEFAULT '' COMMENT '组件布局,记录组件的相对位置和顺序', `config` longtext COMMENT '页面配置', `parent_code` varchar(255) NOT NULL DEFAULT '' COMMENT '父级目录编码', `order_num` bigint(64) NOT NULL DEFAULT '0' COMMENT '排序', `remark` varchar(100) NOT NULL DEFAULT '' COMMENT '备忘', - `model_code` varchar(255) NOT NULL DEFAULT '' COMMENT '模型编码', `app_code` varchar(255) NOT NULL DEFAULT '' COMMENT '所属应用编码', `update_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', `create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', diff --git a/DataRoom/doc/update.sql b/DataRoom/doc/update.sql index 24c5cce8..5d946583 100644 --- a/DataRoom/doc/update.sql +++ b/DataRoom/doc/update.sql @@ -143,4 +143,10 @@ CREATE TABLE `big_screen_page_preview` `create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='页面预览缓存表,每日定时删除'; \ No newline at end of file + DEFAULT CHARSET = utf8mb4 COMMENT ='页面预览缓存表,每日定时删除'; + +# 20231009 移除大屏页面表中的冗余字段 +alter table big_screen_page drop column icon; +alter table big_screen_page drop column icon_color; +alter table big_screen_page drop column layout; +alter table big_screen_page drop column model_code; \ No newline at end of file From 38a1a89763b7768414fcda9715fa3294aedf15e4 Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Mon, 9 Oct 2023 16:56:54 +0800 Subject: [PATCH 12/15] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=8F=82=E6=95=B0=E9=85=8D=E7=BD=AE=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/assets/style/settingWrap.scss | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/data-room-ui/packages/assets/style/settingWrap.scss b/data-room-ui/packages/assets/style/settingWrap.scss index c68de7b5..b4ef3dce 100644 --- a/data-room-ui/packages/assets/style/settingWrap.scss +++ b/data-room-ui/packages/assets/style/settingWrap.scss @@ -242,15 +242,28 @@ margin-right: 10px; } +// 表格边框 + ::v-deep .el-table { background: var(--bs-el-background-1); - border-bottom: 1px solid var(--bs-el-title); + // 底部 + border-bottom: 0 solid var(--bs-el-border); } ::v-deep .el-table__cell { background: var(--bs-el-background-1) !important; color: var(--bs-el-title) !important; - border-color: var(--bs-el-text) !important; + // 中间边框 + border-width: 2px; + border-color: var(--bs-background-2) !important; +} +.el-table--group::after, .el-table--border::after, .el-table::before { + // 右侧、底部边框 + background-color: var(--bs-el-border); +} + +.el-table--group, .el-table--border { + border: var(--bs-el-border); } ::v-deep .el-select { From 6f2bcfa4ed28856c078b1bb0e127ca56adca7434 Mon Sep 17 00:00:00 2001 From: "wu.jian2" Date: Mon, 9 Oct 2023 17:22:37 +0800 Subject: [PATCH 13/15] =?UTF-8?q?feat:=20=E6=96=B0=E5=BB=BA=E3=80=81?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=A4=A7=E5=B1=8F=E6=B7=BB=E5=8A=A0=E5=88=86?= =?UTF-8?q?=E7=BB=84=E8=A1=A8=E5=8D=95=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/BigScreenList/EditForm.vue | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/data-room-ui/packages/BigScreenList/EditForm.vue b/data-room-ui/packages/BigScreenList/EditForm.vue index dc9a8744..ba711db8 100644 --- a/data-room-ui/packages/BigScreenList/EditForm.vue +++ b/data-room-ui/packages/BigScreenList/EditForm.vue @@ -67,6 +67,22 @@ class="bs-el-input-number" /> + + + + + { + this.$dataRoomAxios.get('/bigScreen/type/list/bigScreenCatalog').then((resp) => { + this.catalogList = resp + }) if (code) { this.$dataRoomAxios.get(`/bigScreen/design/info/code/${code}`).then((resp) => { this.$set(this, 'title', resp.name) From 6bdab9522524888d8bbac172b557a4401e1bb1b7 Mon Sep 17 00:00:00 2001 From: "wu.jian2" Date: Mon, 9 Oct 2023 17:44:57 +0800 Subject: [PATCH 14/15] =?UTF-8?q?feat:=20=E7=BB=84=E4=BB=B6=E5=BA=93?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E3=80=81=E7=BC=96=E8=BE=91=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E7=BB=84=E4=BB=B6=E3=80=81=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=B7=BB=E5=8A=A0=E5=88=86=E7=BB=84=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/ComponentList/EditForm.vue | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/data-room-ui/packages/ComponentList/EditForm.vue b/data-room-ui/packages/ComponentList/EditForm.vue index 192c3d43..5671c8b9 100644 --- a/data-room-ui/packages/ComponentList/EditForm.vue +++ b/data-room-ui/packages/ComponentList/EditForm.vue @@ -89,6 +89,40 @@ class="bs-el-input-number" /> + +
+ + + +
+
+ + + +
+
{ + this.$dataRoomAxios.get('/bigScreen/type/list/bizComponentCatalog').then((resp) => { + this.catalogList = resp + }) if (code) { this.$dataRoomAxios.get(`/bigScreen/bizComponent/info/${code}`).then((resp) => { this.$set(this, 'title', resp.name) @@ -301,6 +340,7 @@ export default { this.$set(this.dataForm, 'orderNum', nodeData.orderNum) this.$set(this.dataForm, 'type', resp.type) this.$set(this.dataForm, 'id', resp.id) + this.$set(this.dataForm, 'parentCode', resp.parentCode) }) } else { this.$set(this.dataForm, 'name', '') @@ -308,6 +348,7 @@ export default { this.$set(this.dataForm, 'type', parentCode) this.$set(this.dataForm, 'orderNum', 0) this.$set(this.dataForm, 'id', '') + this.$set(this.dataForm, 'parentCode', parentCode) } }) }, @@ -316,6 +357,9 @@ export default { const code = nodeData ? nodeData.code : '' this.formVisible = true this.$nextTick(() => { + this.$dataRoomAxios.get('/bigScreen/type/list/componentCatalog').then((resp) => { + this.catalogList = resp + }) if (code) { this.$dataRoomAxios.get(`/bigScreen/design/info/code/${code}`).then((resp) => { this.$set(this, 'title', resp.name) @@ -332,6 +376,7 @@ export default { this.$set(this.dataForm, 'orderNum', nodeData.orderNum) this.$set(this.dataForm, 'pageTemplateId', resp?.pageTemplateId) this.$set(this.dataForm, 'pageConfig', resp?.pageConfig) + this.$set(this.dataForm, 'parentCode', resp?.parentCode) const { w, h } = resp.pageConfig this.resolutionRatio.w = w this.resolutionRatio.h = h From e26d6529770e4b9b0a0991c313843812580f6912 Mon Sep 17 00:00:00 2001 From: "wu.jian2" Date: Mon, 9 Oct 2023 17:47:43 +0800 Subject: [PATCH 15/15] =?UTF-8?q?style:=20=E5=AD=98=E5=82=A8=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E6=95=B0=E6=8D=AE=E9=9B=86=E4=BF=AE=E5=A4=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=A2=84=E8=A7=88=E6=B2=A1=E6=9C=89x=E8=BD=B4?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E6=9D=A1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataSetManagement/src/StoredProcedureEditForm.vue | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/data-room-ui/packages/DataSetManagement/src/StoredProcedureEditForm.vue b/data-room-ui/packages/DataSetManagement/src/StoredProcedureEditForm.vue index cc1fb352..ced98d00 100644 --- a/data-room-ui/packages/DataSetManagement/src/StoredProcedureEditForm.vue +++ b/data-room-ui/packages/DataSetManagement/src/StoredProcedureEditForm.vue @@ -310,27 +310,28 @@
数据预览
-
+
+ -
+
数据预览中,存储过程仅展示20条数据