yanghao 2 týždňov pred
rodič
commit
89055c2ae1

BIN
src/assets/images/agent.png


BIN
src/assets/images/ai.png


BIN
src/assets/images/banner1.png


BIN
src/assets/images/crm.png


BIN
src/assets/images/data.png


BIN
src/assets/images/data2.png


BIN
src/assets/images/drive.png


BIN
src/assets/images/ehr.png


BIN
src/assets/images/fileagent.png


BIN
src/assets/images/fm.png


BIN
src/assets/images/jishuimage.png


BIN
src/assets/images/lianyou.png


BIN
src/assets/images/oa.png


BIN
src/assets/images/pan.png


BIN
src/assets/images/pm.png


BIN
src/assets/images/qhse.png


BIN
src/assets/images/safe.png


BIN
src/assets/images/scm.png


BIN
src/assets/images/think.png


BIN
src/assets/images/video.png


BIN
src/assets/images/youcnag.png


BIN
src/assets/images/zhanlue.png


BIN
src/assets/images/zhiduagent.png


BIN
src/assets/images/zhuqi.png


BIN
src/assets/images/zuzhi.png


+ 3 - 3
src/views/drive/index.vue

@@ -163,7 +163,7 @@ const openDrive = async (option: DriveCard) => {
 
 .drive-hero {
   position: relative;
-  min-height: 340px;
+  min-height: 220px;
 
   overflow: hidden;
   background:
@@ -295,7 +295,7 @@ const openDrive = async (option: DriveCard) => {
   justify-content: center;
 
   width: 100%;
-  height: 184px;
+  height: 140px;
 
   /* 使用 CSS 变量动态绑定背景图 */
   background-image: var(--bg-image);
@@ -311,7 +311,7 @@ const openDrive = async (option: DriveCard) => {
     border-color 0.2s ease;
 
   overflow: hidden;
-  margin-top: -50px;
+  /* margin-top: -50px; */
 }
 
 .drive-card:hover {

+ 76 - 15
src/views/flow/index.vue

@@ -96,7 +96,7 @@
       </section>
     </div>
 
-    <div class="content max-w-[1400px] mx-auto mt-5">
+    <div class="content max-w-[1500px] mx-auto mt-5">
       <div class="search-bar">
         <div class="search-input">
           <Icon icon="mdi:magnify" class="search-icon" />
@@ -176,10 +176,16 @@
             }"
             @click="go(item)"
           >
+            <div class="item-type-badge">
+              <span>{{ item.type }}</span>
+            </div>
             <div class="item-top">
               <div
                 class="item-icon"
-                :style="{ backgroundColor: getIconTheme(item).softColor }"
+                :style="{
+                  backgroundColor: getIconTheme(item).softColor,
+                  border: '1px solid ' + getIconTheme(item).softColor,
+                }"
               >
                 <Icon
                   :icon="item.icon || 'mdi:file-document-outline'"
@@ -187,15 +193,15 @@
                 />
               </div>
 
-              <div>
+              <!-- <div class="absolute w-5 right-0">
                 <span
-                  class="text-[10px] font-bold text-slate-300 uppercase tracking-widest group-hover:text-blue-200"
+                  class="text-[10px] font-bold text-[#869ac2] uppercase tracking-widest group-hover:text-blue-200"
                   >{{ item.type }}</span
                 >
-              </div>
+              </div> -->
             </div>
             <div class="item-body">
-              <h3 class="item-name font-bold text-slate-900">
+              <h3 class="item-name font-bold text-white/90">
                 {{ item.flowName }}
               </h3>
             </div>
@@ -1028,7 +1034,7 @@ onBeforeUnmount(() => {
   color: #adb6da; /* Element Plus 主要文字颜色 */
   background-color: transparent;
   border: none;
-  border-bottom: 2px solid transparent; /* 用于激活态的下划线 */
+  border-bottom: 1.5px solid transparent; /* 用于激活态的下划线 */
   cursor: pointer;
   transition: all 0.3s;
   margin-right: 0;
@@ -1036,8 +1042,47 @@ onBeforeUnmount(() => {
   flex-shrink: 0; /* 防止压缩 */
 }
 
-.el-tab-item:hover {
-  color: #02409b; /* Element Plus 主题蓝 */
+.el-tab-item.is-active {
+  color: #fff !important;
+  /* background: linear-gradient(
+    180deg,
+    rgba(92, 103, 238, 0.32),
+    rgba(36, 53, 118, 0.3)
+  ) !important; */
+
+  background: linear-gradient(
+    360deg,
+    #003be0 0%,
+    rgba(10, 65, 227, 0.6) 10%,
+    #001c71 40%,
+    #000c33 80%
+  ) !important;
+
+  padding-bottom: 22px;
+  padding-top: 22px;
+  border-radius: 0;
+
+  position: relative;
+}
+
+.el-tab-item.is-active::before {
+  content: "";
+  position: absolute;
+  left: 50%;
+  bottom: -2px;
+  width: 100%;
+  height: 2px;
+  transform: translateX(-50%);
+  border-radius: 999px;
+  background: linear-gradient(
+    to right,
+    #5887f8 0%,
+    #69b5f8 30%,
+    #fff 50%,
+    #69b5f8 70%,
+    #5887f8 100%
+  );
+  box-shadow: 0 0 12px rgba(112, 120, 255, 0.95);
 }
 
 .el-tab-item.is-active {
@@ -1107,16 +1152,18 @@ onBeforeUnmount(() => {
 }
 
 .item-card {
+  position: relative;
   --item-accent: #2563eb;
   --item-accent-soft: rgba(37, 99, 235, 0.12);
   --item-accent-hover: rgba(37, 99, 235, 0.18);
   display: flex;
-  flex-direction: column;
+  /* flex-direction: column; */
+  align-items: center;
   gap: 18px;
   padding: 22px 22px 18px;
-  border-radius: 22px;
-  background: #ffffff;
-  border: 1px solid rgb(241, 245, 249);
+  border-radius: 10px;
+  background: rgb(11, 15, 46);
+  border: 1px solid #262360;
   box-shadow:
     rgba(0, 0, 0, 0) 0px 0px 0px 0px,
     rgba(0, 0, 0, 0) 0px 0px 0px 0px,
@@ -1127,7 +1174,21 @@ onBeforeUnmount(() => {
     box-shadow 0.2s ease,
     background-color 0.2s ease;
   cursor: pointer;
-  border-bottom: 1px solid rgb(241, 245, 249);
+}
+
+.item-type-badge {
+  position: absolute;
+  top: 12px; /* 距离顶部的距离 */
+  right: 12px; /* 距离右侧的距离 */
+  z-index: 10; /* 确保在最上层 */
+}
+
+.item-type-badge span {
+  font-size: 10px;
+  color: #869ac2; /* 原有颜色 */
+  text-transform: uppercase;
+  letter-spacing: 0.05em;
+  transition: color 0.2s ease;
 }
 
 .item-card:hover {
@@ -1528,7 +1589,7 @@ onBeforeUnmount(() => {
 .tabs-container {
   display: flex;
   align-items: center;
-  border-bottom: 1px solid #e4e7ed;
+  border-bottom: 1px solid #192754;
   padding-left: 0;
   overflow-x: auto;
   scroll-behavior: smooth;

+ 18 - 18
src/views/index.vue

@@ -390,35 +390,34 @@ import { deleteUserCache } from "@hooks/useCache";
 import { manualLogoutKey, reloginCancelKey } from "@/config/axios/service";
 import banner1 from "@/assets/images/banner1.png";
 import banner2 from "@/assets/images/banner2.png";
-import banner3 from "@/assets/images/banner3.jpg";
 import banner4 from "@/assets/images/banner4.png";
-import oaimage from "@/assets/images/oa.jpg";
-import crmimage from "@/assets/images/crm.jpg";
-import ehrimage from "@/assets/images/ehr.jpg";
+import oaimage from "@/assets/images/oa.png";
+import crmimage from "@/assets/images/crm.png";
+import ehrimage from "@/assets/images/ehr.png";
 import scmimage from "@/assets/images/scm.png";
-import erpimage from "@/assets/images/fm.jpg";
-import driveimage from "@/assets/images/drive.jpg";
+import erpimage from "@/assets/images/fm.png";
+import driveimage from "@/assets/images/drive.png";
 import pmsimage from "@/assets/images/pms.jpeg";
 import zhonghangimage from "@/assets/images/中航.png";
-import lianyouimage from "@/assets/images/lianyou.jpeg";
-import qhseimage from "@/assets/images/qhse.jpg";
+import lianyouimage from "@/assets/images/lianyou.png";
+import qhseimage from "@/assets/images/qhse.png";
 import zuanjingimage from "@/assets/images/zuanjing.jpeg";
 import yalieimage from "@/assets/images/yalie.png";
 import zhuqiimage from "@/assets/images/zhuqi.png";
-import pmimage from "@/assets/images/pm.jpg";
-import dataimage from "@/assets/images/data.jpg";
-import thinkimage from "@/assets/images/think.jpg";
+import pmimage from "@/assets/images/pm.png";
+import dataimage from "@/assets/images/data2.png";
+import thinkimage from "@/assets/images/think.png";
 import aiimage from "@/assets/images/ai.png";
-import agentimage from "@/assets/images/agent.jpeg";
+import agentimage from "@/assets/images/icon2.png";
 import videoimage from "@/assets/images/video.png";
 import fileagent from "@/assets/images/fileagent.png";
 import zhiduagent from "@/assets/images/zhiduagent.png";
 import jishuimage2 from "@/assets/images/jishuimage.png";
-import zhanlueimage from "@/assets/images/zhanlue.jpg"; // 战略解码
+import zhanlueimage from "@/assets/images/zhanlue.png"; // 战略解码
 import safeimage from "@/assets/images/safe.png"; // 安全合规管理
-import zuzhiimage from "@/assets/images/zuzhi.jpg";
+import zuzhiimage from "@/assets/images/zuzhi.png";
 import youimage from "@/assets/images/youcnag.png"; // ai智能体
-import hongpan from "@/assets/images/鸿盘.jpg"; // ai智能体
+import hongpan from "@/assets/images/pan.png"; // ai智能体
 
 type PortalApp = {
   label: string;
@@ -542,13 +541,14 @@ const getGreeting = () => {
 // 添加轮播数据
 const slides = ref([
   {
-    image: banner1,
+    image: banner2,
     text: "",
   },
   {
-    image: banner2,
-    text: "",
+    image: banner1,
+    text: "保持热爱,奔赴目标!",
   },
+
   {
     image: banner4,
     text: "智慧平台,赋能高效协同",