bl-common-vue3 3.8.124 → 3.8.125
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -473,8 +473,18 @@ export default defineComponent({
|
|
|
473
473
|
};
|
|
474
474
|
|
|
475
475
|
/** 获取树数据 */
|
|
476
|
+
// 获取部门树中的项目总数
|
|
477
|
+
const getVillageCount = (list = []) => {
|
|
478
|
+
return list.reduce((count, item) => {
|
|
479
|
+
if (item.type === 3) {
|
|
480
|
+
return count;
|
|
481
|
+
}
|
|
482
|
+
return count + (item.villageList?.length || 0) + getVillageCount(item.subcat || []);
|
|
483
|
+
}, 0);
|
|
484
|
+
};
|
|
485
|
+
|
|
476
486
|
// 获取部门树列表
|
|
477
|
-
const getDeptTreeList = (list, level) => {
|
|
487
|
+
const getDeptTreeList = (list, level, totalVillageCount) => {
|
|
478
488
|
let result = [];
|
|
479
489
|
for (let listItem of list) {
|
|
480
490
|
// 非项目管理部门
|
|
@@ -486,7 +496,11 @@ export default defineComponent({
|
|
|
486
496
|
listItem.slotIcon = `${listItem.childType}Icon`;
|
|
487
497
|
listItem.children = [];
|
|
488
498
|
if (listItem.subcat && listItem.subcat.length) {
|
|
489
|
-
listItem.children = getDeptTreeList(
|
|
499
|
+
listItem.children = getDeptTreeList(
|
|
500
|
+
listItem.subcat,
|
|
501
|
+
level + 1,
|
|
502
|
+
totalVillageCount,
|
|
503
|
+
);
|
|
490
504
|
}
|
|
491
505
|
if (listItem.villageList && listItem.villageList.length) {
|
|
492
506
|
listItem.noVillage = 0
|
|
@@ -494,6 +508,7 @@ export default defineComponent({
|
|
|
494
508
|
listItem.villageList,
|
|
495
509
|
level,
|
|
496
510
|
listItem,
|
|
511
|
+
totalVillageCount,
|
|
497
512
|
);
|
|
498
513
|
listItem.children = [...listItem.children, ...villageList];
|
|
499
514
|
}else{
|
|
@@ -510,7 +525,12 @@ export default defineComponent({
|
|
|
510
525
|
return result;
|
|
511
526
|
};
|
|
512
527
|
// 获取项目树列表
|
|
513
|
-
const getVillageTreeList = (
|
|
528
|
+
const getVillageTreeList = (
|
|
529
|
+
villageList,
|
|
530
|
+
level = 1,
|
|
531
|
+
parentData = {},
|
|
532
|
+
totalVillageCount = villageList.length,
|
|
533
|
+
) => {
|
|
514
534
|
return villageList.map((village) => {
|
|
515
535
|
village.childType = "village";
|
|
516
536
|
village.key = `${parentData.key ? parentData.key + "-" : ""}${
|
|
@@ -607,7 +627,7 @@ export default defineComponent({
|
|
|
607
627
|
village.isLeaf = true;
|
|
608
628
|
village.disabled = props.isdisabledNumber ? ( props.isdisabledNumber == 2 ? false : true ) : false
|
|
609
629
|
}
|
|
610
|
-
if (
|
|
630
|
+
if (totalVillageCount === 1) {
|
|
611
631
|
state.expandedKeys.push(village.key);
|
|
612
632
|
}
|
|
613
633
|
if (!state.selectedKeys.length) {
|
|
@@ -671,9 +691,12 @@ export default defineComponent({
|
|
|
671
691
|
},
|
|
672
692
|
},
|
|
673
693
|
success: (res) => {
|
|
694
|
+
const totalVillageCount = res.list
|
|
695
|
+
? getVillageCount(res.list)
|
|
696
|
+
: res.villageList?.length || 0;
|
|
674
697
|
state.treeList = res.list
|
|
675
|
-
? getDeptTreeList(res.list, 1)
|
|
676
|
-
: getVillageTreeList(res.villageList);
|
|
698
|
+
? getDeptTreeList(res.list, 1, totalVillageCount)
|
|
699
|
+
: getVillageTreeList(res.villageList, 1, {}, totalVillageCount);
|
|
677
700
|
state.loadingTree = false;
|
|
678
701
|
state.treeList[0].disabled = props.isdisabledNumber ? true : false
|
|
679
702
|
if (props.setFirst&&state.treeList.length&&state.treeList[0].children){
|