多体系建设信息化条统-前端
祖安之光
4 days ago 83d251608828d17dbb9a8d480c13a1a7c0a20eb5
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 = {