2 lines
6.2 KiB
JavaScript
2 lines
6.2 KiB
JavaScript
import{d as e,l as a,c as t,az as l,o as s,e as o,w as u,f as d,g as n,q as i,v as c,F as r,h as p,J as m,bU as f,j as _,r as h,b as x,Q as y,t as v,n as g,a as w,D as b,bV as k,V as j,X as C,W as V,u as U,K as B,a5 as L,a7 as D,bW as I,k as M,a8 as $,bX as q,bY as z,bZ as F,aO as J}from"./index-de4504bf.js";import{_ as O}from"./u-icon.a29926e1.js";import{_ as R}from"./u-image.c4f072e6.js";import{_ as W}from"./modal-popup.257004d0.js";import{_ as X}from"./good.28f8a8ef.js";import{_ as Y}from"./u-search.6bc2b024.js";import{_ as A}from"./u-popup.41f5d54c.js";import{_ as K}from"./_plugin-vue_export-helper.1b428a4d.js";import"./u-button.f68b46c8.js";const Q=e({__name:"city-picker",props:{show:{type:Boolean},location:{type:Object,default:()=>({})}},emits:["update:show","update:location","update"],setup(e,{emit:w}){const b=e,k=a(""),j=a([]),C=t({get:()=>b.show,set(e){w("update:show",e)}}),V=async()=>{j.value=await f({keyword:k.value})};return l(()=>{(async()=>{j.value=await f()})()}),(a,t)=>{const l=_,f=h(x("u-search"),Y),b=h(x("u-icon"),O),U=y,B=h(x("u-popup"),A);return s(),o(B,{modelValue:p(C),"onUpdate:modelValue":t[1]||(t[1]=e=>m(C)?C.value=e:null),mode:"bottom","border-radius":"12",closeable:!0,"mask-close-able":!0},{default:u(()=>[d(l,{style:{padding:"30rpx",height:"1100rpx"}},{default:u(()=>[d(l,{class:"font-medium text-lg pb-4"},{default:u(()=>[n(" 请选择所在城市 ")]),_:1}),d(f,{placeholder:"搜索城市名",modelValue:k.value,"onUpdate:modelValue":t[0]||(t[0]=e=>k.value=e),shape:"round",clearabled:!0,animation:!0,height:70,"bg-color":"#f2f2f2",onSearch:V,onCustom:V,onClear:V},null,8,["modelValue"]),d(l,{class:"text-[24rpx] text-[#c8c9cc] mt-[30rpx] mb-[30rpx]"},{default:u(()=>[n("已开通以下城市")]),_:1}),d(U,{"scroll-y":"true",style:{height:"400px"}},{default:u(()=>[d(l,null,{default:u(()=>[(s(!0),i(r,null,c(j.value,(t,p)=>(s(),o(l,{key:p,class:"anchor flex mb-[10rpx]"},{default:u(()=>[d(l,{class:"font-bold text-[32rpx]"},{default:u(()=>[n(v(p),1)]),_:2},1024),d(l,{class:"ml-[20rpx]"},{default:u(()=>[(s(!0),i(r,null,c(t,(t,i)=>(s(),o(l,{key:i,onClick:e=>{return w("update:location",{city_id:(a=t).city_id,id:a.id,longitude:a.gcj02_lng,latitude:a.gcj02_lat,name:a.name}),w("update",a),void(C.value=!1);var a},class:"pb-[40rpx] pt-[4rpx] w-[500rpx]"},{default:u(()=>[e.location.city_id!=t.city_id?(s(),o(l,{key:0},{default:u(()=>[n(v(t.name),1)]),_:2},1024)):(s(),o(l,{key:1,class:"u-flex justify-between"},{default:u(()=>[d(l,{style:g({color:a.$theme.primaryColor})},{default:u(()=>[n(v(t.name),1)]),_:2},1032,["style"]),d(b,{name:"checkmark",color:a.$theme.primaryColor},null,8,["color"])]),_:2},1024))]),_:2},1032,["onClick"]))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}}}),S=K(e({__name:"index",setup(e){const t=V(),l=U();w();const{showLocationModal:f,errorTitle:g,errorContent:Y,getLocationData:A,setLocationData:K}=b(),S=a(!1),T=a(""),Z=a([]),E=a(B),G=k("myMap"),H=e=>{let a=e+"m";return e>1e3&&(a=(e/1e3).toFixed(3)+"km"),a},N=async()=>{L({title:"搜索中...",mask:!0}),await ee(),D()},P=e=>{"end"!=e.detail.type||"update"!=e.detail.causedBy&&"drag"!=e.detail.causedBy||G.getCenterLocation({success:async e=>{E.value.latitude=e.latitude,E.value.longitude=e.longitude,ee()}})},ee=async()=>{const e=await I({keyword:T.value,latitude:E.value.latitude,longitude:E.value.longitude});Z.value=e.data};return j(async()=>{E.value.city_id||await A(),await ee()}),(e,a)=>{const w=M,b=h(x("u-icon"),O),k=_,j=$,V=q,U=z,B=F,L=y,D=h(x("u-image"),R),I=h(x("modal-popup"),W);return s(),o(k,{class:"city-pages flex flex-col min-h-0 h-full"},{default:u(()=>{var e;return[d(k,{class:"search flex items-center"},{default:u(()=>[d(k,{class:"flex items-center search--city",onClick:a[0]||(a[0]=C(e=>S.value=!0,["stop"]))},{default:u(()=>[d(w,{class:"mr-[15rpx]"},{default:u(()=>[n(v(E.value.name),1)]),_:1}),d(b,{name:"arrow-down",size:"20"})]),_:1}),d(j,{type:"text",class:"flex-1 search--search",placeholder:"请输入地点",modelValue:T.value,"onUpdate:modelValue":a[1]||(a[1]=e=>T.value=e),onConfirm:N,onInput:N},null,8,["modelValue"])]),_:1}),d(k,{class:"mt-[30rpx] mb-[30rpx] map"},{default:u(()=>[d(B,{id:"myMap",theme:"normal",style:{width:"100%",height:"400rpx","border-radius":"20rpx",overflow:"hidden"},"show-location":"","enable-overlooking":!1,scale:13,onRegionchange:P,latitude:E.value.latitude,longitude:E.value.longitude},{default:u(()=>[d(U,{class:"iconImg"},{default:u(()=>[d(V,{class:"img",src:"https://hellouniapp.dcloud.net.cn/static/location.png"})]),_:1})]),_:1},8,["latitude","longitude"])]),_:1}),(null==(e=Z.value)?void 0:e.length)?(s(),o(k,{key:0,class:"address flex flex-col min-h-0 flex-1 mt-4"},{default:u(()=>[d(L,{"scroll-y":"true",class:"h-full","show-scrollbar":!1},{default:u(()=>[(s(!0),i(r,null,c(Z.value,(e,a)=>(s(),o(k,{class:"address-item",key:a,onClick:a=>(e=>{const a=e.location.lat,s=e.location.lng,o={name:E.value.name,city_id:E.value.city_id,latitude:a,longitude:s,address:e.address,title:e.title};t.query.is_address?(console.log("emit",o),J("city_select",o)):K(o),J("updateAddress"),l.navigateBack()})(e)},{default:u(()=>[d(k,{class:"u-flex justify-between"},{default:u(()=>[d(k,{class:"u-flex"},{default:u(()=>[d(b,{name:"map"}),d(k,{class:"font-bold ml-[10rpx] w-[500rpx] truncate"},{default:u(()=>[n(v(e.title),1)]),_:2},1024)]),_:2},1024),d(k,{class:"text-[#909399] text-[24rpx]"},{default:u(()=>[n(v(H(e._distance)),1)]),_:2},1024)]),_:2},1024),d(k,{class:"text-[#909399] text-[24rpx] ml-[40rpx] mt-[10rpx] w-[500rpx] truncate"},{default:u(()=>[n(v(e.address),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})):(s(),o(k,{key:1,style:{height:"60vh"},class:"flex flex-col items-center justify-center pb-3"},{default:u(()=>[d(k,{class:"mt-[40rpx]"},{default:u(()=>[d(D,{src:X,width:"290",height:"200"})]),_:1}),d(k,{class:"my-[30rpx] text-muted"},{default:u(()=>[d(w,null,{default:u(()=>[n("没有数据哦~")]),_:1})]),_:1})]),_:1})),d(I,{show:p(f),"onUpdate:show":a[2]||(a[2]=e=>m(f)?f.value=e:null),title:p(g),content:p(Y),onRefresh:a[3]||(a[3]=()=>{})},null,8,["show","title","content"]),d(Q,{show:S.value,"onUpdate:show":a[4]||(a[4]=e=>S.value=e),location:E.value,"onUpdate:location":a[5]||(a[5]=e=>E.value=e),onUpdate:ee},null,8,["show","location"])]}),_:1})}}}),[["__scopeId","data-v-a5b2c0fc"]]);export{S as default};
|