预览加载菜单
This commit is contained in:
parent
d9ce1f746b
commit
98898b9bce
@ -17,6 +17,24 @@ onMounted(()=>{
|
||||
getmenuinfo()
|
||||
}
|
||||
})
|
||||
const processMenuTree = (menuNodes: any[], moduleData: any[]) => {
|
||||
const typeMap = new Map(
|
||||
moduleData.map(({ id, type }) => [id, type])
|
||||
);
|
||||
|
||||
const traverseMenu = (nodes: any[]) => {
|
||||
for (const node of nodes) {
|
||||
if (node.module_id && typeMap.has(node.module_id)) {
|
||||
node.module_type = typeMap.get(node.module_id);
|
||||
}
|
||||
if (node.children?.length) {
|
||||
traverseMenu(node.children);
|
||||
}
|
||||
}
|
||||
};
|
||||
traverseMenu(menuNodes);
|
||||
return menuNodes;
|
||||
};
|
||||
function getmenuinfo() {
|
||||
const params = {
|
||||
appId: applicationId.value,
|
||||
@ -29,6 +47,7 @@ function getmenuinfo() {
|
||||
moduleList(paramss).then(ress => {
|
||||
var arr = ress.data.data
|
||||
let list: any = {}
|
||||
menuList.value = processMenuTree(menuList.value, arr)
|
||||
arr.forEach((item: any) => {
|
||||
if (item.type == '02' && item.node_type == '02') {
|
||||
list = item
|
||||
@ -44,8 +63,8 @@ function getmenuinfo() {
|
||||
</script>
|
||||
<template>
|
||||
<div class="system-box">
|
||||
<Navbar v-if="isNavbar" :menuList="menuList" :projectName="projectName"
|
||||
:isFixed="true" :projectId="projectList.id" :applicationId="applicationId" :isExecuteEvent="false">
|
||||
<Navbar v-if="isNavbar" :menuList="menuList" :projectName="projectName" :isFixed="true"
|
||||
:projectId="projectList.id" :applicationId="applicationId" :isExecuteEvent="false">
|
||||
</Navbar>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -43,7 +43,13 @@ function menuclick(index: any) {
|
||||
return
|
||||
}
|
||||
currentMoudleId.value = navmenulist.value[index].module_id
|
||||
if (navmenulist.value[index].module_id && navmenulist.value[index].module_id !== '') {
|
||||
currentMoudleId.value = navmenulist.value[index].module_id
|
||||
currentrow.value = navmenulist.value[index]
|
||||
showmodule.value = true
|
||||
showermission.value = false
|
||||
showUserInfo.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
function childmenuclick(item: any) {
|
||||
@ -54,8 +60,8 @@ function childmenuclick(item: any) {
|
||||
showmodule.value = false
|
||||
showUserInfo.value = false
|
||||
if (item.module_id && item.module_id !== '') {
|
||||
currentrow.value = item
|
||||
currentMoudleId.value = item.module_id
|
||||
console.log('传递给 Assocmodule 的 props:',item)
|
||||
showmodule.value = true
|
||||
} else {
|
||||
showmodule.value = false
|
||||
@ -179,7 +185,7 @@ function userdetails(){
|
||||
<div v-if="!props.isExecuteEvent" class="system-box-content"
|
||||
:style="{ height: props.isFixed ? 'calc(100vh - 65px)' : 'calc(100vh - 125px)' }">
|
||||
<Assocmodule v-if="showmodule" :applicationId="props.applicationId"
|
||||
:moduleinfo="{ module_id: currentMoudleId }" />
|
||||
:moduleinfo="currentrow" />
|
||||
<PermissionSet v-if="showermission" />
|
||||
<UserInfoSet v-if="showUserInfo" :applicationId="props.applicationId" />
|
||||
</div>
|
||||
|
@ -70,17 +70,11 @@ onBeforeMount(() => {
|
||||
})
|
||||
function getInit() {
|
||||
loading.value = true
|
||||
let params = {appId:props.applicationId}
|
||||
moduleList(params).then(res => {
|
||||
let list:any = {}
|
||||
const arr = res.data.data
|
||||
arr.forEach((item:any) => {
|
||||
if(item.id === props.moduleinfo.module_id){
|
||||
list = item
|
||||
const params = {
|
||||
id: props.moduleinfo.module_id,
|
||||
type: props.moduleinfo.module_type
|
||||
}
|
||||
})
|
||||
handleNodeClick(list)
|
||||
})
|
||||
handleNodeClick(params)
|
||||
}
|
||||
function handleNodeClick(e) {
|
||||
isFormCreate.value = false
|
||||
@ -107,22 +101,12 @@ function handleNodeClick(e){
|
||||
</script>
|
||||
<template>
|
||||
<div v-loading="loading" style="width: 100%;height: 100%;overflow: hidden;">
|
||||
<dv-preview
|
||||
ref="dvPreviewRef"
|
||||
class="dvPreviewRef"
|
||||
v-if="state.canvasStylePreview && dataInitState"
|
||||
:show-position="showPosition"
|
||||
:canvas-data-preview="state.canvasDataPreview"
|
||||
:canvas-style-preview="state.canvasStylePreview"
|
||||
:canvas-view-info-preview="state.canvasViewInfoPreview"
|
||||
:dv-info="state.dvInfo"
|
||||
:cur-preview-gap="state.curPreviewGap"
|
||||
:download-status="downloadStatus"
|
||||
></dv-preview>
|
||||
<dv-preview ref="dvPreviewRef" class="dvPreviewRef" v-if="state.canvasStylePreview && dataInitState"
|
||||
:show-position="showPosition" :canvas-data-preview="state.canvasDataPreview"
|
||||
:canvas-style-preview="state.canvasStylePreview" :canvas-view-info-preview="state.canvasViewInfoPreview"
|
||||
:dv-info="state.dvInfo" :cur-preview-gap="state.curPreviewGap" :download-status="downloadStatus"></dv-preview>
|
||||
<form-create v-if="isFormCreate" :moduleInfo="moduleInfo"></form-create>
|
||||
<Navbar v-if="isNavbar"></Navbar>
|
||||
</div>
|
||||
</template>
|
||||
<style lang="less" scoped>
|
||||
|
||||
</style>
|
||||
<style lang="less" scoped></style>
|
Loading…
Reference in New Issue
Block a user