+
\ 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');
}
}
//预览