| 1 |
- "use strict";const e=require("../../common/vendor.js"),a=require("../../common/assets.js"),t=require("../../store/message.js"),n=require("../../api/message.js");Math||r();const r=()=>"../../components/custom-tabbar/custom-tabbar.js",s={__name:"message",setup(r){const s=e.ref("all"),o=[{name:"全部",key:"all"},{name:"未读",key:"unread"},{name:"已读",key:"read"}],u=e.ref([]),d=e.ref(!1),i=async()=>{d.value=!0;try{const e=await n.getMessageList();if(200===e.code){let a=[];Array.isArray(e.data)?a=e.data:e.rows?a=e.rows:e.data&&e.data.list&&(a=e.data.list),u.value=a.map((e=>({id:e.id,title:e.title||"系统通知",position:e.positionName||"系统消息",company:e.companyName||"审计之家",status:e.status,desc:e.content,time:e.createTime?e.createTime.substring(5,16):"",unread:0===e.isRead}))),l()}}catch(e){console.error("获取消息列表失败",e)}finally{d.value=!1}},l=()=>{const e=u.value.filter((e=>e.unread)).length;t.messageStore.setUnreadCount(e)};e.onMounted((()=>{i()})),e.onShow((()=>{i()})),e.onPullDownRefresh((async()=>{await i(),e.index.stopPullDownRefresh()}));const c=e=>"unread"===e?t.messageStore.unreadCount:"all"===e?u.value.length:"read"===e?u.value.filter((e=>!e.unread)).length:0,m=e.computed((()=>"unread"===s.value?u.value.filter((e=>e.unread)):"read"===s.value?u.value.filter((e=>!e.unread)):u.value)),g=async()=>{try{200===(await n.readAllMessages()).code&&(u.value.forEach((e=>e.unread=!1)),l(),e.index.showToast({title:"已全部设为已读",icon:"none"}))}catch(a){console.error("标记已读失败",a)}};return(r,u)=>e.e({a:e.f(o,((a,t,n)=>e.e({a:e.t(a.name),b:c(a.key)>0},c(a.key)>0?{c:e.t(c(a.key))}:{},{d:a.key,e:e.n(s.value===a.key?"active":""),f:e.o((e=>{return t=a.key,void(s.value=t);var t}),a.key)}))),b:e.unref(t.messageStore).unreadCount>0},e.unref(t.messageStore).unreadCount>0?{c:e.o(g)}:{},{d:e.f(m.value,((a,r,s)=>e.e({a:e.t(a.title),b:a.unread},a.unread?{}:{c:e.t(a.time)},{d:e.t(a.position),e:e.t(a.company),f:a.unread},a.unread?{g:e.t(a.time)}:{},{h:r,i:e.o((r=>(async a=>{if(a.unread)try{await n.readMessage(a.id),a.unread=!1,t.messageStore.setUnreadCount(Math.max(0,t.messageStore.unreadCount-1))}catch(r){console.error("标记单条已读失败",r)}e.index.navigateTo({url:`/pages/message/msgdetail?data=${encodeURIComponent(JSON.stringify(a))}`})})(a)),r)}))),e:a._imports_8,f:0===m.value.length},(m.value.length,{}),{g:e.p({activeIndex:2})})}},o=e._export_sfc(s,[["__scopeId","data-v-f70a8e40"]]);wx.createPage(o);
|