2 lines
6.5 KiB
JavaScript
2 lines
6.5 KiB
JavaScript
import{d as W,m as X,c as Z,b as w,e as l,w as o,W as Y,s as k,i,j as u,X as q,o as b,k as r,f as G,g as H,t as D,F as J,r as K,I as C,Y as Q}from"./index-CzwJBVIC.js";import{a as V,_ as R}from"./index-8GqMb-ax.js";import{A as ee}from"./AdminCoverUpload-BoIYFuAm.js";import{u as le}from"./uploadUrl-CyxyoWKj.js";const ae={class:"admin-crud-page"},te={class:"page-header"},oe={class:"page-header-filters"},ne=W({__name:"NewsPage",setup(ue){const x=i(!1),I=i(!1),U=i([]),_=i([]),v=i(""),f=i(!1),g=i(null),t=i({});async function F(){const n=t.value.siteCode;if(!n){_.value=[];return}try{const e=await V.getNewsCategories({siteCode:n});_.value=e.data??[]}catch{_.value=[]}}function B(){t.value.categoryId=void 0,F()}async function y(){x.value=!0;try{const n={};v.value&&(n.siteCode=v.value);const e=await V.getNewsList(n);U.value=e.data??[]}catch{U.value=[]}finally{x.value=!1}}function N(n){if(n)g.value=n.newsId,t.value={...n};else{g.value=null;const e=v.value||"wuhansaga";t.value={sortOrder:0,isPublished:0,isFeatured:0,siteCode:e,categoryId:void 0}}f.value=!0,F()}async function S(){I.value=!0;try{g.value?await V.updateNews({...t.value,newsId:g.value}):await V.addNews(t.value),C.success("保存成功"),f.value=!1,y()}catch{C.error("保存失败")}I.value=!1}async function O(n){await Q.confirm("确认删除?","提示",{type:"warning"});try{await V.deleteNews(n),C.success("删除成功"),y()}catch{C.error("删除失败")}}return X(y),(n,e)=>{const m=u("el-option"),h=u("el-select"),c=u("el-button"),s=u("el-table-column"),$=u("el-image"),E=u("el-tag"),A=u("el-table"),p=u("el-input"),d=u("el-form-item"),L=u("el-input-number"),P=u("el-switch"),M=u("el-form"),z=u("el-dialog"),j=q("loading");return b(),Z("div",ae,[w("div",te,[e[18]||(e[18]=w("h2",null,"新闻管理",-1)),w("div",oe,[e[17]||(e[17]=w("span",{style:{"margin-right":"8px"}},"站点",-1)),l(h,{modelValue:v.value,"onUpdate:modelValue":e[0]||(e[0]=a=>v.value=a),placeholder:"全部站点",clearable:"",style:{width:"180px"},onChange:y},{default:o(()=>[l(m,{label:"全部站点",value:""}),l(m,{label:"主站 wuhansaga",value:"wuhansaga"}),l(m,{label:"第二站点 saga-secondary",value:"saga-secondary"})]),_:1},8,["modelValue"]),l(c,{type:"primary",style:{"margin-left":"12px"},onClick:e[1]||(e[1]=a=>N())},{default:o(()=>[...e[16]||(e[16]=[r("新增新闻",-1)])]),_:1})])]),Y((b(),k(A,{data:U.value,border:"",stripe:""},{default:o(()=>[l(s,{prop:"newsId",label:"ID",width:"80"}),l(s,{prop:"siteCode",label:"站点",width:"130"}),l(s,{label:"封面",width:"140"},{default:o(({row:a})=>[a.coverImage?(b(),k($,{key:0,src:G(le)(a.coverImage),style:{width:"100px",height:"50px"},fit:"cover"},null,8,["src"])):H("",!0)]),_:1}),l(s,{prop:"titleZh",label:"标题(中)"}),l(s,{prop:"categoryId",label:"分类ID",width:"80"}),l(s,{prop:"isFeatured",label:"推荐",width:"80"},{default:o(({row:a})=>[l(E,{type:a.isFeatured?"warning":"info"},{default:o(()=>[r(D(a.isFeatured?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),l(s,{prop:"isPublished",label:"状态",width:"80"},{default:o(({row:a})=>[l(E,{type:a.isPublished?"success":"info"},{default:o(()=>[r(D(a.isPublished?"已发布":"草稿"),1)]),_:2},1032,["type"])]),_:1}),l(s,{label:"操作",width:"160",fixed:"right"},{default:o(({row:a})=>[l(c,{size:"small",onClick:T=>N(a)},{default:o(()=>[...e[19]||(e[19]=[r("编辑",-1)])]),_:1},8,["onClick"]),l(c,{size:"small",type:"danger",onClick:T=>O(a.newsId)},{default:o(()=>[...e[20]||(e[20]=[r("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[j,x.value]]),l(z,{modelValue:f.value,"onUpdate:modelValue":e[15]||(e[15]=a=>f.value=a),title:g.value?"编辑新闻":"新增新闻",width:"700px"},{footer:o(()=>[l(c,{onClick:e[14]||(e[14]=a=>f.value=!1)},{default:o(()=>[...e[21]||(e[21]=[r("取消",-1)])]),_:1}),l(c,{type:"primary",onClick:S,loading:I.value},{default:o(()=>[...e[22]||(e[22]=[r("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(M,{model:t.value,"label-width":"120px"},{default:o(()=>[l(d,{label:"标题(中)"},{default:o(()=>[l(p,{modelValue:t.value.titleZh,"onUpdate:modelValue":e[2]||(e[2]=a=>t.value.titleZh=a)},null,8,["modelValue"])]),_:1}),l(d,{label:"标题(英)"},{default:o(()=>[l(p,{modelValue:t.value.titleEn,"onUpdate:modelValue":e[3]||(e[3]=a=>t.value.titleEn=a)},null,8,["modelValue"])]),_:1}),l(d,{label:"站点"},{default:o(()=>[l(h,{modelValue:t.value.siteCode,"onUpdate:modelValue":e[4]||(e[4]=a=>t.value.siteCode=a),placeholder:"请选择",style:{width:"100%"},onChange:B},{default:o(()=>[l(m,{label:"主站 wuhansaga",value:"wuhansaga"}),l(m,{label:"第二站点 saga-secondary",value:"saga-secondary"})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"分类"},{default:o(()=>[l(h,{modelValue:t.value.categoryId,"onUpdate:modelValue":e[5]||(e[5]=a=>t.value.categoryId=a),placeholder:"请选择分类",style:{width:"100%"}},{default:o(()=>[(b(!0),Z(J,null,K(_.value,a=>(b(),k(m,{key:a.newsCategoryId,label:a.nameZh,value:a.newsCategoryId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"摘要(中)"},{default:o(()=>[l(p,{modelValue:t.value.excerptZh,"onUpdate:modelValue":e[6]||(e[6]=a=>t.value.excerptZh=a),type:"textarea",rows:2},null,8,["modelValue"])]),_:1}),l(d,{label:"摘要(英)"},{default:o(()=>[l(p,{modelValue:t.value.excerptEn,"onUpdate:modelValue":e[7]||(e[7]=a=>t.value.excerptEn=a),type:"textarea",rows:2},null,8,["modelValue"])]),_:1}),l(d,{label:"内容(中)"},{default:o(()=>[l(p,{modelValue:t.value.contentZh,"onUpdate:modelValue":e[8]||(e[8]=a=>t.value.contentZh=a),type:"textarea",rows:6},null,8,["modelValue"])]),_:1}),l(d,{label:"内容(英)"},{default:o(()=>[l(p,{modelValue:t.value.contentEn,"onUpdate:modelValue":e[9]||(e[9]=a=>t.value.contentEn=a),type:"textarea",rows:6},null,8,["modelValue"])]),_:1}),l(d,{label:"封面图"},{default:o(()=>[l(ee,{modelValue:t.value.coverImage,"onUpdate:modelValue":e[10]||(e[10]=a=>t.value.coverImage=a),"media-category":"news"},null,8,["modelValue"])]),_:1}),l(d,{label:"排序"},{default:o(()=>[l(L,{modelValue:t.value.sortOrder,"onUpdate:modelValue":e[11]||(e[11]=a=>t.value.sortOrder=a),min:0},null,8,["modelValue"])]),_:1}),l(d,{label:"推荐"},{default:o(()=>[l(P,{modelValue:t.value.isFeatured,"onUpdate:modelValue":e[12]||(e[12]=a=>t.value.isFeatured=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),l(d,{label:"发布状态"},{default:o(()=>[l(P,{modelValue:t.value.isPublished,"onUpdate:modelValue":e[13]||(e[13]=a=>t.value.isPublished=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),me=R(ne,[["__scopeId","data-v-e4a64c9a"]]);export{me as default};
|