import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-DK5nh4op.js";import"./request-BcX6wdRT.js";import{t as y}from"./office-65rbW6z0.js";var b={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=d([]),D=d(0),O=d(!1),k=d(!1),A=d(!1),j=d(!1),M=p({type:``,publish_status:``}),N=p({page:1,per_page:20}),P=d(null),F=p({id:null,title:``,content:``,type:1,is_top:0}),I={1:`通知`,2:`公告`,3:`制度`},L={1:``,2:`warning`,3:`danger`},R={0:`草稿`,1:`已发布`},z={0:`info`,1:`success`},B={title:[{required:!0,message:`请输入标题`}]};async function V(){O.value=!0;try{let e=await y.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function H(){N.page=1,V()}function U(){Object.assign(M,{type:``,publish_status:``}),H()}function W(){j.value=!1,Object.assign(F,{id:null,title:``,content:``,type:1,is_top:0}),k.value=!0}function G(e){j.value=!0,Object.assign(F,{id:e.id,title:e.title,content:e.content,type:e.type,is_top:e.is_top}),k.value=!0}async function K(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{j.value?await y.update(F.id,F):await y.create(F),v.success(j.value?`更新成功`:`创建成功`),k.value=!1,V()}finally{A.value=!1}}})}async function q(e){await _.confirm(`确定发布该公告吗?发布后不可编辑或删除。`,`发布确认`,{type:`warning`}),await y.publish(e.id),v.success(`发布成功`),V()}async function J(e){await _.confirm(`确定删除该公告吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),V()}function Y(e){N.page=e,V()}function X(e){N.per_page=e,N.page=1,V()}return r(()=>{V()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),T=i(`el-tag`),V=i(`el-table`),Z=i(`el-pagination`),Q=i(`el-input`),$=i(`el-form-item`),te=i(`el-switch`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,b,[m(`div`,ee,[h(_,{modelValue:M.type,"onUpdate:modelValue":d[0]||=e=>M.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:M.publish_status,"onUpdate:modelValue":d[1]||=e=>M.publish_status=e,placeholder:`发布状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),f(u,null,g(R,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:H},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:U},{default:e(()=>[...d[11]||=[o(`重置`,-1)]]),_:1})]),m(`div`,x,[m(`div`,S,[d[13]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`公告列表`)],-1),h(v,{type:`primary`,onClick:W},{default:e(()=>[...d[12]||=[o(`新增公告`,-1)]]),_:1})]),m(`div`,C,[c((n(),s(V,{data:E.value,style:{width:`100%`}},{default:e(()=>[h(y,{prop:`title`,label:`标题`,"min-width":`200`,"show-overflow-tooltip":``}),h(y,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[h(T,{type:L[t.type],size:`small`},{default:e(()=>[o(a(I[t.type]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`置顶`,width:`70`,align:`center`},{default:e(({row:e})=>[o(a(e.is_top?`是`:`否`),1)]),_:1}),h(y,{label:`发布状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(T,{type:z[t.publish_status],size:`small`},{default:e(()=>[o(a(R[t.publish_status]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`作者`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.author?.name||`-`),1)]),_:1}),h(y,{prop:`published_at`,label:`发布时间`,"min-width":`160`}),h(y,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.publish_status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>q(t)},{default:e(()=>[...d[14]||=[o(`发布`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.publish_status===0?(n(),s(v,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.publish_status===0?(n(),s(v,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,O.value]])]),m(`div`,w,[h(Z,{"current-page":N.page,"onUpdate:currentPage":d[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":d[3]||=e=>N.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),h(re,{modelValue:k.value,"onUpdate:modelValue":d[9]||=e=>k.value=e,title:j.value?`编辑公告`:`新增公告`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[8]||=e=>k.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:A.value,onClick:K},{default:e(()=>[...d[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ne,{ref_key:`formRef`,ref:P,model:F,rules:B,"label-width":`80px`},{default:e(()=>[h($,{label:`标题`,prop:`title`},{default:e(()=>[h(Q,{modelValue:F.title,"onUpdate:modelValue":d[4]||=e=>F.title=e,placeholder:`请输入标题`},null,8,[`modelValue`])]),_:1}),h($,{label:`内容`},{default:e(()=>[h(Q,{modelValue:F.content,"onUpdate:modelValue":d[5]||=e=>F.content=e,type:`textarea`,rows:5,placeholder:`请输入内容`},null,8,[`modelValue`])]),_:1}),h($,{label:`类型`},{default:e(()=>[h(_,{modelValue:F.type,"onUpdate:modelValue":d[6]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`置顶`},{default:e(()=>[h(te,{modelValue:F.is_top,"onUpdate:modelValue":d[7]||=e=>F.is_top=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default};