Commit a3a4df54 authored by tyn's avatar tyn

三级联动 数据处理

parent fae78afc
...@@ -630,19 +630,55 @@ export function queryConditionFiltering(params) { ...@@ -630,19 +630,55 @@ export function queryConditionFiltering(params) {
* @returns * @returns
*/ */
export function getTreeSelectAreaList(selectList) { export function getTreeSelectAreaList(selectList) {
console.log(selectList);
try { try {
if (Object.prototype.toString.call(selectList) != "[object Array]") throw new Error("传入查询条件不是一个数组"); if (Object.prototype.toString.call(selectList) != "[object Array]") throw new Error("传入参数不是一个数组");
if (!selectList?.length) return []; if (!selectList?.length) return [];
const _temp = selectList;
const selectMap = new Map();
const len = _temp.length;
for (let index = 0; index < len; index++) { // 处理成原始数据
const treeItem = _temp[index]; const _temp = selectList.map(item => {
console.log(treeItem); return JSON.parse(JSON.stringify({
// 没有父级 作为最顶级元素 label: item.label,
if (!treeItem.parent) selectMap.set(treeItem.value, {}); value: item.value,
} level: item.level,
parent: item?.parent ? {
label: item?.parent?.label,
value: item?.parent?.value,
level: item?.parent.level,
} : null
}));
});
// 创建映射
const selectMap = {};
const _result = [];
// 不是顶级目标
const _childResult = [];
_temp.forEach(item => {
selectMap[item.value] = item;
});
_temp.forEach(item => {
const parent = selectMap[item?.parent?.value];
// 存在父节点,添加到父节点的chidren
if (parent) {
parent.children ? parent.children.push(item) : (parent.children = []).push(item);
parent.childCount = parent.children.length;
} else {
// 有父级 但是没有选择父级节点
if (item?.parent?.value) {
_childResult.push(item);
} else {
_result.push(item);
}
}
});
console.log(selectMap);
return _result;
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
......
...@@ -259,7 +259,6 @@ export default { ...@@ -259,7 +259,6 @@ export default {
}, },
handleChange(params) { handleChange(params) {
const tree = this.$refs?.areaTree?.getCheckedNodes(); const tree = this.$refs?.areaTree?.getCheckedNodes();
console.log(tree, "tree");
console.log(getTreeSelectAreaList(tree), "filter"); console.log(getTreeSelectAreaList(tree), "filter");
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment