2 lines
9.3 KiB
JavaScript
2 lines
9.3 KiB
JavaScript
![]() |
import{f as e,E as l,G as a,g as t,o as u,c as s,w as i,a as c,h as n,t as d,m as o,b as r,F as v,r as m,n as f,B as p,d as _,H as y,S as h,e as k,u as b,q as C,C as V,D,I as x}from"./index-3714412c.js";import{_ as g}from"./uv-navbar.31c484ad.js";import{r as j,o as I,u as N}from"./useRouter.f44141c1.js";import{_ as w}from"./uv-popup.e5d0df45.js";import{_ as $}from"./_plugin-vue_export-helper.1b428a4d.js";import{_ as L,a as S}from"./uv-checkbox-group.93885f58.js";import{_ as E}from"./uv-button.14a976f7.js";import{_ as U}from"./layout.99605750.js";import{u as A,a as B}from"./store.13d2fa29.js";import"./uv-status-bar.b515a02d.js";import"./uv-icon.c593f91d.js";import"./uv-transition.4f5b62a8.js";import"./uv-loading-icon.8ba359c8.js";import"./api.966d6934.js";const q=$({__name:"city-select",props:["items","defaultValue"],emits:["callback"],setup(b,{emit:C}){const V=b,D=e(V.items||[]),x=e(V.value||"请选择"),g=e(V.items),I=e(null),N=e([]),$=e(null),L=e([]),S=e(null),E=e(0),U=e(null);l((()=>V.items),(e=>{g.value=e})),l((()=>V.defaultValue),(e=>{x.value=`${e.province.name} ${e.city.name} ${e.district.name}`,F(D.value,e)})),a((()=>{}));const A=e=>I.value&&e.value==I.value.value,B=e=>$.value&&e.value==$.value.value,q=e=>S.value&&e.value==S.value.value,F=(e,l)=>{e&&l&&(g.value=e,e.map((e=>{e.name==l.province.name&&(N.value=e.id,I.value={value:e.id,name:l.province.name},e.children.map((e=>{e.name==l.city.name&&(L.value=e.children,$.value={value:e.id,name:l.city.name},e.children.map((a=>{a.name==l.district.name&&(S.value={value:e.id,name:l.district.name})})))})))})))},G=()=>{g.value=V.items,I.value=null,$.value=null,S.value=null,N.value=[],L.value=[],E.value=0,U.value.open(),F(D.value,V.defaultValue.value)},H=e=>{0==e&&(I.value=null),1==e&&($.value=null,S.value=null),2==e&&(S.value=null),E.value=e};return(e,l)=>{const a=p,b=_,V=y,D=h,F=k,J=j(t("uv-popup"),w);return u(),s(b,null,{default:i((()=>[c(a,{class:"uni-input",onClick:G},{default:i((()=>[n(d(x.value),1)])),_:1}),c(J,{ref_key:"popup",ref:U,mode:"bottom"},{default:i((()=>[c(b,{class:"cityselect"},{default:i((()=>[c(b,{class:"cityselect-header"},{default:i((()=>[c(b,{class:"cityselect-title"},{default:i((()=>[c(a,null,{default:i((()=>[n("请选择地址")])),_:1})])),_:1}),c(b,{class:"cityselect-nav"},{default:i((()=>[I.value?(u(),s(b,{key:0,class:"item",onClick:l[0]||(l[0]=e=>H(0))},{default:i((()=>[c(a,null,{default:i((()=>[n(d(I.value.name),1)])),_:1})])),_:1})):o("",!0),$.value?(u(),s(b,{key:1,class:"item",onClick:l[1]||(l[1]=e=>H(1))},{default:i((()=>[c(a,null,{default:i((()=>[n(d($.value.name),1)])),_:1})])),_:1})):o("",!0),S.value?(u(),s(b,{key:2,class:"item",onClick:l[2]||(l[2]=e=>H(2))},{default:i((()=>[c(a,null,{default:i((()=>[n(d(S.value.name),1)])),_:1})])),_:1})):(u(),s(b,{key:3,class:"item active"},{default:i((()=>[c(a,null,{default:i((()=>[n("请选择")])),_:1})])),_:1}))])),_:1})])),_:1}),c(b,{class:"cityselect-content"},{default:i((()=>[c(F,{class:"swiper","disable-touch":"true",touchable:"false",current:E.value},{default:i((()=>[c(D,null,{default:i((()=>[c(V,{"scroll-y":"",class:"cityScroll"},{default:i((()=>[c(b,null,{default:i((()=>[(u(!0),r(v,null,m(g.value,((e,l)=>(u(),s(b,{class:"cityselect-item",key:l,onClick:l=>{return a=e,I.value=a,N.value=a.children,void(E.value=1);var a}},{default:i((()=>[c(b,{class:f(["cityselect-item-box",{active:A(e)}])},{default:i((()=>[c(a,null,{default:i((()=>[n(d(e.name),1)])),_:2},1024)])),_:2},1032,["class"])])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})])),_:1}),c(D,null,{default:i((()=>[c(V,{"scroll-y":"",class:"cityScroll"},{default:i((()=>[c(b,null,{default:i((()=>[(u(!0),r(v,null,m(N.value,((e,l)=>(u(),s(b,{class:"cityselect-item",key:l,onClick:l=>{return a=e,$.value=a,L.value=a.children,void(E.value=2);var a}},{default:i((()=>[c(b,{class:f(["cityselect-item-box",{active:B(e)}])},{default:i((()=>[c(a,null,{default:i((()=>[n(d(e.name),1)])),_:2},1024)])),_:2},1032,["class"])])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})])),_:1}),c(D,null,{default:i((()=>[c(V,{"scroll-y":"",class:"cityScroll"},{default:i(
|