petstore-frontend/dist/build/h5/assets/pages-mine-Store.Chv7yw34.js
2026-04-12 22:57:48 +08:00

2 lines
4.7 KiB
JavaScript

import{n as e,p as a,r as l,q as s,u as t,c as o,d as n,w as i,v as d,x as r,b as u,e as c,f as v,A as p,I as f,i as m,E as h,g,h as b,Q as _,j as V,l as x}from"./index-DrZc8biM.js";import{A as k}from"./AppIcon.M7CZvvJr.js";import{_ as y,n as j}from"./_plugin-vue_export-helper.2L545UbL.js";import{u as z}from"./index.DsJtDI4O.js";const B=y({__name:"Store",emits:["change-page"],setup(y){const B=e(),C=(()=>{var e,l;const s=(null==(e=a)?void 0:e().statusBarHeight)||20;let t=s+44;const o=null==(l=uni.getMenuButtonBoundingClientRect)?void 0:l.call(uni);if(o&&o.top&&o.height){t=s+2*Math.max(o.top-s,4)+o.height}return`padding-top:${s}px;height:${t}px;`})(),U=l(!1),w=l(!1),A=l({name:"",phone:"",address:"",intro:"",latitude:null,longitude:null}),I=s(()=>null!=A.value.latitude&&null!=A.value.longitude),M=e=>{if(null==e||""===e)return null;const a="number"==typeof e?e:parseFloat(e);return Number.isFinite(a)?a:null},F=()=>{w.value=!0,_({success:e=>{const a=e.name||"",l=e.address||"";A.value.address=[a,l].filter(Boolean).join(" · ")||l||a,A.value.latitude=M(e.latitude),A.value.longitude=M(e.longitude)},fail:e=>{const a=e&&e.errMsg||"";/cancel|取消/i.test(a)||V({title:"无法打开选点,请手动填写",icon:"none"})},complete:()=>{w.value=!1}})},$=async()=>{U.value=!0;const e=await z({id:B.id,...A.value});if(U.value=!1,200===e.code){V({title:"保存成功",icon:"success"});const a=e.data?{...B,...e.data}:{...B,...A.value};x(a)}else V({title:e.message||"保存失败",icon:"none"})};return t(()=>{A.value={name:B.name||"",phone:B.phone||"",address:B.address||"",intro:B.intro||"",latitude:M(B.latitude),longitude:M(B.longitude)}}),(e,a)=>{const l=p,s=v,t=f,_=m,V=h;return g(),o("div",{class:"page-shell store-page"},[n(s,{class:"store-nav nav-gradient",style:d(r(C))},{default:i(()=>[n(l,{class:"nav-back",onClick:a[0]||(a[0]=e=>r(j)("mine"))},{default:i(()=>[n(k,{name:"back",size:18,color:"#ffffff"})]),_:1}),n(l,{class:"nav-title"},{default:i(()=>[b("店铺设置")]),_:1}),n(s,{class:"nav-placeholder"})]),_:1},8,["style"]),u("div",{class:"store-body"},[u("div",{class:"store-hero"},[n(s,{class:"store-hero-icon","aria-hidden":"true"},{default:i(()=>[n(k,{name:"store",size:22,color:"#15803d"})]),_:1}),u("div",{class:"store-hero-text"},[u("div",{class:"store-hero-title"},"门店资料"),u("div",{class:"store-hero-desc"},"以下信息会用于预约展示与客户联系,建议保持准确、易读。")])]),u("div",{class:"store-card"},[u("div",{class:"store-card-head"},[u("span",{class:"store-card-kicker"},"基础信息")]),u("div",{class:"store-field"},[u("div",{class:"store-field-label"},[u("span",{class:"store-ico"},[n(k,{name:"store",size:15,color:"#475569"})]),n(l,null,{default:i(()=>[b("店铺名称")]),_:1})]),n(t,{modelValue:A.value.name,"onUpdate:modelValue":a[1]||(a[1]=e=>A.value.name=e),class:"van-field store-input",placeholder:"请输入店铺名称"},null,8,["modelValue"])]),u("div",{class:"store-field"},[u("div",{class:"store-field-label"},[u("span",{class:"store-ico"},[n(k,{name:"phone",size:15,color:"#475569"})]),n(l,null,{default:i(()=>[b("联系电话")]),_:1})]),n(t,{modelValue:A.value.phone,"onUpdate:modelValue":a[2]||(a[2]=e=>A.value.phone=e),type:"tel",class:"van-field store-input",placeholder:"请输入联系电话",maxlength:"20"},null,8,["modelValue"])]),u("div",{class:"store-field"},[u("div",{class:"store-field-label"},[u("span",{class:"store-ico"},[n(k,{name:"pin",size:15,color:"#475569"})]),n(l,null,{default:i(()=>[b("地址")]),_:1})]),u("div",{class:"address-row"},[n(t,{modelValue:A.value.address,"onUpdate:modelValue":a[3]||(a[3]=e=>A.value.address=e),class:"van-field store-input address-input",placeholder:"输入地址或点右侧选点"},null,8,["modelValue"]),n(_,{type:"button",class:"pick-location-btn",disabled:w.value,onClick:F},{default:i(()=>[b(" 地图选点 ")]),_:1},8,["disabled"])]),I.value?(g(),o("div",{key:0,class:"geo-hint"},"已选地图位置,可再微调上方文字后保存")):c("",!0)]),u("div",{class:"store-field store-field-last"},[u("div",{class:"store-field-label"},[u("span",{class:"store-ico"},[n(k,{name:"report",size:15,color:"#475569"})]),n(l,null,{default:i(()=>[b("简介")]),_:1})]),n(V,{modelValue:A.value.intro,"onUpdate:modelValue":a[4]||(a[4]=e=>A.value.intro=e),class:"van-field store-input intro-textarea",placeholder:"一句话介绍门店特色、服务亮点等"},null,8,["modelValue"])])]),u("div",{class:"store-actions"},[n(_,{class:"van-button van-button--primary van-button--block store-save-btn",loading:U.value,onClick:$},{default:i(()=>[b(" 保存设置 ")]),_:1},8,["loading"]),u("div",{class:"store-actions-hint"},"保存后立即生效,并写入本地缓存。")]),u("div",{class:"store-footer-tip"},"宠伴生活馆 · 商家版")])])}}},[["__scopeId","data-v-eb0ed336"]]);export{B as default};