diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/FooterBar.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/FooterBar.vue index 602c4a91..dc69f70f 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/FooterBar.vue +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/FooterBar.vue @@ -20,6 +20,7 @@ import { onMounted } from 'vue'; import { getMessageUnreadCount } from '@/api/enforcement/index'; import nosIcon from '@/assets/images/nos/off_site_bottom_icon.png'; import tabBarBg from '@/assets/images/nos/tab_bar_bg.png'; +import { messageUnread, setMessageStats } from '@/store/messageState'; const props = defineProps({ active: { @@ -30,8 +31,6 @@ const props = defineProps({ const router = useRouter(); -const messageUnread = ref(0); - const tabs = [ { key: 'home', label: '首页', route: '/enforcement/enforcementHome', @@ -64,16 +63,16 @@ const onTabClick = (item) => { if (item.key === props.active) return; if (router.currentRoute.value.path !== item.route) { router.replace(item.route); - } - fetchMessageUnreadCount(); + } + // console.log('获取消息未读数量2222'); + // fetchMessageUnreadCount(); }; // ========== 获取消息未读数量 ========== const fetchMessageUnreadCount = () => { getMessageUnreadCount({}, (res) => { if (res && res.code === 200 && res.data) { - const totalCount = Number(res.data.totalCount) || 0; - messageUnread.value = totalCount; + setMessageStats(res.data); } }, () => { // 接口调用失败不处理 diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/store/messageState.js b/zdxt-web-client/zdxt-efcode-enforcement-app/src/store/messageState.js index 2883364c..d1423237 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/store/messageState.js +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/store/messageState.js @@ -6,6 +6,12 @@ import { ref, computed } from 'vue'; * - 消息中心页面负责写入;其他页面仅读取用于 footer-bar 角标展示 */ export const messageUnread = ref(0); +export const pffwCount = ref(0); // 普法服务未读数量 +export const zfpjcount = ref(0); // 执法评价未读数量 +export const zfygCount = ref(0); // 执法预告未读数量 +export const jhtzcount = ref(0); // 计划通知未读数量 +export const zfywCount = ref(0); // 执法任务未读数量 +export const zfyyCount = ref(0); // 执法预约未读数量 /** 格式化为角标展示值(0 显示空) */ export const messageUnreadBadge = computed(() => (messageUnread.value > 0 ? messageUnread.value : '')); @@ -15,6 +21,17 @@ export const setMessageUnread = (count) => { messageUnread.value = Number(count) || 0; }; +/** 设置所有消息数量 */ +export const setMessageStats = (data) => { + pffwCount.value = Number(data.pffwCount) || 0; + zfpjcount.value = Number(data.zfpjcount) || 0; + zfygCount.value = Number(data.zfygCount) || 0; + jhtzcount.value = Number(data.jhtzcount) || 0; + zfywCount.value = Number(data.zfywCount) || 0; + zfyyCount.value = Number(data.zfyyCount) || 0; + messageUnread.value = Number(data.totalCount) || 0; +}; + // 占位 default 导出:src/store 目录会被 globalStore.js 通过 import.meta.glob // 以 { import: 'default' } 的方式扫描,缺少 default 会触发 // "does not provide an export named 'default'" 错误。 diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/law/lawServiceDetail.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/law/lawServiceDetail.vue index a12b9512..1230aa6f 100644 --- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/law/lawServiceDetail.vue +++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/law/lawServiceDetail.vue @@ -24,8 +24,8 @@ {{ detail.time }} - -