one 4 éve
szülő
commit
82cc18f4da

+ 3 - 3
Admin.NET/Admin.NET.Application/AppConfig.json

@@ -1,12 +1,12 @@
 {
   "ConnectionStrings": {
-    "EnableInitTable": true, // 启用初始化库表
+    "EnableInitTable": false, // 启用初始化库表
     "EnableDiffLog": false, // 启用库表差异日志
     "ConnectionConfigs": [ // 默认第一个为主库
       {
         "ConfigId": "Dilon",
-        "DbType": "Sqlite", // MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access
-        "ConnectionString": "DataSource=./Admin.NET.db", // DataSource=C:\\db\\Admin.NET.db
+        "DbType": "SqlServer", // MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access
+        "ConnectionString": "server=172.27.26.29;uid=sa;pwd=123456;database=AdminDB;MultipleActiveResultSets=True", // DataSource=C:\\db\\Admin.NET.db
         "IsAutoCloseConnection": true
       },
       {

+ 1 - 1
Admin.NET/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj.user

@@ -2,7 +2,7 @@
 <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <NameOfLastUsedPublishProfile>D:\CODEWORK\Admin.NET\Admin.NET\Admin.NET.Web.Entry\Properties\PublishProfiles\FolderProfile1.pubxml</NameOfLastUsedPublishProfile>
-    <ActiveDebugProfile>IIS Express</ActiveDebugProfile>
+    <ActiveDebugProfile>Admin.NET.Web.Entry</ActiveDebugProfile>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
     <DebuggerFlavor>ProjectDebugger</DebuggerFlavor>

+ 2 - 1
Vben2/src/hooks/setting/useHeaderSetting.ts

@@ -42,7 +42,7 @@ export function useHeaderSetting() {
     getIsMixSidebar,
     getIsTopMenu,
   } = useMenuSetting();
-  const { getShowBreadCrumb, getShowLogo } = useRootSetting();
+  const { getShowBreadCrumb, getShowApp, getShowLogo } = useRootSetting();
 
   const getShowMixHeaderRef = computed(() => !unref(getIsSidebarType) && unref(getShowHeader));
 
@@ -91,6 +91,7 @@ export function useHeaderSetting() {
     getUseLockPage,
     getShowFullScreen,
     getShowNotice,
+    getShowApp,
     getShowBread,
     getShowContent,
     getShowHeaderLogo,

+ 3 - 0
Vben2/src/hooks/setting/useRootSetting.ts

@@ -35,6 +35,8 @@ export function useRootSetting() {
 
   const getShowFooter = computed(() => appStore.getProjectConfig.showFooter);
 
+  const getShowApp = computed(() => appStore.getProjectConfig.showApp);
+
   const getShowBreadCrumb = computed(() => appStore.getProjectConfig.showBreadCrumb);
 
   const getThemeColor = computed(() => appStore.getProjectConfig.themeColor);
@@ -80,6 +82,7 @@ export function useRootSetting() {
     getPermissionMode,
     getShowLogo,
     getUseErrorHandle,
+    getShowApp,
     getShowBreadCrumb,
     getShowBreadCrumbIcon,
     getUseOpenBackTop,

+ 31 - 0
Vben2/src/layouts/default/header/components/AppDropDown.vue

@@ -0,0 +1,31 @@
+<template>
+  <Dropdown placement="bottom">
+    <SwapOutlined />
+    <template #overlay>
+      <Menu @click="handleMenuClick">
+        <MenuItem> 应用12345 </MenuItem>
+        <MenuItem> 应用12345</MenuItem>
+        <MenuItem> 应用12345 </MenuItem>
+      </Menu>
+    </template>
+  </Dropdown>
+</template>
+<script lang="ts">
+  import { defineComponent, ref } from 'vue';
+  import { Dropdown, Menu, MenuItem } from 'ant-design-vue';
+  import { SwapOutlined } from '@ant-design/icons-vue';
+  export default defineComponent({
+    components: {
+      Dropdown,
+      Menu,
+      MenuItem,
+      SwapOutlined,
+    },
+    setup() {
+      function handleMenuClick(e) {}
+      return {
+        handleMenuClick,
+      };
+    },
+  });
+</script>

+ 1 - 0
Vben2/src/layouts/default/header/components/index.ts

@@ -4,6 +4,7 @@ import FullScreen from './FullScreen.vue';
 export const UserDropDown = createAsyncComponent(() => import('./user-dropdown/index.vue'), {
   loading: true,
 });
+export const AppDropDown = createAsyncComponent(() => import('./AppDropDown.vue'));
 
 export const LayoutBreadcrumb = createAsyncComponent(() => import('./Breadcrumb.vue'));
 

+ 12 - 3
Vben2/src/layouts/default/header/index.vue

@@ -49,14 +49,13 @@
       /> -->
 
       <UserDropDown :theme="getHeaderTheme" />
-
+      <AppDropDown :class="`${prefixCls}-action__item`" />
       <SettingDrawer v-if="getShowSetting" :class="`${prefixCls}-action__item`" />
     </div>
   </Header>
 </template>
 <script lang="ts">
   import { defineComponent, unref, computed } from 'vue';
-
   import { propTypes } from '/@/utils/propTypes';
 
   import { Layout } from 'ant-design-vue';
@@ -74,7 +73,14 @@
   import { SettingButtonPositionEnum } from '/@/enums/appEnum';
   import { AppLocalePicker } from '/@/components/Application';
 
-  import { UserDropDown, LayoutBreadcrumb, FullScreen, Notify, ErrorAction } from './components';
+  import {
+    UserDropDown,
+    AppDropDown,
+    LayoutBreadcrumb,
+    FullScreen,
+    Notify,
+    ErrorAction,
+  } from './components';
   import { useAppInject } from '/@/hooks/web/useAppInject';
   import { useDesign } from '/@/hooks/web/useDesign';
 
@@ -87,6 +93,7 @@
       Header: Layout.Header,
       AppLogo,
       LayoutTrigger,
+      AppDropDown,
       LayoutBreadcrumb,
       LayoutMenu,
       UserDropDown,
@@ -120,6 +127,7 @@
         getShowFullScreen,
         getShowNotice,
         getShowContent,
+        getShowApp,
         getShowBread,
         getShowHeaderLogo,
         getShowHeader,
@@ -177,6 +185,7 @@
         getHeaderTheme,
         getShowHeaderTrigger,
         getIsMobile,
+        getShowApp,
         getShowBread,
         getShowContent,
         getSplitType,

+ 7 - 0
Vben2/src/layouts/default/setting/SettingDrawer.tsx

@@ -47,6 +47,7 @@ export default defineComponent({
     const {
       getContentMode,
       getShowFooter,
+      getShowApp,
       getShowBreadCrumb,
       getShowBreadCrumbIcon,
       getShowLogo,
@@ -281,6 +282,12 @@ export default defineComponent({
     function renderContent() {
       return (
         <>
+          <SwitchItem
+            title='应用标签页'
+            event={HandlerEnum.SHOW_APP}
+            def={unref(getShowApp)}
+            disabled={!unref(getShowHeader)}
+          />
           <SwitchItem
             title={t('layout.setting.breadcrumb')}
             event={HandlerEnum.SHOW_BREADCRUMB}

+ 1 - 0
Vben2/src/layouts/default/setting/enum.ts

@@ -46,6 +46,7 @@ export enum HandlerEnum {
   LOCK_TIME,
   FULL_CONTENT,
   CONTENT_MODE,
+  SHOW_APP,
   SHOW_BREADCRUMB,
   SHOW_BREADCRUMB_ICON,
   GRAY_MODE,

+ 3 - 0
Vben2/src/layouts/default/setting/handler.ts

@@ -122,6 +122,9 @@ export function handler(event: HandlerEnum, value: any): DeepPartial<ProjectConf
     case HandlerEnum.CONTENT_MODE:
       return { contentMode: value };
 
+    case HandlerEnum.SHOW_APP:
+      return { showApp: value };
+
     case HandlerEnum.SHOW_BREADCRUMB:
       return { showBreadCrumb: value };
 

+ 2 - 0
Vben2/types/config.d.ts

@@ -121,6 +121,8 @@ export interface ProjectConfig {
   lockTime: number;
   // Show breadcrumbs
   showBreadCrumb: boolean;
+  // Show app
+  showApp: boolean;
   // Show breadcrumb icon
   showBreadCrumbIcon: boolean;
   // Use error-handler-plugin