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 g,n as v,a as w,D as b,bV as k,V as j,X as C,W as V,u as U,K as L,a5 as B,a7 as D,bW as I,k as M,a8 as W,bX as $,bY as q,bZ as z,aO as F}from"./index-d0750414.js";import{_ as O}from"./u-icon.a5146a33.js";import{_ as R}from"./u-image.ff8bf742.js";import{_ as X}from"./modal-popup.63856ca8.js";import{_ as Z}from"./good.28f8a8ef.js";import{_ as A}from"./u-search.e7a07041.js";import{_ as J}from"./u-popup.508f1b55.js";import{_ as K}from"./_plugin-vue_export-helper.1b428a4d.js";import"./u-button.2adf8624.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"),A),b=h(x("u-icon"),O),U=y,L=h(x("u-popup"),J);return s(),o(L,{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(g(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(g(t.name),1)]),_:2},1024)):(s(),o(l,{key:1,class:"u-flex justify-between"},{default:u(()=>[d(l,{style:v({color:a.$theme.primaryColor})},{default:u(()=>[n(g(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:v,errorContent:A,getLocationData:J,setLocationData:K}=b(),S=a(!1),T=a(""),Y=a([]),E=a(L),G=k("myMap"),H=e=>{let a=e+"m";return e>1e3&&(a=(e/1e3).toFixed(3)+"km"),a},N=async()=>{B({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});Y.value=e.data};return j(async()=>{E.value.city_id||await J(),await ee()}),(e,a)=>{const w=M,b=h(x("u-icon"),O),k=_,j=W,V=$,U=q,L=z,B=y,D=h(x("u-image"),R),I=h(x("modal-popup"),X);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(g(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(L,{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=Y.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(B,{"scroll-y":"true",class:"h-full","show-scrollbar":!1},{default:u(()=>[(s(!0),i(r,null,c(Y.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),F("city_select",o)):K(o),F("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(g(e.title),1)]),_:2},1024)]),_:2},1024),d(k,{class:"text-[#909399] text-[24rpx]"},{default:u(()=>[n(g(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(g(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:Z,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(v),content:p(A),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};
|