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 1dd3831ce7..ee9231fdc3 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -329,13 +329,13 @@ public class PanelGroupService { // result.addAll(viewResult); // } result = TreeUtils.mergeTree(result, "panel_list"); -// if (AuthUtils.getUser().getIsAdmin()) { -// // 原有视图的目录结构 -// List viewOriginal = extVAuthModelMapper.queryAuthViewsOriginal(viewRequest); -// if (CollectionUtils.isNotEmpty(viewOriginal) && viewOriginal.size() > 1) { -// result.addAll(TreeUtils.mergeTree(viewOriginal, "public_chart")); -// } -// } + if (AuthUtils.getUser().getIsAdmin()) { + // 原有视图的目录结构 + List viewOriginal = extVAuthModelMapper.queryAuthViewsOriginal(viewRequest); + if (CollectionUtils.isNotEmpty(viewOriginal) && viewOriginal.size() > 1) { + result.addAll(TreeUtils.mergeTree(viewOriginal, "public_chart")); + } + } } return result; diff --git a/frontend/src/components/canvas/custom-component/component-list.js b/frontend/src/components/canvas/custom-component/component-list.js index 26d9f928c4..541fd89725 100644 --- a/frontend/src/components/canvas/custom-component/component-list.js +++ b/frontend/src/components/canvas/custom-component/component-list.js @@ -226,6 +226,28 @@ export const otherList = [ } ] +export const USER_VIEW = { + id: '10005', + component: 'user-view', + label: '用户视图', + propValue: '', + icon: 'juxing', + type: 'view', + mobileStyle: BASE_MOBILE_STYLE, + hyperlinks: HYPERLINKS, + style: { + width: 300, + height: 200 + }, + x: 1, + y: 108, + sizex: 12, + sizey: 6, + auxiliaryMatrix: true, + miniSizex: 1, + miniSizey: 1 +} + // 编辑器左侧组件列表 const list = [ { @@ -337,27 +359,7 @@ const list = [ miniSizex: 1, miniSizey: 1 }, - { - id: '10005', - component: 'user-view', - label: '用户视图', - propValue: '', - icon: 'juxing', - type: 'view', - mobileStyle: BASE_MOBILE_STYLE, - hyperlinks: HYPERLINKS, - style: { - width: 300, - height: 200 - }, - x: 1, - y: 108, - sizex: 12, - sizey: 6, - auxiliaryMatrix: true, - miniSizex: 1, - miniSizey: 1 - }, + USER_VIEW, { id: '10006', component: 'de-tabs', diff --git a/frontend/src/views/panel/ViewSelect/multiplexing.vue b/frontend/src/views/panel/ViewSelect/multiplexing.vue index 928b4f92cc..920dee4020 100644 --- a/frontend/src/views/panel/ViewSelect/multiplexing.vue +++ b/frontend/src/views/panel/ViewSelect/multiplexing.vue @@ -27,9 +27,12 @@ import DeMainContainer from '@/components/dataease/DeMainContainer' import DeContainer from '@/components/dataease/DeContainer' import DeAsideContainer from '@/components/dataease/DeAsideContainer' import { findOne } from '@/api/panel/panel' -import { panelDataPrepare } from '@/components/canvas/utils/utils' +import { deepCopy, panelDataPrepare } from '@/components/canvas/utils/utils' import Preview from '@/components/canvas/components/Editor/Preview' import MultiplexingView from '@/views/panel/ViewSelect/multiplexingView' +import { DEFAULT_COMMON_CANVAS_STYLE_STRING } from '@/views/panel/panel' +import { USER_VIEW } from '@/components/canvas/custom-component/component-list' +import { uuid } from 'vue-uuid' export default { name: 'Multiplexing', @@ -61,7 +64,7 @@ export default { methods: { showDetails(params) { const _this = this - _this.selectedPanel = params.showId + _this.selectedPanel = params if (params.showType === 'panel') { this.panelLoading = true findOne(params.showId).then(response => { @@ -71,6 +74,19 @@ export default { _this.canvasStyleData = rsp.componentStyle }) }) + } else if (params.showType === 'view') { + const componentId = uuid.v1() + _this.canvasStyleData = deepCopy(DEFAULT_COMMON_CANVAS_STYLE_STRING) + const userView = { + ... deepCopy(USER_VIEW), + 'id': componentId } + userView.style.width = _this.canvasStyleData.width + userView.style.height = _this.canvasStyleData.height + userView['propValue'] = { + 'viewId': params.showId, + 'id': componentId + } + _this.componentData.push(userView) } } }