Files
anmo/server/public/mobile/assets/bundle-pages-user_address_edit-index.2ea77816.js
2025-08-21 16:38:20 +08:00

2 lines
8.2 KiB
JavaScript

import{bk as e,r as a,b as l,o as t,e as s,w as o,f as i,n as u,R as r,j as d,d as n,l as c,V as m,a1 as f,bl as p,aC as _,a3 as v,q as g,g as h,t as b,F as y,bm as x,bn as V,ai as w,bo as C,bp as k,bq as $,k as z}from"./index-d0750414.js";import{_ as j}from"./page-meta.292744d0.js";import{_ as S}from"./u-navbar.d391c4c1.js";import{_ as q}from"./u-sticky.43ed0a1a.js";import{_ as B}from"./u-icon.a5146a33.js";import{_ as U}from"./u-form-item.db4cbf1c.js";import{_ as N}from"./u-input.bca78444.js";import{_ as T,a as R}from"./u-radio-group.4abbb303.js";import{_ as I}from"./u-form.3d22ae93.js";import{_ as D}from"./u-loading.cb3efde0.js";import{_ as F}from"./_plugin-vue_export-helper.1b428a4d.js";import{_ as W}from"./u-button.2adf8624.js";import"./emitter.1571a5d9.js";const Z=F({name:"u-switch",emits:["update:modelValue","input","change"],props:{value:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{type:[Number,String],default:50},activeColor:{type:String,default:"#2979ff"},inactiveColor:{type:String,default:"#ffffff"},vibrateShort:{type:Boolean,default:!1},activeValue:{type:[Number,String,Boolean],default:!0},inactiveValue:{type:[Number,String,Boolean],default:!1}},data:()=>({}),computed:{valueCom(){return this.modelValue},switchStyle(){let e={};return e.fontSize=this.size+"rpx",e.backgroundColor=this.valueCom?this.activeColor:this.inactiveColor,e},loadingColor(){return this.valueCom?this.activeColor:null}},methods:{onClick(){this.disabled||this.loading||(this.vibrateShort&&e(),this.$emit("input",!this.valueCom),this.$emit("update:modelValue",!this.valueCom),this.$nextTick(()=>{this.$emit("change",this.valueCom?this.activeValue:this.inactiveValue)}))}}},[["render",function(e,n,c,m,f,p){const _=a(l("u-loading"),D),v=d;return t(),s(v,{class:r(["u-switch",[1==p.valueCom?"u-switch--on":"",c.disabled?"u-switch--disabled":""]]),onClick:p.onClick,style:u([p.switchStyle])},{default:o(()=>[i(v,{class:"u-switch__node node-class",style:u({width:e.$u.addUnit(c.size),height:e.$u.addUnit(c.size)})},{default:o(()=>[i(_,{show:c.loading,class:"u-switch__loading",size:.6*c.size,color:p.loadingColor},null,8,["show","size","color"])]),_:1},8,["style"])]),_:1},8,["class","onClick","style"])}],["__scopeId","data-v-c0047c5a"]]),A=F(n({__name:"index",setup(e){const s=c({contact:"",mobile:"",province:"",province_id:"",city:"",city_id:"",district:"",district_id:"",address:"",gender:1,is_default:0,region:"",longitude:"",latitude:"",house_number:""}),u=c(),r=c(""),n=c({contact:[{required:!0,message:"请输入联系人",trigger:["change","blur"]},{min:1,max:20,message:"输入长度不得超过20位",trigger:["blur","change"]}],mobile:[{required:!0,message:"请输入手机号码",trigger:["change","blur"]},{pattern:/^1[3-9]\d{9}$/,transform:e=>String(e),message:"请输入正确的手机号"}],region:[{required:!0,message:"请选择地址",trigger:["change","blur"]}],house_number:[{required:!0,message:"请输入门牌号",trigger:["change","blur"]}]}),D=()=>{u.value.validate(e=>{if(!e)return!1;r.value?A():F()})},F=async()=>{await V({...s.value}),setTimeout(()=>{w()},300)},A=async()=>{await C({...s.value}),setTimeout(()=>{w()},300)},E=()=>{k.navigateTo({path:"/bundle/pages/city/index",query:{is_address:1}})},G=e=>{let a=e.ad_info.city_code.substr(3,6);11e4!=a&&31e4!=a&&21e4!=a&&41e4!=a||(a*=1,a+=100),s.value.city_id=a+"",s.value.province_id=s.value.city_id.substr(0,3)+"000",s.value.district_id=e.ad_info.adcode,s.value.region=`${e.ad_info.city} ${e.ad_info.district} ${s.value.address}`,s.value.longitude=e.location.lng,s.value.latitude=e.location.lat};return m(e=>{r.value=Number(e.id),e.id&&(async()=>{s.value=await x({id:r.value}),s.value.region=`${s.value.city} ${s.value.district} ${s.value.address}`})()}),f("city_select",e=>{console.log("选择地址 ==>",e),(async(e,a)=>{var l;const t=e.match(/(?:.*?(?:县|区))?(.*)/),o=(null==(l=null==t?void 0:t[1])?void 0:l.trim())||"";console.log("part =>",o),s.value.address=o+" "+a,console.log("formData.value.address =>",s.value.address)})(e.address||"",e.title),(async(e,a)=>{try{const l=await $({location:`${e},${a}`}),t=l.result;console.log("逆解析地址 =>",l.result),G(t)}catch(l){console.log("地址逆解析",l)}})(e.latitude,e.longitude)}),p(()=>{var e;null==(e=u.value)||e.setRules(n.value)}),_(()=>{console.log("注销?"),v(["city_select"])}),(e,n)=>{const c=a(l("page-meta"),j),m=a(l("u-navbar"),S),f=a(l("u-sticky"),q),p=d,_=a(l("u-icon"),B),v=a(l("u-form-item"),U),x=a(l("u-input"),N),V=z,w=a(l("u-radio"),T),C=a(l("u-radio-group"),R),k=a(l("u-form"),I),$=a(l("u-switch"),Z),F=a(l("u-button"),W);return t(),g(y,null,[i(c,{"page-style":e.$theme.pageStyle},null,8,["page-style"]),i(p,{class:"user-add__edit flex flex-col min-h-0 h-full"},{default:o(()=>[i(f,{"h5-nav-height":"0","bg-color":"transparent"},{default:o(()=>[i(m,{"is-back":!0,"is-fixed":!0,title:r.value?"编辑地址":"新增地址","border-bottom":!1,"title-bold":!1,background:{background:"#f6f7f8"},"title-color":"#000000"},null,8,["title"])]),_:1}),i(p,{class:"main flex-1"},{default:o(()=>[i(p,{class:"bg-white m-[30rpx]",style:{"border-radius":"24rpx"}},{default:o(()=>[i(k,{model:s.value,ref_key:"formRef",ref:u,"border-bottom":!1,"error-type":["message","toast"]},{default:o(()=>[i(p,{class:"card"},{default:o(()=>[i(v,{prop:"region"},{default:o(()=>[i(p,{class:"flex flex-1 items-center",onClick:E},{default:o(()=>[i(p,{class:"label"},{default:o(()=>[h(" 地址")]),_:1}),i(p,{class:"flex-1"},{default:o(()=>[s.value.region?(t(),g("span",{key:0},b(s.value.region),1)):(t(),g("span",{key:1,class:"text-muted"},"请选择地址"))]),_:1}),i(_,{name:"arrow-right",size:"22",color:"#888888"})]),_:1})]),_:1})]),_:1}),i(p,{class:"card"},{default:o(()=>[i(v,{prop:"house_number"},{default:o(()=>[i(p,{class:"flex w-full col-start"},{default:o(()=>[i(p,{class:"label"},{default:o(()=>[h(" 门牌号")]),_:1}),i(p,{class:"flex-1 pt-[6rpx]"},{default:o(()=>[i(x,{modelValue:s.value.house_number,"onUpdate:modelValue":n[0]||(n[0]=e=>s.value.house_number=e),placeholder:"请输入门牌号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1}),i(p,{class:"card"},{default:o(()=>[i(v,{prop:"contact"},{default:o(()=>[i(p,{class:"flex"},{default:o(()=>[i(p,{class:"label"},{default:o(()=>[h(" 联系人")]),_:1}),i(p,{class:"flex-1"},{default:o(()=>[i(x,{modelValue:s.value.contact,"onUpdate:modelValue":n[1]||(n[1]=e=>s.value.contact=e),placeholder:"请输入联系人"},null,8,["modelValue"]),i(p,null,{default:o(()=>[i(C,{modelValue:s.value.gender,"onUpdate:modelValue":n[2]||(n[2]=e=>s.value.gender=e),size:"24",labelSize:"24",width:"150","active-color":e.$theme.primaryColor},{default:o(()=>[i(w,{name:1,size:"28",labelSize:"24"},{default:o(()=>[i(V,{class:"mt-2"},{default:o(()=>[h("先生")]),_:1})]),_:1}),i(w,{name:2,size:"28",labelSize:"24"},{default:o(()=>[i(V,{class:"mt-2"},{default:o(()=>[h("女士")]),_:1})]),_:1})]),_:1},8,["modelValue","active-color"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),i(p,{class:"card"},{default:o(()=>[i(v,{prop:"mobile"},{default:o(()=>[i(p,{class:"flex"},{default:o(()=>[i(p,{class:"label"},{default:o(()=>[h(" 手机号")]),_:1}),i(x,{modelValue:s.value.mobile,"onUpdate:modelValue":n[3]||(n[3]=e=>s.value.mobile=e),placeholder:"请输入联系人手机号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),i(p,{class:"flex justify-between items-center bg-white mx-[30rpx] px-[20rpx] py-[30rpx]",style:{"border-radius":"24rpx"}},{default:o(()=>[i(p,null,{default:o(()=>[i(p,{class:"text-base font-bold text-main"},{default:o(()=>[h("设为默认地址")]),_:1}),i(p,{class:"text-xs text-muted mt-2"},{default:o(()=>[h("提示:下单时会优先使用该地址")]),_:1})]),_:1}),i(p,{class:"pr-4"},{default:o(()=>[i($,{modelValue:s.value.is_default,"onUpdate:modelValue":n[4]||(n[4]=e=>s.value.is_default=e),size:"40","active-color":e.$theme.primaryColor,"active-value":1,"inactive-value":0},null,8,["modelValue","active-color"])]),_:1})]),_:1})]),_:1}),i(p,{class:"flex p-[20rpx] pt-[30rpx] bg-white safe-area-inset-bottom"},{default:o(()=>[i(p,{class:"flex-1"},{default:o(()=>[i(F,{type:"primary",onClick:D},{default:o(()=>[h(" 保存 ")]),_:1})]),_:1})]),_:1})]),_:1})],64)}}}),[["__scopeId","data-v-42d5c705"]]);export{A as default};