refactor: 移动端支持将联动按钮固定到最上方

This commit is contained in:
wangjiahao
2025-04-01 15:48:40 +08:00
committed by 王嘉豪
parent 68cc109ef3
commit aa12e9c812
6 changed files with 22 additions and 5 deletions

View File

@@ -64,7 +64,7 @@ public class SnapshotDataVisualizationInfo implements Serializable {
/**
* 移动端布局0-关闭 1-开启
*/
private Byte mobileLayout;
private Boolean mobileLayout;
/**
* 状态 0-未发布 1-已发布
@@ -213,11 +213,11 @@ public class SnapshotDataVisualizationInfo implements Serializable {
this.componentData = componentData;
}
public Byte getMobileLayout() {
public Boolean getMobileLayout() {
return mobileLayout;
}
public void setMobileLayout(Byte mobileLayout) {
public void setMobileLayout(Boolean mobileLayout) {
this.mobileLayout = mobileLayout;
}

View File

@@ -513,7 +513,7 @@ public class DataVisualizationServer implements DataVisualizationApi {
coreVisualizationManage.move(request);
}
}
visualizationInfo.setStatus(CommonConstants.DV_STATUS.SAVED_UNPUBLISHED);
visualizationInfo.setStatus(request.getStatus()!=null?request.getStatus():CommonConstants.DV_STATUS.SAVED_UNPUBLISHED);
coreVisualizationManage.innerEdit(visualizationInfo);
//保存图表信息
chartDataManage.saveChartViewFromVisualization(request.getComponentData(), dvId, request.getCanvasViewInfo());

View File

@@ -179,6 +179,7 @@ const resourceOptFinish = param => {
dvInfo.value.dataState = 'ready'
dvInfo.value.pid = param.pid
dvInfo.value.name = param.name
dvInfo.value.status = 0
saveCanvasWithCheck()
}
}

View File

@@ -1590,7 +1590,7 @@ export const dvMainStore = defineStore('dataVisualization', {
name: name,
pid: pid,
type: dvType,
status: 1,
status: 0,
selfWatermarkStatus: true,
watermarkInfo: watermarkInfo,
mobileLayout: false,

View File

@@ -15,6 +15,7 @@ import { propTypes } from '@/utils/propTypes'
import { setTitle } from '@/utils/utils'
import EmptyBackground from '../../components/empty-background/src/EmptyBackground.vue'
import { filterEnumMapSync } from '@/utils/componentUtils'
import CanvasOptBar from '@/components/visualization/CanvasOptBar.vue'
const dvMainStore = dvMainStoreWithOut()
const { t } = useI18n()
@@ -165,6 +166,11 @@ defineExpose({
<template>
<div class="content" v-if="state.initState">
<canvas-opt-bar
canvas-id="canvas-main"
:canvas-style-data="state.canvasStylePreview || {}"
:component-data="state.canvasDataPreview || []"
></canvas-opt-bar>
<de-preview
ref="dvPreview"
v-if="state.canvasStylePreview"
@@ -173,6 +179,7 @@ defineExpose({
:canvas-view-info="state.canvasViewInfoPreview"
:dv-info="state.dvInfo"
:cur-gap="state.curPreviewGap"
:show-linkage-button="false"
:is-selector="props.isSelector"
></de-preview>
</div>
@@ -196,6 +203,7 @@ defineExpose({
align-items: center;
overflow-x: hidden;
overflow-y: auto;
position: relative;
::-webkit-scrollbar {
width: 0px !important;
height: 0px !important;

View File

@@ -15,6 +15,7 @@ import 'vant/es/nav-bar/style'
import 'vant/es/sticky/style'
import { downloadCanvas2 } from '@/utils/imgUtils'
import { useEmitt } from '@/hooks/web/useEmitt'
import CanvasOptBar from '@/components/visualization/CanvasOptBar.vue'
const dvMainStore = dvMainStoreWithOut()
const state = reactive({
canvasDataPreview: null,
@@ -138,6 +139,12 @@ const storeQuery = () => {
><icon_replace_outlined
/></el-icon>
</div>
<canvas-opt-bar
style="top: 48px"
canvas-id="canvas-main"
:canvas-style-data="state.canvasStylePreview || {}"
:component-data="state.canvasDataPreview || []"
></canvas-opt-bar>
<de-preview
ref="dashboardPreview"
v-if="state.canvasStylePreview && dataInitState"
@@ -147,6 +154,7 @@ const storeQuery = () => {
:canvas-style-data="state.canvasStylePreview"
:canvas-view-info="state.canvasViewInfoPreview"
:download-status="downloadStatus"
:show-linkage-button="false"
></de-preview>
</div>
</template>