@ibiz-template/vue3-components 0.7.41-alpha.13 → 0.7.41-alpha.14

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.
Files changed (47) hide show
  1. package/dist/index-1fHusiqt.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/{wang-editor-Iw-hqw1q.js → wang-editor-z0RY8bO1.js} +1 -1
  5. package/dist/{xlsx-util-FnTIZeKq.js → xlsx-util-8Du1A340.js} +1 -1
  6. package/es/control/calendar/calendar.mjs +4 -1
  7. package/es/control/drbar/drbar.controller.d.ts +6 -0
  8. package/es/control/drbar/drbar.controller.mjs +8 -0
  9. package/es/control/drbar/drbar.mjs +6 -0
  10. package/es/control/drtab/drtab-control.util.mjs +1 -1
  11. package/es/control/drtab/drtab.controller.d.ts +6 -0
  12. package/es/control/drtab/drtab.controller.mjs +9 -0
  13. package/es/control/drtab/drtab.mjs +13 -0
  14. package/es/control/gantt/gantt.mjs +4 -1
  15. package/es/control/tab-exp-panel/index.d.ts +1 -0
  16. package/es/control/tab-exp-panel/tab-exp-panel.css +1 -1
  17. package/es/control/tab-exp-panel/tab-exp-panel.d.ts +2 -1
  18. package/es/control/tab-exp-panel/tab-exp-panel.mjs +21 -2
  19. package/es/control/tree/tree.mjs +4 -1
  20. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  21. package/es/view-engine/custom-view.engine.d.ts +1 -1
  22. package/es/view-engine/custom-view.engine.mjs +5 -5
  23. package/es/view-engine/de-index-view-engine.mjs +1 -1
  24. package/es/view-engine/edit-view.engine.mjs +1 -1
  25. package/es/view-engine/md-custom-view.engine.d.ts +1 -1
  26. package/es/view-engine/md-custom-view.engine.mjs +5 -5
  27. package/es/view-engine/opt-view.engine.mjs +1 -1
  28. package/lib/control/calendar/calendar.cjs +4 -1
  29. package/lib/control/drbar/drbar.cjs +6 -0
  30. package/lib/control/drbar/drbar.controller.cjs +8 -0
  31. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  32. package/lib/control/drtab/drtab.cjs +13 -0
  33. package/lib/control/drtab/drtab.controller.cjs +9 -0
  34. package/lib/control/gantt/gantt.cjs +4 -1
  35. package/lib/control/tab-exp-panel/tab-exp-panel.cjs +20 -1
  36. package/lib/control/tab-exp-panel/tab-exp-panel.css +1 -1
  37. package/lib/control/tree/tree.cjs +4 -1
  38. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  39. package/lib/view-engine/custom-view.engine.cjs +5 -5
  40. package/lib/view-engine/de-index-view-engine.cjs +1 -1
  41. package/lib/view-engine/edit-view.engine.cjs +1 -1
  42. package/lib/view-engine/md-custom-view.engine.cjs +5 -5
  43. package/lib/view-engine/opt-view.engine.cjs +1 -1
  44. package/package.json +5 -5
  45. package/dist/index-LzKAcXeH.js +0 -4
  46. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.12_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  47. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.12_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -284,7 +284,10 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
284
284
  if (!contextMenuC.model.detoolbarItems) {
285
285
  return;
286
286
  }
287
- await contextMenuC.calcButtonState(item.deData || (item.deData ? item : void 0), targetCalendarItem.appDataEntityId);
287
+ await contextMenuC.calcButtonState(item.deData || (item.deData ? item : void 0), targetCalendarItem.appDataEntityId, {
288
+ view: c.view,
289
+ ctrl: c
290
+ });
288
291
  const menuState = contextMenuC.state.buttonsState;
289
292
  const menus = calcContextMenuItems(contextMenuC.model.detoolbarItems, item, evt, menuState);
290
293
  if (!menus.length) {
@@ -210,4 +210,10 @@ export declare class DRBarController extends ControlController<IDEDRBar, IDRBarS
210
210
  * @return {*} {Promise<void>}
211
211
  */
212
212
  protected onDestroyed(): Promise<void>;
213
+ /**
214
+ * @description 设置激活项
215
+ * @param {string} name
216
+ * @memberof DRBarController
217
+ */
218
+ setActive(name: string): void;
213
219
  }
@@ -555,6 +555,14 @@ class DRBarController extends ControlController {
555
555
  this.counter.destroy();
556
556
  }
557
557
  }
558
+ /**
559
+ * @description 设置激活项
560
+ * @param {string} name
561
+ * @memberof DRBarController
562
+ */
563
+ setActive(name) {
564
+ this.handleSelectChange(name);
565
+ }
558
566
  }
559
567
 
560
568
  export { DRBarController };
@@ -78,7 +78,13 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
78
78
  });
79
79
  c.setRouter(router);
80
80
  const handleSelect = (key) => {
81
+ var _a;
81
82
  c.handleSelectChange(key);
83
+ const drBarItem = (_a = c.model.dedrctrlItems) == null ? void 0 : _a.find((item) => item.id === key);
84
+ c.evt.emit("onTabChange", {
85
+ name: key,
86
+ item: drBarItem || c.state.drBarItems[0]
87
+ });
82
88
  };
83
89
  const route = useRoute();
84
90
  let expViewRoutePath = "";
@@ -1,5 +1,5 @@
1
1
  import { ref, watch, watchEffect, onUnmounted } from 'vue';
2
- import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.12_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs';
2
+ import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs';
3
3
 
4
4
  "use strict";
5
5
  function useAppDRTab(c, controlRef, counterData) {
@@ -220,4 +220,10 @@ export declare class DRTabController extends ControlController<IDEDRTab, IDRTabS
220
220
  * @return {*} {Promise<void>}
221
221
  */
222
222
  protected onDestroyed(): Promise<void>;
223
+ /**
224
+ * @description 设置激活项
225
+ * @param {string} name
226
+ * @memberof DRTabController
227
+ */
228
+ setActive(name: string): void;
223
229
  }
@@ -505,6 +505,15 @@ class DRTabController extends ControlController {
505
505
  this.counter.destroy();
506
506
  }
507
507
  }
508
+ /**
509
+ * @description 设置激活项
510
+ * @param {string} name
511
+ * @memberof DRTabController
512
+ */
513
+ setActive(name) {
514
+ this.state.activeName = name;
515
+ this.handleTabChange();
516
+ }
508
517
  }
509
518
 
510
519
  export { DRTabController };
@@ -76,12 +76,25 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
76
76
  (_a2 = c.counter) == null ? void 0 : _a2.offChange(fn);
77
77
  });
78
78
  c.setRouter(router);
79
+ const emitChange = () => {
80
+ var _a2;
81
+ const {
82
+ activeName
83
+ } = c.state;
84
+ const drBarItem = (_a2 = c.model.dedrtabPages) == null ? void 0 : _a2.find((item) => item.id === activeName);
85
+ c.evt.emit("onTabChange", {
86
+ name: activeName,
87
+ item: drBarItem || c.state.drTabPages[0]
88
+ });
89
+ };
79
90
  const handleTabChange = () => {
80
91
  c.handleTabChange();
92
+ emitChange();
81
93
  };
82
94
  const onTabChange = (key) => {
83
95
  c.state.activeName = key;
84
96
  c.handleTabChange();
97
+ emitChange();
85
98
  };
86
99
  const route = useRoute();
87
100
  let expViewRoutePath = "";
@@ -329,7 +329,10 @@ const GanttControl = /* @__PURE__ */ defineComponent({
329
329
  if (!contextMenuC.model.detoolbarItems) {
330
330
  return;
331
331
  }
332
- await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId);
332
+ await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId, {
333
+ view: c.view,
334
+ ctrl: c
335
+ });
333
336
  const menuState = contextMenuC.state.buttonsState;
334
337
  const menus = calcContextMenuItems(contextMenuC.model.detoolbarItems, nodeData, evt, menuState);
335
338
  if (!menus.length) {
@@ -22,6 +22,7 @@ export declare const IBizTabExpPanelControl: import("@ibiz-template/vue3-util").
22
22
  c: import("@ibiz-template/runtime").TabExpPanelController;
23
23
  ns: import("@ibiz-template/core").Namespace;
24
24
  tabPosition: string;
25
+ counterData: import("vue").Ref<import("@ibiz-template/core").IApiData>;
25
26
  handleTabChange: () => void;
26
27
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
28
  modelData: {
@@ -1 +1 @@
1
- .ibiz-control-tabexppanel{--ibiz-control-tabexppanel-color:var(--ibiz-color-text-2);--ibiz-control-tabexppanel-hover-color:var(--ibiz-color-text-0);--ibiz-control-tabexppanel-active-color:var(--ibiz-color-primary);--ibiz-control-tabexppanel-bar-color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-control-tabexppanel-bar-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-tabexppanel-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-control-tabexppanel-hover-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-control-tabexppanel-active-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs.el-tabs--bottom,.ibiz-control-tabexppanel .el-tabs.el-tabs--top{padding-left:var(--ibiz-spacing-base)}.ibiz-control-tabexppanel .el-tabs__item{padding:var(--ibiz-spacing-base)}
1
+ .ibiz-control-tabexppanel{--ibiz-control-tabexppanel-color:var(--ibiz-color-text-2);--ibiz-control-tabexppanel-hover-color:var(--ibiz-color-text-0);--ibiz-control-tabexppanel-active-color:var(--ibiz-color-primary);--ibiz-control-tabexppanel-bar-color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-control-tabexppanel-bar-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-tabexppanel-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-control-tabexppanel-hover-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-control-tabexppanel-active-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs.el-tabs--bottom,.ibiz-control-tabexppanel .el-tabs.el-tabs--top{padding-left:var(--ibiz-spacing-base)}.ibiz-control-tabexppanel .el-tabs__item{padding:var(--ibiz-spacing-base)}.ibiz-control-tabexppanel__counter{margin-left:var(--ibiz-spacing-tight)}
@@ -1,4 +1,4 @@
1
- import { PropType } from 'vue';
1
+ import { PropType, Ref } from 'vue';
2
2
  import { ITabExpPanel } from '@ibiz/model-core';
3
3
  import './tab-exp-panel.scss';
4
4
  import { IControlProvider, TabExpPanelController } from '@ibiz-template/runtime';
@@ -42,6 +42,7 @@ export declare const TabExpPanelControl: import("vue").DefineComponent<{
42
42
  c: TabExpPanelController;
43
43
  ns: import("@ibiz-template/core").Namespace;
44
44
  tabPosition: string;
45
+ counterData: Ref<import("@ibiz-template/core").IApiData>;
45
46
  handleTabChange: () => void;
46
47
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
47
48
  /**
@@ -1,8 +1,9 @@
1
- import { isVNode, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { isVNode, ref, onUnmounted, watch, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
3
3
  import './tab-exp-panel.css';
4
4
  import { TabExpPanelController } from '@ibiz-template/runtime';
5
5
  import { useRoute } from 'vue-router';
6
+ import { isNil } from 'ramda';
6
7
 
7
8
  "use strict";
8
9
  function _isSlot(s) {
@@ -51,6 +52,19 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
51
52
  var _a;
52
53
  const c = useControlController((...args) => new TabExpPanelController(...args));
53
54
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
55
+ const counterData = ref({});
56
+ const fn = (counter) => {
57
+ counterData.value = counter;
58
+ };
59
+ c.evt.on("onCreated", () => {
60
+ if (c.counter) {
61
+ c.counter.onChange(fn, true);
62
+ }
63
+ });
64
+ onUnmounted(() => {
65
+ var _a2;
66
+ (_a2 = c.counter) == null ? void 0 : _a2.offChange(fn);
67
+ });
54
68
  const handleTabChange = () => {
55
69
  c.handleTabChange();
56
70
  };
@@ -84,6 +98,7 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
84
98
  c,
85
99
  ns,
86
100
  tabPosition,
101
+ counterData,
87
102
  handleTabChange
88
103
  };
89
104
  },
@@ -102,6 +117,7 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
102
117
  "tabPosition": this.tabPosition,
103
118
  "onTabChange": this.handleTabChange
104
119
  }, _isSlot(_slot = tabPages.map((tab) => {
120
+ const counterNum = tab.counterId ? this.counterData[tab.counterId] : void 0;
105
121
  return createVNode(resolveComponent("el-tab-pane"), {
106
122
  "class": [this.ns.e("tab-item")],
107
123
  "label": tab.caption,
@@ -112,7 +128,10 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
112
128
  "class": [...tab.class]
113
129
  }, [this.c.isShowIcon && createVNode(resolveComponent("iBizIcon"), {
114
130
  "icon": tab.sysImage
115
- }, null), this.c.isShowCaption && tab.caption]);
131
+ }, null), this.c.isShowCaption && tab.caption, !isNil(counterNum) && createVNode(resolveComponent("iBizBadge"), {
132
+ "class": this.ns.e("counter"),
133
+ "value": counterNum
134
+ }, null)]);
116
135
  }
117
136
  });
118
137
  })) ? _slot : {
@@ -588,7 +588,10 @@ const TreeControl = /* @__PURE__ */ defineComponent({
588
588
  if (!contextMenuC.model.detoolbarItems) {
589
589
  return;
590
590
  }
591
- await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId);
591
+ await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId, {
592
+ view: c.view,
593
+ ctrl: c
594
+ });
592
595
  const menuState = contextMenuC.state.buttonsState;
593
596
  const menus = calcContextMenuItems(contextMenuC.model.detoolbarItems, nodeData, evt, menuState);
594
597
  if (!menus.length) {
@@ -1,6 +1,6 @@
1
1
  import { createApp } from 'vue';
2
2
  import ElementPlus from 'element-plus';
3
- import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.12_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs';
3
+ import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs';
4
4
  import { IBizFullscreenToolbar } from '../../common/fullscreen-toolbar/fullscreen-toolbar.mjs';
5
5
 
6
6
  "use strict";
@@ -30,6 +30,6 @@ export declare class CustomViewEngine extends ViewEngineBase {
30
30
  * @param {(IData | undefined)} data 数据
31
31
  * @memberof CustomViewEngine
32
32
  */
33
- calcToolbarButtonState(control: IMDControl, data: IData | undefined): void;
33
+ calcToolbarButtonState(control: IMDControl, data: IData | undefined, _params?: IParams): void;
34
34
  call(key: keyof IApiCustomViewCall, args: any): Promise<IData | null | undefined>;
35
35
  }
@@ -43,15 +43,15 @@ class CustomViewEngine extends ViewEngineBase {
43
43
  );
44
44
  control == null ? void 0 : control.evt.on(
45
45
  "onLoadSuccess",
46
- () => this.calcToolbarButtonState(ctrl, void 0)
46
+ (evt) => this.calcToolbarButtonState(ctrl, void 0, evt)
47
47
  );
48
48
  control == null ? void 0 : control.evt.on(
49
49
  "onSelectionChange",
50
- (evt) => this.calcToolbarButtonState(ctrl, evt.data[0])
50
+ (evt) => this.calcToolbarButtonState(ctrl, evt.data[0], evt)
51
51
  );
52
52
  control == null ? void 0 : control.evt.on(
53
53
  "onRefreshSuccess",
54
- (evt) => this.calcToolbarButtonState(ctrl, evt.data[0])
54
+ (evt) => this.calcToolbarButtonState(ctrl, evt.data[0], evt)
55
55
  );
56
56
  });
57
57
  }
@@ -62,7 +62,7 @@ class CustomViewEngine extends ViewEngineBase {
62
62
  * @param {(IData | undefined)} data 数据
63
63
  * @memberof CustomViewEngine
64
64
  */
65
- calcToolbarButtonState(control, data) {
65
+ calcToolbarButtonState(control, data, _params) {
66
66
  const model = this.controls.find(
67
67
  (ctrl) => {
68
68
  var _a;
@@ -73,7 +73,7 @@ class CustomViewEngine extends ViewEngineBase {
73
73
  const toolbar = this.view.getController(
74
74
  model.name
75
75
  );
76
- toolbar == null ? void 0 : toolbar.calcButtonState(data, control.appDataEntityId);
76
+ toolbar == null ? void 0 : toolbar.calcButtonState(data, control.appDataEntityId, _params);
77
77
  }
78
78
  }
79
79
  async call(key, args) {
@@ -46,7 +46,7 @@ class DEIndexViewEngine extends EditViewEngine {
46
46
  const { evt } = this.view;
47
47
  const formDeId = this.form.model.appDataEntityId;
48
48
  const data = event.data[0];
49
- (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId);
49
+ (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId, event);
50
50
  if (data.srfkey) {
51
51
  evt.emit("onViewInfoChange", { dataInfo: data.srfmajortext || "" });
52
52
  }
@@ -101,7 +101,7 @@ class EditViewEngine extends DEMainViewEngine {
101
101
  const { model, evt } = this.view;
102
102
  const formDeId = this.form.model.appDataEntityId;
103
103
  const data = event.data[0];
104
- (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId);
104
+ (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId, event);
105
105
  if (model.showDataInfoBar) {
106
106
  if (data.srfkey) {
107
107
  evt.emit("onViewInfoChange", { dataInfo: data.srfmajortext || "" });
@@ -35,7 +35,7 @@ export declare class MDCustomViewEngine extends ViewEngineBase {
35
35
  * @param {(IData | undefined)} data 数据
36
36
  * @memberof MDCustomViewEngine
37
37
  */
38
- calcToolbarButtonState(control: IMDControl, data: IData | undefined): void;
38
+ calcToolbarButtonState(control: IMDControl, data: IData | undefined, _params?: IParams): void;
39
39
  call(key: keyof IApiMDCustomViewCall, args: any): Promise<IData | null | undefined>;
40
40
  /**
41
41
  * @description 刷新数据
@@ -46,15 +46,15 @@ class MDCustomViewEngine extends ViewEngineBase {
46
46
  );
47
47
  control == null ? void 0 : control.evt.on(
48
48
  "onLoadSuccess",
49
- () => this.calcToolbarButtonState(ctrl, void 0)
49
+ (evt) => this.calcToolbarButtonState(ctrl, void 0, evt)
50
50
  );
51
51
  control == null ? void 0 : control.evt.on(
52
52
  "onSelectionChange",
53
- (evt) => this.calcToolbarButtonState(ctrl, evt.data[0])
53
+ (evt) => this.calcToolbarButtonState(ctrl, evt.data[0], evt)
54
54
  );
55
55
  control == null ? void 0 : control.evt.on(
56
56
  "onRefreshSuccess",
57
- (evt) => this.calcToolbarButtonState(ctrl, evt.data[0])
57
+ (evt) => this.calcToolbarButtonState(ctrl, evt.data[0], evt)
58
58
  );
59
59
  });
60
60
  }
@@ -79,7 +79,7 @@ class MDCustomViewEngine extends ViewEngineBase {
79
79
  * @param {(IData | undefined)} data 数据
80
80
  * @memberof MDCustomViewEngine
81
81
  */
82
- calcToolbarButtonState(control, data) {
82
+ calcToolbarButtonState(control, data, _params) {
83
83
  const model = this.controls.find(
84
84
  (ctrl) => {
85
85
  var _a;
@@ -90,7 +90,7 @@ class MDCustomViewEngine extends ViewEngineBase {
90
90
  const toolbar = this.view.getController(
91
91
  model.name
92
92
  );
93
- toolbar == null ? void 0 : toolbar.calcButtonState(data, control.appDataEntityId);
93
+ toolbar == null ? void 0 : toolbar.calcButtonState(data, control.appDataEntityId, _params);
94
94
  }
95
95
  }
96
96
  async call(key, args) {
@@ -68,7 +68,7 @@ class OptViewEngine extends ViewEngineBase {
68
68
  const formDataStateChange = (event) => {
69
69
  var _a;
70
70
  const data = event.data[0];
71
- (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId);
71
+ (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId, event);
72
72
  if (data.srfkey) {
73
73
  evt.emit("onViewInfoChange", { dataInfo: data.srfmajortext });
74
74
  }
@@ -286,7 +286,10 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
286
286
  if (!contextMenuC.model.detoolbarItems) {
287
287
  return;
288
288
  }
289
- await contextMenuC.calcButtonState(item.deData || (item.deData ? item : void 0), targetCalendarItem.appDataEntityId);
289
+ await contextMenuC.calcButtonState(item.deData || (item.deData ? item : void 0), targetCalendarItem.appDataEntityId, {
290
+ view: c.view,
291
+ ctrl: c
292
+ });
290
293
  const menuState = contextMenuC.state.buttonsState;
291
294
  const menus = calcContextMenuItems(contextMenuC.model.detoolbarItems, item, evt, menuState);
292
295
  if (!menus.length) {
@@ -80,7 +80,13 @@ const DRBarControl = /* @__PURE__ */ vue.defineComponent({
80
80
  });
81
81
  c.setRouter(router);
82
82
  const handleSelect = (key) => {
83
+ var _a;
83
84
  c.handleSelectChange(key);
85
+ const drBarItem = (_a = c.model.dedrctrlItems) == null ? void 0 : _a.find((item) => item.id === key);
86
+ c.evt.emit("onTabChange", {
87
+ name: key,
88
+ item: drBarItem || c.state.drBarItems[0]
89
+ });
84
90
  };
85
91
  const route = vueRouter.useRoute();
86
92
  let expViewRoutePath = "";
@@ -557,6 +557,14 @@ class DRBarController extends runtime.ControlController {
557
557
  this.counter.destroy();
558
558
  }
559
559
  }
560
+ /**
561
+ * @description 设置激活项
562
+ * @param {string} name
563
+ * @memberof DRBarController
564
+ */
565
+ setActive(name) {
566
+ this.handleSelectChange(name);
567
+ }
560
568
  }
561
569
 
562
570
  exports.DRBarController = DRBarController;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var vue = require('vue');
4
- var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.12_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs');
4
+ var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs');
5
5
 
6
6
  "use strict";
7
7
  function useAppDRTab(c, controlRef, counterData) {
@@ -78,12 +78,25 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
78
78
  (_a2 = c.counter) == null ? void 0 : _a2.offChange(fn);
79
79
  });
80
80
  c.setRouter(router);
81
+ const emitChange = () => {
82
+ var _a2;
83
+ const {
84
+ activeName
85
+ } = c.state;
86
+ const drBarItem = (_a2 = c.model.dedrtabPages) == null ? void 0 : _a2.find((item) => item.id === activeName);
87
+ c.evt.emit("onTabChange", {
88
+ name: activeName,
89
+ item: drBarItem || c.state.drTabPages[0]
90
+ });
91
+ };
81
92
  const handleTabChange = () => {
82
93
  c.handleTabChange();
94
+ emitChange();
83
95
  };
84
96
  const onTabChange = (key) => {
85
97
  c.state.activeName = key;
86
98
  c.handleTabChange();
99
+ emitChange();
87
100
  };
88
101
  const route = vueRouter.useRoute();
89
102
  let expViewRoutePath = "";
@@ -507,6 +507,15 @@ class DRTabController extends runtime.ControlController {
507
507
  this.counter.destroy();
508
508
  }
509
509
  }
510
+ /**
511
+ * @description 设置激活项
512
+ * @param {string} name
513
+ * @memberof DRTabController
514
+ */
515
+ setActive(name) {
516
+ this.state.activeName = name;
517
+ this.handleTabChange();
518
+ }
510
519
  }
511
520
 
512
521
  exports.DRTabController = DRTabController;
@@ -331,7 +331,10 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
331
331
  if (!contextMenuC.model.detoolbarItems) {
332
332
  return;
333
333
  }
334
- await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId);
334
+ await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId, {
335
+ view: c.view,
336
+ ctrl: c
337
+ });
335
338
  const menuState = contextMenuC.state.buttonsState;
336
339
  const menus = calcContextMenuItems(contextMenuC.model.detoolbarItems, nodeData, evt, menuState);
337
340
  if (!menus.length) {
@@ -5,6 +5,7 @@ var vue3Util = require('@ibiz-template/vue3-util');
5
5
  require('./tab-exp-panel.css');
6
6
  var runtime = require('@ibiz-template/runtime');
7
7
  var vueRouter = require('vue-router');
8
+ var ramda = require('ramda');
8
9
 
9
10
  "use strict";
10
11
  function _isSlot(s) {
@@ -53,6 +54,19 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
53
54
  var _a;
54
55
  const c = vue3Util.useControlController((...args) => new runtime.TabExpPanelController(...args));
55
56
  const ns = vue3Util.useNamespace("control-".concat(c.model.controlType.toLowerCase()));
57
+ const counterData = vue.ref({});
58
+ const fn = (counter) => {
59
+ counterData.value = counter;
60
+ };
61
+ c.evt.on("onCreated", () => {
62
+ if (c.counter) {
63
+ c.counter.onChange(fn, true);
64
+ }
65
+ });
66
+ vue.onUnmounted(() => {
67
+ var _a2;
68
+ (_a2 = c.counter) == null ? void 0 : _a2.offChange(fn);
69
+ });
56
70
  const handleTabChange = () => {
57
71
  c.handleTabChange();
58
72
  };
@@ -86,6 +100,7 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
86
100
  c,
87
101
  ns,
88
102
  tabPosition,
103
+ counterData,
89
104
  handleTabChange
90
105
  };
91
106
  },
@@ -104,6 +119,7 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
104
119
  "tabPosition": this.tabPosition,
105
120
  "onTabChange": this.handleTabChange
106
121
  }, _isSlot(_slot = tabPages.map((tab) => {
122
+ const counterNum = tab.counterId ? this.counterData[tab.counterId] : void 0;
107
123
  return vue.createVNode(vue.resolveComponent("el-tab-pane"), {
108
124
  "class": [this.ns.e("tab-item")],
109
125
  "label": tab.caption,
@@ -114,7 +130,10 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
114
130
  "class": [...tab.class]
115
131
  }, [this.c.isShowIcon && vue.createVNode(vue.resolveComponent("iBizIcon"), {
116
132
  "icon": tab.sysImage
117
- }, null), this.c.isShowCaption && tab.caption]);
133
+ }, null), this.c.isShowCaption && tab.caption, !ramda.isNil(counterNum) && vue.createVNode(vue.resolveComponent("iBizBadge"), {
134
+ "class": this.ns.e("counter"),
135
+ "value": counterNum
136
+ }, null)]);
118
137
  }
119
138
  });
120
139
  })) ? _slot : {
@@ -1 +1 @@
1
- .ibiz-control-tabexppanel{--ibiz-control-tabexppanel-color:var(--ibiz-color-text-2);--ibiz-control-tabexppanel-hover-color:var(--ibiz-color-text-0);--ibiz-control-tabexppanel-active-color:var(--ibiz-color-primary);--ibiz-control-tabexppanel-bar-color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-control-tabexppanel-bar-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-tabexppanel-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-control-tabexppanel-hover-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-control-tabexppanel-active-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs.el-tabs--bottom,.ibiz-control-tabexppanel .el-tabs.el-tabs--top{padding-left:var(--ibiz-spacing-base)}.ibiz-control-tabexppanel .el-tabs__item{padding:var(--ibiz-spacing-base)}
1
+ .ibiz-control-tabexppanel{--ibiz-control-tabexppanel-color:var(--ibiz-color-text-2);--ibiz-control-tabexppanel-hover-color:var(--ibiz-color-text-0);--ibiz-control-tabexppanel-active-color:var(--ibiz-color-primary);--ibiz-control-tabexppanel-bar-color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-control-tabexppanel-bar-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-tabexppanel-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-control-tabexppanel-hover-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-control-tabexppanel-active-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs.el-tabs--bottom,.ibiz-control-tabexppanel .el-tabs.el-tabs--top{padding-left:var(--ibiz-spacing-base)}.ibiz-control-tabexppanel .el-tabs__item{padding:var(--ibiz-spacing-base)}.ibiz-control-tabexppanel__counter{margin-left:var(--ibiz-spacing-tight)}
@@ -590,7 +590,10 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
590
590
  if (!contextMenuC.model.detoolbarItems) {
591
591
  return;
592
592
  }
593
- await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId);
593
+ await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId, {
594
+ view: c.view,
595
+ ctrl: c
596
+ });
594
597
  const menuState = contextMenuC.state.buttonsState;
595
598
  const menus = calcContextMenuItems(contextMenuC.model.detoolbarItems, nodeData, evt, menuState);
596
599
  if (!menus.length) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  var ElementPlus = require('element-plus');
5
- var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.12_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs');
5
+ var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs');
6
6
  var fullscreenToolbar = require('../../common/fullscreen-toolbar/fullscreen-toolbar.cjs');
7
7
 
8
8
  "use strict";
@@ -45,15 +45,15 @@ class CustomViewEngine extends runtime.ViewEngineBase {
45
45
  );
46
46
  control == null ? void 0 : control.evt.on(
47
47
  "onLoadSuccess",
48
- () => this.calcToolbarButtonState(ctrl, void 0)
48
+ (evt) => this.calcToolbarButtonState(ctrl, void 0, evt)
49
49
  );
50
50
  control == null ? void 0 : control.evt.on(
51
51
  "onSelectionChange",
52
- (evt) => this.calcToolbarButtonState(ctrl, evt.data[0])
52
+ (evt) => this.calcToolbarButtonState(ctrl, evt.data[0], evt)
53
53
  );
54
54
  control == null ? void 0 : control.evt.on(
55
55
  "onRefreshSuccess",
56
- (evt) => this.calcToolbarButtonState(ctrl, evt.data[0])
56
+ (evt) => this.calcToolbarButtonState(ctrl, evt.data[0], evt)
57
57
  );
58
58
  });
59
59
  }
@@ -64,7 +64,7 @@ class CustomViewEngine extends runtime.ViewEngineBase {
64
64
  * @param {(IData | undefined)} data 数据
65
65
  * @memberof CustomViewEngine
66
66
  */
67
- calcToolbarButtonState(control, data) {
67
+ calcToolbarButtonState(control, data, _params) {
68
68
  const model = this.controls.find(
69
69
  (ctrl) => {
70
70
  var _a;
@@ -75,7 +75,7 @@ class CustomViewEngine extends runtime.ViewEngineBase {
75
75
  const toolbar = this.view.getController(
76
76
  model.name
77
77
  );
78
- toolbar == null ? void 0 : toolbar.calcButtonState(data, control.appDataEntityId);
78
+ toolbar == null ? void 0 : toolbar.calcButtonState(data, control.appDataEntityId, _params);
79
79
  }
80
80
  }
81
81
  async call(key, args) {
@@ -48,7 +48,7 @@ class DEIndexViewEngine extends editView_engine.EditViewEngine {
48
48
  const { evt } = this.view;
49
49
  const formDeId = this.form.model.appDataEntityId;
50
50
  const data = event.data[0];
51
- (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId);
51
+ (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId, event);
52
52
  if (data.srfkey) {
53
53
  evt.emit("onViewInfoChange", { dataInfo: data.srfmajortext || "" });
54
54
  }
@@ -103,7 +103,7 @@ class EditViewEngine extends runtime.DEMainViewEngine {
103
103
  const { model, evt } = this.view;
104
104
  const formDeId = this.form.model.appDataEntityId;
105
105
  const data = event.data[0];
106
- (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId);
106
+ (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(data, formDeId, event);
107
107
  if (model.showDataInfoBar) {
108
108
  if (data.srfkey) {
109
109
  evt.emit("onViewInfoChange", { dataInfo: data.srfmajortext || "" });