From 83d251608828d17dbb9a8d480c13a1a7c0a20eb5 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: Wed, 29 Apr 2026 16:20:18 +0800
Subject: [PATCH] 修改主页跳转

---
 src/views/work/menuIndex/index.vue |   52 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 34 insertions(+), 18 deletions(-)

diff --git a/src/views/work/menuIndex/index.vue b/src/views/work/menuIndex/index.vue
index 167b244..f0d689a 100644
--- a/src/views/work/menuIndex/index.vue
+++ b/src/views/work/menuIndex/index.vue
@@ -11,10 +11,20 @@
               <span class="more-link" @click="toNoticeMng">更多 ></span>
             </div>
             <div class="notice-list">
-              <div class="notice-item" v-for="item in noticeList" :key="item">
-                <span class="notice-title" @click="openNoticeFile(item.filePath)">{{item.content}}</span>
-                <span class="notice-date">{{item.publishDate}}</span>
-              </div>
+
+              <template v-if="noticeLoading">
+                <div v-for="i in 6" :key="i" class="notice-item skeleton">
+                  <div class="skeleton-title"></div>
+                  <div class="skeleton-date"></div>
+                </div>
+              </template>
+
+              <template v-else>
+                <div class="notice-item" v-for="item in noticeList" :key="item.id">
+                  <span class="notice-title" @click="openNoticeFile(item.filePath)">{{item.content}}</span>
+                  <span class="notice-date">{{item.publishDate}}</span>
+                </div>
+              </template>
             </div>
           </div>
 
@@ -179,12 +189,6 @@
 import userDialog from '@/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue'
 import editDialog from '@/views/build/conpanyFunctionConsult/infoPlatform/components/editDialog.vue'
 import sealDialog from "@/views/work/sealManagement/apply/components/editDialog"
-import menu1 from '@/assets/icons/menu1.png'
-import menu2 from '@/assets/icons/menu2.png'
-import menu3 from '@/assets/icons/menu3.png'
-import menu4 from '@/assets/icons/menu4.png'
-import menu5 from '@/assets/icons/menu5.png'
-import menu6 from '@/assets/icons/menu6.png'
 
 // 引入农历库
 import * as lunarCalendar from 'lunar-calendar'
@@ -206,6 +210,8 @@
 const calendarRef = ref()
 const dialogRef = ref()
 const noticeRef = ref();
+const noticeLoading = ref(true)
+
 const userStore = useUserStore()
 const state = reactive({
   noticeParams: {
@@ -243,10 +249,13 @@
     state.platformParams.companyId = userStore.companyId
     state.isAdmin = false
   }
-  await getNoticeList()
-  await getPlatformList()
-  await getFlowList()
-  await getMemo()
+  // 并行加载所有数据
+  await Promise.allSettled([
+    getNoticeList(),
+    getPlatformList(),
+    getFlowList(),
+    getMemo()
+  ])
   state.platformList.forEach(system => {
     cardStates.value[system.id] = {
       mouseX: 0,
@@ -292,10 +301,17 @@
     noticeRef.value.openDialog('review', data,state.companyList)
   }
 }
-function getNoticeList() {
-  listNotice(state.noticeParams).then(res => {
-    state.noticeList = res.data.list
-  })
+async function getNoticeList() {
+  try {
+    noticeLoading.value = true
+    const res = await listNotice(state.noticeParams)
+    state.noticeList = res.data.list || []
+  } catch (error) {
+    console.error('获取通知公告失败:', error)
+    state.noticeList = []
+  } finally {
+    noticeLoading.value = false
+  }
 }
 const getCompanyList = async ()=>{
   const queryParams = {

--
Gitblit v1.9.2