diff --git a/core/core-frontend/public/images/navleft.png b/core/core-frontend/public/images/navleft.png new file mode 100644 index 0000000..cfb6b5c Binary files /dev/null and b/core/core-frontend/public/images/navleft.png differ diff --git a/core/core-frontend/public/images/navright.png b/core/core-frontend/public/images/navright.png new file mode 100644 index 0000000..3d53640 Binary files /dev/null and b/core/core-frontend/public/images/navright.png differ diff --git a/core/core-frontend/src/assets/img/navpermission.png b/core/core-frontend/src/assets/img/navpermission.png new file mode 100644 index 0000000..57619b6 Binary files /dev/null and b/core/core-frontend/src/assets/img/navpermission.png differ diff --git a/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue b/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue index d605f16..80219c1 100644 --- a/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue +++ b/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue @@ -1,21 +1,21 @@ \ No newline at end of file diff --git a/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/editNavbar.vue b/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/editNavbar.vue index 9ae6866..858ba65 100644 --- a/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/editNavbar.vue +++ b/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/editNavbar.vue @@ -34,10 +34,12 @@ import { useRoute, useRouter } from 'vue-router' import { loadModule } from 'vue3-sfc-loader' import * as Vue from 'vue/dist/vue.esm-bundler.js' import ElementPlus from 'element-plus' +import * as VueRouter from 'vue-router' import less from 'less' import defaultTemplate from '@/viewsnew/application/SfcEditor/NavbarEditor/Navbar.vue?raw' import { getMenuTree } from '@/api/permission/menu' -import { moduleUpdate,moduleById } from '@/api/application/module' +import { moduleUpdate, moduleById } from '@/api/application/module' +import { i18n } from '@/plugins/vue-i18n' import 'element-plus/dist/index.css' const route = useRoute() const router = useRouter() @@ -79,8 +81,12 @@ const runCode = async () => { vue: Vue, 'element-plus': ElementPlus, 'vue/dist/vue.esm-bundler.js': Vue, + 'vue-router': VueRouter, '@/viewsnew/application/SfcEditor/NavbarEditor/assocPage.vue': Vue.defineAsyncComponent(() => - import('@/viewsnew/application/SfcEditor/NavbarEditor/assocPage.vue')) + import('@/viewsnew/application/SfcEditor/NavbarEditor/assocPage.vue')), + '@/viewsnew/application/permissionset/index.vue': Vue.defineAsyncComponent(() => + import('@/viewsnew/application/permissionset/index.vue') + ) }, getFile: async (fileName) => { if (fileName.startsWith('@/')) { @@ -151,16 +157,23 @@ const runCode = async () => { } const componentModule = await loadModule('dynamic.vue', options) const component = componentModule.default || componentModule - const dynamicProps = ref({ - menuList: menuList.value, //菜单数据 + const dynamicProps = Vue.reactive({ + menuList: menuList.value, isFixed: false, - projectName: appname.value, //项目名 - applicationId: applicationId.value, //项目id - isExecuteEvent: false //是否执行事件 + projectName: appname.value, + applicationId: applicationId.value, + isExecuteEvent: true }) prevApp = Vue.createApp({ - render: () => Vue.h(component, dynamicProps.value) + render: () => Vue.h(component, { + ...dynamicProps, + router: router, + route: route + }) }) + prevApp.use(router) + prevApp.use(route) + prevApp.use(i18n) prevApp.use(ElementPlus) prevApp.mount(previewContainer.value) @@ -193,7 +206,7 @@ function getmenuinfo() { menuList.value = res.data }) moduleById(dvId.value).then(res => { - if(res.data.data.canvas_style_data){ + if (res.data.data.canvas_style_data) { sfcCode.value = res.data.data.canvas_style_data } }) @@ -208,25 +221,24 @@ function goBack() { } function handleClick() { if (activeName.value == '预览') { - console.log('预览') runCode() } } -function saveClick(){ +function saveClick() { const params = { - canvasStyleData:sfcCode.value, - componentData:'', - id:dvId.value + canvasStyleData: sfcCode.value, + componentData: '', + id: dvId.value } - moduleUpdate(params).then(res => { - if(res.data.code == '0'){ + moduleUpdate(params).then(res => { + if (res.data.code == '0') { ElMessage.success('保存成功') - }else{ + } else { ElMessage.error('保存失败') } }) } -function importNav(){ +function importNav() { sfcCode.value = defaultTemplate } diff --git a/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/previewNavSfc.vue b/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/previewNavSfc.vue index 8f11fc2..2e6c81c 100644 --- a/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/previewNavSfc.vue +++ b/core/core-frontend/src/viewsnew/application/SfcEditor/NavbarEditor/previewNavSfc.vue @@ -129,9 +129,6 @@ const runCode = async () => { isExecuteEvent: props.isExecuteEvent }) // 修改createApp方式 - // prevApp = Vue.createApp({ - // render: () => Vue.h(component, dynamicProps) - // }) prevApp = Vue.createApp({ render: () => Vue.h(component, { ...dynamicProps, @@ -139,6 +136,8 @@ const runCode = async () => { route: route }) }) + prevApp.use(router) + prevApp.use(route) prevApp.use(i18n) prevApp.use(ElementPlus) prevApp.mount(previewContainer.value) @@ -159,8 +158,7 @@ onMounted(() => { function init() { moduleById(props.projectId).then(res => { if (res.data.data.canvas_style_data) { - sfcCode.value = res.data.data.canvas_style_data - // sfcCode.value = defaultTemplate + sfcCode.value = res.data.data.canvas_style_data runCode() } }) diff --git a/core/core-frontend/src/viewsnew/application/module/header.vue b/core/core-frontend/src/viewsnew/application/module/header.vue index e2980fe..4e330e9 100644 --- a/core/core-frontend/src/viewsnew/application/module/header.vue +++ b/core/core-frontend/src/viewsnew/application/module/header.vue @@ -38,12 +38,17 @@ onMounted(()=>{ projectInfo.value = props.projectInfo }) function designClick(){ + console.log(treeInfo.value,projectInfo.value) if(treeInfo.value.type == '03'){ window.open('/#/dvsCanvas?dvId=' + treeInfo.value.id+'&appId=' + projectInfo.value.id, '_blank'); }else if(treeInfo.value.type == '0301'){ window.open('/#/dashboard?resourceId=' + treeInfo.value.id + '&appId='+projectInfo.value.id, '_blank'); }else if(treeInfo.value.type == '04'||treeInfo.value.type == '05'||treeInfo.value.type == '06'){ window.open('/#/formcreatedesigner?moduleId=' +treeInfo.value.id + '&appId='+projectInfo.value.id, '_blank'); + }else if(treeInfo.value.type == '01'){ + window.open('/#/editLogin?dvId=' +treeInfo.value.id + '&appId='+projectInfo.value.id+ '&name='+projectInfo.value.name+ '&appname='+projectInfo.value.name, '_blank'); + }else if(treeInfo.value.type == '02'){ + window.open('/#/editNavbar?dvId=' +treeInfo.value.id + '&appId='+projectInfo.value.id+ '&name='+projectInfo.value.name+ '&appname='+projectInfo.value.name, '_blank'); } } //预览