diff --git a/src/layouts/default/tabs/components/TabContent.vue b/src/layouts/default/tabs/components/TabContent.vue index 27a065d..aa6aef3 100644 --- a/src/layouts/default/tabs/components/TabContent.vue +++ b/src/layouts/default/tabs/components/TabContent.vue @@ -43,8 +43,9 @@ const { t } = useI18n(); const getTitle = computed(() => { - const { tabItem: { meta } = {} } = props; - return meta && t(meta.title as string); + const tabItem = props.tabItem as any; + const meta = tabItem.meta || {}; + return tabItem.tabTitle || (meta && t(meta.title as string)); }); const getIsTabs = computed(() => !props.isExtra); diff --git a/src/router/routes/basic.ts b/src/router/routes/basic.ts index 2f47184..6be4805 100644 --- a/src/router/routes/basic.ts +++ b/src/router/routes/basic.ts @@ -130,23 +130,21 @@ export const USERCENTER_ROUTE: AppRouteRecordRaw = { ], }; -// export const CUSTOMFORM_ROUTE: AppRouteRecordRaw = { -// path: '/custom-form/:id', -// name: 'CustomForm', -// component: LAYOUT, -// // redirect: PageEnum.CUSTOM_FORM, -// meta: { -// title: t('自定义表单'), -// }, -// children: [ -// { -// path: 'list', -// name: 'CustomFormList', -// component: () => import('/@/views/form/template/index.vue'), -// meta: { -// title: `自定义表单`, -// icon: 'ant-design:user-outlined', -// }, -// }, -// ], -// }; +export const FLOW_ROUTE: AppRouteRecordRaw = { + path: '/flow', + name: 'Flow', + meta: { + title: '流程', + }, + component: LAYOUT, + children: [ + { + path: 'createFlow', + name: 'CreateFlow', + component: () => import('/@/views/secondDev/createFlow.vue'), + meta: { + title: '新建流程', + }, + }, + ], +}; diff --git a/src/router/routes/index.ts b/src/router/routes/index.ts index 90c5b43..c2a4ec0 100644 --- a/src/router/routes/index.ts +++ b/src/router/routes/index.ts @@ -5,6 +5,7 @@ import { REDIRECT_ROUTE, SYSTEM_ROUTE, USERCENTER_ROUTE, + FLOW_ROUTE, // CUSTOMFORM_ROUTE, } from '/@/router/routes/basic'; @@ -52,5 +53,6 @@ export const basicRoutes = [ PAGE_NOT_FOUND_ROUTE, SYSTEM_ROUTE, USERCENTER_ROUTE, + FLOW_ROUTE, // CUSTOMFORM_ROUTE, ]; diff --git a/src/store/modules/multipleTab.ts b/src/store/modules/multipleTab.ts index 023e876..97da898 100644 --- a/src/store/modules/multipleTab.ts +++ b/src/store/modules/multipleTab.ts @@ -165,12 +165,25 @@ export const useMultipleTabStore = defineStore({ index !== -1 && this.tabList.splice(index, 1); } } - this.tabList.push(route); + const _route = Object.assign( + { + tabKey: route?.query?.tabKey || `tab_${Math.round(Math.random() * 1000000)}`, + }, + route, + ); + this.tabList.push(_route); } this.updateCacheTab(); cacheTab && Persistent.setLocal(MULTIPLE_TABS_KEY, this.tabList); }, + changeTitle(tabKey: string, title: string) { + const tab = (this.tabList as any).find((item) => item.tabKey === tabKey); + if (tab) { + tab.tabTitle = title; + } + }, + async closeTab(tab: RouteLocationNormalized, router: Router) { const close = (route: RouteLocationNormalized) => { const { fullPath, meta: { affix } = {} } = route; diff --git a/src/views/secondDev/FormInformation.vue b/src/views/secondDev/FormInformation.vue new file mode 100644 index 0000000..2d1ab7d --- /dev/null +++ b/src/views/secondDev/FormInformation.vue @@ -0,0 +1,404 @@ + + + + + diff --git a/src/views/secondDev/createFlow.vue b/src/views/secondDev/createFlow.vue new file mode 100644 index 0000000..4ea2595 --- /dev/null +++ b/src/views/secondDev/createFlow.vue @@ -0,0 +1,131 @@ + + + diff --git a/src/views/workflow/task/FlowLaunch.vue b/src/views/workflow/task/FlowLaunch.vue index 500562c..335e6aa 100644 --- a/src/views/workflow/task/FlowLaunch.vue +++ b/src/views/workflow/task/FlowLaunch.vue @@ -7,23 +7,23 @@ ? '!p-0 !pr-7px' : '' " - :title="t('流程模板列表')" :searchConfig="searchConfig" + :title="t('流程模板列表')" @search="search" @scroll-height="scrollHeight" > - + -