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 27479de489..bb7b734cce 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
@@ -124,7 +124,7 @@ public class PanelGroupService {
if (StringUtils.isEmpty(panelId)) { // 新建
checkPanelName(request.getName(), request.getPid(), PanelConstants.OPT_TYPE_INSERT, null, request.getNodeType());
panelId = newPanel(request);
- panelGroupMapper.insert(request);
+ panelGroupMapper.insertSelective(request);
// 清理权限缓存
clearPermissionCache();
sysAuthService.copyAuth(panelId, SysAuthConstants.AUTH_SOURCE_TYPE_PANEL);
diff --git a/frontend/src/components/DeDrag/index.vue b/frontend/src/components/DeDrag/index.vue
index b39e7ab82e..0c3b8a8293 100644
--- a/frontend/src/components/DeDrag/index.vue
+++ b/frontend/src/components/DeDrag/index.vue
@@ -1851,7 +1851,7 @@ export default {
}
.batchSetting{
- opacity: 0.7;
+ opacity: 0.9;
}
.positionChange{
diff --git a/frontend/src/components/canvas/components/Editor/EditBar.vue b/frontend/src/components/canvas/components/Editor/EditBar.vue
index 4522f94a23..765458d7a2 100644
--- a/frontend/src/components/canvas/components/Editor/EditBar.vue
+++ b/frontend/src/components/canvas/components/Editor/EditBar.vue
@@ -91,7 +91,7 @@ export default {
},
// batch operation area
batchOptAreaShow() {
- return this.batchOptStatus && this.element.type === 'view'
+ return this.batchOptStatus && this.element.type === 'view' && !this.element.isPlugin
},
// 联动区域按钮显示
linkageAreaShow() {
diff --git a/frontend/src/components/canvas/components/Editor/Preview.vue b/frontend/src/components/canvas/components/Editor/Preview.vue
index 5e693c977d..869e38d02c 100644
--- a/frontend/src/components/canvas/components/Editor/Preview.vue
+++ b/frontend/src/components/canvas/components/Editor/Preview.vue
@@ -256,13 +256,15 @@ export default {
})
// 监听画布div变动事件
const tempCanvas = document.getElementById('canvasInfoTemp')
- erd.listenTo(document.getElementById('canvasInfoTemp'), element => {
- _this.$nextTick(() => {
- // 将mainHeight 修改为px 临时解决html2canvas 截图不全的问题
- _this.mainHeight = tempCanvas.scrollHeight + 'px!important'
- this.$emit('mainHeightChange', _this.mainHeight)
+ if (tempCanvas) {
+ erd.listenTo(document.getElementById('canvasInfoTemp'), element => {
+ _this.$nextTick(() => {
+ // 将mainHeight 修改为px 临时解决html2canvas 截图不全的问题
+ _this.mainHeight = tempCanvas.scrollHeight + 'px!important'
+ this.$emit('mainHeightChange', _this.mainHeight)
+ })
})
- })
+ }
eventBus.$on('openChartDetailsDialog', this.openChartDetailsDialog)
_this.$store.commit('clearLinkageSettingInfo', false)
_this.canvasStyleDataInit()
diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue
index b27f4ad796..ebc89f8173 100644
--- a/frontend/src/components/canvas/custom-component/UserView.vue
+++ b/frontend/src/components/canvas/custom-component/UserView.vue
@@ -412,8 +412,11 @@ export default {
this.chart.customAttr = this.sourceCustomAttrStr
updateParams['customAttr'] = this.sourceCustomAttrStr
} else if (param.custom === 'customStyle') {
- this.sourceCustomStyleStr = this.chart.customStyle
const sourceCustomStyle = JSON.parse(this.sourceCustomStyleStr)
+ // view's title use history
+ if (param.property === 'text') {
+ param.value.title = sourceCustomStyle.text.title
+ }
sourceCustomStyle[param.property] = param.value
this.sourceCustomStyleStr = JSON.stringify(sourceCustomStyle)
this.chart.customStyle = this.sourceCustomStyleStr
diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js
index f5a17a6d1f..98eb050ce5 100644
--- a/frontend/src/store/index.js
+++ b/frontend/src/store/index.js
@@ -125,7 +125,8 @@ const data = {
changeProperties: {
customStyle: {},
customAttr: {}
- }
+ },
+ allViewRender: []
},
mutations: {
...animation.mutations,
@@ -550,7 +551,7 @@ const data = {
// get view base info
const viewBaseInfo = state.componentViewsData[id]
// get properties
- const viewConfig = TYPE_CONFIGS.filter(item => item.render === viewBaseInfo.render && item.value === viewBaseInfo.type)
+ const viewConfig = state.allViewRender.filter(item => item.render === viewBaseInfo.render && item.value === viewBaseInfo.type)
const viewProperties = viewConfig ? viewConfig[0].properties : []
if (state.mixProperties.length > 0) {
// If it exists , taking the intersection
@@ -641,6 +642,12 @@ const data = {
customStyle: {},
customAttr: {}
}
+ },
+ initViewRender(state, pluginViews) {
+ pluginViews.forEach(plugin => {
+ plugin.isPlugin = true
+ })
+ state.allViewRender = [...TYPE_CONFIGS, ...pluginViews]
}
},
modules: {
diff --git a/frontend/src/views/chart/chart/chart.js b/frontend/src/views/chart/chart/chart.js
index 840b2addec..b3102a190f 100644
--- a/frontend/src/views/chart/chart/chart.js
+++ b/frontend/src/views/chart/chart/chart.js
@@ -8,7 +8,8 @@ export const DEFAULT_COLOR_CASE = {
tableStripe: true,
dimensionColor: '#000000',
quotaColor: '#000000',
- tableBorderColor: '#cfdaf4'
+ tableBorderColor: '#cfdaf4',
+ seriesColors: [] // 格式:{"name":"s1","color":"","isCustom":false}
}
export const DEFAULT_SIZE = {
barDefault: true,
diff --git a/frontend/src/views/chart/components/component-style/TitleSelector.vue b/frontend/src/views/chart/components/component-style/TitleSelector.vue
index a3ae0d42f7..7afa56d139 100644
--- a/frontend/src/views/chart/components/component-style/TitleSelector.vue
+++ b/frontend/src/views/chart/components/component-style/TitleSelector.vue
@@ -6,7 +6,7 @@