Files
t-admin/unpackage/dist/build/web/assets/uni_modules-uni-cms-pages-article-list-list.1qRALtUv.js
T
2025-06-13 21:16:12 +08:00

2 lines
9.8 KiB
JavaScript

import{_ as e,e as t,p as a,n as i,s as l,r as n,a as s,c as r,w as o,i as c,b as d,d as u,f as h,g as f,o as _,h as g,j as p,k as m,l as b,F as y,I as C,m as x,q as k,t as v,u as w}from"./index-CS85kPhe.js";import{_ as D}from"./download-excel.B45WMLhc.js";import{_ as $}from"./uni-dateformat.AFBZPd5V.js";import{_ as S}from"./uni-pagination.b7xQ_-xQ.js";import{_ as z}from"./unicloud-db.CIw_Ucsr.js";import{e as T,p as I,f as F}from"./parse-image-url.DMlxjna7.js";import{a as E}from"./auth-mixin.C3ywdojs.js";const j=t.database(),L=["title","excerpt"],q={ascending:"asc",descending:"desc"};const V=e({mixins:[E],data:()=>({collectionList:[j.collection("uni-cms-articles").where("user_id==$cloudEnv_uid").field("is_admin,user_id,category_id,content,title,excerpt,article_status,view_count,like_count,is_sticky,is_essence,comment_status,comment_count,last_comment_user_id,thumbnail,publish_date,publish_ip,last_modify_date,last_modify_ip").getTemp(),j.collection("uni-cms-categories").field("name as text, _id").getTemp(),j.collection("uni-id-users").field("nickname, _id").getTemp()],query:"",where:"",orderby:"",orderByFieldName:"",selectedIndexs:[],options:{pageSize:20,pageCurrent:1,filterData:{article_status_localdata:[{value:0,text:"草稿箱"},{value:1,text:"已发布"}],comment_status_localdata:[{value:0,text:"关闭"},{value:1,text:"开放"}],categories:[]},...T},imageStyles:{width:64,height:64},exportExcel:{filename:"uni-cms-articles.xls",type:"xls",fields:{"用户ID":"user_id","分类":"category_id","标题":"title","文章内容":"content","文章摘录":"excerpt","文章状态":"article_status","阅读数量":"view_count","点赞数":"like_count","是否置顶":"is_sticky","阅读加精":"is_essence","开放评论":"comment_status","评论数":"comment_count","最后评论的用户ID":"last_comment_user_id","封面大图":"thumbnail","发表时间":"publish_date","发布文章时IP地址":"publish_ip","最后修改时间":"last_modify_date","最后修改人IP":"last_modify_ip"}},tableList:[],exportExcelData:[]}),async onLoad(){this._filter={}},async onReady(){this.$refs.udb.loadData(),this.loadCategories()},methods:{async loadCategories(){const{result:e}=await j.collection("uni-cms-categories").get();e&&(this.options.filterData.categories=e.data.map((e=>({text:e.name,value:e._id}))))},previewCover(e){a({current:e[0],urls:e})},async onqueryload(e){let t=[];for(const a of e){a.thumbnail&&"string"==typeof a.thumbnail&&(a.thumbnail=[a.thumbnail]);const e=await I(a.thumbnail);a.thumbnail=e.map((e=>e.src)),t.push(a)}this.tableList=t,this.exportExcelData=t},getWhere(){const e=this.query.trim();if(!e)return"";const t=new RegExp(e,"i");return L.map((e=>t+".test("+e+")")).join(" || ")},search(){const e=this.getWhere();this.where=e,this.$nextTick((()=>{this.loadData()}))},loadData(e=!0){this.$refs.udb.loadData({clear:e})},onPageChanged(e){this.selectedIndexs.length=0,this.$refs.table.clearSelection(),this.$refs.udb.loadData({current:e.current})},navigateTo(e,t){i({url:e,events:{refreshData:()=>{this.loadData(t)}}})},selectedItems(){var e=this.$refs.udb.dataList;return this.selectedIndexs.map((t=>e[t]._id))},delTable(){this.$refs.udb.remove(this.selectedItems(),{success:e=>{this.$refs.table.clearSelection()}})},selectionChange(e){this.selectedIndexs=e.detail.index},confirmDelete(e){this.$refs.udb.remove(e,{success:e=>{this.$refs.table.clearSelection()}})},sortChange(e,t){this.orderByFieldName=t,e.order?this.orderby=t+" "+q[e.order]:this.orderby="",this.$refs.table.clearSelection(),this.$nextTick((()=>{this.$refs.udb.loadData()}))},filterChange(e,t){this._filter[t]={type:e.filterType,value:e.filter};const{type:a,value:i}=this._filter[t];if("range"===a)for(const n of i)if("number"==typeof n&&isNaN(n))return;let l=F(this._filter,j.command);Object.keys(l).length?this.where=l:this.where="",this.$nextTick((()=>{this.$refs.udb.loadData()}))},takeOffArticle(e){l({title:"下架文章",content:"文章下架后将不会在前台展示,确定下架吗?",success:t=>{t.confirm&&this.$refs.udb.update(e,{article_status:0},{success:e=>{this.$refs.table.clearSelection(),this.$refs.udb.loadData()}})}})}}},[["render",function(e,t,a,i,l,T){const I=c,F=C,E=x,j=n(s("download-excel"),D),L=n(s("uni-th"),d),q=n(s("uni-tr"),u),V=w,N=n(s("uni-td"),h),P=n(s("uni-dateformat"),$),O=n(s("uni-table"),f),U=n(s("uni-pagination"),S),A=n(s("unicloud-db"),z);return _(),r(I,null,{default:o((()=>[g(I,{class:"uni-header"},{default:o((()=>[g(I,{class:"uni-group"},{default:o((()=>[g(I,{class:"uni-title"})])),_:1}),g(I,{class:"uni-group"},{default:o((()=>[g(F,{class:"uni-search",type:"text",modelValue:l.query,"onUpdate:modelValue":t[0]||(t[0]=e=>l.query=e),onConfirm:T.search,placeholder:"请输入搜索内容"},null,8,["modelValue","onConfirm"]),g(E,{class:"uni-button",type:"default",size:"mini",onClick:T.search},{default:o((()=>[p("搜索")])),_:1},8,["onClick"]),g(E,{class:"uni-button",type:"primary",size:"mini",onClick:t[1]||(t[1]=e=>T.navigateTo("../add/add"))},{default:o((()=>[p("新增")])),_:1}),g(E,{class:"uni-button",type:"warn",size:"mini",disabled:!l.selectedIndexs.length,onClick:T.delTable},{default:o((()=>[p(" 批量删除 ")])),_:1},8,["disabled","onClick"]),g(j,{class:"hide-on-phone",fields:l.exportExcel.fields,data:l.exportExcelData,type:l.exportExcel.type,name:l.exportExcel.filename},{default:o((()=>[g(E,{class:"uni-button",type:"primary",size:"mini"},{default:o((()=>[p("导出 Excel")])),_:1})])),_:1},8,["fields","data","type","name"])])),_:1})])),_:1}),g(I,{class:"uni-container"},{default:o((()=>[g(A,{ref:"udb",collection:l.collectionList,"page-data":"replace",orderby:l.orderby,getcount:!0,"page-size":l.options.pageSize,"page-current":l.options.pageCurrent,options:l.options,loadtime:"manual",onLoad:T.onqueryload},{default:o((({pagination:e,loading:a,error:i,options:n})=>[g(O,{ref:"table",loading:a,emptyText:i.message||"没有更多数据",border:"",stripe:"",type:"selection",onSelectionChange:T.selectionChange},{default:o((()=>[g(q,null,{default:o((()=>[g(L,{align:"center","filter-type":"search",onFilterChange:t[2]||(t[2]=e=>T.filterChange(e,"thumbnail")),sortable:"",onSortChange:t[3]||(t[3]=e=>T.sortChange(e,"thumbnail"))},{default:o((()=>[p("封面大图 ")])),_:1}),g(L,{align:"center","filter-type":"search",onFilterChange:t[4]||(t[4]=e=>T.filterChange(e,"title")),sortable:"",onSortChange:t[5]||(t[5]=e=>T.sortChange(e,"title"))},{default:o((()=>[p("标题 ")])),_:1}),g(L,{align:"center","filter-type":"search",onFilterChange:t[6]||(t[6]=e=>T.filterChange(e,"excerpt")),sortable:"",onSortChange:t[7]||(t[7]=e=>T.sortChange(e,"excerpt"))},{default:o((()=>[p("摘要 ")])),_:1}),g(L,{align:"center",sortable:"",onSortChange:t[8]||(t[8]=e=>T.sortChange(e,"user_id"))},{default:o((()=>[p("作者")])),_:1}),g(L,{align:"center","filter-type":"select","filter-data":n.filterData.categories,onFilterChange:t[9]||(t[9]=e=>T.filterChange(e,"category_id._id"))},{default:o((()=>[p("分类")])),_:2},1032,["filter-data"]),g(L,{align:"center","filter-type":"select","filter-data":n.filterData.article_status_localdata,onFilterChange:t[10]||(t[10]=e=>T.filterChange(e,"article_status"))},{default:o((()=>[p("文章状态 ")])),_:2},1032,["filter-data"]),g(L,{align:"center","filter-type":"range",onFilterChange:t[11]||(t[11]=e=>T.filterChange(e,"view_count")),sortable:"",onSortChange:t[12]||(t[12]=e=>T.sortChange(e,"view_count"))},{default:o((()=>[p("阅读数量 ")])),_:1}),g(L,{align:"center","filter-type":"timestamp",onFilterChange:t[13]||(t[13]=e=>T.filterChange(e,"publish_date")),sortable:"",onSortChange:t[14]||(t[14]=e=>T.sortChange(e,"publish_date"))},{default:o((()=>[p("发布时间 ")])),_:1}),g(L,{align:"center"},{default:o((()=>[p("操作")])),_:1})])),_:2},1024),(_(!0),m(y,null,b(l.tableList,((e,t)=>(_(),r(q,{key:t},{default:o((()=>[e.thumbnail&&e.thumbnail.length>0?(_(),r(N,{key:0,align:"center"},{default:o((()=>[g(V,{src:e.thumbnail[0],mode:"aspectFill",style:{width:"120px",height:"80px",cursor:"pointer","border-radius":"4px"},onClick:t=>T.previewCover(e.thumbnail)},null,8,["src","onClick"]),e.thumbnail&&e.thumbnail.length>=3?(_(),r(I,{key:0,class:"multi-tip"},{default:o((()=>[p("3图")])),_:1})):k("",!0)])),_:2},1024)):(_(),r(N,{key:1,align:"center"},{default:o((()=>[p("无封面")])),_:1})),g(N,{align:"center"},{default:o((()=>[p(v(e.title),1)])),_:2},1024),g(N,{align:"center"},{default:o((()=>[p(v(e.excerpt),1)])),_:2},1024),g(N,{align:"center"},{default:o((()=>[p(v(e.user_id&&e.user_id[0]&&e.user_id[0].nickname||"-"),1)])),_:2},1024),g(N,{align:"center"},{default:o((()=>[p(v(e.category_id&&e.category_id[0]&&e.category_id[0].text||"-"),1)])),_:2},1024),g(N,{align:"center"},{default:o((()=>[p(v(n.article_status_valuetotext[e.article_status]),1)])),_:2},1024),g(N,{align:"center"},{default:o((()=>[p(v(e.view_count||0),1)])),_:2},1024),g(N,{align:"center"},{default:o((()=>[g(P,{threshold:[0,0],date:e.publish_date},null,8,["date"])])),_:2},1024),g(N,{align:"center"},{default:o((()=>[g(I,{class:"uni-group"},{default:o((()=>[g(E,{onClick:t=>T.navigateTo("../edit/edit?id="+e._id,!1),class:"uni-button",size:"mini",type:"primary"},{default:o((()=>[p("修改 ")])),_:2},1032,["onClick"]),1===e.article_status?(_(),r(E,{key:0,onClick:t=>T.takeOffArticle(e._id),class:"uni-button",size:"mini",type:"default"},{default:o((()=>[p("下架")])),_:2},1032,["onClick"])):k("",!0),g(E,{onClick:t=>T.confirmDelete(e._id),class:"uni-button",size:"mini",type:"warn"},{default:o((()=>[p("删除")])),_:2},1032,["onClick"])])),_:2},1024)])),_:2},1024)])),_:2},1024)))),128))])),_:2},1032,["loading","emptyText","onSelectionChange"]),g(I,{class:"uni-pagination-box"},{default:o((()=>[g(U,{"show-icon":"","page-size":e.size,modelValue:e.current,"onUpdate:modelValue":t=>e.current=t,total:e.count,onChange:T.onPageChanged},null,8,["page-size","modelValue","onUpdate:modelValue","total","onChange"])])),_:2},1024)])),_:1},8,["collection","orderby","page-size","page-current","options","onLoad"])])),_:1})])),_:1})}],["__scopeId","data-v-2a8c0c09"]]);export{V as default};