mirror of
https://github.com/dataease/dataease.git
synced 2026-05-24 06:18:10 +08:00
refactor: 支持过滤未发布的资源
This commit is contained in:
@@ -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<VisualizationNodePO> pos = extMapper.queryNodes(queryWrapper);
|
||||
if (CollectionUtils.isNotEmpty(pos)) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
class="multiplexing-area"
|
||||
no-close
|
||||
show-position="multiplexing"
|
||||
resource-table="snapshot"
|
||||
></dashboard-preview-show>
|
||||
<preview-show
|
||||
v-if="dialogShow && curDvType === 'dataV'"
|
||||
@@ -20,6 +21,7 @@
|
||||
class="multiplexing-area"
|
||||
no-close
|
||||
show-position="multiplexing"
|
||||
resource-table="snapshot"
|
||||
></preview-show>
|
||||
<template #footer>
|
||||
<el-row class="multiplexing-footer">
|
||||
|
||||
@@ -60,10 +60,15 @@ const props = defineProps({
|
||||
required: false,
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
resourceTable: {
|
||||
required: false,
|
||||
type: String,
|
||||
default: 'core'
|
||||
}
|
||||
})
|
||||
|
||||
const { showPosition } = toRefs(props)
|
||||
const { showPosition, resourceTable } = toRefs(props)
|
||||
|
||||
const resourceTreeRef = ref()
|
||||
|
||||
@@ -263,6 +268,7 @@ defineExpose({
|
||||
v-show="slideShow"
|
||||
:cur-canvas-type="'dashboard'"
|
||||
:show-position="showPosition"
|
||||
:resource-table="resourceTable"
|
||||
@node-click="resourceNodeClick"
|
||||
/>
|
||||
</el-aside>
|
||||
|
||||
@@ -46,6 +46,11 @@ const props = defineProps({
|
||||
required: false,
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
resourceTable: {
|
||||
required: false,
|
||||
type: String,
|
||||
default: 'core'
|
||||
}
|
||||
})
|
||||
|
||||
@@ -250,6 +255,7 @@ onBeforeMount(() => {
|
||||
v-show="slideShow"
|
||||
:cur-canvas-type="'dataV'"
|
||||
:show-position="showPosition"
|
||||
:resource-table="resourceTable"
|
||||
@node-click="resourceNodeClick"
|
||||
/>
|
||||
</el-aside>
|
||||
|
||||
2
de-xpack
2
de-xpack
Submodule de-xpack updated: 3c6fdc83e5...ed75ec962c
@@ -1,5 +1,6 @@
|
||||
package io.dataease.model;
|
||||
|
||||
import io.dataease.constant.CommonConstants;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
@@ -19,4 +20,6 @@ public class BusiNodeRequest implements Serializable {
|
||||
private Integer weight;
|
||||
|
||||
private String sortType;
|
||||
|
||||
private String resourceTable = CommonConstants.RESOURCE_TABLE.CORE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user