Files
t-admin/unpackage/dist/build/web/assets/pages-index-index.BIisbog_.js
T
2025-06-13 21:16:12 +08:00

2 lines
10 KiB
JavaScript

import{_ as e,e as t,p as a,n as i,s as l,r as s,a as n,c as r,w as o,i as d,b as c,d as u,f as h,g as f,o as m,h as _,j as g,k as p,l as b,F as y,I as C,m as x,q as k,t as w,u as v}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").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(){let e=await j.collection("uni-id-users").where("_id==$cloudEnv_uid").field("username,nickname,mobile,email,role,permission").get();console.log(e.result.data[0]),console.log(e.result.data[0].role.includes("admin")),!1===e.result.data[0].role.includes("admin")?(this.where={user_id:e.result.data[0]._id},this.where._id&&this.$refs.udb.loadData(),this.loadCategories()):(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 s of i)if("number"==typeof s&&isNaN(s))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=d,F=C,E=x,j=s(n("download-excel"),D),L=s(n("uni-th"),c),q=s(n("uni-tr"),u),V=v,N=s(n("uni-td"),h),P=s(n("uni-dateformat"),$),O=s(n("uni-table"),f),U=s(n("uni-pagination"),S),A=s(n("unicloud-db"),z);return m(),r(I,null,{default:o((()=>[_(I,{class:"uni-header"},{default:o((()=>[_(I,{class:"uni-group"},{default:o((()=>[_(I,{class:"uni-title"})])),_:1}),_(I,{class:"uni-group"},{default:o((()=>[_(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"]),_(E,{class:"uni-button",type:"default",size:"mini",onClick:T.search},{default:o((()=>[g("搜索")])),_:1},8,["onClick"]),_(E,{class:"uni-button",type:"primary",size:"mini",onClick:t[1]||(t[1]=e=>T.navigateTo("../../uni_modules/uni-cms/pages/article/add/add"))},{default:o((()=>[g("新增")])),_:1}),_(E,{class:"uni-button",type:"warn",size:"mini",disabled:!l.selectedIndexs.length,onClick:T.delTable},{default:o((()=>[g(" 批量删除 ")])),_:1},8,["disabled","onClick"]),_(j,{class:"hide-on-phone",fields:l.exportExcel.fields,data:l.exportExcelData,type:l.exportExcel.type,name:l.exportExcel.filename},{default:o((()=>[_(E,{class:"uni-button",type:"primary",size:"mini"},{default:o((()=>[g("导出 Excel")])),_:1})])),_:1},8,["fields","data","type","name"])])),_:1})])),_:1}),_(I,{class:"uni-container"},{default:o((()=>[_(A,{ref:"udb",collection:l.collectionList,where:l.where,"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:s})=>[_(O,{ref:"table",loading:a,emptyText:i.message||"没有更多数据",border:"",stripe:"",type:"selection",onSelectionChange:T.selectionChange},{default:o((()=>[_(q,null,{default:o((()=>[_(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((()=>[g("封面大图 ")])),_:1}),_(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((()=>[g("标题 ")])),_:1}),_(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((()=>[g("摘要 ")])),_:1}),_(L,{align:"center",sortable:"",onSortChange:t[8]||(t[8]=e=>T.sortChange(e,"user_id"))},{default:o((()=>[g("作者")])),_:1}),_(L,{align:"center","filter-type":"select","filter-data":s.filterData.categories,onFilterChange:t[9]||(t[9]=e=>T.filterChange(e,"category_id._id"))},{default:o((()=>[g("分类")])),_:2},1032,["filter-data"]),_(L,{align:"center","filter-type":"select","filter-data":s.filterData.article_status_localdata,onFilterChange:t[10]||(t[10]=e=>T.filterChange(e,"article_status"))},{default:o((()=>[g("文章状态 ")])),_:2},1032,["filter-data"]),_(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((()=>[g("阅读数量 ")])),_:1}),_(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((()=>[g("发布时间 ")])),_:1}),_(L,{align:"center"},{default:o((()=>[g("操作")])),_:1})])),_:2},1024),(m(!0),p(y,null,b(l.tableList,((e,t)=>(m(),r(q,{key:t},{default:o((()=>[e.thumbnail&&e.thumbnail.length>0?(m(),r(N,{key:0,align:"center"},{default:o((()=>[_(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?(m(),r(I,{key:0,class:"multi-tip"},{default:o((()=>[g("3图")])),_:1})):k("",!0)])),_:2},1024)):(m(),r(N,{key:1,align:"center"},{default:o((()=>[g("无封面")])),_:1})),_(N,{align:"center"},{default:o((()=>[g(w(e.title),1)])),_:2},1024),_(N,{align:"center"},{default:o((()=>[g(w(e.excerpt),1)])),_:2},1024),_(N,{align:"center"},{default:o((()=>[g(w(e.user_id&&e.user_id[0]&&e.user_id[0].nickname||"-"),1)])),_:2},1024),_(N,{align:"center"},{default:o((()=>[g(w(e.category_id&&e.category_id[0]&&e.category_id[0].text||"-"),1)])),_:2},1024),_(N,{align:"center"},{default:o((()=>[g(w(s.article_status_valuetotext[e.article_status]),1)])),_:2},1024),_(N,{align:"center"},{default:o((()=>[g(w(e.view_count||0),1)])),_:2},1024),_(N,{align:"center"},{default:o((()=>[_(P,{threshold:[0,0],date:e.publish_date},null,8,["date"])])),_:2},1024),_(N,{align:"center"},{default:o((()=>[_(I,{class:"uni-group"},{default:o((()=>[_(E,{onClick:t=>T.navigateTo("../../uni_modules/uni-cms/pages/article/edit/edit?id="+e._id,!1),class:"uni-button",size:"mini",type:"primary"},{default:o((()=>[g("修改 ")])),_:2},1032,["onClick"]),1===e.article_status?(m(),r(E,{key:0,onClick:t=>T.takeOffArticle(e._id),class:"uni-button",size:"mini",type:"default"},{default:o((()=>[g("下架")])),_:2},1032,["onClick"])):k("",!0),_(E,{onClick:t=>T.confirmDelete(e._id),class:"uni-button",size:"mini",type:"warn"},{default:o((()=>[g("删除")])),_:2},1032,["onClick"])])),_:2},1024)])),_:2},1024)])),_:2},1024)))),128))])),_:2},1032,["loading","emptyText","onSelectionChange"]),_(I,{class:"uni-pagination-box"},{default:o((()=>[_(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","where","orderby","page-size","page-current","options","onLoad"])])),_:1})])),_:1})}],["__scopeId","data-v-d0df2ed2"]]);export{V as default};