diff --git a/src/router/guard/index.ts b/src/router/guard/index.ts index dc6ef18..b4faf33 100644 --- a/src/router/guard/index.ts +++ b/src/router/guard/index.ts @@ -19,6 +19,7 @@ import { createStateGuard } from './stateGuard'; import nProgress from 'nprogress'; import projectSetting from '/@/settings/projectSetting'; import { createParamMenuGuard } from './paramMenuGuard'; +import { merge, omit } from 'lodash-es'; /** 不要改变创建的顺序 */ export function setupRouterGuard(router: Router) { @@ -39,6 +40,10 @@ function createPageGuard(router: Router) { router.beforeEach(async (to) => { // 页面已经加载完毕,再次打开会更快,不需要再做加载等处理 to.meta.loaded = !!loadedPageMap.get(to.path); + // 处理路由切换动态替换vue-router自定义元数据 + if (to.query?.openMetaUpdate === 'y') { + merge(to.meta, omit(to.query, 'openMetaUpdate')); + } // 通知路由更改 setRouteChange(to); return true; diff --git a/src/router/guard/paramMenuGuard.ts b/src/router/guard/paramMenuGuard.ts index 8f73e38..bad70ee 100644 --- a/src/router/guard/paramMenuGuard.ts +++ b/src/router/guard/paramMenuGuard.ts @@ -2,7 +2,6 @@ import type { Router } from 'vue-router'; import { configureDynamicParamsMenu } from '../helper/menuHelper'; import { Menu } from '../types'; import { usePermissionStoreWithOut } from '/@/store/modules/permission'; -import { merge, omit } from 'lodash-es'; export function createParamMenuGuard(router: Router) { const permissionStore = usePermissionStoreWithOut(); @@ -19,10 +18,6 @@ export function createParamMenuGuard(router: Router) { } let menus: Menu[] = permissionStore.getMenuList; menus.forEach((item) => configureDynamicParamsMenu(item, to.params)); - // 处理路由切换动态替换vue-router自定义元数据 - if (to.query?.openMetaUpdate === 'y') { - merge(to.meta, omit(to.query, 'openMetaUpdate')); - } next(); }); } diff --git a/src/views/workflow/extension/form/index.vue b/src/views/workflow/extension/form/index.vue index 9d84bfe..db7eb1f 100644 --- a/src/views/workflow/extension/form/index.vue +++ b/src/views/workflow/extension/form/index.vue @@ -121,6 +121,7 @@ import { listToTree } from '/@/utils/helper/treeHelper'; import { listFormCategory, delFormCategory } from '/@/api/platform/workflow/extension/controller/formCategory'; import { PlusOutlined, FormOutlined, DeleteOutlined } from '@ant-design/icons-vue'; + import { useRouter } from 'vue-router'; /** 类型规范统一声明定义区域 */ interface TableState { @@ -159,7 +160,7 @@ searchInfo: {}, treeData: [] }); - + const { push } = useRouter(); const { createConfirm, createMessage } = useMessage(); const [registerModal, { openModal }] = useModal(); const [registerFormCategoryModal, { openModal: openFormCategoryModal }] = useModal(); @@ -274,8 +275,8 @@ } /** 处理打开工作流版本管理 */ - function handleWorkFlowVersion() { - // todo + function handleWorkFlowVersion(row: Recordable) { + push({ path : `/workflow/formDefinitionJson/${row.id}`, query: { openMetaUpdate: 'y', title: `流程表单【${row.name}】` }}); } function handleSelect(selectedKeys: string[]) { diff --git a/src/views/workflow/extension/formJson/index.vue b/src/views/workflow/extension/formJson/index.vue index 1405e33..5b52da7 100644 --- a/src/views/workflow/extension/formJson/index.vue +++ b/src/views/workflow/extension/formJson/index.vue @@ -100,7 +100,6 @@ width: 220, title: '操作', dataIndex: 'action', - //slots: { customRender: 'action' }, fixed: false }, handleSearchInfoFn: () => clearSelectedRowKeys()