useStep.ts 646 B

12345678910111213141516171819202122
  1. import { type Menu, type MenuPath, menus } from '@/router/menu.ts';
  2. export function useStep(mode: Ref<string>, id: Ref<string>) {
  3. const menu = shallowRef<Menu | void>();
  4. const tabTitle = computed(() => menu.value?.title.replace('管理', '确认') ?? '确认');
  5. watchEffect(() => {
  6. menu.value = menus[`/step/${mode.value}` as MenuPath] ?? { title: import.meta.env.SIX_TITLE };
  7. });
  8. const router = useRouter();
  9. function next(value: string) {
  10. return router.push({ path: `/step/${mode.value}/${value}`, replace: !!id.value });
  11. }
  12. function prev() {
  13. return router.back();
  14. }
  15. return { menu, tabTitle, next, prev };
  16. }