@ibiz-template/vue3-components 0.7.41-alpha.113 → 0.7.41-alpha.115

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 (82) hide show
  1. package/dist/{index-BLBroBhu.js → index-B3O6yu1f.js} +1 -1
  2. package/dist/index-B4MZRULw.js +339 -0
  3. package/dist/{index-C-9vEACb.js → index-qO4rCmKY.js} +1 -1
  4. package/dist/{index.es-BU8Fy5we.js → index.es-D9o2oz4Y.js} +1 -1
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/{wang-editor-9zdglekK.js → wang-editor-4yBz8Mkf.js} +1 -1
  8. package/dist/{xlsx-util-DrUAhpzt.js → xlsx-util-3sCwAhs0.js} +1 -1
  9. package/es/common/button-list/button-list.mjs +6 -1
  10. package/es/common/data-import/data-import.mjs +14 -8
  11. package/es/control/calendar/components/calendar-user2/calendar-user2.mjs +2 -2
  12. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +1 -2
  13. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.mjs +2 -0
  14. package/es/control/drtab/drtab-control.util.mjs +1 -1
  15. package/es/control/drtab/drtab.controller.mjs +73 -13
  16. package/es/control/drtab/drtab.mjs +1 -1
  17. package/es/control/drtab/flow-drtab.css +1 -1
  18. package/es/control/drtab/flow-drtab.mjs +28 -18
  19. package/es/control/exp-bar/render-util.mjs +2 -2
  20. package/es/control/medit-view-panel/medit-view-panel.mjs +1 -1
  21. package/es/control/toolbar/toolbar.mjs +3 -0
  22. package/es/control/tree/tree.mjs +1 -1
  23. package/es/control/tree-grid-ex/tree-grid-ex.mjs +1 -0
  24. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.mjs +2 -1
  25. package/es/locale/en/index.mjs +1 -0
  26. package/es/locale/zh-CN/index.mjs +1 -0
  27. package/es/panel-component/global-search/global-search.mjs +2 -1
  28. package/es/panel-component/nav-tabs/nav-tabs.mjs +12 -3
  29. package/es/panel-component/short-cut/short-cut.mjs +2 -1
  30. package/es/panel-component/user-message/user-message.mjs +1 -0
  31. package/es/util/ai-chat-util/ai-chat-util.mjs +18 -2
  32. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  33. package/lib/common/button-list/button-list.cjs +6 -1
  34. package/lib/common/data-import/data-import.cjs +14 -8
  35. package/lib/control/calendar/components/calendar-user2/calendar-user2.cjs +2 -2
  36. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +1 -2
  37. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.cjs +2 -0
  38. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  39. package/lib/control/drtab/drtab.cjs +1 -1
  40. package/lib/control/drtab/drtab.controller.cjs +73 -13
  41. package/lib/control/drtab/flow-drtab.cjs +28 -18
  42. package/lib/control/drtab/flow-drtab.css +1 -1
  43. package/lib/control/exp-bar/render-util.cjs +2 -2
  44. package/lib/control/medit-view-panel/medit-view-panel.cjs +1 -1
  45. package/lib/control/toolbar/toolbar.cjs +3 -0
  46. package/lib/control/tree/tree.cjs +1 -1
  47. package/lib/control/tree-grid-ex/tree-grid-ex.cjs +1 -0
  48. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.cjs +2 -1
  49. package/lib/locale/en/index.cjs +1 -0
  50. package/lib/locale/zh-CN/index.cjs +1 -0
  51. package/lib/panel-component/global-search/global-search.cjs +2 -1
  52. package/lib/panel-component/nav-tabs/nav-tabs.cjs +12 -3
  53. package/lib/panel-component/short-cut/short-cut.cjs +2 -1
  54. package/lib/panel-component/user-message/user-message.cjs +1 -0
  55. package/lib/util/ai-chat-util/ai-chat-util.cjs +18 -2
  56. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  57. package/package.json +6 -6
  58. package/src/common/button-list/button-list.tsx +4 -1
  59. package/src/common/data-import/data-import.tsx +20 -9
  60. package/src/control/calendar/components/calendar-user2/calendar-user2.tsx +2 -2
  61. package/src/control/calendar/components/custom-calendar/custom-calendar.tsx +1 -1
  62. package/src/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.tsx +2 -0
  63. package/src/control/drtab/drtab.controller.ts +86 -20
  64. package/src/control/drtab/drtab.tsx +1 -1
  65. package/src/control/drtab/flow-drtab.scss +21 -0
  66. package/src/control/drtab/flow-drtab.tsx +40 -16
  67. package/src/control/exp-bar/render-util.tsx +3 -3
  68. package/src/control/medit-view-panel/medit-view-panel.tsx +1 -1
  69. package/src/control/toolbar/toolbar.tsx +1 -0
  70. package/src/control/tree/tree.tsx +1 -1
  71. package/src/control/tree-grid-ex/tree-grid-ex.tsx +1 -0
  72. package/src/editor/date-picker/ibiz-date-picker/ibiz-date-picker.tsx +1 -0
  73. package/src/locale/en/index.ts +1 -0
  74. package/src/locale/zh-CN/index.ts +1 -0
  75. package/src/panel-component/global-search/global-search.tsx +1 -0
  76. package/src/panel-component/nav-tabs/nav-tabs.tsx +9 -0
  77. package/src/panel-component/short-cut/short-cut.tsx +1 -0
  78. package/src/panel-component/user-message/user-message.tsx +1 -0
  79. package/src/util/ai-chat-util/ai-chat-util.ts +20 -2
  80. package/dist/index-CkG9L_La.js +0 -339
  81. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.117_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.119_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  82. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.117_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.119_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -169,7 +169,12 @@ const IBizButtonList = /* @__PURE__ */ defineComponent({
169
169
  }
170
170
  }]
171
171
  },
172
- "popper-style": "z-index: ".concat(zIndex.zIndex)
172
+ "popper-style": {
173
+ zIndex: zIndex.zIndex,
174
+ ...props.semantic.semanticStyle("popup", {
175
+ model: detail
176
+ })
177
+ }
173
178
  }, {
174
179
  reference: () => {
175
180
  var _a2, _b;
@@ -1,7 +1,7 @@
1
1
  import { isVNode, defineComponent, withDirectives, createVNode, resolveComponent, resolveDirective, ref } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
- import './data-import.css';
4
3
  import { downloadImportTemplate, selectAndImport } from '@ibiz-template/runtime';
4
+ import './data-import.css';
5
5
 
6
6
  "use strict";
7
7
  function _isSlot(s) {
@@ -32,6 +32,7 @@ const DataImport = /* @__PURE__ */ defineComponent({
32
32
  }
33
33
  },
34
34
  setup(props) {
35
+ var _a;
35
36
  const ns = useNamespace("data-import");
36
37
  const message = ref({
37
38
  state: "ready",
@@ -39,14 +40,18 @@ const DataImport = /* @__PURE__ */ defineComponent({
39
40
  });
40
41
  const errorMessage = ref("");
41
42
  const isLoading = ref(false);
43
+ const importTemplName = ibiz.config.common.importTemplNameMode === "custom" ? "".concat((_a = props.dataImport) == null ? void 0 : _a.name).concat(ibiz.i18n.t("component.dataImport.template")) : "".concat(props.appDataEntity.logicName).concat(ibiz.i18n.t("component.dataImport.templateFile"));
42
44
  const onCancelButtonClick = () => {
43
45
  props.dismiss();
44
46
  };
45
47
  const onLinkClick = async () => {
46
- downloadImportTemplate(props.appDataEntity, props.dataImport, props.context, props.params);
48
+ downloadImportTemplate(props.appDataEntity, props.dataImport, props.context, props.params, ibiz.config.common.importTemplNameMode === "custom" ? importTemplName : void 0);
47
49
  };
48
50
  const selectFile = async () => {
49
51
  isLoading.value = true;
52
+ errorMessage.value = "";
53
+ message.value.message = "";
54
+ message.value.state = "ready";
50
55
  const result = await selectAndImport({
51
56
  appDataEntity: props.appDataEntity,
52
57
  dataImport: props.dataImport,
@@ -84,12 +89,13 @@ const DataImport = /* @__PURE__ */ defineComponent({
84
89
  };
85
90
  return {
86
91
  ns,
87
- onLinkClick,
88
- selectFile,
89
- onCancelButtonClick,
90
- isLoading,
91
92
  message,
92
- errorMessage
93
+ isLoading,
94
+ errorMessage,
95
+ importTemplName,
96
+ selectFile,
97
+ onLinkClick,
98
+ onCancelButtonClick
93
99
  };
94
100
  },
95
101
  render() {
@@ -124,7 +130,7 @@ const DataImport = /* @__PURE__ */ defineComponent({
124
130
  }, [createVNode("ion-icon", {
125
131
  "class": this.ns.e("link-icon"),
126
132
  "name": "link"
127
- }, null), this.appDataEntity.logicName, ibiz.i18n.t("component.dataImport.templateFile")])]), createVNode("div", {
133
+ }, null), this.importTemplName])]), createVNode("div", {
128
134
  "class": this.ns.e("button-bar")
129
135
  }, [createVNode(resolveComponent("el-button"), {
130
136
  "onClick": this.onCancelButtonClick
@@ -122,11 +122,11 @@ const CalendarUser2 = /* @__PURE__ */ defineComponent({
122
122
  "class": [this.ns.e("title"), this.ns.em("header", "left"), this.semanticClass("title")],
123
123
  "style": this.semanticStyle("title")
124
124
  }, [this.title]), createVNode("div", {
125
- "class": [this.ns.e("legend"), this.ns.em("header", "legend"), this.semanticStyle("legend")],
125
+ "class": [this.ns.e("legend"), this.ns.em("header", "legend"), this.semanticClass("legend")],
126
126
  "style": this.semanticStyle("legend")
127
127
  }, [this.legends.length > 1 && this.legends.map((legend) => {
128
128
  return createVNode("div", {
129
- "class": [this.ns.e("legend-item"), this.ns.em("legend", "item"), this.semanticStyle("legend.item")],
129
+ "class": [this.ns.e("legend-item"), this.ns.em("legend", "item"), this.semanticClass("legend.item")],
130
130
  "style": this.semanticStyle("legend.item"),
131
131
  "onClick": () => this.$emit("legendClick", legend)
132
132
  }, [createVNode("div", {
@@ -107,8 +107,7 @@ const CustomCalendar = /* @__PURE__ */ defineComponent({
107
107
  const renderDay = () => {
108
108
  var _a;
109
109
  return createVNode("div", {
110
- "class": ns.e("calendar-day"),
111
- "style": props.semanticStyle("day")
110
+ "class": ns.e("calendar-day")
112
111
  }, [(slots == null ? void 0 : slots.header) ? createVNode("div", {
113
112
  "class": [ns.e("header"), ns.em("calendar-day", "header"), props.semanticClass("header")],
114
113
  "style": props.semanticStyle("header")
@@ -171,6 +171,7 @@ const AppMenuPortletControl = /* @__PURE__ */ defineComponent({
171
171
  let _slot;
172
172
  content = createVNode(resolveComponent("el-collapse"), {
173
173
  "class": [this.ns.e("content"), this.semanticClass("content")],
174
+ "style": this.semanticStyle("content"),
174
175
  "modelValue": this.defaultOpens,
175
176
  "onUpdate:modelValue": ($event) => this.defaultOpens = $event
176
177
  }, _isSlot(_slot = model.appMenuItems.map((item) => {
@@ -184,6 +185,7 @@ const AppMenuPortletControl = /* @__PURE__ */ defineComponent({
184
185
  }
185
186
  return createVNode(resolveComponent("iBizControlBase"), {
186
187
  "class": [this.ns.b(), this.semanticClass("root")],
188
+ "style": this.semanticStyle("root"),
187
189
  "controller": this.c
188
190
  }, _isSlot(content) ? content : {
189
191
  default: () => [content]
@@ -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.117_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_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.119_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_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) {
@@ -32,6 +32,12 @@ class DRTabController extends ControlController {
32
32
  * @memberof DRTabController
33
33
  */
34
34
  __publicField(this, "srfCacheKeyTempl", "");
35
+ /**
36
+ * @description 显示位置
37
+ * @type {(string | undefined)}
38
+ * @memberof DRTabController
39
+ */
40
+ __publicField(this, "tabPosition");
35
41
  /**
36
42
  * Router 对象
37
43
  *
@@ -83,6 +89,15 @@ class DRTabController extends ControlController {
83
89
  const userId = this.context.srfuserid;
84
90
  return "".concat(userId, "_").concat(this.view.model.codeName, "_").concat(this.model.codeName);
85
91
  }
92
+ /**
93
+ * @description 是否启用折叠
94
+ * @readonly
95
+ * @type {boolean}
96
+ * @memberof DRTabController
97
+ */
98
+ get enableCollapse() {
99
+ return this.controlParams.enablecollapse === "true";
100
+ }
86
101
  /**
87
102
  * 是否启用锚点栏
88
103
  *
@@ -146,6 +161,8 @@ class DRTabController extends ControlController {
146
161
  super.initState();
147
162
  this.state.drTabPages = [];
148
163
  this.state.showMore = false;
164
+ this.state.expandedKeys = [];
165
+ this.state.expViewParams = {};
149
166
  this.state.hideEditItem = !!this.model.hideEditItem;
150
167
  }
151
168
  /**
@@ -155,6 +172,8 @@ class DRTabController extends ControlController {
155
172
  * @memberof DRTabController
156
173
  */
157
174
  async onCreated() {
175
+ var _a;
176
+ this.tabPosition = (_a = this.view.model.tabLayout) == null ? void 0 : _a.toLowerCase();
158
177
  await super.onCreated();
159
178
  await this.initCounter();
160
179
  this.srfCacheKeyTempl = this.controlParams.srfcachekeytempl || "";
@@ -360,7 +379,7 @@ class DRTabController extends ControlController {
360
379
  testScriptCode,
361
380
  counterMode
362
381
  } = item;
363
- drTabPages.push({
382
+ const drTabPage = {
364
383
  tag: item.id,
365
384
  caption: item.caption,
366
385
  sysImage: item.sysImage,
@@ -372,7 +391,15 @@ class DRTabController extends ControlController {
372
391
  testAppDELogicId,
373
392
  testScriptCode,
374
393
  counterMode
375
- });
394
+ };
395
+ if (this.tabPosition === "flow_noheader" || this.tabPosition === "flow") {
396
+ const { context, params } = this.prepareParams(item);
397
+ Object.assign(drTabPage, {
398
+ context,
399
+ params
400
+ });
401
+ }
402
+ drTabPages.push(drTabPage);
376
403
  });
377
404
  this.state.drTabPages = drTabPages;
378
405
  this.state.defaultName = drTabPages[0].tag;
@@ -385,6 +412,8 @@ class DRTabController extends ControlController {
385
412
  this.state.activeName = activeName;
386
413
  }
387
414
  }
415
+ if (this.enableCollapse)
416
+ this.state.expandedKeys = this.state.drTabPages.map((tab) => tab.tag);
388
417
  const isRoutePushed = !!this.routeDepth && hasSubRoute(this.routeDepth);
389
418
  this.handleTabChange(isRoutePushed);
390
419
  }
@@ -449,12 +478,12 @@ class DRTabController extends ControlController {
449
478
  /**
450
479
  * 准备参数
451
480
  *
452
- * @param {IDEDRCtrlItem} drTabPages 关系分页
481
+ * @param {IDEDRCtrlItem} drTabPage 关系分页
453
482
  * @return {*}
454
483
  * @memberof DRTabController
455
484
  */
456
- prepareParams(drTabPages) {
457
- const { navigateContexts, navigateParams } = drTabPages;
485
+ prepareParams(drTabPage) {
486
+ const { navigateContexts, navigateParams } = drTabPage;
458
487
  const model = {
459
488
  navContexts: navigateContexts,
460
489
  navParams: navigateParams
@@ -466,9 +495,13 @@ class DRTabController extends ControlController {
466
495
  };
467
496
  const { resultContext, resultParams } = calcNavParams(model, originParams);
468
497
  const context = Object.assign(this.context.clone(), resultContext, {
469
- currentSrfNav: drTabPages.id
498
+ currentSrfNav: drTabPage.id
470
499
  });
471
- const params = { ...this.params, ...resultParams };
500
+ const params = {
501
+ ...this.params,
502
+ ...resultParams,
503
+ ...this.state.expViewParams
504
+ };
472
505
  return { context, params };
473
506
  }
474
507
  /**
@@ -476,20 +509,20 @@ class DRTabController extends ControlController {
476
509
  *
477
510
  * @author lxm
478
511
  * @date 2023-12-21 05:40:07
479
- * @param {IDEDRCtrlItem} drTabPages
512
+ * @param {IDEDRCtrlItem} drTabPage
480
513
  * @param {boolean} [isRoutePushed=false]
481
514
  * @return {*} {Promise<void>}
482
515
  */
483
- async openNavPosView(drTabPages, isRoutePushed = false, navViewKey) {
516
+ async openNavPosView(drTabPage, isRoutePushed = false, navViewKey) {
484
517
  var _a;
485
- const { context, params } = this.prepareParams(drTabPages);
486
- if (!drTabPages.appViewId)
518
+ const { context, params } = this.prepareParams(drTabPage);
519
+ if (!drTabPage.appViewId)
487
520
  return;
488
521
  (_a = this.navPos) == null ? void 0 : _a.openView({
489
- key: navViewKey || drTabPages.id,
522
+ key: navViewKey || drTabPage.id,
490
523
  context,
491
524
  params,
492
- viewId: drTabPages.appViewId,
525
+ viewId: drTabPage.appViewId,
493
526
  isRoutePushed
494
527
  });
495
528
  }
@@ -524,6 +557,20 @@ class DRTabController extends ControlController {
524
557
  */
525
558
  async refresh() {
526
559
  var _a;
560
+ if (this.tabPosition === "flow_noheader" || this.tabPosition === "flow") {
561
+ this.state.drTabPages.forEach((tabPageState) => {
562
+ var _a2;
563
+ const dedrtabPage = (_a2 = this.model.dedrtabPages) == null ? void 0 : _a2.find(
564
+ (item) => item.id === tabPageState.tag
565
+ );
566
+ if (dedrtabPage) {
567
+ const { context, params } = this.prepareParams(dedrtabPage);
568
+ tabPageState.context = context;
569
+ tabPageState.params = params;
570
+ }
571
+ });
572
+ return;
573
+ }
527
574
  const { activeName } = this.state;
528
575
  const drBarItem = (_a = this.model.dedrtabPages) == null ? void 0 : _a.find(
529
576
  (item) => item.id === activeName
@@ -579,6 +626,19 @@ class DRTabController extends ControlController {
579
626
  page.caption = ibiz.i18n.t(page.capLanguageRes.lanResTag, page.caption);
580
627
  });
581
628
  }
629
+ /**
630
+ * @description 折叠改变
631
+ * @param {string} id
632
+ * @memberof DRTabController
633
+ */
634
+ onCollapseChange(id) {
635
+ const index = this.state.expandedKeys.findIndex((key) => key === id);
636
+ if (index > -1) {
637
+ this.state.expandedKeys.splice(index, 1);
638
+ } else {
639
+ this.state.expandedKeys.push(id);
640
+ }
641
+ }
582
642
  }
583
643
 
584
644
  export { DRTabController };
@@ -259,7 +259,7 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
259
259
  "style": this.semanticStyle("root"),
260
260
  "semanticClass": this.semanticClass,
261
261
  "semanticStyle": this.semanticStyle,
262
- "pagesstate": this.visibleItems,
262
+ "pagesState": this.visibleItems,
263
263
  "drtabpages": this.modelData.dedrtabPages,
264
264
  "context": this.c.context,
265
265
  "params": this.c.params,
@@ -1 +1 @@
1
- .ibiz-flow-drtab{--ibiz-control-drtab-flow-bg-color:var(--ibiz-color-bg-0);--ibiz-control-drtab-flow-item-gap:var(--ibiz-spacing-extra-tight);--ibiz-control-drtab-flow-item-padding:var(--ibiz-spacing-base);--ibiz-control-drtab-flow-item-bg-color:var(--ibiz-color-bg-1);--ibiz-control-drtab-flow-item-border-color:var(--ibiz-color-fill-1);--ibiz-control-drtab-flow-item-font-size:var(--ibiz-font-size-header-5);--ibiz-control-drtab-flow-item-border-radius:var(--ibiz-border-radius-medium);--ibiz-control-drtab-flow-anchor-gap:var(--ibiz-spacing-base);--ibiz-control-drtab-flow-anchor-font-size:var(--ibiz-font-size-regular);--ibiz-control-drtab-flow-anchor-bg-color:var(--ibiz-color-bg-1);--ibiz-control-drtab-flow-anchor-border-radius:var(--ibiz-border-radius-medium);--ibiz-control-drtab-flow-item-counter-font-size:var(--ibiz-font-size-regular);--ibiz-control-drtab-flow-item-counter-text-align:center;--ibiz-control-drtab-flow-anchor-item-padding:0 var(--ibiz-spacing-base);--ibiz-control-drtab-flow-anchor-item-hover-color:var(--ibiz-color-primary);--ibiz-control-drtab-flow-anchor-item-active-color:var(--ibiz-color-primary);width:100%;height:100%;overflow:hidden;background-color:var(--ibiz-control-drtab-flow-bg-color)}.ibiz-flow-drtab__container{height:100%;overflow:auto}.ibiz-flow-drtab__tab-item{background-color:var(--ibiz-control-drtab-flow-item-bg-color);border-radius:var(--ibiz-control-drtab-flow-item-border-radius)}.ibiz-flow-drtab__tab-item--label{display:flex;gap:var(--ibiz-control-drtab-flow-item-gap);align-items:center;padding:var(--ibiz-control-drtab-flow-item-padding);font-size:var(--ibiz-control-drtab-flow-item-font-size);border-bottom:1px solid var(--ibiz-control-drtab-flow-item-border-color)}.ibiz-flow-drtab__tab-item--tab-view{padding:var(--ibiz-spacing-tight) 0}.ibiz-flow-drtab__tab-item+.ibiz-flow-drtab__tab-item{margin-top:var(--ibiz-spacing-base)}.ibiz-flow-drtab__counter{font-size:var(--ibiz-control-drtab-flow-item-counter-font-size);text-align:var(--ibiz-control-drtab-flow-item-counter-text-align)}.ibiz-flow-drtab .ibiz-flow-drtab{background-color:inherit}.ibiz-flow-drtab.is-enable-anchor{display:flex;gap:var(--ibiz-spacing-base)}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__container{flex:1}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar{display:flex;min-width:200px;padding:var(--ibiz-control-drtab-flow-anchor-gap) 0;font-size:var(--ibiz-control-drtab-flow-anchor-font-size);background-color:var(--ibiz-control-drtab-flow-anchor-bg-color);border-radius:var(--ibiz-control-drtab-flow-anchor-border-radius)}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-topleft{align-items:start}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-bottomleft{align-items:end}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-topright{flex-direction:row-reverse;align-items:start}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-bottomright{flex-direction:row-reverse;align-items:end}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-middleleft{align-items:center}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-middleright{flex-direction:row-reverse;align-items:center}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-items{width:100%;max-height:100%;overflow:auto}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-item{width:100%;height:32px;padding:var(--ibiz-control-drtab-flow-anchor-item-padding);overflow:hidden;line-height:32px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-item:hover{color:var(--ibiz-control-drtab-flow-anchor-item-hover-color)}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-item.is-active{position:relative;color:var(--ibiz-control-drtab-flow-anchor-item-active-color)}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-item.is-active::before{position:absolute;top:0;left:0;width:4px;height:100%;content:"";background-color:var(--ibiz-control-drtab-flow-anchor-item-active-color);border-radius:2px}.ibiz-flow-drtab.is-enable-anchor.is-left{flex-direction:row;overflow:auto}.ibiz-flow-drtab.is-enable-anchor.is-left>.ibiz-flow-drtab__container{--navbarwidth:200px;flex:1 0;width:calc(100% - var(--navbarwidth) - 2 * var(--ibiz-spacing-base));overflow:unset}.ibiz-flow-drtab.is-enable-anchor.is-left .ibiz-flow-drtab__anchor-bar{position:sticky;top:0}.ibiz-flow-drtab.is-enable-anchor.is-left .ibiz-flow-drtab__anchor-items::-webkit-scrollbar{display:none}.ibiz-flow-drtab.is-enable-anchor.is-right{flex-direction:row-reverse;overflow:auto}.ibiz-flow-drtab.is-enable-anchor.is-right>.ibiz-flow-drtab__container{--navbarwidth:200px;flex:1 0;width:calc(100% - var(--navbarwidth) - 2 * var(--ibiz-spacing-base));overflow:unset}.ibiz-flow-drtab.is-enable-anchor.is-right .ibiz-flow-drtab__anchor-bar{position:sticky;top:0}.ibiz-flow-drtab.is-enable-anchor.is-right .ibiz-flow-drtab__anchor-items::-webkit-scrollbar{display:none}
1
+ .ibiz-flow-drtab{--ibiz-control-drtab-flow-bg-color:var(--ibiz-color-bg-0);--ibiz-control-drtab-flow-item-gap:var(--ibiz-spacing-extra-tight);--ibiz-control-drtab-flow-item-padding:var(--ibiz-spacing-base);--ibiz-control-drtab-flow-item-bg-color:var(--ibiz-color-bg-1);--ibiz-control-drtab-flow-item-border-color:var(--ibiz-color-fill-1);--ibiz-control-drtab-flow-item-font-size:var(--ibiz-font-size-header-5);--ibiz-control-drtab-flow-item-border-radius:var(--ibiz-border-radius-medium);--ibiz-control-drtab-flow-anchor-gap:var(--ibiz-spacing-base);--ibiz-control-drtab-flow-anchor-font-size:var(--ibiz-font-size-regular);--ibiz-control-drtab-flow-anchor-bg-color:var(--ibiz-color-bg-1);--ibiz-control-drtab-flow-anchor-border-radius:var(--ibiz-border-radius-medium);--ibiz-control-drtab-flow-item-counter-font-size:var(--ibiz-font-size-regular);--ibiz-control-drtab-flow-item-counter-text-align:center;--ibiz-control-drtab-flow-anchor-item-padding:0 var(--ibiz-spacing-base);--ibiz-control-drtab-flow-anchor-item-hover-color:var(--ibiz-color-primary);--ibiz-control-drtab-flow-anchor-item-active-color:var(--ibiz-color-primary);width:100%;height:100%;overflow:hidden;background-color:var(--ibiz-control-drtab-flow-bg-color)}.ibiz-flow-drtab__icon{display:flex;align-items:center;justify-content:center}.ibiz-flow-drtab__container{height:100%;overflow:auto}.ibiz-flow-drtab__tab-item{background-color:var(--ibiz-control-drtab-flow-item-bg-color);border-radius:var(--ibiz-control-drtab-flow-item-border-radius)}.ibiz-flow-drtab__tab-item.is-enable-collapse .ibiz-flow-drtab__tab-item--label{cursor:pointer}.ibiz-flow-drtab__tab-item.is-collapse .ibiz-flow-drtab__icon--collapse{transform:rotate(-90deg)}.ibiz-flow-drtab__tab-item.is-collapse .ibiz-flow-drtab__tab-item--tab-view{display:none}.ibiz-flow-drtab__tab-item--label{display:flex;gap:var(--ibiz-control-drtab-flow-item-gap);align-items:center;padding:var(--ibiz-control-drtab-flow-item-padding);font-size:var(--ibiz-control-drtab-flow-item-font-size);border-bottom:1px solid var(--ibiz-control-drtab-flow-item-border-color)}.ibiz-flow-drtab__tab-item--tab-view{padding:var(--ibiz-spacing-tight) 0}.ibiz-flow-drtab__tab-item+.ibiz-flow-drtab__tab-item{margin-top:var(--ibiz-spacing-base)}.ibiz-flow-drtab__counter{font-size:var(--ibiz-control-drtab-flow-item-counter-font-size);text-align:var(--ibiz-control-drtab-flow-item-counter-text-align)}.ibiz-flow-drtab .ibiz-flow-drtab{background-color:inherit}.ibiz-flow-drtab.is-enable-anchor{display:flex;gap:var(--ibiz-spacing-base)}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__container{flex:1}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar{display:flex;min-width:200px;padding:var(--ibiz-control-drtab-flow-anchor-gap) 0;font-size:var(--ibiz-control-drtab-flow-anchor-font-size);background-color:var(--ibiz-control-drtab-flow-anchor-bg-color);border-radius:var(--ibiz-control-drtab-flow-anchor-border-radius)}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-topleft{align-items:start}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-bottomleft{align-items:end}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-topright{flex-direction:row-reverse;align-items:start}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-bottomright{flex-direction:row-reverse;align-items:end}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-middleleft{align-items:center}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-bar.is-middleright{flex-direction:row-reverse;align-items:center}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-items{width:100%;max-height:100%;overflow:auto}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-item{width:100%;height:32px;padding:var(--ibiz-control-drtab-flow-anchor-item-padding);overflow:hidden;line-height:32px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-item:hover{color:var(--ibiz-control-drtab-flow-anchor-item-hover-color)}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-item.is-active{position:relative;color:var(--ibiz-control-drtab-flow-anchor-item-active-color)}.ibiz-flow-drtab.is-enable-anchor .ibiz-flow-drtab__anchor-item.is-active::before{position:absolute;top:0;left:0;width:4px;height:100%;content:"";background-color:var(--ibiz-control-drtab-flow-anchor-item-active-color);border-radius:2px}.ibiz-flow-drtab.is-enable-anchor.is-left{flex-direction:row;overflow:auto}.ibiz-flow-drtab.is-enable-anchor.is-left>.ibiz-flow-drtab__container{--navbarwidth:200px;flex:1 0;width:calc(100% - var(--navbarwidth) - 2 * var(--ibiz-spacing-base));overflow:unset}.ibiz-flow-drtab.is-enable-anchor.is-left .ibiz-flow-drtab__anchor-bar{position:sticky;top:0}.ibiz-flow-drtab.is-enable-anchor.is-left .ibiz-flow-drtab__anchor-items::-webkit-scrollbar{display:none}.ibiz-flow-drtab.is-enable-anchor.is-right{flex-direction:row-reverse;overflow:auto}.ibiz-flow-drtab.is-enable-anchor.is-right>.ibiz-flow-drtab__container{--navbarwidth:200px;flex:1 0;width:calc(100% - var(--navbarwidth) - 2 * var(--ibiz-spacing-base));overflow:unset}.ibiz-flow-drtab.is-enable-anchor.is-right .ibiz-flow-drtab__anchor-bar{position:sticky;top:0}.ibiz-flow-drtab.is-enable-anchor.is-right .ibiz-flow-drtab__anchor-items::-webkit-scrollbar{display:none}
@@ -8,7 +8,7 @@ import './flow-drtab.css';
8
8
  const FlowDrtab = /* @__PURE__ */ defineComponent({
9
9
  name: "FlowDrtab",
10
10
  props: {
11
- pagesstate: {
11
+ pagesState: {
12
12
  type: Array,
13
13
  default: () => []
14
14
  },
@@ -71,7 +71,7 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
71
71
  navbarpos.value = c.navbarpos;
72
72
  navBarWidth.value = c.navbarwidth;
73
73
  const allVisibleViews = computed(() => {
74
- return props.pagesstate.filter((item) => {
74
+ return props.pagesState.filter((item) => {
75
75
  const target = props.drtabpages.find((page) => {
76
76
  return page.id === item.tag;
77
77
  });
@@ -79,8 +79,8 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
79
79
  }).length;
80
80
  });
81
81
  const allNavTags = computed(() => {
82
- if (props.pagesstate) {
83
- return props.pagesstate.map((item) => {
82
+ if (props.pagesState) {
83
+ return props.pagesState.map((item) => {
84
84
  const target = props.drtabpages.find((page) => {
85
85
  return page.id === item.tag;
86
86
  });
@@ -172,7 +172,7 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
172
172
  });
173
173
  completedViews.value += 1;
174
174
  if (completedViews.value === allVisibleViews.value && !navtag.value) {
175
- navtag.value = "".concat(target == null ? void 0 : target.appViewId, "_").concat(props.pagesstate[0].tag);
175
+ navtag.value = "".concat(target == null ? void 0 : target.appViewId, "_").concat(props.pagesState[0].tag);
176
176
  }
177
177
  const el = document.getElementById("".concat(target == null ? void 0 : target.appViewId, "_").concat(item.tag));
178
178
  if (el) {
@@ -263,7 +263,7 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
263
263
  "ref": (el) => {
264
264
  navbarRef.value = el;
265
265
  }
266
- }, [props.pagesstate.map((item) => {
266
+ }, [props.pagesState.map((item) => {
267
267
  const target = props.drtabpages.find((page) => {
268
268
  return page.id === item.tag;
269
269
  });
@@ -289,40 +289,50 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
289
289
  scrollTop.value = el.scrollTop;
290
290
  }
291
291
  };
292
+ const onCollapseChange = (item) => {
293
+ if (!c.enableCollapse)
294
+ return;
295
+ c.onCollapseChange(item.tag);
296
+ };
292
297
  return {
293
298
  c,
294
299
  ns,
295
300
  uuid,
296
301
  navbarpos,
297
- navBarWidth,
298
302
  calcStyle,
303
+ navBarWidth,
299
304
  handleScroll,
300
305
  onViewMounted,
301
- renderAnchorBar
306
+ renderAnchorBar,
307
+ onCollapseChange
302
308
  };
303
309
  },
304
310
  render() {
305
311
  var _a, _b;
306
- const tabs = this.pagesstate.map((item) => {
312
+ const tabs = this.pagesState.map((item) => {
307
313
  const counterNum = item.counterId ? this.counterData[item.counterId] : void 0;
308
314
  const viewShell = resolveComponent("IBizViewShell");
309
315
  const target = this.drtabpages.find((page) => {
310
316
  return page.id === item.tag;
311
317
  });
312
- if (!target || item.hidden) {
318
+ if (!target || item.hidden)
313
319
  return null;
314
- }
315
320
  return createVNode("div", {
316
321
  "id": "".concat(target.appViewId, "_").concat(item.tag),
317
322
  "style": this.semanticStyle("item", {
318
323
  item
319
324
  }),
320
- "class": [this.ns.e("tab-item"), this.ns.e("item"), this.semanticClass("item", {
325
+ "class": [this.ns.e("item"), this.ns.e("tab-item"), this.semanticClass("item", {
321
326
  item
322
- })]
327
+ }), this.ns.is("enable-collapse", this.c.enableCollapse), this.ns.is("collapse", this.c.enableCollapse && !this.c.state.expandedKeys.includes(item.tag))]
323
328
  }, [this.showHeader && createVNode("div", {
324
- "class": this.ns.em("tab-item", "label")
325
- }, [item.sysImage && createVNode(resolveComponent("iBizIcon"), {
329
+ "class": this.ns.em("tab-item", "label"),
330
+ "onClick": () => this.onCollapseChange(item)
331
+ }, [this.c.enableCollapse && createVNode("div", {
332
+ "class": [this.ns.e("icon"), this.ns.em("icon", "collapse")]
333
+ }, [createVNode("ion-icon", {
334
+ "name": "chevron-down-outline"
335
+ }, null)]), item.sysImage && createVNode(resolveComponent("iBizIcon"), {
326
336
  "class": [this.ns.be("label", "icon"), this.ns.em("item", "icon"), this.semanticClass("item.icon", {
327
337
  item
328
338
  })],
@@ -349,7 +359,7 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
349
359
  "value": counterNum,
350
360
  "counterMode": item.counterMode
351
361
  }, null)]), createVNode("div", {
352
- "class": [this.ns.em("tab-item", "tab-view"), this.ns.em("item", "content"), this.semanticClass("item.content", {
362
+ "class": [this.ns.em("item", "content"), this.ns.em("tab-item", "tab-view"), this.semanticClass("item.content", {
353
363
  item
354
364
  })],
355
365
  "style": {
@@ -359,8 +369,8 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
359
369
  })
360
370
  }
361
371
  }, [h(viewShell, {
362
- context: this.context,
363
- params: this.params,
372
+ context: item.context || this.context,
373
+ params: item.params || this.params,
364
374
  viewId: target.appViewId,
365
375
  onMounted: () => this.onViewMounted(item)
366
376
  })])]);
@@ -32,11 +32,11 @@ function useExpBarRender(c, ns) {
32
32
  "style": semanticStyle("title"),
33
33
  "class": [ns.b("caption"), expBarNs.b("caption"), semanticClass("title")]
34
34
  }, [model.sysImage && createVNode(resolveComponent("iBizIcon"), {
35
+ "class": [expBarNs.be("caption", "icon"), semanticClass("title.icon")],
35
36
  "style": semanticStyle("title.icon"),
36
- "class": [expBarNs.be("caption", "icon"), semanticStyle("title.icon")],
37
37
  "icon": model.sysImage
38
38
  }, null), title && createVNode("span", {
39
- "class": [ns.be("caption", "text"), expBarNs.be("caption", "text"), semanticStyle("title.text")],
39
+ "class": [ns.be("caption", "text"), expBarNs.be("caption", "text"), semanticClass("title.text")],
40
40
  "style": semanticStyle("title.text")
41
41
  }, [title])]);
42
42
  };
@@ -142,7 +142,7 @@ const MEditViewPanelControl = /* @__PURE__ */ defineComponent({
142
142
  "class": [this.ns.be("tab-label", "remove"), this.semanticClass("tab.remove", {
143
143
  item
144
144
  })],
145
- "style": this.semanticClass("tab.remove", {
145
+ "style": this.semanticStyle("tab.remove", {
146
146
  item
147
147
  }),
148
148
  "name": "close-outline",
@@ -304,6 +304,9 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
304
304
  "popper-class": [ns2.b("popper"), ns2.b("dropdown-popper"), ns2.bm("dropdown-popper", toolbarStyle), ns2.em("dropdown-popper", groupButtonStyle.toLowerCase()), ns2.bm("dropdown-popper", calcCssName(item)), semanticClass("popup", {
305
305
  item
306
306
  })],
307
+ "popper-style": semanticStyle("popup", {
308
+ item
309
+ }),
307
310
  "placement": "right-start",
308
311
  "teleported": false,
309
312
  "popper-options": {
@@ -964,7 +964,7 @@ const TreeControl = /* @__PURE__ */ defineComponent({
964
964
  "ref": "treeviewRef",
965
965
  "controller": this.c,
966
966
  "class": this.semanticClass("root"),
967
- "style": this.semanticClass("root"),
967
+ "style": this.semanticStyle("root"),
968
968
  "element-loading-text": this.c.state.loadingText
969
969
  }, _isSlot(slots) ? slots : {
970
970
  default: () => [slots]
@@ -297,6 +297,7 @@ const TreeGridExControl = /* @__PURE__ */ defineComponent({
297
297
  "ref": "tableRef",
298
298
  "key": this.tableRefreshKey,
299
299
  "class": [this.ns.e("table"), this.semanticClass("content")],
300
+ "style": this.semanticStyle("content"),
300
301
  "border": true,
301
302
  "row-key": "id",
302
303
  "data": this.elTableData,
@@ -189,7 +189,8 @@ const IBizDatePicker = /* @__PURE__ */ defineComponent({
189
189
  }, this.$attrs), null);
190
190
  const readonlyContent = this.formatValue;
191
191
  const formDefaultContent = createVNode("div", {
192
- "class": [this.ns.e("content"), this.ns.b("form-default-content"), this.semanticClass("editor.content")]
192
+ "class": [this.ns.e("content"), this.ns.b("form-default-content"), this.semanticClass("editor.content")],
193
+ "style": this.semanticStyle("editor.content")
193
194
  }, [this.formatValue ? this.formatValue : createVNode(resolveComponent("iBizEditorEmptyText"), {
194
195
  "showPlaceholder": this.c.emptyShowPlaceholder,
195
196
  "placeHolder": this.c.placeHolder
@@ -544,6 +544,7 @@ var index = {
544
544
  importResults: "Import Results",
545
545
  downloadTemplate: "Download the import template and fill in as required:",
546
546
  templateFile: "Data import template file",
547
+ template: "Template",
547
548
  continue: "Continue importing"
548
549
  },
549
550
  dataImport2: {
@@ -540,6 +540,7 @@ var index = {
540
540
  importResults: "\u5BFC\u5165\u7ED3\u679C",
541
541
  downloadTemplate: "\u4E0B\u8F7D\u5BFC\u5165\u6A21\u7248\uFF0C\u5E76\u6309\u8981\u6C42\u586B\u5199\uFF1A",
542
542
  templateFile: "\u6570\u636E\u5BFC\u5165\u6A21\u677F\u6587\u4EF6",
543
+ template: "\u6A21\u677F",
543
544
  continue: "\u7EE7\u7EED\u5BFC\u5165"
544
545
  },
545
546
  dataImport2: {
@@ -233,7 +233,8 @@ const GlobalSearch = /* @__PURE__ */ defineComponent({
233
233
  "width": "auto",
234
234
  "visible": this.visible,
235
235
  "placement": "bottom-start",
236
- "popper-class": [this.ns.e("popper"), this.semanticClass("popup")]
236
+ "popper-class": [this.ns.e("popper"), this.semanticClass("popup")],
237
+ "popper-style": this.semanticStyle("popup")
237
238
  }, {
238
239
  reference: () => {
239
240
  return createVNode(resolveComponent("el-input"), {
@@ -225,15 +225,24 @@ const NavTabs = /* @__PURE__ */ defineComponent({
225
225
  }, [createVNode("span", {
226
226
  "class": [this.ns.em("item", "captioninfo"), this.semanticClass("item.captioninfo", {
227
227
  item: msg
228
- })]
228
+ })],
229
+ "style": this.semanticStyle("item.captioninfo", {
230
+ item: msg
231
+ })
229
232
  }, [msg.caption]), msg.dataInfo && createVNode("span", {
230
233
  "class": [this.ns.em("item", "captiondivider"), this.semanticClass("item.captiondivider", {
231
234
  item: msg
232
- })]
235
+ })],
236
+ "style": this.semanticStyle("item.captiondivider", {
237
+ item: msg
238
+ })
233
239
  }, [createTextVNode("\xA0-\xA0")]), msg.dataInfo && createVNode("span", {
234
240
  "class": [this.ns.em("item", "datainfo"), this.semanticClass("item.datainfo", {
235
241
  item: msg
236
- })]
242
+ })],
243
+ "style": this.semanticStyle("item.datainfo", {
244
+ item: msg
245
+ })
237
246
  }, [msg.dataInfo])])]);
238
247
  }
239
248
  });
@@ -217,7 +217,8 @@ const ShortCut = /* @__PURE__ */ defineComponent({
217
217
  "placement": "top-start",
218
218
  "trigger": "click",
219
219
  "width": "auto",
220
- "popper-class": [ns.e("popover"), semanticClass("popup")]
220
+ "popper-class": [ns.e("popover"), semanticClass("popup")],
221
+ "popper-style": semanticStyle("popup")
221
222
  }, {
222
223
  reference: () => {
223
224
  return createVNode("div", {
@@ -104,6 +104,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
104
104
  }, [createVNode(resolveComponent("el-popover"), {
105
105
  "ref": "popoverRef",
106
106
  "popper-class": [this.ns.b("popover"), this.semanticClass("popup")],
107
+ "popper-style": this.semanticStyle("popup"),
107
108
  "placement": "bottom",
108
109
  "trigger": "click",
109
110
  "visible": this.showPopover,