fix: 修复管理端前端 lint 与构建问题

- 收敛 easyflow-ui-admin 的 lint、格式和类型问题

- 修正 demo 页面与管理端前端构建失败点

- 验证 pnpm lint 与 pnpm build 均已通过
This commit is contained in:
2026-04-05 21:39:13 +08:00
parent bb72e19c84
commit 7e7c236c2a
240 changed files with 5151 additions and 4701 deletions

View File

@@ -1,16 +1,17 @@
<script lang="ts" setup>
import type {VNode} from 'vue';
import {computed} from 'vue';
import type { VNode } from 'vue';
import type {
RouteLocationNormalizedLoaded,
RouteLocationNormalizedLoadedGeneric,
} from 'vue-router';
import {RouterView} from 'vue-router';
import {preferences, usePreferences} from '@easyflow/preferences';
import {getTabKey, storeToRefs, useTabbarStore} from '@easyflow/stores';
import { computed } from 'vue';
import { RouterView } from 'vue-router';
import {IFrameRouterView} from '../../iframe';
import { preferences, usePreferences } from '@easyflow/preferences';
import { getTabKey, storeToRefs, useTabbarStore } from '@easyflow/stores';
import { IFrameRouterView } from '../../iframe';
defineOptions({ name: 'LayoutContent' });

View File

@@ -1,13 +1,17 @@
<script lang="ts" setup>
import type {CSSProperties} from 'vue';
import {computed, useSlots} from 'vue';
import type { CSSProperties } from 'vue';
import {useRefresh} from '@easyflow/hooks';
import {RotateCw} from '@easyflow/icons';
import {preferences, usePreferences} from '@easyflow/preferences';
import {useAccessStore} from '@easyflow/stores';
import { computed, useSlots } from 'vue';
import {EasyFlowFullScreen, EasyFlowIconButton} from '@easyflow-core/shadcn-ui';
import { useRefresh } from '@easyflow/hooks';
import { RotateCw } from '@easyflow/icons';
import { preferences, usePreferences } from '@easyflow/preferences';
import { useAccessStore } from '@easyflow/stores';
import {
EasyFlowFullScreen,
EasyFlowIconButton,
} from '@easyflow-core/shadcn-ui';
import {
GlobalSearch,
@@ -174,16 +178,28 @@ function clearPreferencesAndLogout() {
/>
</template>
<template v-else-if="slot.name === 'theme-toggle'">
<ThemeToggle :class="toolbarButtonClass" :style="toolbarButtonStyle" />
<ThemeToggle
:class="toolbarButtonClass"
:style="toolbarButtonStyle"
/>
</template>
<template v-else-if="slot.name === 'language-toggle'">
<LanguageToggle :class="toolbarButtonClass" :style="toolbarButtonStyle" />
<LanguageToggle
:class="toolbarButtonClass"
:style="toolbarButtonStyle"
/>
</template>
<template v-else-if="slot.name === 'fullscreen'">
<EasyFlowFullScreen :class="toolbarButtonClass" :style="toolbarButtonStyle" />
<EasyFlowFullScreen
:class="toolbarButtonClass"
:style="toolbarButtonStyle"
/>
</template>
<template v-else-if="slot.name === 'timezone'">
<TimezoneButton :class="toolbarButtonClass" :style="toolbarButtonStyle" />
<TimezoneButton
:class="toolbarButtonClass"
:style="toolbarButtonStyle"
/>
</template>
</slot>
</template>

View File

@@ -1,13 +1,13 @@
import type {MenuRecordRaw} from '@easyflow/types';
import type { MenuRecordRaw } from '@easyflow/types';
import {computed, onBeforeMount, ref, watch} from 'vue';
import {useRoute} from 'vue-router';
import { computed, onBeforeMount, ref, watch } from 'vue';
import { useRoute } from 'vue-router';
import {preferences, usePreferences} from '@easyflow/preferences';
import {useAccessStore} from '@easyflow/stores';
import {findRootMenuByPath} from '@easyflow/utils';
import { preferences, usePreferences } from '@easyflow/preferences';
import { useAccessStore } from '@easyflow/stores';
import { findRootMenuByPath } from '@easyflow/utils';
import {useNavigation} from './use-navigation';
import { useNavigation } from './use-navigation';
function useMixedMenu() {
const { navigation, prefetch, willOpenedByWindow } = useNavigation();