| | |
| | | <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> |
| | | |
| | |
| | | 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' |
| | |
| | | const calendarRef = ref() |
| | | const dialogRef = ref() |
| | | const noticeRef = ref(); |
| | | const noticeLoading = ref(true) |
| | | |
| | | const userStore = useUserStore() |
| | | const state = reactive({ |
| | | noticeParams: { |
| | |
| | | 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, |
| | |
| | | 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 = { |