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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bl-common-vue3",
3
- "version": "3.8.124",
3
+ "version": "3.8.125",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "description": "bailing vue3 common components lib",
@@ -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(listItem.subcat, level + 1);
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 = (villageList, level = 1, parentData) => {
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 (!(props.showCompany && villageList.length > 1)) {
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){