bl-common-vue3 3.8.123 → 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.123",
3
+ "version": "3.8.125",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "description": "bailing vue3 common components lib",
@@ -39,10 +39,11 @@
39
39
  <script>
40
40
  import {
41
41
  computed,
42
- defineComponent, reactive, toRefs, watch,
42
+ defineComponent, getCurrentInstance, reactive, toRefs, watch,
43
43
  } from "vue";
44
44
  import {Modal, Table} from "ant-design-vue";
45
45
  import { SyncOutlined } from "@ant-design/icons-vue";
46
+ import { EventCenterForMicroApp } from "kj-micro-app";
46
47
  import {t, loadLanguageAsync} from "../../locale";
47
48
  import utils from "../../common/utils/util";
48
49
  import BlModal from "../BlModal/index.vue";
@@ -84,6 +85,7 @@ export default defineComponent({
84
85
  },
85
86
  },
86
87
  setup(props, { emit }) {
88
+ const instance = getCurrentInstance();
87
89
 
88
90
  const state = reactive({
89
91
  dataList: [], // 数据源
@@ -157,11 +159,17 @@ export default defineComponent({
157
159
  // context.emit("addProperty");
158
160
  state.addLoading = true;
159
161
  if (props.microMessageInfo.appName && props.microMessageInfo.routeName) {
160
- // 如果是在父应用中运行
162
+ // 共享依赖运行在主应用作用域,通过组件所属容器定位发起操作的子应用。
163
+ const rootElement = instance?.proxy?.$root?.$el;
164
+ const appElement = rootElement?.closest?.("micro-app") ||
165
+ rootElement?.parentElement?.closest("micro-app");
166
+ const appName = appElement?.getAttribute("name");
167
+ const microApp = typeof window.microApp?.forceDispatch === "function"
168
+ ? window.microApp
169
+ : appName ? new EventCenterForMicroApp(appName) : null;
161
170
 
162
- if (window.__MICRO_APP_ENVIRONMENT__) {
163
-
164
- window.microApp.forceDispatch({
171
+ if (microApp) {
172
+ microApp.forceDispatch({
165
173
  type: "SetChildDrawerList",
166
174
  info: {
167
175
  props: {
@@ -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){