diff --git a/backend/src/main/java/io/dataease/base/domain/PanelGroup.java b/backend/src/main/java/io/dataease/base/domain/PanelGroup.java index 78bde8ddf4..c52283a0f6 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelGroup.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelGroup.java @@ -21,7 +21,5 @@ public class PanelGroup implements Serializable { private String panelType; - private String panelStyle; - private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/domain/PanelGroupExample.java b/backend/src/main/java/io/dataease/base/domain/PanelGroupExample.java index dcc8eacd10..51d02347ed 100644 --- a/backend/src/main/java/io/dataease/base/domain/PanelGroupExample.java +++ b/backend/src/main/java/io/dataease/base/domain/PanelGroupExample.java @@ -643,76 +643,6 @@ public class PanelGroupExample { addCriterion("panel_type not between", value1, value2, "panelType"); return (Criteria) this; } - - public Criteria andPanelStyleIsNull() { - addCriterion("panel_style is null"); - return (Criteria) this; - } - - public Criteria andPanelStyleIsNotNull() { - addCriterion("panel_style is not null"); - return (Criteria) this; - } - - public Criteria andPanelStyleEqualTo(String value) { - addCriterion("panel_style =", value, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleNotEqualTo(String value) { - addCriterion("panel_style <>", value, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleGreaterThan(String value) { - addCriterion("panel_style >", value, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleGreaterThanOrEqualTo(String value) { - addCriterion("panel_style >=", value, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleLessThan(String value) { - addCriterion("panel_style <", value, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleLessThanOrEqualTo(String value) { - addCriterion("panel_style <=", value, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleLike(String value) { - addCriterion("panel_style like", value, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleNotLike(String value) { - addCriterion("panel_style not like", value, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleIn(List values) { - addCriterion("panel_style in", values, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleNotIn(List values) { - addCriterion("panel_style not in", values, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleBetween(String value1, String value2) { - addCriterion("panel_style between", value1, value2, "panelStyle"); - return (Criteria) this; - } - - public Criteria andPanelStyleNotBetween(String value1, String value2) { - addCriterion("panel_style not between", value1, value2, "panelStyle"); - return (Criteria) this; - } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/dataease/base/domain/PanelGroupWithBLOBs.java b/backend/src/main/java/io/dataease/base/domain/PanelGroupWithBLOBs.java new file mode 100644 index 0000000000..7486de8f04 --- /dev/null +++ b/backend/src/main/java/io/dataease/base/domain/PanelGroupWithBLOBs.java @@ -0,0 +1,17 @@ +package io.dataease.base.domain; + +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PanelGroupWithBLOBs extends PanelGroup implements Serializable { + private String panelStyle; + + private String panelData; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelGroupMapper.java b/backend/src/main/java/io/dataease/base/mapper/PanelGroupMapper.java index 771d07c6ce..25d5568b1c 100644 --- a/backend/src/main/java/io/dataease/base/mapper/PanelGroupMapper.java +++ b/backend/src/main/java/io/dataease/base/mapper/PanelGroupMapper.java @@ -2,6 +2,7 @@ package io.dataease.base.mapper; import io.dataease.base.domain.PanelGroup; import io.dataease.base.domain.PanelGroupExample; +import io.dataease.base.domain.PanelGroupWithBLOBs; import java.util.List; import org.apache.ibatis.annotations.Param; @@ -12,19 +13,25 @@ public interface PanelGroupMapper { int deleteByPrimaryKey(String id); - int insert(PanelGroup record); + int insert(PanelGroupWithBLOBs record); - int insertSelective(PanelGroup record); + int insertSelective(PanelGroupWithBLOBs record); + + List selectByExampleWithBLOBs(PanelGroupExample example); List selectByExample(PanelGroupExample example); - PanelGroup selectByPrimaryKey(String id); + PanelGroupWithBLOBs selectByPrimaryKey(String id); - int updateByExampleSelective(@Param("record") PanelGroup record, @Param("example") PanelGroupExample example); + int updateByExampleSelective(@Param("record") PanelGroupWithBLOBs record, @Param("example") PanelGroupExample example); + + int updateByExampleWithBLOBs(@Param("record") PanelGroupWithBLOBs record, @Param("example") PanelGroupExample example); int updateByExample(@Param("record") PanelGroup record, @Param("example") PanelGroupExample example); - int updateByPrimaryKeySelective(PanelGroup record); + int updateByPrimaryKeySelective(PanelGroupWithBLOBs record); + + int updateByPrimaryKeyWithBLOBs(PanelGroupWithBLOBs record); int updateByPrimaryKey(PanelGroup record); } \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelGroupMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelGroupMapper.xml index a9acf1af98..1e6d5bf97b 100644 --- a/backend/src/main/java/io/dataease/base/mapper/PanelGroupMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/PanelGroupMapper.xml @@ -10,7 +10,10 @@ - + + + + @@ -71,8 +74,27 @@ - id, `name`, pid, `level`, node_type, create_by, create_time, panel_type, panel_style + id, `name`, pid, `level`, node_type, create_by, create_time, panel_type + + panel_style, panel_data + + - select + , + from panel_group where id = #{id,jdbcType=VARCHAR} @@ -103,17 +127,17 @@ - + insert into panel_group (id, `name`, pid, `level`, node_type, create_by, - create_time, panel_type, panel_style - ) + create_time, panel_type, panel_style, + panel_data) values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{pid,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, #{nodeType,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, - #{createTime,jdbcType=BIGINT}, #{panelType,jdbcType=VARCHAR}, #{panelStyle,jdbcType=VARCHAR} - ) + #{createTime,jdbcType=BIGINT}, #{panelType,jdbcType=VARCHAR}, #{panelStyle,jdbcType=LONGVARCHAR}, + #{panelData,jdbcType=LONGVARCHAR}) - + insert into panel_group @@ -143,6 +167,9 @@ panel_style, + + panel_data, + @@ -170,7 +197,10 @@ #{panelType,jdbcType=VARCHAR}, - #{panelStyle,jdbcType=VARCHAR}, + #{panelStyle,jdbcType=LONGVARCHAR}, + + + #{panelData,jdbcType=LONGVARCHAR}, @@ -208,13 +238,32 @@ panel_type = #{record.panelType,jdbcType=VARCHAR}, - panel_style = #{record.panelStyle,jdbcType=VARCHAR}, + panel_style = #{record.panelStyle,jdbcType=LONGVARCHAR}, + + + panel_data = #{record.panelData,jdbcType=LONGVARCHAR}, + + update panel_group + set id = #{record.id,jdbcType=VARCHAR}, + `name` = #{record.name,jdbcType=VARCHAR}, + pid = #{record.pid,jdbcType=VARCHAR}, + `level` = #{record.level,jdbcType=INTEGER}, + node_type = #{record.nodeType,jdbcType=VARCHAR}, + create_by = #{record.createBy,jdbcType=VARCHAR}, + create_time = #{record.createTime,jdbcType=BIGINT}, + panel_type = #{record.panelType,jdbcType=VARCHAR}, + panel_style = #{record.panelStyle,jdbcType=LONGVARCHAR}, + panel_data = #{record.panelData,jdbcType=LONGVARCHAR} + + + + update panel_group set id = #{record.id,jdbcType=VARCHAR}, @@ -224,13 +273,12 @@ node_type = #{record.nodeType,jdbcType=VARCHAR}, create_by = #{record.createBy,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, - panel_type = #{record.panelType,jdbcType=VARCHAR}, - panel_style = #{record.panelStyle,jdbcType=VARCHAR} + panel_type = #{record.panelType,jdbcType=VARCHAR} - + update panel_group @@ -255,11 +303,27 @@ panel_type = #{panelType,jdbcType=VARCHAR}, - panel_style = #{panelStyle,jdbcType=VARCHAR}, + panel_style = #{panelStyle,jdbcType=LONGVARCHAR}, + + + panel_data = #{panelData,jdbcType=LONGVARCHAR}, where id = #{id,jdbcType=VARCHAR} + + update panel_group + set `name` = #{name,jdbcType=VARCHAR}, + pid = #{pid,jdbcType=VARCHAR}, + `level` = #{level,jdbcType=INTEGER}, + node_type = #{nodeType,jdbcType=VARCHAR}, + create_by = #{createBy,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=BIGINT}, + panel_type = #{panelType,jdbcType=VARCHAR}, + panel_style = #{panelStyle,jdbcType=LONGVARCHAR}, + panel_data = #{panelData,jdbcType=LONGVARCHAR} + where id = #{id,jdbcType=VARCHAR} + update panel_group set `name` = #{name,jdbcType=VARCHAR}, @@ -268,8 +332,7 @@ node_type = #{nodeType,jdbcType=VARCHAR}, create_by = #{createBy,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, - panel_type = #{panelType,jdbcType=VARCHAR}, - panel_style = #{panelStyle,jdbcType=VARCHAR} + panel_type = #{panelType,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java index a23133520a..820b9856c8 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -1,6 +1,7 @@ package io.dataease.controller.panel; import io.dataease.base.domain.DatasetGroup; +import io.dataease.base.domain.PanelGroupWithBLOBs; import io.dataease.controller.request.dataset.DataSetGroupRequest; import io.dataease.controller.request.panel.PanelGroupRequest; import io.dataease.dto.dataset.DataSetGroupDTO; @@ -47,7 +48,7 @@ public class PanelGroupController { } @GetMapping("/findOne/{id}") - public PanelGroupDTO findOne(@PathVariable String id) throws Exception { + public PanelGroupWithBLOBs findOne(@PathVariable String id) throws Exception { return panelGroupService.findOne(id); } diff --git a/backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java b/backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java index 4965167196..64e56df253 100644 --- a/backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java +++ b/backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java @@ -1,6 +1,7 @@ package io.dataease.dto.panel; import io.dataease.base.domain.PanelGroup; +import io.dataease.base.domain.PanelGroupWithBLOBs; import io.dataease.dto.chart.ChartViewDTO; import lombok.Data; @@ -13,7 +14,7 @@ import java.util.List; * Description: */ @Data -public class PanelGroupDTO extends PanelGroup { +public class PanelGroupDTO extends PanelGroupWithBLOBs { private String label; diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 984836c395..cbc0521b9f 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -77,7 +77,7 @@ public class PanelGroupService { request.setCreateTime(System.currentTimeMillis()); panelGroupMapper.insert(request); } else { - panelGroupMapper.updateByPrimaryKey(request); + panelGroupMapper.updateByPrimaryKeySelective(request); } PanelGroupDTO panelGroupDTO = new PanelGroupDTO(); BeanUtils.copyBean(panelGroupDTO, request); @@ -92,7 +92,11 @@ public class PanelGroupService { } - public PanelGroupDTO findOne(String panelId) throws Exception{ + public PanelGroupWithBLOBs findOne(String panelId){ + return panelGroupMapper.selectByPrimaryKey(panelId); + } + + public PanelGroupDTO findOneBack(String panelId) throws Exception{ PanelGroupDTO panelGroupDTO = extPanelGroupMapper.panelGroup(panelId); Assert.notNull(panelGroupDTO, "未查询到仪表盘信息"); PanelDesignExample panelDesignExample = new PanelDesignExample(); diff --git a/backend/src/main/resources/db/migration/V12__panel_table.sql b/backend/src/main/resources/db/migration/V12__panel_table.sql index b996c44ae1..77e108dd3c 100644 --- a/backend/src/main/resources/db/migration/V12__panel_table.sql +++ b/backend/src/main/resources/db/migration/V12__panel_table.sql @@ -21,6 +21,7 @@ CREATE TABLE `panel_design` ( -- ---------------------------- -- Table structure for panel_group -- ---------------------------- +-- ---------------------------- DROP TABLE IF EXISTS `panel_group`; CREATE TABLE `panel_group` ( `id` varchar(50) NOT NULL, @@ -31,10 +32,10 @@ CREATE TABLE `panel_group` ( `create_by` varchar(255) DEFAULT NULL COMMENT '创建人', `create_time` bigint(13) DEFAULT NULL COMMENT '创建时间', `panel_type` varchar(255) DEFAULT NULL COMMENT '仪表盘类型 system 系统内置 self 用户自建 ', - `panel_style` varchar(2000) DEFAULT NULL COMMENT 'panel 样式', + `panel_style` longtext COMMENT 'panel 样式', + `panel_data` longtext COMMENT 'panel 数据', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -- ---------------------------- -- Records of panel_group -- ---------------------------- diff --git a/backend/src/main/resources/generatorConfig.xml b/backend/src/main/resources/generatorConfig.xml index 5ceb02a6b2..6852c1bbc7 100644 --- a/backend/src/main/resources/generatorConfig.xml +++ b/backend/src/main/resources/generatorConfig.xml @@ -65,8 +65,8 @@ - -
+
+ diff --git a/frontend/src/components/Editor/Preview-back.vue b/frontend/src/components/Editor/Preview-back.vue new file mode 100644 index 0000000000..9ae0fbdb15 --- /dev/null +++ b/frontend/src/components/Editor/Preview-back.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/frontend/src/components/Editor/Preview.vue b/frontend/src/components/Editor/Preview.vue index 9ae0fbdb15..06855940a0 100644 --- a/frontend/src/components/Editor/Preview.vue +++ b/frontend/src/components/Editor/Preview.vue @@ -1,21 +1,19 @@ diff --git a/frontend/src/components/Toolbar.vue b/frontend/src/components/Toolbar.vue index 458100aeeb..4dad592b18 100644 --- a/frontend/src/components/Toolbar.vue +++ b/frontend/src/components/Toolbar.vue @@ -1,23 +1,36 @@