|
|
2 months ago | |
|---|---|---|
| .. | ||
| README-region-data.md | 2 months ago | |
| auth.ts | 4 months ago | |
| createCustomNameComponent.tsx | 4 months ago | |
| crypto.ts | 4 months ago | |
| dict.ts | 4 months ago | |
| dynamicTitle.ts | 4 months ago | |
| errorCode.ts | 4 months ago | |
| i18n.ts | 4 months ago | |
| index.ts | 4 months ago | |
| jsencrypt.ts | 4 months ago | |
| permission.ts | 4 months ago | |
| platform.ts | 4 months ago | |
| propTypes.ts | 4 months ago | |
| regionData.ts | 2 months ago | |
| regionDataConverter.ts | 2 months ago | |
| regionDataTest.ts | 2 months ago | |
| request.ts | 4 months ago | |
| ruoyi.ts | 4 months ago | |
| scroll-to.ts | 4 months ago | |
| sse.ts | 4 months ago | |
| supplyAreaDebug.ts | 2 months ago | |
| theme.ts | 4 months ago | |
| validate.ts | 4 months ago | |
| websocket.ts | 4 months ago | |
本项目采用双地区数据系统架构,分别服务于不同的业务场景:
使用场景:
数据源:
element-china-area-data 组件库src/utils/regionData.ts 文件特点:
数据格式:
interface FrontendRegionItem {
value: string; // 地区代码
label: string; // 地区名称
children?: FrontendRegionItem[];
}
使用场景:
数据源:
chinaAreaList API)/system/addressarea/getChinaList 接口特点:
数据格式:
interface BackendRegionItem {
id: number;
areaCode: string;
areaName: string;
parentCode: number;
level: number;
children?: BackendRegionItem[];
}
<template>
<el-cascader
v-model="selectedRegion"
:options="regionOptions"
:props="regionCascaderProps"
placeholder="请选择省市区"
/>
</template>
<script setup>
import { regionData } from 'element-china-area-data';
const regionOptions = ref(regionData);
const regionCascaderProps = {
value: 'value',
label: 'label',
children: 'children'
};
</script>
<script setup>
import { chinaAreaList } from '@/api/system/addressarea/index';
import { convertRegionData } from '@/utils/regionDataConverter';
const supplyAreaOptions = ref([]);
const initSupplyAreaOptions = async () => {
try {
const res = await chinaAreaList();
supplyAreaOptions.value = res.data;
// 如果需要转换为级联选择器格式
// const converted = convertRegionData(res.data);
} catch (e) {
console.error('获取供货区域数据失败:', e);
}
};
</script>
src/utils/regionDataConverter.ts 提供了数据格式转换和查询工具:
convertRegionData(): 将后端数据转换为前端格式findRegionCodes(): 根据地区名称查找代码findRegionNames(): 根据代码查找地区名称BackendRegionUtils: 后端数据查询工具类这种双系统架构虽然需要维护两套地区数据,但能够:
这是一个经过深思熟虑的架构设计,符合实际业务需求。