This commit is contained in:
Iaatw
2026-05-08 13:39:01 +08:00
commit 6901a2071a
145 changed files with 420 additions and 0 deletions

View File

@@ -0,0 +1 @@
import{$t as e,Dt as t,Et as n,Ft as r,Gt as i,It as a,K as o,Q as s,St as c,X as l,Z as u,at as d,et as f,hn as p,it as m,rt as h,wt as g,yt as _}from"./editor-DJ72UhpY.js";import{Br as v,Er as y,Hr as b,Yr as x,a as S,kr as C}from"./vendor-BqxQPPIo.js";import{c as w,l as T}from"./index-BsmF42t4.js";import{t as E}from"./post-C2MqO86O.js";import{t as D}from"./category-BqOiLN1V.js";import{t as O}from"./format-D0maeLNC.js";var k={class:`space-y-4`},A={class:`flex justify-between items-center`},j={class:`flex flex-wrap gap-4`},M={class:`flex gap-2`},N={class:`flex justify-center mt-4`},P=d({__name:`PostList`,setup(d){let P=S(),F=E(),I=D(),L=i({keyword:``,status:null,category:null}),R=l(()=>(I.categories||[]).map(e=>({label:e.name,value:e.slug})));async function z(){await F.fetchAdminPosts({page:1,size:10,status:L.value.status||void 0,keyword:L.value.keyword||void 0,category:L.value.category||void 0})}function B(){z()}function V(){L.value={keyword:``,status:null,category:null},z()}function H(e){F.fetchAdminPosts({page:e,size:F.pagination.size,status:L.value.status||void 0,keyword:L.value.keyword||void 0,category:L.value.category||void 0})}function U(e){F.fetchAdminPosts({page:1,size:e,status:L.value.status||void 0,keyword:L.value.keyword||void 0,category:L.value.category||void 0})}function W(e){w.confirm(`确定要删除文章 "${e.title}" 吗?此操作不可恢复。`,`确认删除`,{confirmButtonText:`删除`,cancelButtonText:`取消`,type:`warning`}).then(async()=>{try{await F.deletePost(e.id),T.success(`删除成功`)}catch(e){T.error(e.message||`删除失败`)}}).catch(()=>{})}return _(()=>{z(),I.fetchCategories()}),(i,l)=>{let d=n(`el-icon`),_=n(`el-button`),S=n(`el-input`),w=n(`el-option`),T=n(`el-select`),E=n(`el-card`),D=n(`el-table-column`),I=n(`el-tag`),z=n(`el-table`),G=n(`el-pagination`),K=t(`loading`);return c(),f(`div`,k,[u(`div`,A,[l[7]||=u(`h1`,{class:`text-2xl font-bold`},`文章管理`,-1),m(_,{type:`primary`,onClick:l[0]||=t=>e(P).push(`/admin/posts/create`)},{default:r(()=>[m(d,{class:`mr-1`},{default:r(()=>[m(e(v))]),_:1}),l[6]||=h(` 新建文章 `,-1)]),_:1})]),m(E,null,{default:r(()=>[u(`div`,j,[m(S,{modelValue:L.value.keyword,"onUpdate:modelValue":l[1]||=e=>L.value.keyword=e,placeholder:`搜索文章标题`,clearable:``,style:{width:`200px`}},null,8,[`modelValue`]),m(T,{modelValue:L.value.status,"onUpdate:modelValue":l[2]||=e=>L.value.status=e,placeholder:`文章状态`,clearable:``,style:{width:`150px`}},{default:r(()=>[m(w,{label:`已发布`,value:`published`}),m(w,{label:`草稿`,value:`draft`})]),_:1},8,[`modelValue`]),m(T,{modelValue:L.value.category,"onUpdate:modelValue":l[3]||=e=>L.value.category=e,placeholder:`分类`,clearable:``,style:{width:`150px`}},{default:r(()=>[(c(!0),f(o,null,g(R.value,e=>(c(),s(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(_,{onClick:B},{default:r(()=>[m(d,null,{default:r(()=>[m(e(b))]),_:1}),l[8]||=h(` 搜索 `,-1)]),_:1}),m(_,{onClick:V},{default:r(()=>[...l[9]||=[h(`重置`,-1)]]),_:1})])]),_:1}),a((c(),s(z,{data:e(F).posts,stripe:``},{default:r(()=>[m(D,{label:`标题`,"min-width":`200`,"show-overflow-tooltip":``},{default:r(({row:e})=>[h(p(e.title),1)]),_:1}),m(D,{label:`Slug`,width:`200`,"show-overflow-tooltip":``},{default:r(({row:e})=>[h(p(e.slug),1)]),_:1}),m(D,{label:`分类`,width:`120`},{default:r(({row:e})=>[h(p(e.category?.name||`-`),1)]),_:1}),m(D,{label:`状态`,width:`100`},{default:r(({row:e})=>[m(I,{type:e.published_at?`success`:`warning`,size:`small`},{default:r(()=>[h(p(e.published_at?`已发布`:`草稿`),1)]),_:2},1032,[`type`])]),_:1}),m(D,{prop:`views`,label:`阅读量`,width:`100`}),m(D,{label:`发布时间`,width:`180`},{default:r(({row:t})=>[h(p(t.published_at?e(O)(t.published_at):`-`),1)]),_:1}),m(D,{label:`操作`,width:`250`,fixed:`right`},{default:r(({row:t})=>[u(`div`,M,[m(_,{size:`small`,onClick:n=>e(P).push(`/post/${t.slug}`)},{default:r(()=>[m(d,null,{default:r(()=>[m(e(x))]),_:1}),l[10]||=h(` 预览 `,-1)]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`primary`,onClick:n=>e(P).push(`/admin/posts/edit/${t.id}`)},{default:r(()=>[m(d,null,{default:r(()=>[m(e(C))]),_:1}),l[11]||=h(` 编辑 `,-1)]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,onClick:e=>W(t)},{default:r(()=>[m(d,null,{default:r(()=>[m(e(y))]),_:1}),l[12]||=h(` 删除 `,-1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[K,e(F).loading]]),u(`div`,N,[m(G,{"current-page":e(F).pagination.page,"onUpdate:currentPage":l[4]||=t=>e(F).pagination.page=t,"page-size":e(F).pagination.size,"onUpdate:pageSize":l[5]||=t=>e(F).pagination.size=t,"page-sizes":[10,20,50],total:e(F).pagination.total,layout:`total, sizes, prev, pager, next`,onSizeChange:U,onCurrentChange:H},null,8,[`current-page`,`page-size`,`total`])])])}}});export{P as default};