更改了省市区的获取方式

This commit is contained in:
2025-08-27 10:38:36 +08:00
parent ff5b70345e
commit 8bfa7d994b

View File

@@ -186,8 +186,41 @@ const addressForm = reactive({
isDefault: false
})
// 省市区选项数据(简化版,实际项目中应该从API获取
const regionOptions = ref([
// 省市区选项数据从API获取
const regionOptions = ref([])
// 表单验证规则
const addressRules = {
recipientName: [
{ required: true, message: '请输入收货人姓名', trigger: 'blur' },
{ min: 2, max: 20, message: '姓名长度在 2 到 20 个字符', trigger: 'blur' }
],
recipientPhone: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
],
region: [
{ required: true, message: '请选择省市区', trigger: 'change' }
],
detailAddress: [
{ required: true, message: '请输入详细地址', trigger: 'blur' },
{ min: 5, max: 100, message: '详细地址长度在 5 到 100 个字符', trigger: 'blur' }
]
}
// 方法
const loadRegionOptions = async () => {
try {
const response = await api.get('/regions')
if (response.data.success) {
regionOptions.value = response.data.data.regions || []
} else {
throw new Error(response.data.message || '获取省市区数据失败')
}
} catch (error) {
ElMessage.error(error.message || '获取省市区数据失败')
// 如果API获取失败使用默认数据
regionOptions.value = [
{
value: '北京市',
label: '北京市',
@@ -250,28 +283,10 @@ const regionOptions = ref([
}
]
}
])
// 表单验证规则
const addressRules = {
recipientName: [
{ required: true, message: '请输入收货人姓名', trigger: 'blur' },
{ min: 2, max: 20, message: '姓名长度在 2 到 20 个字符', trigger: 'blur' }
],
recipientPhone: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
],
region: [
{ required: true, message: '请选择省市区', trigger: 'change' }
],
detailAddress: [
{ required: true, message: '请输入详细地址', trigger: 'blur' },
{ min: 5, max: 100, message: '详细地址长度在 5 到 100 个字符', trigger: 'blur' }
]
}
}
// 方法
const loadAddresses = async () => {
try {
loading.value = true
@@ -415,6 +430,7 @@ const resetForm = () => {
// 生命周期
onMounted(() => {
loadRegionOptions()
loadAddresses()
})
</script>