diff --git a/core/core-backend/src/main/java/io/dataease/share/manage/XpackShareManage.java b/core/core-backend/src/main/java/io/dataease/share/manage/XpackShareManage.java index bf4cfc80ec..896be8ad13 100644 --- a/core/core-backend/src/main/java/io/dataease/share/manage/XpackShareManage.java +++ b/core/core-backend/src/main/java/io/dataease/share/manage/XpackShareManage.java @@ -154,6 +154,7 @@ public class XpackShareManage { Long uid = AuthUtils.getUser().getUserId(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("s.creator", uid); + queryWrapper.ne("v.status", 0); if (StringUtils.isNotBlank(request.getType())) { BusiResourceEnum busiResourceEnum = BusiResourceEnum.valueOf(request.getType().toUpperCase()); if (ObjectUtils.isEmpty(busiResourceEnum)) { 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 29a70aff21..671279b2d4 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 @@ -158,7 +158,7 @@ public class CoreVisualizationManage { visualizationInfo.setId(id); } visualizationInfo.setDeleteFlag(DataVisualizationConstants.DELETE_FLAG.AVAILABLE); - visualizationInfo.setStatus(CommonConstants.DV_STATUS.UNPUBLISHED); + visualizationInfo.setStatus(visualizationInfo.getStatus()); visualizationInfo.setCreateBy(AuthUtils.getUser().getUserId().toString()); visualizationInfo.setUpdateBy(AuthUtils.getUser().getUserId().toString()); visualizationInfo.setCreateTime(System.currentTimeMillis()); diff --git a/core/core-backend/src/main/java/io/dataease/visualization/manage/VisualizationStoreManage.java b/core/core-backend/src/main/java/io/dataease/visualization/manage/VisualizationStoreManage.java index 3ce84d207d..c4c9fce645 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/manage/VisualizationStoreManage.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/manage/VisualizationStoreManage.java @@ -112,6 +112,7 @@ public class VisualizationStoreManage { if (StringUtils.isNotBlank(info)) { queryWrapper.notExists(String.format(info, "s.resource_id")); } + queryWrapper.ne("v.status", 0); queryWrapper.orderBy(true, request.isAsc(), "v.update_time"); Page page = new Page<>(goPage, pageSize); return coreStoreExtMapper.query(page, queryWrapper); diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java index 59eccd8348..fec6e8f91e 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java @@ -424,6 +424,9 @@ public class DataVisualizationServer implements DataVisualizationApi { snapshotMapper.deleteById(request.getId()); visualizationInfo.setNodeType(DataVisualizationConstants.NODE_TYPE.LEAF); } + // 文件夹走默认发布 非文件夹默认未发布 + visualizationInfo.setStatus(DataVisualizationConstants.NODE_TYPE.FOLDER.equals(visualizationInfo.getNodeType()) + ? CommonConstants.DV_STATUS.PUBLISHED : CommonConstants.DV_STATUS.UNPUBLISHED); Long newDvId = coreVisualizationManage.innerSave(visualizationInfo); request.setId(newDvId); // 还原ID信息 @@ -590,6 +593,9 @@ public class DataVisualizationServer implements DataVisualizationApi { @Override public List tree(BusiNodeRequest request) { + if (StringUtils.isEmpty(request.getResourceTable())) { + request.setResourceTable(CommonConstants.RESOURCE_TABLE.SNAPSHOT); + } String busiFlag = request.getBusiFlag(); if (busiFlag.equals("dashboard-dataV")) { BusiNodeRequest requestDv = new BusiNodeRequest(); diff --git a/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml b/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml index f399c1879d..a1c17206c0 100644 --- a/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml +++ b/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml @@ -254,7 +254,7 @@ data_visualization_info WHERE data_visualization_info.delete_flag = 0 - AND node_type = 'leaf') dvResource + AND node_type = 'leaf' and data_visualization_info.status != 0 ) dvResource LEFT JOIN core_store ON dvResource.id = core_store.resource_id AND core_store.uid = #{uid} INNER JOIN core_opt_recent ON dvResource.resource_id = core_opt_recent.resource_id diff --git a/core/core-frontend/src/models/tree/TreeNode.ts b/core/core-frontend/src/models/tree/TreeNode.ts index 932ee289d6..a62ce0b423 100644 --- a/core/core-frontend/src/models/tree/TreeNode.ts +++ b/core/core-frontend/src/models/tree/TreeNode.ts @@ -15,4 +15,5 @@ export interface BusiTreeRequest { leaf?: boolean weight?: number sortType?: string + resourceTable?: string } diff --git a/core/core-frontend/src/views/common/DeResourceGroupOpt.vue b/core/core-frontend/src/views/common/DeResourceGroupOpt.vue index 7a7bda5b4f..e50dea1605 100644 --- a/core/core-frontend/src/views/common/DeResourceGroupOpt.vue +++ b/core/core-frontend/src/views/common/DeResourceGroupOpt.vue @@ -152,7 +152,7 @@ const optInit = (type, data: BusiTreeNode, exec, parentSelect = false, attachPar filterText.value = '' dialogTitle.value = getDialogTitle(exec) + ('rename' === exec ? optSource : '') resourceFormNameLabel.value = (exec === 'move' ? '' : optSource) + t('visualization.name') - const request = { busiFlag: curCanvasType.value, leaf: false, weight: 7 } + const request = { busiFlag: curCanvasType.value, leaf: false, resourceTable: 'core', weight: 7 } if (['newFolder'].includes(exec)) { resourceForm.name = '' } else if ('copy' === exec) { diff --git a/core/core-frontend/src/views/common/DeResourceTree.vue b/core/core-frontend/src/views/common/DeResourceTree.vue index 57e7bcb196..2afd1f48a4 100644 --- a/core/core-frontend/src/views/common/DeResourceTree.vue +++ b/core/core-frontend/src/views/common/DeResourceTree.vue @@ -308,21 +308,11 @@ 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 request = { + busiFlag: curCanvasType.value, + resourceTable: props.resourceTable + } as BusiTreeRequest const isDashboard = curCanvasType.value == 'dashboard' await interactiveStore.setInteractive(request) const interactiveData = isDashboard ? interactiveStore.getPanel : interactiveStore.getScreen @@ -340,12 +330,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 = filterTreeData(nodeData[0]['children'] || []) + state.originResourceTree = nodeData[0]['children'] || [] sortTypeChange(curSortType) afterTreeInit() return } - state.originResourceTree = filterTreeData(nodeData) + state.originResourceTree = nodeData sortTypeChange(curSortType) afterTreeInit() } diff --git a/core/core-frontend/src/views/data-visualization/PreviewHead.vue b/core/core-frontend/src/views/data-visualization/PreviewHead.vue index 11b043f51c..a7b8657354 100644 --- a/core/core-frontend/src/views/data-visualization/PreviewHead.vue +++ b/core/core-frontend/src/views/data-visualization/PreviewHead.vue @@ -121,6 +121,7 @@ const initOpenHandler = newWindow => { placement="top" >