diff --git a/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java b/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java index 18a1438a0c..29a70aff21 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java @@ -85,6 +85,10 @@ public class CoreVisualizationManage { if (StringUtils.isNotBlank(info)) { queryWrapper.notExists(String.format(info, "data_visualization_info.id")); } + // 如果是编辑界面 只展示已发布的资源 + if(CommonConstants.RESOURCE_TABLE.SNAPSHOT.equals(request.getResourceTable())){ + queryWrapper.in("status", Arrays.asList(1,2)); + } queryWrapper.orderByDesc("create_time"); List pos = extMapper.queryNodes(queryWrapper); if (CollectionUtils.isNotEmpty(pos)) { diff --git a/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue b/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue index 5260cc8264..2a066edaed 100644 --- a/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue +++ b/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue @@ -493,7 +493,11 @@ defineExpose({ :id="domId" class="canvas-container" :style="canvasStyle" - :class="{ 'de-download-custom': downloadStatus, 'datav-preview': dataVPreview }" + :class="{ + 'de-download-custom': downloadStatus, + 'datav-preview': dataVPreview, + 'datav-preview-unpublish': dvInfo.status === 0 + }" ref="previewCanvas" @mousedown="handleMouseDown" @scroll="scrollPreview" @@ -591,4 +595,8 @@ defineExpose({ .datav-preview { overflow-y: hidden !important; } + +.datav-preview-unpublish { + background-color: inherit !important; +} diff --git a/core/core-frontend/src/views/common/DeResourceTree.vue b/core/core-frontend/src/views/common/DeResourceTree.vue index 0e88ddf5ad..57e7bcb196 100644 --- a/core/core-frontend/src/views/common/DeResourceTree.vue +++ b/core/core-frontend/src/views/common/DeResourceTree.vue @@ -70,6 +70,11 @@ const props = defineProps({ required: false, type: String, default: 'preview' + }, + resourceTable: { + required: false, + type: String, + default: 'core' } }) const defaultProps = { @@ -303,6 +308,19 @@ const nodeClick = (data: BusiTreeNode, node) => { } } +const filterTreeData = nodes => { + if (props.resourceTable === 'snapshot') { + return nodes + .filter(node => node.extraFlag1 !== 0) // 过滤当前层 + .map(node => ({ + ...node, + children: node.children ? filterTreeData(node.children) : [] // 递归过滤子节点 + })) + } else { + return nodes + } +} + const getTree = async () => { const request = { busiFlag: curCanvasType.value } as BusiTreeRequest const isDashboard = curCanvasType.value == 'dashboard' @@ -322,12 +340,12 @@ const getTree = async () => { let curSortType = sortList[Number(wsCache.get('TreeSort-backend')) ?? 1].value curSortType = wsCache.get(`TreeSort-${curCanvasType.value}`) ?? curSortType if (nodeData.length && nodeData[0]['id'] === '0' && nodeData[0]['name'] === 'root') { - state.originResourceTree = nodeData[0]['children'] || [] + state.originResourceTree = filterTreeData(nodeData[0]['children'] || []) sortTypeChange(curSortType) afterTreeInit() return } - state.originResourceTree = nodeData + state.originResourceTree = filterTreeData(nodeData) sortTypeChange(curSortType) afterTreeInit() } diff --git a/core/core-frontend/src/views/common/MultiplexingCanvas.vue b/core/core-frontend/src/views/common/MultiplexingCanvas.vue index 4072bf5c99..24e3585253 100644 --- a/core/core-frontend/src/views/common/MultiplexingCanvas.vue +++ b/core/core-frontend/src/views/common/MultiplexingCanvas.vue @@ -13,6 +13,7 @@ class="multiplexing-area" no-close show-position="multiplexing" + resource-table="snapshot" >