Files
chuanggao-website/client/dist/assets/PageBlockManage-DOzHwETO.js

2 lines
7.4 KiB
JavaScript
Raw Normal View History

2026-05-12 16:53:18 +08:00
import{L as H,d as D,o as F,b as _,e as l,m as o,z as s,s as R,F as E,h as b,y as c,k as x,r as y,f as $,C as u,T as j,g as n,j as v,t as f,J as g,_ as I}from"./index-eVF4AHSu.js";const C=H();async function W(m){try{const r=await C.get("/admin/page/blocks",m?{pageCode:m}:void 0);return Array.isArray(r)?r:[]}catch(r){return console.warn("[admin/page/blocks] fallback:",r),[{id:1,pageCode:"home",blockCode:"hero_title",blockNameZh:"首屏大标题",type:"text",contentZh:"全屋定制 匠心之作",contentEn:"Whole House Customization",isShow:1,sortOrder:1},{id:2,pageCode:"home",blockCode:"hero_subtitle",blockNameZh:"首屏副标题",type:"text",contentZh:"专注高端家具定制,为品质生活而生",contentEn:"Focused on premium furniture customization",isShow:1,sortOrder:2},{id:3,pageCode:"home",blockCode:"services_title",blockNameZh:"服务板块标题",type:"text",contentZh:"核心业务",contentEn:"Core Business",isShow:1,sortOrder:3},{id:4,pageCode:"home",blockCode:"strength_data",blockNameZh:"品牌实力数据",type:"list",contentZh:'[{"number":"20+","label":"年行业经验"},{"number":"50000+","label":"㎡生产基地"},{"number":"1000+","label":"家服务客户"},{"number":"50+","label":"项国家专利"}]',isShow:1,sortOrder:4},{id:5,pageCode:"about",blockCode:"story_title",blockNameZh:"品牌故事标题",type:"text",contentZh:"关于创高",contentEn:"About Chuanggao",isShow:1,sortOrder:1},{id:6,pageCode:"about",blockCode:"story_content",blockNameZh:"品牌故事内容",type:"rich",contentZh:"<p>创高家具品牌故事占位内容...</p>",isShow:1,sortOrder:2}]}}async function q(m,r){await C.putJson(`/admin/page/block/update/${m}`,r)}async function G(m){await C.putJson("/admin/page/blocks/batch-update",{blocks:m})}const K={class:"page-block-manage"},Q={class:"page-header"},X={class:"page-tabs"},Y={class:"blocks-list"},ee={class:"block-header"},te={class:"block-info"},ae={class:"block-name"},oe={class:"block-actions"},le={class:"block-body"},ne={class:"form-row"},se={class:"form-col"},de={class:"form-col"},ie={key:0,class:"form-row"},re={class:"form-col"},ce={class:"form-row"},ue={class:"form-col"},me={class:"form-col"},pe={class:"link-text-row"},he=D({__name:"PageBlockManage",setup(m){const r=y(!1),V=y([]),U=y("home"),p=y(!1),S=[{label:"首页",value:"home"},{label:"关于页",value:"about"},{label:"产品页",value:"products"},{label:"案例页",value:"cases"},{label:"联系页",value:"contact"}],w=$(()=>V.value.filter(a=>a.pageCode===U.value));async function N(){r.value=!0;try{V.value=await W()}catch(a){console.warn("fetchPageBlocks failed:",a)}finally{r.value=!1}}F(N);function B(a){return{text:"纯文本",rich:"富文本",image:"单图",images:"多图",list:"列表JSON",html:"HTML"}[a]||a}async function T(a){p.value=!0;try{await q(a.id,{contentZh:a.contentZh,contentEn:a.contentEn,image:a.image,imagesJson:a.imagesJson,linkUrl:a.linkUrl,linkTextZh:a.linkTextZh,linkTextEn:a.linkTextEn,isShow:a.isShow}),g.success(`区块「${a.blockNameZh||a.blockCode}」已保存`)}catch(d){g.error(d instanceof Error?d.message:"保存失败")}finally{p.value=!1}}async function L(){p.value=!0;try{await G(w.value),g.success("全部保存成功")}catch(a){g.error(a instanceof Error?a.message:"保存失败")}finally{p.value=!1}}return(a,d)=>{const Z=u("el-button"),O=u("el-radio-button"),z=u("el-radio-group"),k=u("el-tag"),J=u("el-switch"),i=u("el-input"),h=u("el-form-item"),M=u("el-form"),P=u("el-empty"),A=j("loading");return n(),_("div",K,[l("div",Q,[d[2]||(d[2]=l("h2",{class:"page-title"},"页面区块管理",-1)),o(Z,{type:"primary",loading:p.value,onClick:L},{default:s(()=>[...d[1]||(d[1]=[v("保存全部",-1)])]),_:1},8,["loading"])]),l("div",X,[o(z,{modelValue:U.value,"onUpdate:modelValue":d[0]||(d[0]=e=>U.value=e),size:"default"},{default:s(()=>[(n(),_(E,null,b(S,e=>o(O,{key:e.value,value:e.value},{default:s(()=>[v(f(e.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),R((n(),_("div",Y,[(n(!0),_(E,null,b(w.value,e=>(n(),_("div",{key:e.id,class:"block-card surface"},[l("div",ee,[l("div",te,[l("span",ae,f(