2 lines
2.8 KiB
JavaScript
2 lines
2.8 KiB
JavaScript
import{_ as e,z as a,m as s,l as t,C as r,n as i,o,c as l,w as c,i as n,e as d,f as g,t as u,h as m,g as v,y as h}from"./index-a09151d6.js";import{A as f}from"./AppServer.888fd24d.js";const p=e({data:()=>({serviceKey:"",service:null,loading:!1,currentLanguage:"zh"}),onLoad(e){e.key?(this.serviceKey=e.key,this.currentLanguage=a("language")||"zh",this.loadServiceDetail()):(s({title:"服务Key缺失",icon:"none"}),setTimeout(()=>{t()},1500))},methods:{async loadServiceDetail(){this.loading=!0;try{const e=new f,a=await e.GetServiceByKey(this.serviceKey,this.currentLanguage);console.log("服务详情响应:",a),0===a.code&&a.data?this.service=a.data:(console.error("获取服务详情失败:",a.message),s({title:a.message||"获取服务详情失败",icon:"none"}),this.service=null)}catch(e){console.error("加载服务详情异常:",e),s({title:"加载失败",icon:"none"}),this.service=null}finally{this.loading=!1}},getServiceName:e=>e&&e.title||"",getServiceDescription:e=>e&&e.description||"",getImageUrl(e){if(!e)return"";if(e.startsWith("http"))return e;return`${r.API_BASE_URL||"http://localhost:3000"}${e}`},handleBook(){this.service&&i({url:`/pages/booking-form/booking-form?serviceId=${this.serviceId}`})},handleImageError(){console.error("图片加载失败:",this.service.image),this.service.image=null}}},[["render",function(e,a,s,t,r,i){const f=m,p=n,_=v,y=h;return o(),l(p,{class:"container"},{default:c(()=>[r.loading?(o(),l(p,{key:0,class:"loading-container"},{default:c(()=>[d(f,{class:"loading-text"},{default:c(()=>[g(u(e.$t("common.loading")||"加载中..."),1)]),_:1})]),_:1})):r.service?(o(),l(p,{key:1,class:"content"},{default:c(()=>[d(p,{class:"service-image-wrapper"},{default:c(()=>[r.service.image?(o(),l(_,{key:0,src:i.getImageUrl(r.service.image),class:"service-image",mode:"aspectFill",onError:i.handleImageError},null,8,["src","onError"])):(o(),l(p,{key:1,class:"service-image-placeholder"},{default:c(()=>[d(f,{class:"placeholder-icon"},{default:c(()=>[g("📷")]),_:1}),d(f,{class:"placeholder-text"},{default:c(()=>[g("暂无图片")]),_:1})]),_:1}))]),_:1}),d(p,{class:"service-info"},{default:c(()=>[d(f,{class:"service-name"},{default:c(()=>[g(u(i.getServiceName(r.service)),1)]),_:1}),d(f,{class:"service-description"},{default:c(()=>[g(u(i.getServiceDescription(r.service)),1)]),_:1})]),_:1}),d(p,{class:"action-bar"},{default:c(()=>[d(y,{class:"book-button",onClick:i.handleBook},{default:c(()=>[g(u(e.$t("appointment.bookNow")||"立即预约"),1)]),_:1},8,["onClick"])]),_:1})]),_:1})):(o(),l(p,{key:2,class:"error-container"},{default:c(()=>[d(f,{class:"error-text"},{default:c(()=>[g(u(e.$t("common.loadFailed")||"加载失败"),1)]),_:1}),d(y,{class:"retry-button",onClick:i.loadServiceDetail},{default:c(()=>[g(u(e.$t("common.retry")||"重试"),1)]),_:1},8,["onClick"])]),_:1}))]),_:1})}],["__scopeId","data-v-851e2374"]]);export{p as default};
|