@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
@@ -695,6 +695,33 @@ export declare const RouterShell: import("vue").DefineComponent<{
695
695
  counterId?: string | undefined;
696
696
  sysPFPluginId?: string | undefined;
697
697
  timer?: number | undefined;
698
+ uniqueTag?: string | undefined;
699
+ navigateContexts?: {
700
+ desc?: string | undefined;
701
+ key?: string | undefined;
702
+ value?: string | undefined;
703
+ rawValue?: boolean | undefined;
704
+ appId: string;
705
+ id?: string | undefined;
706
+ name?: string | undefined;
707
+ codeName?: string | undefined;
708
+ userParam?: Record<string, string> | undefined;
709
+ modelId?: string | undefined;
710
+ modelType?: string | undefined;
711
+ }[] | undefined;
712
+ navigateParams?: {
713
+ desc?: string | undefined;
714
+ key?: string | undefined;
715
+ value?: string | undefined;
716
+ rawValue?: boolean | undefined;
717
+ appId: string;
718
+ id?: string | undefined;
719
+ name?: string | undefined;
720
+ codeName?: string | undefined;
721
+ userParam?: Record<string, string> | undefined;
722
+ modelId?: string | undefined;
723
+ modelType?: string | undefined;
724
+ }[] | undefined;
698
725
  appId: string;
699
726
  id?: string | undefined;
700
727
  name?: string | undefined;
@@ -1435,6 +1462,33 @@ export declare const RouterShell: import("vue").DefineComponent<{
1435
1462
  counterId?: string | undefined;
1436
1463
  sysPFPluginId?: string | undefined;
1437
1464
  timer?: number | undefined;
1465
+ uniqueTag?: string | undefined;
1466
+ navigateContexts?: {
1467
+ desc?: string | undefined;
1468
+ key?: string | undefined;
1469
+ value?: string | undefined;
1470
+ rawValue?: boolean | undefined;
1471
+ appId: string;
1472
+ id?: string | undefined;
1473
+ name?: string | undefined;
1474
+ codeName?: string | undefined;
1475
+ userParam?: Record<string, string> | undefined;
1476
+ modelId?: string | undefined;
1477
+ modelType?: string | undefined;
1478
+ }[] | undefined;
1479
+ navigateParams?: {
1480
+ desc?: string | undefined;
1481
+ key?: string | undefined;
1482
+ value?: string | undefined;
1483
+ rawValue?: boolean | undefined;
1484
+ appId: string;
1485
+ id?: string | undefined;
1486
+ name?: string | undefined;
1487
+ codeName?: string | undefined;
1488
+ userParam?: Record<string, string> | undefined;
1489
+ modelId?: string | undefined;
1490
+ modelType?: string | undefined;
1491
+ }[] | undefined;
1438
1492
  appId: string;
1439
1493
  id?: string | undefined;
1440
1494
  name?: string | undefined;
@@ -2262,6 +2316,33 @@ export declare const RouterShell: import("vue").DefineComponent<{
2262
2316
  counterId?: string | undefined;
2263
2317
  sysPFPluginId?: string | undefined;
2264
2318
  timer?: number | undefined;
2319
+ uniqueTag?: string | undefined;
2320
+ navigateContexts?: {
2321
+ desc?: string | undefined;
2322
+ key?: string | undefined;
2323
+ value?: string | undefined;
2324
+ rawValue?: boolean | undefined;
2325
+ appId: string;
2326
+ id?: string | undefined;
2327
+ name?: string | undefined;
2328
+ codeName?: string | undefined;
2329
+ userParam?: Record<string, string> | undefined;
2330
+ modelId?: string | undefined;
2331
+ modelType?: string | undefined;
2332
+ }[] | undefined;
2333
+ navigateParams?: {
2334
+ desc?: string | undefined;
2335
+ key?: string | undefined;
2336
+ value?: string | undefined;
2337
+ rawValue?: boolean | undefined;
2338
+ appId: string;
2339
+ id?: string | undefined;
2340
+ name?: string | undefined;
2341
+ codeName?: string | undefined;
2342
+ userParam?: Record<string, string> | undefined;
2343
+ modelId?: string | undefined;
2344
+ modelType?: string | undefined;
2345
+ }[] | undefined;
2265
2346
  appId: string;
2266
2347
  id?: string | undefined;
2267
2348
  name?: string | undefined;
@@ -2762,6 +2843,33 @@ export declare const RouterShell: import("vue").DefineComponent<{
2762
2843
  counterId?: string | undefined;
2763
2844
  sysPFPluginId?: string | undefined;
2764
2845
  timer?: number | undefined;
2846
+ uniqueTag?: string | undefined;
2847
+ navigateContexts?: {
2848
+ desc?: string | undefined;
2849
+ key?: string | undefined;
2850
+ value?: string | undefined;
2851
+ rawValue?: boolean | undefined;
2852
+ appId: string;
2853
+ id?: string | undefined;
2854
+ name?: string | undefined;
2855
+ codeName?: string | undefined;
2856
+ userParam?: Record<string, string> | undefined;
2857
+ modelId?: string | undefined;
2858
+ modelType?: string | undefined;
2859
+ }[] | undefined;
2860
+ navigateParams?: {
2861
+ desc?: string | undefined;
2862
+ key?: string | undefined;
2863
+ value?: string | undefined;
2864
+ rawValue?: boolean | undefined;
2865
+ appId: string;
2866
+ id?: string | undefined;
2867
+ name?: string | undefined;
2868
+ codeName?: string | undefined;
2869
+ userParam?: Record<string, string> | undefined;
2870
+ modelId?: string | undefined;
2871
+ modelType?: string | undefined;
2872
+ }[] | undefined;
2765
2873
  appId: string;
2766
2874
  id?: string | undefined;
2767
2875
  name?: string | undefined;
@@ -3413,6 +3521,33 @@ export declare const RouterShell: import("vue").DefineComponent<{
3413
3521
  counterId?: string | undefined;
3414
3522
  sysPFPluginId?: string | undefined;
3415
3523
  timer?: number | undefined;
3524
+ uniqueTag?: string | undefined;
3525
+ navigateContexts?: {
3526
+ desc?: string | undefined;
3527
+ key?: string | undefined;
3528
+ value?: string | undefined;
3529
+ rawValue?: boolean | undefined;
3530
+ appId: string;
3531
+ id?: string | undefined;
3532
+ name?: string | undefined;
3533
+ codeName?: string | undefined;
3534
+ userParam?: Record<string, string> | undefined;
3535
+ modelId?: string | undefined;
3536
+ modelType?: string | undefined;
3537
+ }[] | undefined;
3538
+ navigateParams?: {
3539
+ desc?: string | undefined;
3540
+ key?: string | undefined;
3541
+ value?: string | undefined;
3542
+ rawValue?: boolean | undefined;
3543
+ appId: string;
3544
+ id?: string | undefined;
3545
+ name?: string | undefined;
3546
+ codeName?: string | undefined;
3547
+ userParam?: Record<string, string> | undefined;
3548
+ modelId?: string | undefined;
3549
+ modelType?: string | undefined;
3550
+ }[] | undefined;
3416
3551
  appId: string;
3417
3552
  id?: string | undefined;
3418
3553
  name?: string | undefined;
@@ -3816,6 +3951,33 @@ export declare const RouterShell: import("vue").DefineComponent<{
3816
3951
  counterId?: string | undefined;
3817
3952
  sysPFPluginId?: string | undefined;
3818
3953
  timer?: number | undefined;
3954
+ uniqueTag?: string | undefined;
3955
+ navigateContexts?: {
3956
+ desc?: string | undefined;
3957
+ key?: string | undefined;
3958
+ value?: string | undefined;
3959
+ rawValue?: boolean | undefined;
3960
+ appId: string;
3961
+ id?: string | undefined;
3962
+ name?: string | undefined;
3963
+ codeName?: string | undefined;
3964
+ userParam?: Record<string, string> | undefined;
3965
+ modelId?: string | undefined;
3966
+ modelType?: string | undefined;
3967
+ }[] | undefined;
3968
+ navigateParams?: {
3969
+ desc?: string | undefined;
3970
+ key?: string | undefined;
3971
+ value?: string | undefined;
3972
+ rawValue?: boolean | undefined;
3973
+ appId: string;
3974
+ id?: string | undefined;
3975
+ name?: string | undefined;
3976
+ codeName?: string | undefined;
3977
+ userParam?: Record<string, string> | undefined;
3978
+ modelId?: string | undefined;
3979
+ modelType?: string | undefined;
3980
+ }[] | undefined;
3819
3981
  appId: string;
3820
3982
  id?: string | undefined;
3821
3983
  name?: string | undefined;
@@ -115,7 +115,11 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
115
115
  const findIndex = c.state.selectedData.findIndex((data) => {
116
116
  return data.srfkey === item.srfkey;
117
117
  });
118
- const cardClass = [ns.b("item"), ns.is("active", findIndex !== -1)];
118
+ let showActive = findIndex !== -1;
119
+ if (c.view.model.viewType === "DEDATAVIEW" && c.state.mdctrlActiveMode === 1 && c.state.singleSelect === true) {
120
+ showActive = false;
121
+ }
122
+ const cardClass = [ns.b("item"), ns.is("active", showActive)];
119
123
  const cardStyle = {};
120
124
  if (c.model.cardWidth) {
121
125
  Object.assign(cardStyle, {
@@ -42,7 +42,7 @@ const FormButton = /* @__PURE__ */ vue.defineComponent({
42
42
  return null;
43
43
  }
44
44
  return vue.createVNode("div", {
45
- "class": [this.ns.b(), this.ns.m(this.modelData.codeName), this.ns.is("loading", this.controller.state.loading), ...this.controller.containerClass]
45
+ "class": [this.ns.b(), this.ns.m(this.modelData.codeName), this.ns.is("loading", this.controller.state.loading), this.modelData.detailStyle && this.ns.m(this.modelData.detailStyle.toLowerCase()), ...this.controller.containerClass]
46
46
  }, [vue.createVNode(vue.resolveComponent("el-button"), {
47
47
  "sime": "small",
48
48
  "onClick": this.controller.onClick.bind(this.controller),
@@ -55,9 +55,9 @@ const FormButton = /* @__PURE__ */ vue.defineComponent({
55
55
  }, [vue.createVNode(vue.resolveComponent("iBizIcon"), {
56
56
  "class": this.ns.bm("content", "icon"),
57
57
  "icon": this.modelData.sysImage
58
- }, null), vue.createVNode("span", {
58
+ }, null), this.modelData.showCaption ? vue.createVNode("span", {
59
59
  "class": this.ns.bm("content", "caption")
60
- }, [this.modelData.showCaption ? this.captionText : null])])]
60
+ }, [this.captionText]) : null])]
61
61
  })]);
62
62
  }
63
63
  });
@@ -157,9 +157,15 @@ const RepeaterGrid = /* @__PURE__ */ vue.defineComponent({
157
157
  }, [$index + 1])];
158
158
  }
159
159
  }), this.formItems.length > 0 && this.formItems.map((item) => {
160
+ const width = item.labelWidth;
161
+ let columnWidth = "";
162
+ if (typeof width === "number") {
163
+ columnWidth = "".concat(width, "px");
164
+ }
160
165
  return vue.createVNode(vue.resolveComponent("el-table-column"), {
161
166
  "label": item.caption,
162
167
  "prop": item.id,
168
+ "width": columnWidth,
163
169
  "align": "center"
164
170
  }, {
165
171
  default: (opts) => {
@@ -7,6 +7,7 @@ var vue = require('vue');
7
7
  function useITableEvent(c) {
8
8
  const tableRef = vue.ref();
9
9
  let forbidChange = false;
10
+ let isGridUISort = false;
10
11
  async function onRowClick(data, _column, _event) {
11
12
  if (ibiz.config.grid.editShowMode === "row" && c.model.enableRowEdit) {
12
13
  const row = c.findRowState(data);
@@ -50,6 +51,10 @@ function useITableEvent(c) {
50
51
  }
51
52
  );
52
53
  function onSortChange(opts) {
54
+ if (isGridUISort) {
55
+ isGridUISort = false;
56
+ return;
57
+ }
53
58
  const { prop, order } = opts;
54
59
  const fieldName = c.fieldColumns[prop].model.appDEFieldId;
55
60
  let order1;
@@ -109,6 +114,7 @@ function useITableEvent(c) {
109
114
  const sortTable = () => {
110
115
  if (tableRef.value) {
111
116
  vue.nextTick(() => {
117
+ isGridUISort = true;
112
118
  tableRef.value.sort(prop, order);
113
119
  });
114
120
  } 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)}
@@ -13,13 +13,18 @@ function _isSlot(s) {
13
13
  const btnContent = (item) => {
14
14
  const image = item.sysImage;
15
15
  const result = [];
16
+ const ns = vue3Util.useNamespace("toolbar-item");
16
17
  if (item.showIcon && image) {
17
- result.push(vue.createVNode(vue.resolveComponent("iBizIcon"), {
18
+ result.push(vue.createVNode("span", {
19
+ "class": ns.b("icon")
20
+ }, [vue.createVNode(vue.resolveComponent("iBizIcon"), {
18
21
  "icon": image
19
- }, null));
22
+ }, null)]));
20
23
  }
21
24
  if (item.showCaption && item.caption) {
22
- result.push(item.caption);
25
+ result.push(vue.createVNode("span", {
26
+ "class": ns.b("text")
27
+ }, [item.caption]));
23
28
  }
24
29
  return result;
25
30
  };
@@ -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)}
@@ -6,10 +6,10 @@ require('./span.css');
6
6
  var ramda = require('ramda');
7
7
  var core = require('@ibiz-template/core');
8
8
  var dayjs = require('dayjs');
9
- var customParseFormat = require('../../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/customParseFormat.cjs');
9
+ var customParseFormat = require('dayjs/plugin/customParseFormat');
10
10
 
11
11
  "use strict";
12
- dayjs.extend(customParseFormat.default);
12
+ dayjs.extend(customParseFormat);
13
13
  function isValidDateFormat(dateStr, format) {
14
14
  if (dateStr === format) {
15
15
  return false;
@@ -93,13 +93,14 @@ const PanelButton = /* @__PURE__ */ vue.defineComponent({
93
93
  tooltip,
94
94
  handleButtonClick,
95
95
  buttonCssStyle,
96
- tempStyle
96
+ tempStyle,
97
+ itemStyle
97
98
  };
98
99
  },
99
100
  render() {
100
101
  if (this.state.visible) {
101
102
  return vue.createVNode("div", {
102
- "class": [this.ns.b(), this.ns.m(this.codeName), this.ns.is("loading", this.state.loading), ...this.controller.containerClass],
103
+ "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],
103
104
  "style": this.tempStyle
104
105
  }, [vue.createVNode(vue.resolveComponent("el-button"), {
105
106
  "type": this.buttonType,
@@ -42,6 +42,9 @@ const UserMessage = /* @__PURE__ */ vue.defineComponent({
42
42
  vue.onUnmounted(() => {
43
43
  noticeController.evt.off("totalChange", onNumChange);
44
44
  });
45
+ const onBatchReadClick = () => {
46
+ noticeController.internalMessage.batchMarkRead();
47
+ };
45
48
  return {
46
49
  ns,
47
50
  c,
@@ -51,7 +54,8 @@ const UserMessage = /* @__PURE__ */ vue.defineComponent({
51
54
  showPopover,
52
55
  sysImage,
53
56
  currentTab,
54
- hiddenPopover
57
+ hiddenPopover,
58
+ onBatchReadClick
55
59
  };
56
60
  },
57
61
  render() {
@@ -80,7 +84,9 @@ const UserMessage = /* @__PURE__ */ vue.defineComponent({
80
84
  });
81
85
  },
82
86
  default: () => {
83
- return vue.createVNode(vue.resolveComponent("el-tabs"), {
87
+ return vue.createVNode("div", {
88
+ "class": this.ns.b("popover-content-box")
89
+ }, [vue.createVNode(vue.resolveComponent("el-tabs"), {
84
90
  "class": this.ns.b("popover-content"),
85
91
  "modelValue": this.currentTab,
86
92
  "onUpdate:modelValue": ($event) => this.currentTab = $event
@@ -104,7 +110,14 @@ const UserMessage = /* @__PURE__ */ vue.defineComponent({
104
110
  "onHiddenPopover": this.hiddenPopover
105
111
  }, null)]
106
112
  })]
107
- });
113
+ }), vue.createVNode("div", {
114
+ "class": this.ns.b("popover-icons")
115
+ }, [vue.createVNode("ion-icon", {
116
+ "class": this.ns.b("popover-icons-read"),
117
+ "name": "checkmark-done-outline",
118
+ "title": "\u5168\u90E8\u5DF2\u8BFB",
119
+ "onClick": this.onBatchReadClick
120
+ }, null)])]);
108
121
  }
109
122
  })]);
110
123
  }
@@ -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}
@@ -7,6 +7,34 @@ class GanttViewEngine extends runtime.MDViewEngine {
7
7
  get gantt() {
8
8
  return this.view.getController("gantt");
9
9
  }
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
11
+ async call(key, args) {
12
+ if (key === runtime.SysUIActionTag.NEW_ROW) {
13
+ this.gantt.newRow(args);
14
+ return null;
15
+ }
16
+ if (key === runtime.SysUIActionTag.TOGGLE_ROW_EDIT) {
17
+ this.gantt.toggleRowEdit();
18
+ return null;
19
+ }
20
+ if (key === runtime.SysUIActionTag.SAVE_ROW) {
21
+ this.gantt.save(args.data[0]);
22
+ return null;
23
+ }
24
+ if (key === runtime.SysUIActionTag.SAVE) {
25
+ this.gantt.saveAll();
26
+ return null;
27
+ }
28
+ return super.call(key, args);
29
+ }
30
+ async onCreated() {
31
+ super.onCreated();
32
+ const { model } = this.view;
33
+ if (!this.view.slotProps.gantt) {
34
+ this.view.slotProps.gantt = {};
35
+ }
36
+ this.view.slotProps.gantt.mdctrlActiveMode = model.mdctrlActiveMode;
37
+ }
10
38
  }
11
39
 
12
40
  exports.GanttViewEngine = GanttViewEngine;
@@ -116,8 +116,14 @@ class OptViewEngine extends runtime.ViewEngineBase {
116
116
  * @memberof OptViewEngine
117
117
  */
118
118
  async confirm() {
119
- await this.form.save();
120
- this.view.closeView({ ok: true, data: this.getData() });
119
+ this.view.state.isClosing = true;
120
+ try {
121
+ await this.form.save();
122
+ await this.view.closeView({ ok: true, data: this.getData() });
123
+ } catch (error) {
124
+ this.view.state.isClosing = false;
125
+ throw error;
126
+ }
121
127
  }
122
128
  /**
123
129
  * 取消
@@ -20,6 +20,13 @@ class PickupTreeViewEngine extends treeView_engine.TreeViewEngine {
20
20
  * @memberof PickupViewEngine
21
21
  */
22
22
  __publicField(this, "selectData", []);
23
+ /**
24
+ * 通过srfkey选中数据
25
+ * @author lxm
26
+ * @date 2024-02-21 09:17:23
27
+ * @type {boolean}
28
+ */
29
+ __publicField(this, "selectBySrfkey", false);
23
30
  }
24
31
  /**
25
32
  * 创建完成
@@ -46,6 +53,8 @@ class PickupTreeViewEngine extends treeView_engine.TreeViewEngine {
46
53
  if (item.srfnodeid) {
47
54
  const keys = this.calcExpandKeys(item.srfnodeid);
48
55
  keys.forEach((key) => set.add(key));
56
+ } else {
57
+ this.selectBySrfkey = true;
49
58
  }
50
59
  });
51
60
  this.view.slotProps.tree.defaultExpandedKeys = Array.from(set);
@@ -91,7 +100,14 @@ class PickupTreeViewEngine extends treeView_engine.TreeViewEngine {
91
100
  });
92
101
  this.xdataControl.evt.on("onLoadSuccess", () => {
93
102
  forbiddenSelectionChange = true;
94
- this.xdataControl.setSelection(this.selectData);
103
+ let selectData = this.selectData;
104
+ if (this.selectBySrfkey) {
105
+ const srfkeys = this.selectData.map((item) => item.srfkey);
106
+ selectData = this.tree.state.items.filter((item) => {
107
+ return srfkeys.includes(item.srfkey);
108
+ });
109
+ }
110
+ this.xdataControl.setSelection(selectData);
95
111
  forbiddenSelectionChange = false;
96
112
  });
97
113
  if (!this.view.state.noLoadDefault && model.loadDefault) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.6.1-alpha.1",
3
+ "version": "0.6.1-alpha.3",
4
4
  "description": "使用 rollup 编译 vue 组件或者 jsx",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -16,6 +16,9 @@
16
16
  "dev": "ibiz-temp build -w",
17
17
  "lint": "vue-tsc --noEmit && eslint 'src/**/*.tsx' 'src/**/*.ts'",
18
18
  "build": "ibiz-temp build -c && vue-tsc --declaration --emitDeclarationOnly",
19
+ "test": "vitest",
20
+ "test:ui": "vitest --ui",
21
+ "test:run": "vitest run",
19
22
  "prepublish": "npm run build",
20
23
  "publish:next": "npm run build && npm publish --access public --tag=next --registry=https://registry.npmjs.org/",
21
24
  "publish:dev": "npm run build && npm publish --access public --tag=dev --registry=https://registry.npmjs.org/",
@@ -27,14 +30,14 @@
27
30
  "@floating-ui/dom": "^1.5.3",
28
31
  "@ibiz-template-plugin/ai-chat": "^0.0.1",
29
32
  "@ibiz-template-plugin/gantt": "0.1.3-alpha.23",
30
- "@ibiz-template/core": "^0.6.0",
31
- "@ibiz-template/devtool": "0.0.1-alpha.2",
32
- "@ibiz-template/model-helper": "^0.6.1-alpha.0",
33
- "@ibiz-template/runtime": "^0.6.1-alpha.0",
33
+ "@ibiz-template/core": "0.6.1-alpha.3",
34
+ "@ibiz-template/devtool": "0.0.1-dev.4",
35
+ "@ibiz-template/model-helper": "0.6.1-alpha.3",
36
+ "@ibiz-template/runtime": "0.6.1-alpha.3",
34
37
  "@ibiz-template/theme": "^0.6.0",
35
- "@ibiz-template/vue3-util": "^0.6.1-alpha.0",
36
- "@ibiz-template/web-theme": "^1.1.9",
37
- "@ibiz/model-core": "^0.1.11",
38
+ "@ibiz-template/vue3-util": "0.6.1-alpha.3",
39
+ "@ibiz-template/web-theme": "^1.1.10",
40
+ "@ibiz/model-core": "^0.1.12",
38
41
  "@imengyu/vue3-context-menu": "^1.3.5",
39
42
  "@monaco-editor/loader": "^1.4.0",
40
43
  "@wangeditor/editor": "^5.1.23",
@@ -69,8 +72,15 @@
69
72
  "@types/nprogress": "^0.2.3",
70
73
  "@types/qs": "^6.9.11",
71
74
  "@types/ramda": "^0.29.10",
75
+ "@vitejs/plugin-vue": "^5.0.4",
76
+ "@vitejs/plugin-vue-jsx": "^3.1.0",
77
+ "@vitest/browser": "^1.3.0",
78
+ "@vitest/coverage-v8": "^1.3.0",
79
+ "@vitest/ui": "^1.3.0",
80
+ "@vue/test-utils": "^2.4.4",
72
81
  "husky": "^8.0.3",
73
82
  "lint-staged": "^15.2.0",
83
+ "playwright": "^1.41.2",
74
84
  "stylelint": "15.11.0",
75
85
  "stylelint-config-ali": "1.1.0",
76
86
  "stylelint-config-prettier": "9.0.5",
@@ -80,6 +90,7 @@
80
90
  "stylelint-scss": "5.3.1",
81
91
  "typescript": "^5.3.3",
82
92
  "vite": "^5.0.12",
93
+ "vitest": "^1.3.0",
83
94
  "vue-tsc": "^1.8.27"
84
95
  },
85
96
  "peerDependencies": {
@@ -100,7 +111,7 @@
100
111
  "echarts": "^5.4.3",
101
112
  "element-plus": "^2.3.12",
102
113
  "lodash-es": "^4.17.21",
103
- "monaco-editor": "^0.41.0",
114
+ "monaco-editor": "^0.45.0",
104
115
  "pinia": "^2.1.6",
105
116
  "qs": "^6.11.2",
106
117
  "qx-util": "^0.4.8",