Files
zcglxt/frontend/dist/assets/NotificationCenter-DPvRvrcl.js

2 lines
7.9 KiB
JavaScript

var fe=Object.defineProperty,me=Object.defineProperties;var ge=Object.getOwnPropertyDescriptors;var F=Object.getOwnPropertySymbols;var _e=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable;var H=(u,s,l)=>s in u?fe(u,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):u[s]=l,O=(u,s)=>{for(var l in s||(s={}))_e.call(s,l)&&H(u,l,s[l]);if(F)for(var l of F(s))ye.call(s,l)&&H(u,l,s[l]);return u},Q=(u,s)=>me(u,ge(s));var _=(u,s,l)=>new Promise((D,R)=>{var T=i=>{try{h(l.next(i))}catch(v){R(v)}},w=i=>{try{h(l.throw(i))}catch(v){R(v)}},h=i=>i.done?D(i.value):Promise.resolve(i.value).then(T,w);h((l=l.apply(u,s)).next())});import{_ as ke}from"./_plugin-vue_export-helper-DRcqrMy4.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{v as Ce,aA as be,j as he,y as d,B as z,C as n,D as o,E as r,z as E,P as y,Q as c,M as Ve,K as Ee,a5 as we,G as xe,R as C,Y as U,u as N,r as b,c as ze}from"./vue-vendor-81Zqb-7t.js";import{z as Ae,A as Y,B as Ne,C as q,D as Re}from"./index-cmyWCBIy.js";import{u as Te}from"./usePagination-Bv7ipmyC.js";import{an as De,ao as Se,t as Be,h as Me,j as Ue,H as Pe,I as $e,ae as Ie,J as Je,K as Le,D as je,L as Ge,E as p}from"./element-plus-CSxUwlOP.js";import"./index-Dua4jQwX.js";const Ke={class:"notification-center"},Fe={class:"batch-actions"},He={class:"notification-list"},Oe=["onClick"],Qe={class:"notification-header"},Ye={class:"notification-title"},qe={class:"title-text"},We={class:"notification-time"},Xe={class:"notification-body"},Ze={class:"notification-footer"},ea={class:"pagination"},aa={key:0,class:"notification-detail"},ta={class:"detail-meta"},la={class:"detail-time"},oa={class:"detail-content"},na={key:0,class:"detail-extra"},sa=Ce({__name:"NotificationCenter",setup(u){const s=be(),{pagination:l,resetPage:D,setTotal:R}=Te(),T=[{label:"系统通知",value:"system",color:"info"},{label:"审批通知",value:"approval",color:"warning"},{label:"资产预警",value:"alert",color:"danger"},{label:"任务提醒",value:"task",color:"primary"},{label:"调拨通知",value:"transfer",color:"success"},{label:"维修通知",value:"maintenance",color:"warning"}],w=b("all"),h=b(!1),i=b([]),v=b(0),A=b(!1),f=b(null),S=b(!1),B=b(!1),x=ze(()=>i.value.filter(a=>a.selected).map(a=>a.id)),k=()=>_(this,null,function*(){h.value=!0;try{const a={page:l.page,page_size:l.pageSize};w.value==="unread"?a.is_read=!1:w.value==="read"&&(a.is_read=!0);const e=yield Ae(a);i.value=e.items.map(m=>Q(O({},m),{selected:!1})),R(e.total),v.value=e.unreadCount||0}catch(a){p.error("获取消息列表失败")}finally{h.value=!1}}),W=()=>{D(),k()},P=()=>{k()},X=()=>{const a=i.value.filter(e=>e.selected).length;S.value=a===i.value.length,B.value=a>0&&a<i.value.length},Z=a=>{i.value.forEach(e=>{e.selected=a}),B.value=!1},ee=()=>_(this,null,function*(){try{yield Y(x.value),p.success("标记成功"),k()}catch(a){p.error("标记失败")}}),ae=()=>_(this,null,function*(){try{yield Ne(x.value),p.success("标记成功"),k()}catch(a){p.error("标记失败")}}),te=()=>_(this,null,function*(){try{yield q(x.value),p.success("删除成功"),k()}catch(a){p.error("删除失败")}}),le=()=>_(this,null,function*(){try{yield Re(),p.success("操作成功"),k()}catch(a){p.error("操作失败")}}),$=a=>_(this,null,function*(){try{yield Y([a.id]),a.isRead=!0,v.value=Math.max(0,v.value-1)}catch(e){p.error("标记失败")}}),oe=a=>_(this,null,function*(){f.value=a,A.value=!0,a.isRead||(yield $(a))}),ne=a=>_(this,null,function*(){try{yield q([a]),p.success("删除成功"),k()}catch(e){p.error("删除失败")}}),I=a=>{a.link&&(s.push(a.link),A.value=!1)},J=a=>{const e=T.find(m=>m.value===a);return(e==null?void 0:e.color)||""},L=a=>{const e=T.find(m=>m.value===a);return(e==null?void 0:e.label)||a},se=a=>{try{return JSON.stringify(a,null,2)}catch(e){return a}};return he(()=>{k()}),(a,e)=>{var K;const m=Be,M=Se,j=Me,g=Ue,ie=De,G=Pe,re=$e,de=Ie,ue=Le,ce=je,pe=Ge,ve=Je;return d(),z("div",Ke,[n(ce,null,{default:o(()=>[n(ie,{modelValue:w.value,"onUpdate:modelValue":e[1]||(e[1]=t=>w.value=t),onTabChange:W},{extra:o(()=>[r("div",Fe,[n(j,{modelValue:S.value,"onUpdate:modelValue":e[0]||(e[0]=t=>S.value=t),indeterminate:B.value,onChange:Z},{default:o(()=>[...e[9]||(e[9]=[c(" 全选 ",-1)])]),_:1},8,["modelValue","indeterminate"]),n(g,{disabled:x.value.length===0,onClick:ee},{default:o(()=>[...e[10]||(e[10]=[c(" 标记已读 ",-1)])]),_:1},8,["disabled"]),n(g,{disabled:x.value.length===0,onClick:ae},{default:o(()=>[...e[11]||(e[11]=[c(" 标记未读 ",-1)])]),_:1},8,["disabled"]),n(g,{type:"danger",disabled:x.value.length===0,onClick:te},{default:o(()=>[...e[12]||(e[12]=[c(" 批量删除 ",-1)])]),_:1},8,["disabled"]),n(g,{onClick:le},{default:o(()=>[...e[13]||(e[13]=[c(" 全部已读 ",-1)])]),_:1})])]),default:o(()=>[n(M,{label:"全部消息",name:"all"},{label:o(()=>[e[7]||(e[7]=r("span",null,"全部消息",-1)),v.value>0?(d(),E(m,{key:0,value:v.value,class:"tab-badge"},null,8,["value"])):y("",!0)]),_:1}),n(M,{name:"unread"},{label:o(()=>[e[8]||(e[8]=r("span",null,"未读消息",-1)),v.value>0?(d(),E(m,{key:0,value:v.value,class:"tab-badge"},null,8,["value"])):y("",!0)]),_:1}),n(M,{label:"已读消息",name:"read"})]),_:1},8,["modelValue"]),Ve((d(),z("div",He,[(d(!0),z(Ee,null,we(i.value,t=>(d(),z("div",{key:t.id,class:xe(["notification-item",{unread:!t.isRead}])},[n(j,{modelValue:t.selected,"onUpdate:modelValue":V=>t.selected=V,onChange:X},null,8,["modelValue","onUpdate:modelValue"]),r("div",{class:"notification-content",onClick:V=>oe(t)},[r("div",Qe,[r("div",Ye,[n(G,{type:J(t.type),size:"small",class:"type-tag"},{default:o(()=>[c(C(L(t.type)),1)]),_:2},1032,["type"]),r("span",qe,C(t.title),1),t.isRead?y("",!0):(d(),E(m,{key:0,"is-dot":"",class:"unread-dot"}))]),r("div",We,C(t.createdAt),1)]),r("div",Xe,C(t.content),1),r("div",Ze,[t.link?(d(),E(g,{key:0,link:"",type:"primary",onClick:U(V=>I(t),["stop"])},{default:o(()=>[...e[14]||(e[14]=[c(" 查看详情 ",-1)])]),_:1},8,["onClick"])):y("",!0),t.isRead?y("",!0):(d(),E(g,{key:1,link:"",type:"primary",onClick:U(V=>$(t),["stop"])},{default:o(()=>[...e[15]||(e[15]=[c(" 标记已读 ",-1)])]),_:1},8,["onClick"])),n(re,{title:"确定删除该消息吗?",onConfirm:U(V=>ne(t.id),["stop"])},{reference:o(()=>[n(g,{link:"",type:"danger"},{default:o(()=>[...e[16]||(e[16]=[c("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])])],8,Oe)],2))),128)),i.value.length===0?(d(),E(de,{key:0,description:"暂无消息"})):y("",!0)])),[[ve,h.value]]),r("div",ea,[n(ue,{"current-page":N(l).page,"onUpdate:currentPage":e[2]||(e[2]=t=>N(l).page=t),"page-size":N(l).pageSize,"onUpdate:pageSize":e[3]||(e[3]=t=>N(l).pageSize=t),total:N(l).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onSizeChange:P,onCurrentChange:P},null,8,["current-page","page-size","total"])])]),_:1}),n(pe,{modelValue:A.value,"onUpdate:modelValue":e[6]||(e[6]=t=>A.value=t),title:(K=f.value)==null?void 0:K.title,width:"600px"},{footer:o(()=>{var t;return[n(g,{onClick:e[4]||(e[4]=V=>A.value=!1)},{default:o(()=>[...e[17]||(e[17]=[c("关闭",-1)])]),_:1}),(t=f.value)!=null&&t.link?(d(),E(g,{key:0,type:"primary",onClick:e[5]||(e[5]=V=>I(f.value))},{default:o(()=>[...e[18]||(e[18]=[c(" 查看详情 ",-1)])]),_:1})):y("",!0)]}),default:o(()=>[f.value?(d(),z("div",aa,[r("div",ta,[n(G,{type:J(f.value.type)},{default:o(()=>[c(C(L(f.value.type)),1)]),_:1},8,["type"]),r("span",la,C(f.value.createdAt),1)]),r("div",oa,C(f.value.content),1),f.value.extra?(d(),z("div",na,[r("pre",null,C(se(f.value.extra)),1)])):y("",!0)])):y("",!0)]),_:1},8,["modelValue","title"])])}}}),Aa=ke(sa,[["__scopeId","data-v-6280b459"]]);export{Aa as default};