2 lines
6.2 KiB
JavaScript
2 lines
6.2 KiB
JavaScript
import{c as V}from"./product-xndN8QNU.js";import{P as B}from"./PortalBreadcrumb-BcLGJAMu.js";import{r as y}from"./media-BgGGvhcR.js";import{d as I,l as S,o as T,b as t,e as s,m as x,F as d,p as h,h as p,k as c,t as r,j as D,i as u,B as N,A as z,r as f,f as b,u as R,g as e,y as E,z as F,R as j,_ as q}from"./index-eVF4AHSu.js";import"./pagination-BgSlm-mj.js";const A={class:"product-detail-page"},U={class:"container"},G={key:0,class:"loading-state"},J={class:"detail-hero"},K={class:"detail-gallery"},O={class:"gallery-main"},Q=["src","alt"],W={key:1,class:"gallery-placeholder placeholder-cover"},X={key:0,class:"gallery-thumbs"},Y=["onClick"],ee=["src","alt"],te={key:1,class:"thumb-placeholder"},se={class:"detail-info"},ae={class:"info-category"},le={class:"info-title"},ie={key:0,class:"info-title-en"},ne={key:1,class:"info-price"},oe={key:2,class:"info-summary"},ce={key:3,class:"info-specs"},re={class:"spec-label"},de={class:"spec-value"},ue={class:"detail-tabs"},ve={class:"tab-content surface"},me={key:0,class:"tab-pane"},_e=["innerHTML"],he={key:1,class:"muted"},pe={key:1,class:"tab-pane"},fe={key:0,class:"specs-table"},ye={class:"specs-label"},be={class:"specs-value"},ke={key:1,class:"muted"},ge={key:2,class:"tab-pane"},Me=["innerHTML"],Ze={key:1,class:"muted"},Ce={key:3,class:"tab-pane"},Le={key:0,class:"related-section"},Pe={class:"related-grid"},$e={class:"related-thumb"},we=["src","alt"],He={key:1,class:"placeholder-cover"},Ve={class:"related-name"},Be=I({__name:"ProductDetailView",setup(Ie){const{t:k}=S(),P=z(),$=R(),g=f(!0),a=f(null),v=f(0),o=f("detail"),m=b(()=>{var n;const i=a.value;return i?(n=i.images)!=null&&n.length?i.images:[i.mainImage]:[]}),w=b(()=>{var n;const i=((n=a.value)==null?void 0:n.nameZh)??"产品详情";return[{label:k("nav.home"),to:"/"},{label:k("products.title"),to:"/products"},{label:i}]}),M=b(()=>{const i=a.value;return!i||!i.isShowPrice?null:i.priceMin&&i.priceMax?`¥${i.priceMin.toLocaleString()} - ¥${i.priceMax.toLocaleString()}`:i.priceMin?`¥${i.priceMin.toLocaleString()}`:null});T(async()=>{try{const i=P.params.id;a.value=await V(i)}catch(i){console.error("[ProductDetailView]",i)}finally{g.value=!1}});function H(){$.push("/contact")}return(i,n)=>{var Z,C,L;return e(),t("div",A,[s("div",U,[x(B,{items:w.value},null,8,["items"]),g.value?(e(),t("div",G,"加载中...")):a.value?(e(),t(d,{key:1},[s("div",J,[s("div",K,[s("div",O,[m.value[v.value]?(e(),t("img",{key:0,src:h(y)(m.value[v.value]??void 0),alt:a.value.nameZh},null,8,Q)):(e(),t("div",W))]),m.value.length>1?(e(),t("div",X,[(e(!0),t(d,null,p(m.value,(l,_)=>(e(),t("button",{key:_,type:"button",class:u(["thumb-btn",{active:v.value===_}]),onClick:Se=>v.value=_},[l?(e(),t("img",{key:0,src:h(y)(l??void 0),alt:`${a.value.nameZh} - ${_+1}`},null,8,ee)):(e(),t("div",te))],10,Y))),128))])):c("",!0)]),s("div",se,[s("div",ae,r(a.value.categoryLabelZh),1),s("h1",le,r(a.value.nameZh),1),a.value.nameEn?(e(),t("p",ie,r(a.value.nameEn),1)):c("",!0),M.value?(e(),t("div",ne,r(M.value),1)):c("",!0),a.value.summaryZh?(e(),t("p",oe,r(a.value.summaryZh),1)):c("",!0),(Z=a.value.params)!=null&&Z.length?(e(),t("div",ce,[(e(!0),t(d,null,p(a.value.params,l=>(e(),t("div",{key:l.name,class:"spec-row"},[s("span",re,r(l.name),1),s("span",de,r(l.value),1)]))),128))])):c("",!0),s("div",{class:"info-actions"},[s("button",{class:"btn-primary",onClick:H},[...n[4]||(n[4]=[s("svg",{class:"btn-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"})],-1),D(" 立即咨询 ",-1)])])])])]),s("div",ue,[s("button",{type:"button",class:u(["tab-btn",{active:o.value==="detail"}]),onClick:n[0]||(n[0]=l=>o.value="detail")}," 产品详情 ",2),s("button",{type:"button",class:u(["tab-btn",{active:o.value==="specs"}]),onClick:n[1]||(n[1]=l=>o.value="specs")}," 规格参数 ",2),s("button",{type:"button",class:u(["tab-btn",{active:o.value==="scene"}]),onClick:n[2]||(n[2]=l=>o.value="scene")}," 场景展示 ",2),s("button",{type:"button",class:u(["tab-btn",{active:o.value==="service"}]),onClick:n[3]||(n[3]=l=>o.value="service")}," 售后服务 ",2)]),s("div",ve,[o.value==="detail"?(e(),t("div",me,[a.value.detailHtmlZh?(e(),t("div",{key:0,innerHTML:a.value.detailHtmlZh,class:"rich-content"},null,8,_e)):(e(),t("p",he,"暂无详细描述"))])):c("",!0),o.value==="specs"?(e(),t("div",pe,[(C=a.value.params)!=null&&C.length?(e(),t("div",fe,[(e(!0),t(d,null,p(a.value.params,l=>(e(),t("div",{key:l.name,class:"specs-row"},[s("div",ye,r(l.name),1),s("div",be,r(l.value),1)]))),128))])):(e(),t("p",ke,"暂无规格参数"))])):c("",!0),o.value==="scene"?(e(),t("div",ge,[a.value.sceneHtmlZh?(e(),t("div",{key:0,innerHTML:a.value.sceneHtmlZh,class:"rich-content"},null,8,Me)):(e(),t("p",Ze,"暂无场景展示"))])):c("",!0),o.value==="service"?(e(),t("div",Ce,[...n[5]||(n[5]=[N('<div class="service-grid-mini" data-v-5f00710f><div class="service-item-mini" data-v-5f00710f><div class="service-icon-mini" data-v-5f00710f>01</div><h4 data-v-5f00710f>产品咨询</h4><p class="muted" data-v-5f00710f>专业顾问为您提供选品建议</p></div><div class="service-item-mini" data-v-5f00710f><div class="service-icon-mini" data-v-5f00710f>02</div><h4 data-v-5f00710f>上门量尺</h4><p class="muted" data-v-5f00710f>免费上门测量,精准定制</p></div><div class="service-item-mini" data-v-5f00710f><div class="service-icon-mini" data-v-5f00710f>03</div><h4 data-v-5f00710f>配送安装</h4><p class="muted" data-v-5f00710f>专业团队配送安装一站式服务</p></div><div class="service-item-mini" data-v-5f00710f><div class="service-icon-mini" data-v-5f00710f>04</div><h4 data-v-5f00710f>质保售后</h4><p class="muted" data-v-5f00710f>五年质保,终身维护</p></div></div>',1)])])):c("",!0)]),(L=a.value.relatedProducts)!=null&&L.length?(e(),t("div",Le,[n[6]||(n[6]=s("h2",{class:"related-title title-md"},"相关产品推荐",-1)),s("div",Pe,[(e(!0),t(d,null,p(a.value.relatedProducts,l=>(e(),E(h(j),{key:l.id,class:"related-card",to:`/products/${l.id}`},{default:F(()=>[s("div",$e,[l.mainImage?(e(),t("img",{key:0,src:h(y)(l.mainImage),alt:l.nameZh,loading:"lazy"},null,8,we)):(e(),t("div",He))]),s("div",Ve,r(l.nameZh),1)]),_:2},1032,["to"]))),128))])])):c("",!0)],64)):c("",!0)])])}}}),Re=q(Be,[["__scopeId","data-v-5f00710f"]]);export{Re as default};
|