初始版本

This commit is contained in:
贾祥聪
2025-08-19 14:16:51 +08:00
commit f937a1f9b9
4373 changed files with 359728 additions and 0 deletions

View File

@@ -0,0 +1 @@
import{g as a,k as e,h as t,x as l,bK as s,J as i,b2 as o,b8 as n,b6 as u,o as c,c as d,w as r,m as p,b as m,d as v,t as f,l as g,G as x,F as h,a6 as _,a7 as y,bL as w,bM as b,b3 as k,q as C,s as j,r as I,a as M,i as N,b0 as P,bN as V,bO as B,bP as F,aW as L,aR as R,ae as T}from"./index-b1ac9181.js";import{_ as Y}from"./u-icon.2a47889e.js";import{_ as $}from"./_plugin-vue_export-helper.1b428a4d.js";const q=$(a({__name:"index",setup(a){var $,q,z,A,E,G;const J=e();t();const K=l(null==(q=null==($=J.userInfo)?void 0:$.location)?void 0:q.latitude),O=l(null==(A=null==(z=J.userInfo)?void 0:z.location)?void 0:A.longitude),U=l(null==(G=null==(E=J.userInfo)?void 0:E.location)?void 0:G.city),W=l(""),X=s("myMap"),D=l([]),H=l([]),Q=async()=>{K.value&&O.value||(_({title:"定位中..."}),await S(),y());const{data:a}=await w({keyword:W.value,latitude:K.value,longitude:O.value},{token:J.temToken});H.value=a,aa(H.value)},S=()=>new Promise((async(a,e)=>{b({type:"gcj02",async success(e){K.value=e.latitude,O.value=e.longitude;const t=await k({location:`${e.latitude},${e.longitude}`},{token:J.temToken});U.value=t.result.ad_info.city||"",a("success")},fail(a){console.log("获取位置失败:",a),e("fail")}})}));Q();const Z=a=>{let e=a+"m";return a>1e3&&(e=(a/1e3).toFixed(3)+"km"),e},aa=a=>{a.length&&(D.value=[],a.forEach((a=>{a.status&&D.value.push({id:a.id,latitude:+a.latitude,longitude:+a.longitude,iconPath:"/packages/static/images/map/end_point_icon.png",height:30,width:20})})))},ea=a=>{"end"!=a.detail.type||"update"!=a.detail.causedBy&&"drag"!=a.detail.causedBy||X.getCenterLocation({success:async a=>{K.value=a.latitude,O.value=a.longitude,Q()}})},ta=async()=>{_({title:"搜索中...",mask:!0}),await Q(),y()};return i((async a=>{o("chooseCity",(async a=>{U.value=a.cityName,O.value=a.longitude,K.value=a.latitude,Q()}))})),n((()=>{u(["chooseCity"])})),(a,e)=>{const t=j,l=I(M("u-icon"),Y),s=N,i=P,o=V,n=B,u=F,_=L;return c(),d(s,{class:"container"},{default:r((()=>[p(" 搜索框 "),m(s,{class:"flex search"},{default:r((()=>[p(" 左侧城市 "),m(s,{class:"flex search--city",onClick:e[0]||(e[0]=a=>{C({url:"/packages/pages/city/index"})})},{default:r((()=>[m(t,{class:"mr-[15rpx]"},{default:r((()=>[v(f(U.value||"请选择"),1)])),_:1}),m(l,{name:"arrow-down",size:"20"})])),_:1}),p(" 右侧搜索城市 "),m(i,{type:"text",class:"flex-1 search--search",placeholder:"搜索地点",modelValue:W.value,"onUpdate:modelValue":e[1]||(e[1]=a=>W.value=a),onConfirm:ta},null,8,["modelValue"])])),_:1}),p(" 地图组件 "),m(s,{class:"mt-[30rpx] mb-[30rpx] map"},{default:r((()=>[m(u,{id:"myMap",theme:"normal",style:{width:"100%",height:"400rpx","border-radius":"20rpx",overflow:"hidden"},"show-location":"","enable-overlooking":!1,scale:13,onRegionchange:ea,latitude:K.value,longitude:O.value,markers:D.value},{default:r((()=>[m(n,{class:"iconImg"},{default:r((()=>[m(o,{class:"img",src:"https://hellouniapp.dcloud.net.cn/static/location.png"})])),_:1})])),_:1},8,["latitude","longitude","markers"])])),_:1}),m(s,{class:"address"},{default:r((()=>{var a;return[p(" 地址列表 "),(null==(a=H.value)?void 0:a.length)?(c(),d(s,{key:0},{default:r((()=>[m(_,{"scroll-y":"true",class:"scroll-Y","show-scrollbar":!1},{default:r((()=>[(c(!0),g(h,null,x(H.value,((a,e)=>(c(),d(s,{class:"address-item",key:e,onClick:e=>(a=>{const e=a.location.lat,t=a.location.lng,l=a.ad_info.province+a.ad_info.city+a.ad_info.district,s=a.title;R("choiceAddress",{latitude:e,longitude:t,cityName:l,title:s}),T()})(a)},{default:r((()=>[m(s,{class:"u-flex justify-between"},{default:r((()=>[m(s,{class:"u-flex"},{default:r((()=>[m(l,{name:"map"}),m(s,{class:"font-bold ml-[10rpx] w-[500rpx] truncate"},{default:r((()=>[v(f(a.title),1)])),_:2},1024)])),_:2},1024),m(s,{class:"text-[#909399] text-[24rpx]"},{default:r((()=>[v(f(Z(a._distance)),1)])),_:2},1024)])),_:2},1024),m(s,{class:"text-[#909399] text-[24rpx] ml-[40rpx] mt-[10rpx] w-[500rpx] truncate"},{default:r((()=>[v(f(a.address),1)])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})):p("v-if",!0),p(" 无地址 "),p(' <view class="flex flex-col items-center pb-3" v-else>\n <view class="mt-[40rpx]">\n <u-image src="@/packages/static/images/map/good.png" width="290" height="200" />\n </view>\n <view class="my-[30rpx]">\n <text>没有数据哦</text>\n </view>\n </view> ')]})),_:1})])),_:1})}}}),[["__scopeId","data-v-0f1cc53f"]]);export{q as default};