zhanghaijun 1 年間 前
親
コミット
4c8cecba96

+ 2 - 2
index.html

@@ -1,7 +1,7 @@
 <!doctype html>
 <html>
   <head>
-    <title>Art Design Pro</title>
+    <title>教员管理系统</title>
     <meta charset="UTF-8" />
     <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0" /> -->
     <!-- 禁止缩放页面 -->
@@ -15,7 +15,7 @@
      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
     <meta
       name="description"
-      content="Art Design Pro - A modern admin dashboard template built with Vue 3, TypeScript, and Element Plus."
+      content="教员管理系统 - A modern admin dashboard template built with Vue 3, TypeScript, and Element Plus."
     />
     <link rel="shortcut icon" type="image/x-icon" href="src/assets/img/favicon.ico" />
 

+ 1 - 1
src/assets/icons/system/iconfont.json

@@ -1,6 +1,6 @@
 {
   "id": "3682552",
-  "name": "Art Design Pro-System",
+  "name": "教员管理系统-System",
   "font_family": "iconfont-sys",
   "css_prefix_text": "iconsys-",
   "description": "",

BIN
src/assets/img/common/01.webp


BIN
src/assets/img/common/02.webp


BIN
src/assets/img/common/03.webp


BIN
src/assets/img/common/04.webp


BIN
src/assets/img/common/logo.webp


BIN
src/assets/img/common/logo1.webp


BIN
src/assets/img/user/avatar.png


+ 1 - 1
src/components/core/forms/art-excel-export/index.vue

@@ -242,7 +242,7 @@
         workbook.Props = {
           Title: filename,
           Subject: '数据导出',
-          Author: props.workbookOptions.creator || 'Art Design Pro',
+          Author: props.workbookOptions.creator || '教员管理系统',
           Manager: props.workbookOptions.lastModifiedBy || '',
           Company: '系统导出',
           Category: '数据',

+ 5 - 47
src/components/core/layouts/art-header-bar/index.vue

@@ -4,40 +4,18 @@
     <div class="menu">
       <div class="left" style="display: flex">
         <!-- 系统信息  -->
-        <div class="top-header" @click="toHome" v-if="isTopMenu">
+        <div class="top-header" @click="toHome">
           <ArtLogo class="logo" />
           <p v-if="width >= 1400">{{ AppConfig.systemInfo.name }}</p>
         </div>
+      </div>
 
-        <ArtLogo class="logo2" @click="toHome" />
-
-        <!-- 菜单按钮 -->
-        <div class="btn-box" v-if="isLeftMenu && shouldShowMenuButton">
-          <div class="btn menu-btn">
-            <i class="iconfont-sys" @click="visibleMenu">&#xe6ba;</i>
-          </div>
-        </div>
-        <!-- 刷新按钮 -->
+      <div class="right">
         <div class="btn-box" v-if="shouldShowRefreshButton">
           <div class="btn refresh-btn" :style="{ marginLeft: !isLeftMenu ? '10px' : '0' }">
             <i class="iconfont-sys" @click="reload()"> &#xe6b3; </i>
           </div>
         </div>
-
-        <!-- 快速入口 -->
-        <!-- <ArtFastEnter v-if="shouldShowFastEnter && width >= headerBarFastEnterMinWidth" /> -->
-
-        <!-- 面包屑 -->
-        <!-- <ArtBreadcrumb v-if="(shouldShowBreadcrumb && isLeftMenu) || (shouldShowBreadcrumb && isDualMenu)" /> -->
-
-        <!-- 顶部菜单 -->
-        <!-- <ArtHorizontalMenu v-if="isTopMenu" :list="menuList" /> -->
-
-        <!-- 混合菜单-顶部 -->
-        <!-- <ArtMixedMenu v-if="isTopLeftMenu" :list="menuList" /> -->
-      </div>
-
-      <div class="right">
         <!-- 搜索 -->
         <div class="search-wrap" v-if="shouldShowGlobalSearch">
           <div class="search-input" @click="openSearchDialog">
@@ -59,15 +37,6 @@
             <i class="iconfont-sys">{{ isFullscreen ? '&#xe62d;' : '&#xe8ce;' }}</i>
           </div>
         </div>
-        <!-- 聊天 -->
-        <!-- 
-        <div class="btn-box chat-btn" v-if="shouldShowChat" @click="openChat">
-          <div class="btn chat-button">
-            <i class="iconfont-sys">&#xe89a;</i>
-            <span class="dot"></span>
-          </div>
-        </div> 
-        -->
         <!-- 语言 -->
         <div class="btn-box" v-if="shouldShowLanguage">
           <ElDropdown @command="changeLanguage" popper-class="langDropDownStyle">
@@ -163,7 +132,6 @@
       </div>
     </div>
     <ArtWorkTab />
-
     <ArtNotification v-model:value="showNotice" ref="notice" />
   </div>
 </template>
@@ -196,9 +164,9 @@
   const userStore = useUserStore()
 
   // 顶部栏功能配置
-  const { shouldShowMenuButton, shouldShowRefreshButton, shouldShowGlobalSearch, shouldShowFullscreen, shouldShowLanguage, shouldShowSettings, shouldShowThemeToggle } = useHeaderBar()
+  const { shouldShowRefreshButton, shouldShowGlobalSearch, shouldShowFullscreen, shouldShowLanguage, shouldShowSettings, shouldShowThemeToggle } = useHeaderBar()
 
-  const { menuOpen, systemThemeColor, showSettingGuide, menuType, isDark, tabStyle } = storeToRefs(settingStore)
+  const { systemThemeColor, showSettingGuide, menuType, isDark, tabStyle } = storeToRefs(settingStore)
 
   const { language, getUserInfo: userInfo } = storeToRefs(userStore)
   // const { menuList } = storeToRefs(menuStore)
@@ -209,9 +177,6 @@
 
   // 菜单类型判断
   const isLeftMenu = computed(() => menuType.value === MenuTypeEnum.LEFT)
-  // const isDualMenu = computed(() => menuType.value === MenuTypeEnum.DUAL_MENU)
-  const isTopMenu = computed(() => menuType.value === MenuTypeEnum.TOP)
-  // const isTopLeftMenu = computed(() => menuType.value === MenuTypeEnum.TOP_LEFT)
 
   const { isFullscreen, toggle: toggleFullscreen } = useFullscreen()
 
@@ -231,13 +196,6 @@
     toggleFullscreen()
   }
 
-  /**
-   * 切换菜单显示/隐藏状态
-   */
-  const visibleMenu = (): void => {
-    settingStore.setMenuOpen(!menuOpen.value)
-  }
-
   /**
    * 页面跳转
    * @param {string} path - 目标路径

+ 1 - 1
src/config/index.ts

@@ -11,7 +11,7 @@ import { headerBarConfig } from './headerBar'
 const appConfig: SystemConfig = {
   // 系统信息
   systemInfo: {
-    name: 'Art Design Pro' // 系统名称
+    name: '教员管理系统' // 系统名称
   },
   // Element Plus 主题
   elementPlusTheme: {

+ 72 - 38
src/views/dashboard/console/index.vue

@@ -1,53 +1,87 @@
 <template>
-  <div class="flex items-center justify-center bg-gray-50">
-    <div class="train_card grid auto-rows-[200px] grid-cols-[repeat(4,200px)] gap-4">
-      <!-- 教员培训 -->
-      <div class="col-span-2 row-span-2 flex items-center justify-center rounded-2xl bg-green-500 text-xl font-bold text-white shadow-md">
-        <div class="text-2xl font-extrabold">教员培训</div>
-        <div class="text-lg font-semibold">Subway Teacher Center</div>
-        <el-button class="rounded-2xl" type="primary" size="large" @click="() => router.push('/trainer/course/list')">
-          <span>开始学习课程</span>
-          <Icon :icon="'&#xe792;'" />
-        </el-button>
+  <div class="flex min-h-[400px] items-center justify-center p-4">
+    <div class="mb-20 flex h-[400px] w-full max-w-[1100px] flex-col rounded-2xl md:flex-row">
+      <!-- 左侧大卡片 -->
+      <div class="relative h-[250px] w-full overflow-hidden rounded-2xl bg-cover bg-center shadow-md md:h-full md:w-[350px] md:rounded-r-none" :style="{ backgroundImage: `url(${Image01})` }">
+        <div class="absolute inset-0"></div>
+        <div class="relative h-full p-8">
+          <div class="mt-6 text-2xl font-bold">教员培训</div>
+          <div class="text-md font-medium text-[#7B7A7C]">Subway Teacher Center</div>
+          <el-button class="absolute bottom-8 left-8" type="default" size="large" @click="() => router.push('/trainer/course/list')">
+            <span>开始学习课程</span>
+            <Icon :icon="'&#xe792;'" class="ml-2" />
+          </el-button>
+        </div>
       </div>
 
-      <!-- 课程编辑 -->
-      <div class="col-span-2 flex items-center justify-center rounded-2xl bg-purple-500 text-lg font-semibold text-white shadow-md">
-        <div class="text-2xl font-extrabold">课程编辑</div>
-        <div class="text-lg font-semibold">二级标题</div>
-        <el-button class="rounded-2xl" type="primary" size="large" @click="() => router.push('/course/list')">
-          <span>开始学习课程</span>
-          <Icon :icon="'&#xe792;'" />
-        </el-button>
-      </div>
-
-      <!-- 故障管理 -->
-      <div class="flex items-center justify-center rounded-2xl bg-teal-500 text-lg font-semibold text-white shadow-md">
-        <div class="text-2xl font-extrabold">故障管理</div>
-        <div class="text-lg font-semibold">二级标题</div>
-        <el-button class="rounded-2xl" type="primary" size="large" @click="() => router.push('/fault/list')">
-          <span>开始学习课程</span>
-          <Icon :icon="'&#xe792;'" />
-        </el-button>
-      </div>
+      <!-- 右侧卡片区域 -->
+      <div class="mt-4 flex w-full flex-col gap-4 md:mt-0 md:ml-4 md:w-[723px]">
+        <!-- 上部分卡片 -->
+        <div class="relative h-[180px] w-full overflow-hidden rounded-2xl shadow-md md:h-[188px]" :style="{ backgroundImage: `url(${Image02})` }">
+          <div class="absolute inset-0"></div>
+          <div class="relative h-full p-8">
+            <div class="text-2xl font-bold">课程编辑</div>
+            <div class="text-md font-medium text-[#7B7A7C]">Subway Teacher Center</div>
+            <el-button class="absolute bottom-6 left-8" type="default" size="large" @click="() => router.push('/course/list')">
+              <span>开始学习课程</span>
+              <Icon :icon="'&#xe792;'" class="ml-2" />
+            </el-button>
+          </div>
+        </div>
 
-      <!-- 评价中心 -->
-      <div class="flex aspect-square items-center justify-center rounded-2xl bg-rose-500 text-lg font-semibold text-white shadow-md">
-        <div class="text-2xl font-extrabold">评价中心</div>
-        <div class="text-lg font-semibold">二级标题</div>
-        <el-button class="rounded-2xl" type="primary" size="large" @click="() => router.push('/evaluation/list')">
-          <span>开始学习课程</span>
-          <Icon :icon="'&#xe792;'" />
-        </el-button>
+        <!-- 下部分两个小卡片 -->
+        <div class="grid h-[180px] w-full grid-cols-1 gap-4 md:h-[188px] md:grid-cols-2">
+          <div class="relative overflow-hidden rounded-2xl shadow-md" :style="{ backgroundImage: `url(${Image03})` }">
+            <div class="absolute inset-0"></div>
+            <div class="relative h-full p-8">
+              <div class="text-2xl font-bold">故障管理</div>
+              <div class="text-md font-medium text-[#7B7A7C]">Subway Teacher Center</div>
+              <el-button class="absolute bottom-6 left-8" type="default" size="large" @click="() => router.push('/fault/list')">
+                <span>开始学习课程</span>
+                <Icon :icon="'&#xe792;'" class="ml-2" />
+              </el-button>
+            </div>
+          </div>
+          <div class="relative overflow-hidden rounded-2xl shadow-md" :style="{ backgroundImage: `url(${Image04})` }">
+            <div class="absolute inset-0"></div>
+            <div class="relative h-full p-8">
+              <div class="text-2xl font-bold">评价中心</div>
+              <div class="text-md font-medium text-[#7B7A7C]">Subway Teacher Center</div>
+              <el-button class="absolute bottom-6 left-8" type="default" size="large" @click="() => router.push('/evaluation/list')">
+                <span>开始学习课程</span>
+                <Icon :icon="'&#xe792;'" class="ml-2" />
+              </el-button>
+            </div>
+          </div>
+        </div>
       </div>
     </div>
   </div>
 </template>
 
 <script setup lang="ts">
+  import Image01 from '@imgs/common/01.webp'
+  import Image02 from '@imgs/common/02.webp'
+  import Image03 from '@imgs/common/03.webp'
+  import Image04 from '@imgs/common/04.webp'
+
   defineOptions({ name: 'TrainConsole' })
 
   const router = useRouter()
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+  // 确保背景图片覆盖整个容器
+  [style*='backgroundImage'] {
+    background-size: cover;
+    background-position: center;
+    background-repeat: no-repeat;
+  }
+
+  // 响应式调整
+  @media (max-width: 768px) {
+    .flex-col {
+      height: auto !important;
+    }
+  }
+</style>

+ 2 - 2
src/views/system/user-center/index.vue

@@ -6,7 +6,7 @@
           <img class="bg" src="@imgs/user/bg.webp" />
           <img class="avatar" src="@imgs/user/avatar.webp" />
           <h2 class="name">{{ userInfo.userName }}</h2>
-          <p class="des">Art Design Pro 是一款漂亮的后台管理系统模版.</p>
+          <p class="des">教员管理系统 是一款漂亮的后台管理系统模版.</p>
 
           <div class="outer-info">
             <div>
@@ -130,7 +130,7 @@
     mobile: '18888888888',
     address: '广东省深圳市宝安区西乡街道101栋201',
     sex: '2',
-    des: 'Art Design Pro 是一款漂亮的后台管理系统模版.'
+    des: '教员管理系统 是一款漂亮的后台管理系统模版.'
   })
 
   const pwdForm = reactive({

+ 2 - 2
src/views/template/banners/index.vue

@@ -7,7 +7,7 @@
       </ElCol>
       <ElCol :xs="24" :sm="12" :md="12">
         <ArtBasicBanner
-          title="欢迎使用 Art Design Pro"
+          title="欢迎使用 教员管理系统"
           subtitle="基于 Vue 3 + TypeScript + Element Plus 构建的现代化管理系统。"
           titleColor="#333"
           subtitleColor="#666"
@@ -114,7 +114,7 @@
         <ArtCardBanner
           :image="icon4"
           title="版本更新提醒"
-          description="Art Design Pro v2.1.0 已发布,包含性能优化和新功能。"
+          description="教员管理系统 v2.1.0 已发布,包含性能优化和新功能。"
           :button="{
             show: true,
             text: '立即更新',

+ 1 - 1
src/views/widgets/text-scroll/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="page-content">
     <!-- 基础用法 -->
-    <ArtTextScroll text="Art Design Pro 是一款专注于用户体验和视觉设计的后台管理系统模版 <a target='_blank' href='https://www.lingchen.kim/art-design-pro/docs/'>点击我 </a>访问官方文档" showClose />
+    <ArtTextScroll text="教员管理系统 是一款专注于用户体验和视觉设计的后台管理系统模版 <a target='_blank' href='https://www.lingchen.kim/art-design-pro/docs/'>点击我 </a>访问官方文档" showClose />
 
     <!-- 使用不同的类型 -->
     <ArtTextScroll type="success" text="这是一条成功类型的滚动公告" showClose />

+ 3 - 3
src/views/widgets/watermark/index.vue

@@ -3,7 +3,7 @@
     <!-- 基础文字水印 -->
     <ElCard class="card" shadow="never">
       <template #header>基础文字水印</template>
-      <ElWatermark content="Art Design Pro" :font="{ color: 'rgba(128, 128, 128, 0.2)' }">
+      <ElWatermark content="教员管理系统" :font="{ color: 'rgba(128, 128, 128, 0.2)' }">
         <div style="height: 200px"></div>
       </ElWatermark>
     </ElCard>
@@ -11,7 +11,7 @@
     <!-- 多行文字水印 -->
     <ElCard class="card" shadow="never">
       <template #header>多行文字水印</template>
-      <ElWatermark :content="['Art Design Pro', '专注用户体验,视觉设计']" :font="{ fontSize: 16, color: 'rgba(128, 128, 128, 0.2)' }">
+      <ElWatermark :content="['教员管理系统', '专注用户体验,视觉设计']" :font="{ fontSize: 16, color: 'rgba(128, 128, 128, 0.2)' }">
         <div style="height: 200px"></div>
       </ElWatermark>
     </ElCard>
@@ -28,7 +28,7 @@
     <ElCard class="card" shadow="never">
       <template #header>自定义样式水印</template>
       <ElWatermark
-        content="Art Design Pro"
+        content="教员管理系统"
         :font="{
           fontSize: 20,
           fontFamily: 'Arial',