useStep.ts 849 B

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