import{_ as U,b as n,d as F,c as M,h as d,a as t,e as l,r as i,t as w,g as _,B,E as c,y as L,C as R,o as H}from"./index-BZ-MVW6h.js";const N={class:"theme-edit-container"},q={class:"css-preview"},P={class:"template-preview"},z={__name:"ThemeEdit",setup(A){const u=L(),x=B(),m=n(),v=n(!1),y=n(!0),b=n("edit"),h=n("edit"),a=n({id:"",name:"",description:"",css_styles:"",template:""}),T={id:[{required:!0,message:"请输入主题ID",trigger:"blur"},{pattern:/^[a-zA-Z0-9_]+$/,message:"主题ID只能包含字母、数字和下划线",trigger:"blur"},{min:1,max:50,message:"主题ID长度在 1 到 50 个字符",trigger:"blur"}],name:[{required:!0,message:"请输入主题名称",trigger:"blur"},{min:1,max:50,message:"主题名称长度在 1 到 50 个字符",trigger:"blur"}],description:[{max:200,message:"主题描述长度不能超过 200 个字符",trigger:"blur"}]},k={default:{id:"default",name:"默认主题",description:"简洁大方的默认样式",css_styles:".article { max-width: 800px; margin: 0 auto; padding: 20px; }",template:`<div class="article">
<h1>{{ title }}</h1>
<div class="content">{{ content }}</div>
</div>`},orangeheart:{id:"orangeheart",name:"橙心主题",description:"温暖的橙色主题",css_styles:".article { background-color: #fff3e0; border: 1px solid #ffcc80; }",template:`<div class="article orangeheart">
<h1>{{ title }}</h1>
<div class="content">{{ content }}</div>
</div>`}},I=async()=>{const p=x.params.themeId;if(!p){c.error("主题ID无效"),u.push("/theme/list");return}const e=R.service({lock:!0,text:"加载主题数据中...",background:"rgba(255, 255, 255, 0.7)"});try{await new Promise(r=>setTimeout(r,500));const o=k[p];o?a.value={...o}:(c.error("主题不存在"),u.push("/theme/list"))}catch(o){c.error("加载主题数据失败:"+o.message),u.push("/theme/list")}finally{e.close()}},C=async()=>{m.value&&await m.value.validate(async p=>{if(p){v.value=!0;try{await new Promise(e=>setTimeout(e,1e3)),c.success("主题更新成功!"),u.push("/theme/list")}catch(e){c.error("主题更新失败:"+e.message)}finally{v.value=!1}}else return console.log("表单验证失败"),!1})},D=()=>{m.value&&m.value.resetFields()},S=()=>{u.push("/theme/list")};return F(()=>{I()}),(p,e)=>{const o=i("el-input"),r=i("el-form-item"),f=i("el-tab-pane"),V=i("el-tabs"),g=i("el-button"),E=i("el-form");return H(),M("div",N,[e[11]||(e[11]=d("h2",null,"编辑主题",-1)),t(E,{model:a.value,rules:T,ref_key:"themeFormRef",ref:m,"label-width":"80px",class:"theme-form"},{default:l(()=>[t(r,{label:"主题ID",prop:"id"},{default:l(()=>[t(o,{modelValue:a.value.id,"onUpdate:modelValue":e[0]||(e[0]=s=>a.value.id=s),placeholder:"请输入主题ID(唯一标识符,只能包含字母、数字、下划线)",maxlength:"50","show-word-limit":"",disabled:y.value},null,8,["modelValue","disabled"]),e[7]||(e[7]=d("div",{class:"form-help-text"}," 主题ID用于内部标识,编辑模式下不可修改 ",-1))]),_:1}),t(r,{label:"主题名称",prop:"name"},{default:l(()=>[t(o,{modelValue:a.value.name,"onUpdate:modelValue":e[1]||(e[1]=s=>a.value.name=s),placeholder:"请输入主题名称",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(r,{label:"主题描述",prop:"description"},{default:l(()=>[t(o,{modelValue:a.value.description,"onUpdate:modelValue":e[2]||(e[2]=s=>a.value.description=s),placeholder:"请输入主题描述",type:"textarea",rows:3,maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(r,{label:"CSS样式"},{default:l(()=>[t(V,{modelValue:b.value,"onUpdate:modelValue":e[4]||(e[4]=s=>b.value=s),class:"css-tabs"},{default:l(()=>[t(f,{label:"编辑",name:"edit"},{default:l(()=>[t(o,{modelValue:a.value.css_styles,"onUpdate:modelValue":e[3]||(e[3]=s=>a.value.css_styles=s),placeholder:"请输入主题CSS样式",type:"textarea",rows:10,class:"code-editor"},null,8,["modelValue"])]),_:1}),t(f,{label:"预览",name:"preview"},{default:l(()=>[d("div",q,[d("pre",null,w(a.value.css_styles||"无CSS样式"),1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"HTML模板"},{default:l(()=>[t(V,{modelValue:h.value,"onUpdate:modelValue":e[6]||(e[6]=s=>h.value=s),class:"template-tabs"},{default:l(()=>[t(f,{label:"编辑",name:"edit"},{default:l(()=>[t(o,{modelValue:a.value.template,"onUpdate:modelValue":e[5]||(e[5]=s=>a.value.template=s),placeholder:"请输入主题HTML模板",type:"textarea",rows:15,class:"code-editor"},null,8,["modelValue"])]),_:1}),t(f,{label:"预览",name:"preview"},{default:l(()=>[d("div",P,[d("pre",null,w(a.value.template||"无HTML模板"),1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(r,null,{default:l(()=>[t(g,{type:"primary",onClick:C,loading:v.value},{default:l(()=>[...e[8]||(e[8]=[_(" 更新主题 ",-1)])]),_:1},8,["loading"]),t(g,{onClick:D},{default:l(()=>[...e[9]||(e[9]=[_("重置",-1)])]),_:1}),t(g,{onClick:S},{default:l(()=>[...e[10]||(e[10]=[_("取消",-1)])]),_:1})]),_:1})]),_:1},8,["model"])])}}},$=U(z,[["__scopeId","data-v-ec5cfa12"]]);export{$ as default};