diff --git a/vue-fastapi-backend/module_admin/entity/vo/login_vo.py b/vue-fastapi-backend/module_admin/entity/vo/login_vo.py index fbd6e07..8d45f1b 100644 --- a/vue-fastapi-backend/module_admin/entity/vo/login_vo.py +++ b/vue-fastapi-backend/module_admin/entity/vo/login_vo.py @@ -63,6 +63,7 @@ class MenuTreeModel(MenuModel): class MetaModel(BaseModel): model_config = ConfigDict(alias_generator=to_camel) + id: Optional[int] = Field(default=None, description='菜单ID') title: Optional[str] = Field(default=None, description='设置路由在侧边栏和面包屑中展示的名字') icon: Optional[str] = Field(default=None, description='设置路由的图标') no_cache: Optional[bool] = Field(default=None, description='设置为true,则不会被 缓存') diff --git a/vue-fastapi-backend/module_admin/service/login_service.py b/vue-fastapi-backend/module_admin/service/login_service.py index 4879311..ee9e5ef 100644 --- a/vue-fastapi-backend/module_admin/service/login_service.py +++ b/vue-fastapi-backend/module_admin/service/login_service.py @@ -319,6 +319,7 @@ class LoginService: component=RouterUtil.get_component(permission), query=permission.query, meta=MetaModel( + id=permission.menu_id, title=permission.menu_name, icon=permission.icon, noCache=True if permission.is_cache == 1 else False, @@ -338,6 +339,7 @@ class LoginService: component=permission.component, name=RouterUtil.get_route_name(permission.route_name, permission.path), meta=MetaModel( + id=permission.menu_id, title=permission.menu_name, icon=permission.icon, noCache=True if permission.is_cache == 1 else False, @@ -348,7 +350,7 @@ class LoginService: children_list.append(children) router.children = children_list elif permission.parent_id == 0 and RouterUtil.is_inner_link(permission): - router.meta = MetaModel(title=permission.menu_name, icon=permission.icon) + router.meta = MetaModel(id=permission.menu_id, title=permission.menu_name, icon=permission.icon) router.path = '/' children_list: List[RouterModel] = [] router_path = RouterUtil.inner_link_replace_each(permission.path) @@ -357,6 +359,7 @@ class LoginService: component=MenuConstant.INNER_LINK, name=RouterUtil.get_route_name(permission.route_name, permission.path), meta=MetaModel( + id=permission.menu_id, title=permission.menu_name, icon=permission.icon, link=permission.path if RouterUtil.is_http(permission.path) else None, diff --git a/vue-fastapi-frontend/src/utils/request.js b/vue-fastapi-frontend/src/utils/request.js index d08f010..3c2125d 100644 --- a/vue-fastapi-frontend/src/utils/request.js +++ b/vue-fastapi-frontend/src/utils/request.js @@ -17,11 +17,11 @@ const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 // baseURL: import.meta.env.VITE_APP_BASE_API, // 超时 - timeout: 100000 + timeout: 180000 }) const rawAxios = axios.create({ baseURL: "/default-api", - timeout: 100000 + timeout: 180000 }); rawAxios.interceptors.request.use(config => { diff --git a/vue-fastapi-frontend/src/views/aichat/MdRenderer.vue b/vue-fastapi-frontend/src/views/aichat/MdRenderer.vue index c747797..dc4cd35 100644 --- a/vue-fastapi-frontend/src/views/aichat/MdRenderer.vue +++ b/vue-fastapi-frontend/src/views/aichat/MdRenderer.vue @@ -20,6 +20,9 @@ {{ doc.file_name }} +
+ {{'跳转到:'+ item.content.menuName}} +
@@ -34,7 +37,9 @@ import chatTable from './chatTable.vue' import htmlCharts from './htmlCharts.vue' import {Download, FullScreen} from "@element-plus/icons-vue"; import { ref, watch} from 'vue' +import { useRouter } from 'vue-router'; const { proxy } = getCurrentInstance(); +const router = useRouter() const props = defineProps({ source: Array, is_large: Boolean, @@ -46,6 +51,24 @@ function fullscreenG6(data){ emit('fullscreenG6',data) } +function jumpToPath(content){ + let routes = router.getRoutes() + let obj = routes.find(route =>{return route.meta?.id === content.id;}) + if (obj){ + let path = '?' + let params = content.params + for (const key of params.keys()){ + path += key+"="+params[key] + "&" + } + path = path.slice(0, -1); + path = obj.path + path + router.push(path) + }else { + proxy.$modal.msgWarning("该页面未授权,无法访问"); + } + +} + function downLoadFile(doc){ let data = {file:doc.file_name,bucket: doc.bucket,sessionId: doc.session_id} proxy.download("/default-api/aichat/file/download", { diff --git a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue index 68d348c..4fa456e 100644 --- a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue +++ b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue @@ -847,7 +847,7 @@ import {getToken} from "@/utils/auth.js"; import {getDirectoryTree} from "@/api/metadataConfig/directory.js"; import {EditPen} from "@element-plus/icons-vue"; - import { useRoute } from 'vue-router'; + import { useRoute} from 'vue-router'; const data = reactive({ queryParams:{ ssysId:'', @@ -874,6 +874,7 @@ } }) const route = useRoute(); + // const router = useRouter() const { queryParams, currentMetaData } = toRefs(data); const loading = ref(true); const drawer = ref(false); @@ -1769,6 +1770,11 @@ } onMounted(async () => { await getDatabaseList() + + +// 获取所有路由记录(包含动态添加的路由) +// const allRoutes = router.getRoutes() +// console.log(allRoutes) if(route.query){ if (route.query.ssysId){ queryParams.value.ssysId = route.query.ssysId