店铺列表店铺地址,选择经纬度调整
This commit is contained in:
@@ -1,13 +1,40 @@
|
||||
<template>
|
||||
<div class="center">
|
||||
<el-select placeholder="请选择省" style="width: 100px;" v-model="provCode" @change="provChange">
|
||||
<el-option v-for="item in provList" :key="item.regionId" :label="item.regionName" :value="item.regionId" />
|
||||
<el-select placeholder="请选择省" style="width: 100px" v-model="provCode" @change="provChange">
|
||||
<el-option
|
||||
v-for="item in provList"
|
||||
:key="item.regionId"
|
||||
:label="item.regionName"
|
||||
:value="item.regionId"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select placeholder="请选择市" style="width: 100px;" :disabled="!provCode" v-model="cityCode" @change="cityChange">
|
||||
<el-option v-for="item in cityList" :key="item.regionId" :label="item.regionName" :value="item.regionId" />
|
||||
<el-select
|
||||
placeholder="请选择市"
|
||||
style="width: 100px"
|
||||
:disabled="!provCode"
|
||||
v-model="cityCode"
|
||||
@change="cityChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in cityList"
|
||||
:key="item.regionId"
|
||||
:label="item.regionName"
|
||||
:value="item.regionId"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select placeholder="请选择区" style="width: 100px;" :disabled="!cityCode" v-model="areaCode" @change="areaChange">
|
||||
<el-option v-for="item in areaList" :key="item.regionId" :label="item.regionName" :value="item.regionId" />
|
||||
<el-select
|
||||
placeholder="请选择区"
|
||||
style="width: 100px"
|
||||
:disabled="!cityCode"
|
||||
v-model="areaCode"
|
||||
@change="areaChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in areaList"
|
||||
:key="item.regionId"
|
||||
:label="item.regionName"
|
||||
:value="item.regionId"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</template>
|
||||
@@ -26,23 +53,31 @@ const provCode = defineModel("provCode", {
|
||||
});
|
||||
|
||||
// 监听省份code变化
|
||||
watch(provCode, async (n, o) => {
|
||||
await getRegionAjax()
|
||||
if (n && n !== undefined) {
|
||||
provChange(n, true)
|
||||
watch(
|
||||
provCode,
|
||||
async (n, o) => {
|
||||
await getRegionAjax();
|
||||
if (n && n !== undefined) {
|
||||
provChange(n, true);
|
||||
|
||||
// 监听市区code变化
|
||||
watch(cityCode, async (n, o) => {
|
||||
if (n !== undefined && n) {
|
||||
cityChange(n, true)
|
||||
}
|
||||
}, {
|
||||
immediate: true // 可选:初始化立即执行,验证是否监听到初始值
|
||||
})
|
||||
// 监听市区code变化
|
||||
watch(
|
||||
cityCode,
|
||||
async (n, o) => {
|
||||
if (n !== undefined && n) {
|
||||
cityChange(n, true);
|
||||
}
|
||||
},
|
||||
{
|
||||
immediate: true, // 可选:初始化立即执行,验证是否监听到初始值
|
||||
}
|
||||
);
|
||||
}
|
||||
},
|
||||
{
|
||||
immediate: true, // 可选:初始化立即执行,验证是否监听到初始值
|
||||
}
|
||||
}, {
|
||||
immediate: true // 可选:初始化立即执行,验证是否监听到初始值
|
||||
})
|
||||
);
|
||||
|
||||
const cityCode = defineModel("cityCode", {
|
||||
type: String,
|
||||
@@ -69,10 +104,10 @@ const area = defineModel("area", {
|
||||
default: "",
|
||||
});
|
||||
|
||||
const wxProvinceCode = defineModel('wxProvinceCode', {
|
||||
const wxProvinceCode = defineModel("wxProvinceCode", {
|
||||
type: String,
|
||||
default: ''
|
||||
})
|
||||
default: "",
|
||||
});
|
||||
|
||||
// 省份变化 e code isEcho是否回显
|
||||
function provChange(e: string, isEcho: boolean = false) {
|
||||
@@ -100,7 +135,7 @@ function cityChange(e: string, isEcho: boolean = false) {
|
||||
city.value = cityObj ? cityObj.regionName : "";
|
||||
if (cityObj && cityObj.children) {
|
||||
areaList.value = cityObj.children;
|
||||
wxProvinceCode.value = cityObj.wxProvinceCode
|
||||
wxProvinceCode.value = cityObj.wxProvinceCode;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,7 +151,7 @@ async function getRegionAjax() {
|
||||
const res = await getRegion();
|
||||
provList.value = res;
|
||||
} catch (error) {
|
||||
console.error('获取省市区数据失败:', error);
|
||||
console.error("获取省市区数据失败:", error);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -127,4 +162,4 @@ async function getRegionAjax() {
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user