@ibiz-template/vue3-components 0.6.1-alpha.1 → 0.6.1-alpha.3

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 (54) hide show
  1. package/dist/index-_HUj1AMZ.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/{xlsx-util-YvKvEyi6.js → xlsx-util-E-30JfqY.js} +1 -1
  5. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +81 -0
  6. package/es/control/data-view/data-view.mjs +5 -1
  7. package/es/control/form/form-detail/form-button/form-button.mjs +3 -3
  8. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +684 -0
  9. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +6 -0
  10. package/es/control/gantt/gantt.d.ts +1 -1
  11. package/es/control/gantt/index.d.ts +1 -1
  12. package/es/control/grid/grid/grid-control.util.mjs +6 -0
  13. package/es/control/toolbar/export-excel/export-excel.css +1 -1
  14. package/es/control/toolbar/toolbar.css +1 -1
  15. package/es/control/toolbar/toolbar.mjs +9 -4
  16. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.d.ts +1 -1
  17. package/es/editor/span/span/span.d.ts +1 -0
  18. package/es/editor/span/span/span.mjs +1 -1
  19. package/es/panel-component/panel-button/index.d.ts +1 -0
  20. package/es/panel-component/panel-button/panel-button.d.ts +1 -0
  21. package/es/panel-component/panel-button/panel-button.mjs +3 -2
  22. package/es/panel-component/user-message/index.d.ts +1 -0
  23. package/es/panel-component/user-message/internal-message/internal-message-html/internal-message-html.provider.d.ts +3 -3
  24. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.d.ts +3 -3
  25. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.d.ts +1 -1
  26. package/es/panel-component/user-message/user-message.css +1 -1
  27. package/es/panel-component/user-message/user-message.d.ts +1 -0
  28. package/es/panel-component/user-message/user-message.mjs +16 -3
  29. package/es/view-engine/gantt-view.engine.d.ts +2 -0
  30. package/es/view-engine/gantt-view.engine.mjs +29 -1
  31. package/es/view-engine/opt-view.engine.mjs +8 -2
  32. package/es/view-engine/pickup-tree-view.engine.d.ts +7 -0
  33. package/es/view-engine/pickup-tree-view.engine.mjs +17 -1
  34. package/es/web-app/components/router-shell/router-shell.d.ts +162 -0
  35. package/lib/control/data-view/data-view.cjs +5 -1
  36. package/lib/control/form/form-detail/form-button/form-button.cjs +3 -3
  37. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +6 -0
  38. package/lib/control/grid/grid/grid-control.util.cjs +6 -0
  39. package/lib/control/toolbar/export-excel/export-excel.css +1 -1
  40. package/lib/control/toolbar/toolbar.cjs +8 -3
  41. package/lib/control/toolbar/toolbar.css +1 -1
  42. package/lib/editor/span/span/span.cjs +2 -2
  43. package/lib/panel-component/panel-button/panel-button.cjs +3 -2
  44. package/lib/panel-component/user-message/user-message.cjs +16 -3
  45. package/lib/panel-component/user-message/user-message.css +1 -1
  46. package/lib/view-engine/gantt-view.engine.cjs +28 -0
  47. package/lib/view-engine/opt-view.engine.cjs +8 -2
  48. package/lib/view-engine/pickup-tree-view.engine.cjs +17 -1
  49. package/package.json +20 -9
  50. package/dist/index-RFTaeN4m.js +0 -4
  51. package/es/_virtual/customParseFormat.mjs +0 -3
  52. package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/customParseFormat.mjs +0 -13
  53. package/lib/_virtual/customParseFormat.cjs +0 -5
  54. package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/customParseFormat.cjs +0 -17
@@ -155,9 +155,15 @@ const RepeaterGrid = /* @__PURE__ */ defineComponent({
155
155
  }, [$index + 1])];
156
156
  }
157
157
  }), this.formItems.length > 0 && this.formItems.map((item) => {
158
+ const width = item.labelWidth;
159
+ let columnWidth = "";
160
+ if (typeof width === "number") {
161
+ columnWidth = "".concat(width, "px");
162
+ }
158
163
  return createVNode(resolveComponent("el-table-column"), {
159
164
  "label": item.caption,
160
165
  "prop": item.id,
166
+ "width": columnWidth,
161
167
  "align": "center"
162
168
  }, {
163
169
  default: (opts) => {
@@ -36,7 +36,7 @@ export declare const GanttControl: import("vue").DefineComponent<{
36
36
  ganttRef: Ref<IData | undefined>;
37
37
  isInited: Ref<boolean>;
38
38
  data: import("vue").ComputedRef<import("@ibiz-template/runtime").ITreeNodeData[] | undefined>;
39
- locale: import("vue").ComputedRef<string>;
39
+ locale: import("vue").ComputedRef<any>;
40
40
  columns: import("vue").ComputedRef<IDETreeColumn[]>;
41
41
  onCheck: (state: boolean, item: IGanttNodeData) => void;
42
42
  loading: import("vue").ComputedRef<boolean>;
@@ -32,7 +32,7 @@ export declare const IBizGanttControl: import("@ibiz-template/vue3-util").TypeWi
32
32
  ganttRef: import("vue").Ref<IData | undefined>;
33
33
  isInited: import("vue").Ref<boolean>;
34
34
  data: import("vue").ComputedRef<import("@ibiz-template/runtime").ITreeNodeData[] | undefined>;
35
- locale: import("vue").ComputedRef<string>;
35
+ locale: import("vue").ComputedRef<any>;
36
36
  columns: import("vue").ComputedRef<import("@ibiz/model-core").IDETreeColumn[]>;
37
37
  onCheck: (state: boolean, item: import("@ibiz-template/runtime").IGanttNodeData) => void;
38
38
  loading: import("vue").ComputedRef<boolean>;
@@ -5,6 +5,7 @@ import { ref, watch, nextTick, computed, watchEffect, onUnmounted } from 'vue';
5
5
  function useITableEvent(c) {
6
6
  const tableRef = ref();
7
7
  let forbidChange = false;
8
+ let isGridUISort = false;
8
9
  async function onRowClick(data, _column, _event) {
9
10
  if (ibiz.config.grid.editShowMode === "row" && c.model.enableRowEdit) {
10
11
  const row = c.findRowState(data);
@@ -48,6 +49,10 @@ function useITableEvent(c) {
48
49
  }
49
50
  );
50
51
  function onSortChange(opts) {
52
+ if (isGridUISort) {
53
+ isGridUISort = false;
54
+ return;
55
+ }
51
56
  const { prop, order } = opts;
52
57
  const fieldName = c.fieldColumns[prop].model.appDEFieldId;
53
58
  let order1;
@@ -107,6 +112,7 @@ function useITableEvent(c) {
107
112
  const sortTable = () => {
108
113
  if (tableRef.value) {
109
114
  nextTick(() => {
115
+ isGridUISort = true;
110
116
  tableRef.value.sort(prop, order);
111
117
  });
112
118
  } else {
@@ -1 +1 @@
1
- .ibiz-export-excel{width:270px}.ibiz-export-excel__custom{display:flex;align-items:center;justify-content:center}.ibiz-export-excel__custom>*+*{margin-left:10px}.ibiz-export-excel__custom.el-dropdown-menu__item:focus{color:var(--el-text-color-regular);background-color:transparent}.ibiz-export-excel__custom .el-input{--el-input-text-color:var(--ibiz-color-white)}.ibiz-export-excel__button{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base)}.ibiz-export-excel__button>span{display:flex;align-items:center;justify-content:center;font-size:14px;pointer-events:none}.ibiz-export-excel__button i,.ibiz-export-excel__button img{display:inline-block;max-width:var(--ibiz-width-icon-medium);max-height:var(--ibiz-width-icon-medium);margin:0 var(--ibiz-spacing-extra-tight) 0 0}.ibiz-export-excel-submenu-button{justify-content:flex-start;width:100%;height:36px;padding:0 10px;border-radius:0}.ibiz-export-excel-submenu-button i{margin:0 var(--ibiz-spacing-extra-tight) 0 0}.ibiz-control-toolbar-submenu-popper .ibiz-export-excel-submenu .el-sub-menu__title{padding:0}.ibiz-control-toolbar-submenu-popper .ibiz-export-excel-submenu .el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.ibiz-control-toolbar-submenu-popper .ibiz-export-excel-submenu.hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar-submenu-popper .ibiz-export-excel-submenu .ibiz-export-excel-submenu-popper{width:270px;color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}
1
+ .ibiz-export-excel{width:270px}.ibiz-export-excel__custom{display:flex;align-items:center;justify-content:center}.ibiz-export-excel__custom>*+*{margin-left:10px}.ibiz-export-excel__custom.el-dropdown-menu__item:focus{color:var(--el-text-color-regular);background-color:transparent}.ibiz-export-excel__custom .el-input{--el-input-text-color:var(--ibiz-color-white)}.ibiz-export-excel__button{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base)}.ibiz-export-excel__button>span{display:flex;align-items:center;justify-content:center;font-size:var(--ibiz-font-size-regular)}.ibiz-export-excel__button>span .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-export-excel__button>span .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-export-excel__button>span .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-export-excel__button>span .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-export-excel__button>span .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-export-excel-submenu-button{justify-content:flex-start;width:100%;height:36px;padding:0 10px;border-radius:0}.ibiz-export-excel-submenu-button>span{font-size:var(--ibiz-font-size-regular)}.ibiz-export-excel-submenu-button>span .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-export-excel-submenu-button>span .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-export-excel-submenu-button>span .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-export-excel-submenu-button>span .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-export-excel-submenu-button>span .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar-submenu-popper .ibiz-export-excel-submenu .el-sub-menu__title{padding:0}.ibiz-control-toolbar-submenu-popper .ibiz-export-excel-submenu .el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.ibiz-control-toolbar-submenu-popper .ibiz-export-excel-submenu.hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar-submenu-popper .ibiz-export-excel-submenu .ibiz-export-excel-submenu-popper{width:270px;color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-control-toolbar{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);--ibiz-control-toolbar-menu-height:32px;display:flex}.ibiz-control-toolbar__item{display:flex;align-items:center;margin:var(--ibiz-control-toolbar-item-margin);overflow:hidden}.ibiz-control-toolbar__item .el-button{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-control-toolbar-item-padding)}.ibiz-control-toolbar__item .el-button>span{display:flex;align-items:center;justify-content:center;font-size:var(--ibiz-font-size-regular);pointer-events:none}.ibiz-control-toolbar__item .el-button .ibiz-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height);margin:var(--ibiz-control-toolbar-icon-margin);font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__item.is-loading .el-button .ibiz-icon{display:none}.ibiz-control-toolbar__item-separator{color:var(--ibiz-control-toolbar-separator-color)}.ibiz-control-toolbar__item-separator+.ibiz-control-toolbar__item-separator,.ibiz-control-toolbar__item-separator:first-child{display:none}.ibiz-control-toolbar__menu.el-menu{height:var(--ibiz-control-toolbar-menu-height);margin:var(--ibiz-control-toolbar-item-margin);border:none}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-control-toolbar-item-padding);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary);border-radius:var(--ibiz-border-radius-small)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span{display:inline-block;line-height:1}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu.is-active .el-sub-menu__title{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);--ibiz-control-toolbar-menu-height:32px;color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu .el-sub-menu__title{padding:0 10px;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu .el-sub-menu__title:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu.is-active .el-sub-menu__title{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-icon{margin:var(--ibiz-control-toolbar-icon-margin)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item.is-active{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}
1
+ @charset "UTF-8";.ibiz-control-toolbar{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);--ibiz-control-toolbar-menu-height:32px;--ibiz-control-toolbar-text-margin:0 0 0 var(--ibiz-spacing-extra-tight);display:flex}.ibiz-control-toolbar__item{display:flex;align-items:center;margin:var(--ibiz-control-toolbar-item-margin);overflow:hidden}.ibiz-control-toolbar__item .el-button{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-control-toolbar-item-padding)}.ibiz-control-toolbar__item .el-button>span{display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar__item.is-loading .el-button .ibiz-icon{display:none}.ibiz-control-toolbar__item-separator{color:var(--ibiz-control-toolbar-separator-color)}.ibiz-control-toolbar__item-separator+.ibiz-control-toolbar__item-separator,.ibiz-control-toolbar__item-separator:first-child{display:none}.ibiz-control-toolbar__menu.el-menu{height:var(--ibiz-control-toolbar-menu-height);margin:var(--ibiz-control-toolbar-item-margin);border:none}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-control-toolbar-item-padding);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary);border-bottom:none;border-radius:var(--ibiz-border-radius-small)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span{font-size:var(--ibiz-font-size-regular);display:flex;align-items:center;justify-content:center;line-height:1}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu.is-active .el-sub-menu__title{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);--ibiz-control-toolbar-menu-height:32px;--ibiz-control-toolbar-text-margin:0 0 0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu .el-sub-menu__title{padding:0 10px;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu .el-sub-menu__title:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu.is-active .el-sub-menu__title{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item.is-active{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}
@@ -1,5 +1,5 @@
1
1
  import { isVNode, resolveComponent, createVNode, ref, createTextVNode, defineComponent } from 'vue';
2
- import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
2
+ import { useNamespace, useControlController } from '@ibiz-template/vue3-util';
3
3
  import { ToolbarController } from '@ibiz-template/runtime';
4
4
  import { IBizExportExcel } from './export-excel/export-excel.mjs';
5
5
  import './toolbar.css';
@@ -11,13 +11,18 @@ function _isSlot(s) {
11
11
  const btnContent = (item) => {
12
12
  const image = item.sysImage;
13
13
  const result = [];
14
+ const ns = useNamespace("toolbar-item");
14
15
  if (item.showIcon && image) {
15
- result.push(createVNode(resolveComponent("iBizIcon"), {
16
+ result.push(createVNode("span", {
17
+ "class": ns.b("icon")
18
+ }, [createVNode(resolveComponent("iBizIcon"), {
16
19
  "icon": image
17
- }, null));
20
+ }, null)]));
18
21
  }
19
22
  if (item.showCaption && item.caption) {
20
- result.push(item.caption);
23
+ result.push(createVNode("span", {
24
+ "class": ns.b("text")
25
+ }, [item.caption]));
21
26
  }
22
27
  return result;
23
28
  };
@@ -40,7 +40,7 @@ export declare const IBizCascader: import("vue").DefineComponent<{
40
40
  defaultCheckedKeys: Ref<string[]>;
41
41
  searchValue: Ref<string>;
42
42
  isLoaded: Ref<boolean>;
43
- getSize: () => "default" | "small" | "large";
43
+ getSize: () => "small" | "large" | "default";
44
44
  getIsLeaf: (data: IData, _node: IData) => boolean;
45
45
  getDisabled: (_data: IData, node: IData) => boolean;
46
46
  loadData: (node: IData, resolve: (_n: IData[]) => void) => Promise<void>;
@@ -55,6 +55,7 @@ export declare const IBizSpan: import("vue").DefineComponent<{
55
55
  } | undefined;
56
56
  data?: IData | undefined;
57
57
  tooltip?: string | undefined;
58
+ userData?: string | undefined;
58
59
  }[]>;
59
60
  showFormDefaultContent: import("vue").ComputedRef<boolean>;
60
61
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -4,7 +4,7 @@ import './span.css';
4
4
  import { isNil } from 'ramda';
5
5
  import { DataTypes } from '@ibiz-template/core';
6
6
  import dayjs from 'dayjs';
7
- import customParseFormat from '../../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/customParseFormat.mjs';
7
+ import customParseFormat from 'dayjs/plugin/customParseFormat';
8
8
 
9
9
  "use strict";
10
10
  dayjs.extend(customParseFormat);
@@ -21,6 +21,7 @@ export declare const IBizPanelButton: import("@ibiz-template/vue3-util").TypeWit
21
21
  handleButtonClick: (event: MouseEvent) => Promise<void>;
22
22
  buttonCssStyle: string | undefined;
23
23
  tempStyle: import("vue").Ref<string>;
24
+ itemStyle: string | undefined;
24
25
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
25
26
  modelData: {
26
27
  type: import("vue").PropType<import("@ibiz/model-core").IPanelButton>;
@@ -24,6 +24,7 @@ export declare const PanelButton: import("vue").DefineComponent<{
24
24
  handleButtonClick: (event: MouseEvent) => Promise<void>;
25
25
  buttonCssStyle: string | undefined;
26
26
  tempStyle: import("vue").Ref<string>;
27
+ itemStyle: string | undefined;
27
28
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
28
29
  modelData: {
29
30
  type: PropType<IPanelButton>;
@@ -89,13 +89,14 @@ const PanelButton = /* @__PURE__ */ defineComponent({
89
89
  tooltip,
90
90
  handleButtonClick,
91
91
  buttonCssStyle,
92
- tempStyle
92
+ tempStyle,
93
+ itemStyle
93
94
  };
94
95
  },
95
96
  render() {
96
97
  if (this.state.visible) {
97
98
  return createVNode("div", {
98
- "class": [this.ns.b(), this.ns.m(this.codeName), this.ns.is("loading", this.state.loading), ...this.controller.containerClass],
99
+ "class": [this.ns.b(), this.ns.m(this.codeName), this.ns.is("loading", this.state.loading), this.itemStyle && this.ns.m(this.itemStyle.toLowerCase()), ...this.controller.containerClass],
99
100
  "style": this.tempStyle
100
101
  }, [createVNode(resolveComponent("el-button"), {
101
102
  "type": this.buttonType,
@@ -19,6 +19,7 @@ export declare const IBizUserMessage: import("@ibiz-template/vue3-util").TypeWit
19
19
  };
20
20
  currentTab: import("vue").Ref<string>;
21
21
  hiddenPopover: () => void;
22
+ onBatchReadClick: () => void;
22
23
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
23
24
  modelData: {
24
25
  type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
@@ -1,9 +1,9 @@
1
- import { IInternalMessage } from '@ibiz-template/core/src/interface';
1
+ import { IInternalMessage } from '@ibiz-template/core';
2
2
  import { InternalMessageDefaultProvider } from '../common';
3
3
  export declare class InternalMessageHTMLtProvider extends InternalMessageDefaultProvider {
4
4
  component: import("vue").DefineComponent<{
5
5
  message: {
6
- type: import("vue").PropType<import("@ibiz-template/core").IInternalMessage>;
6
+ type: import("vue").PropType<IInternalMessage>;
7
7
  required: true;
8
8
  };
9
9
  provider: {
@@ -16,7 +16,7 @@ export declare class InternalMessageHTMLtProvider extends InternalMessageDefault
16
16
  close: () => true;
17
17
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
18
  message: {
19
- type: import("vue").PropType<import("@ibiz-template/core").IInternalMessage>;
19
+ type: import("vue").PropType<IInternalMessage>;
20
20
  required: true;
21
21
  };
22
22
  provider: {
@@ -1,9 +1,9 @@
1
- import { IInternalMessage } from '@ibiz-template/core/src/interface';
1
+ import { IInternalMessage } from '@ibiz-template/core';
2
2
  import { InternalMessageDefaultProvider } from '../common';
3
3
  export declare class InternalMessageJSONtProvider extends InternalMessageDefaultProvider {
4
4
  component: import("vue").DefineComponent<{
5
5
  message: {
6
- type: import("vue").PropType<import("@ibiz-template/core").IInternalMessage>;
6
+ type: import("vue").PropType<IInternalMessage>;
7
7
  required: true;
8
8
  };
9
9
  provider: {
@@ -27,7 +27,7 @@ export declare class InternalMessageJSONtProvider extends InternalMessageDefault
27
27
  close: () => true;
28
28
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
29
29
  message: {
30
- type: import("vue").PropType<import("@ibiz-template/core").IInternalMessage>;
30
+ type: import("vue").PropType<IInternalMessage>;
31
31
  required: true;
32
32
  };
33
33
  provider: {
@@ -23,7 +23,7 @@ export declare const InternalMessageTab: import("vue").DefineComponent<{
23
23
  content: string;
24
24
  system_tag: string;
25
25
  owner_id: string;
26
- owner_type: "SYSTEM" | "PERSONAL";
26
+ owner_type: "PERSONAL" | "SYSTEM";
27
27
  message_type: string;
28
28
  title: string;
29
29
  receiver: string;
@@ -1 +1 @@
1
- .ibiz-user-message{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ibiz-user-message__image{width:28px;height:28px;cursor:pointer}.ibiz-user-message__badge .el-badge__content{top:4px;right:calc(7px + var(--el-badge-size)/ 2);border-width:0}.ibiz-user-message-popover{width:500px!important;height:500px!important}.ibiz-user-message-popover.el-popover{padding-top:2px;padding-bottom:0}.ibiz-user-message-popover-content{height:100%}.ibiz-user-message-popover-content>.el-tabs__content{height:calc(100% - 55px)}.ibiz-user-message-popover-content>.el-tabs__content>.el-tab-pane{height:100%;overflow:auto}
1
+ .ibiz-user-message{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ibiz-user-message__image{width:28px;height:28px;cursor:pointer}.ibiz-user-message__badge .el-badge__content{top:4px;right:calc(7px + var(--el-badge-size)/ 2);border-width:0}.ibiz-user-message-popover{width:500px!important;height:500px!important}.ibiz-user-message-popover.el-popover{padding-top:2px;padding-bottom:0}.ibiz-user-message-popover-content-box{position:relative;height:100%}.ibiz-user-message-popover-icons{position:absolute;top:10px;right:0}.ibiz-user-message-popover-icons .ibiz-user-message-popover-icons-read{cursor:pointer}.ibiz-user-message-popover-icons .ibiz-user-message-popover-icons-read:hover{color:var(--ibiz-color-primary)}.ibiz-user-message-popover-content{height:100%}.ibiz-user-message-popover-content>.el-tabs__content{height:calc(100% - 55px)}.ibiz-user-message-popover-content>.el-tabs__content>.el-tab-pane{height:100%;overflow:auto}
@@ -23,6 +23,7 @@ export declare const UserMessage: import("vue").DefineComponent<{
23
23
  };
24
24
  currentTab: import("vue").Ref<string>;
25
25
  hiddenPopover: () => void;
26
+ onBatchReadClick: () => 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: {
28
29
  type: PropType<IPanelRawItem>;
@@ -40,6 +40,9 @@ const UserMessage = /* @__PURE__ */ defineComponent({
40
40
  onUnmounted(() => {
41
41
  noticeController.evt.off("totalChange", onNumChange);
42
42
  });
43
+ const onBatchReadClick = () => {
44
+ noticeController.internalMessage.batchMarkRead();
45
+ };
43
46
  return {
44
47
  ns,
45
48
  c,
@@ -49,7 +52,8 @@ const UserMessage = /* @__PURE__ */ defineComponent({
49
52
  showPopover,
50
53
  sysImage,
51
54
  currentTab,
52
- hiddenPopover
55
+ hiddenPopover,
56
+ onBatchReadClick
53
57
  };
54
58
  },
55
59
  render() {
@@ -78,7 +82,9 @@ const UserMessage = /* @__PURE__ */ defineComponent({
78
82
  });
79
83
  },
80
84
  default: () => {
81
- return createVNode(resolveComponent("el-tabs"), {
85
+ return createVNode("div", {
86
+ "class": this.ns.b("popover-content-box")
87
+ }, [createVNode(resolveComponent("el-tabs"), {
82
88
  "class": this.ns.b("popover-content"),
83
89
  "modelValue": this.currentTab,
84
90
  "onUpdate:modelValue": ($event) => this.currentTab = $event
@@ -102,7 +108,14 @@ const UserMessage = /* @__PURE__ */ defineComponent({
102
108
  "onHiddenPopover": this.hiddenPopover
103
109
  }, null)]
104
110
  })]
105
- });
111
+ }), createVNode("div", {
112
+ "class": this.ns.b("popover-icons")
113
+ }, [createVNode("ion-icon", {
114
+ "class": this.ns.b("popover-icons-read"),
115
+ "name": "checkmark-done-outline",
116
+ "title": "\u5168\u90E8\u5DF2\u8BFB",
117
+ "onClick": this.onBatchReadClick
118
+ }, null)])]);
106
119
  }
107
120
  })]);
108
121
  }
@@ -3,4 +3,6 @@ import { IAppDEGanttView } from '@ibiz/model-core';
3
3
  export declare class GanttViewEngine extends MDViewEngine {
4
4
  protected view: ViewController<IAppDEGanttView, IGanttViewState, IGanttViewEvent>;
5
5
  get gantt(): IGanttController;
6
+ call(key: string, args: any): Promise<IData | null | undefined>;
7
+ onCreated(): Promise<void>;
6
8
  }
@@ -1,10 +1,38 @@
1
- import { MDViewEngine } from '@ibiz-template/runtime';
1
+ import { MDViewEngine, SysUIActionTag } from '@ibiz-template/runtime';
2
2
 
3
3
  "use strict";
4
4
  class GanttViewEngine extends MDViewEngine {
5
5
  get gantt() {
6
6
  return this.view.getController("gantt");
7
7
  }
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
9
+ async call(key, args) {
10
+ if (key === SysUIActionTag.NEW_ROW) {
11
+ this.gantt.newRow(args);
12
+ return null;
13
+ }
14
+ if (key === SysUIActionTag.TOGGLE_ROW_EDIT) {
15
+ this.gantt.toggleRowEdit();
16
+ return null;
17
+ }
18
+ if (key === SysUIActionTag.SAVE_ROW) {
19
+ this.gantt.save(args.data[0]);
20
+ return null;
21
+ }
22
+ if (key === SysUIActionTag.SAVE) {
23
+ this.gantt.saveAll();
24
+ return null;
25
+ }
26
+ return super.call(key, args);
27
+ }
28
+ async onCreated() {
29
+ super.onCreated();
30
+ const { model } = this.view;
31
+ if (!this.view.slotProps.gantt) {
32
+ this.view.slotProps.gantt = {};
33
+ }
34
+ this.view.slotProps.gantt.mdctrlActiveMode = model.mdctrlActiveMode;
35
+ }
8
36
  }
9
37
 
10
38
  export { GanttViewEngine };
@@ -114,8 +114,14 @@ class OptViewEngine extends ViewEngineBase {
114
114
  * @memberof OptViewEngine
115
115
  */
116
116
  async confirm() {
117
- await this.form.save();
118
- this.view.closeView({ ok: true, data: this.getData() });
117
+ this.view.state.isClosing = true;
118
+ try {
119
+ await this.form.save();
120
+ await this.view.closeView({ ok: true, data: this.getData() });
121
+ } catch (error) {
122
+ this.view.state.isClosing = false;
123
+ throw error;
124
+ }
119
125
  }
120
126
  /**
121
127
  * 取消
@@ -10,6 +10,13 @@ export declare class PickupTreeViewEngine extends TreeViewEngine {
10
10
  * @memberof PickupViewEngine
11
11
  */
12
12
  selectData: IData[];
13
+ /**
14
+ * 通过srfkey选中数据
15
+ * @author lxm
16
+ * @date 2024-02-21 09:17:23
17
+ * @type {boolean}
18
+ */
19
+ selectBySrfkey: boolean;
13
20
  /**
14
21
  * 创建完成
15
22
  *
@@ -18,6 +18,13 @@ class PickupTreeViewEngine extends TreeViewEngine {
18
18
  * @memberof PickupViewEngine
19
19
  */
20
20
  __publicField(this, "selectData", []);
21
+ /**
22
+ * 通过srfkey选中数据
23
+ * @author lxm
24
+ * @date 2024-02-21 09:17:23
25
+ * @type {boolean}
26
+ */
27
+ __publicField(this, "selectBySrfkey", false);
21
28
  }
22
29
  /**
23
30
  * 创建完成
@@ -44,6 +51,8 @@ class PickupTreeViewEngine extends TreeViewEngine {
44
51
  if (item.srfnodeid) {
45
52
  const keys = this.calcExpandKeys(item.srfnodeid);
46
53
  keys.forEach((key) => set.add(key));
54
+ } else {
55
+ this.selectBySrfkey = true;
47
56
  }
48
57
  });
49
58
  this.view.slotProps.tree.defaultExpandedKeys = Array.from(set);
@@ -89,7 +98,14 @@ class PickupTreeViewEngine extends TreeViewEngine {
89
98
  });
90
99
  this.xdataControl.evt.on("onLoadSuccess", () => {
91
100
  forbiddenSelectionChange = true;
92
- this.xdataControl.setSelection(this.selectData);
101
+ let selectData = this.selectData;
102
+ if (this.selectBySrfkey) {
103
+ const srfkeys = this.selectData.map((item) => item.srfkey);
104
+ selectData = this.tree.state.items.filter((item) => {
105
+ return srfkeys.includes(item.srfkey);
106
+ });
107
+ }
108
+ this.xdataControl.setSelection(selectData);
93
109
  forbiddenSelectionChange = false;
94
110
  });
95
111
  if (!this.view.state.noLoadDefault && model.loadDefault) {