flat: cityId 合并

This commit is contained in:
Apcallover
2024-04-23 19:42:48 +08:00
parent 381f2273b3
commit 90258f3179
8 changed files with 660 additions and 533 deletions

View File

@@ -1,6 +1,8 @@
function format(data) {
const result = [];
const dic = {'0': {label: 'root', value: '0', children: result}};
const labelResult = []
const labelChild = {'0': {label: 'root', value: '0', children: labelResult}};
data.forEach(item => {
if (item.layer > 3) {
@@ -27,15 +29,26 @@ function format(data) {
} else {
dic[item.areaId] = node;
}
node.valueId = node.value
node.value = item.areaName
if (labelChild.hasOwnProperty(item.parentId)) {
if (!labelChild[item.parentId].children) {
labelChild[item.parentId].children = [];
}
labelChild[item.parentId].children.push(node);
} else {
labelChild[item.parentId] = {children: [node]};
}
});
return {data: result, dic};
return {data: result, dic, labelData: labelResult};
}
let loaded = false
const area = {
state: {data: [], dic: {}},
actions: {InitArea({commit}) {
state: {data: [], dic: {}, labelData: []},
actions: {
InitArea({commit}) {
if (!loaded) {
loaded = true
import('@/util/area').then((resp) => {
@@ -48,9 +61,10 @@ const area = {
SET_AREA: (state, data) => {
state.data = data.data
state.dic = data.dic
state.labelData = data.labelData
},
},
getters:{
getters: {
getAreaParents: (state) => (id) => {
const res = [];
let item = state.dic[id];