@ibiz-template/vue3-components 0.3.5 → 0.3.6-dev.0

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 (152) hide show
  1. package/dist/index-IQggCeg0.js +14 -0
  2. package/dist/index-IQggCeg0.js.map +1 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/{xlsx-util-kEnxvxaf.js → xlsx-util--ODZUMX_.js} +2 -2
  6. package/dist/{xlsx-util-kEnxvxaf.js.map → xlsx-util--ODZUMX_.js.map} +1 -1
  7. package/es/control/form/edit-form/edit-form.mjs +18 -3
  8. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.css +1 -0
  9. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.d.ts +7 -6
  10. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs +51 -53
  11. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.css +1 -0
  12. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.d.ts +19 -0
  13. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.mjs +72 -0
  14. package/es/control/form/form-detail/form-mdctrl/{form-mdctrl-data-view/form-mdctrl-data-view.d.ts → form-mdctrl-repeater/form-mdctrl-repeater.d.ts} +5 -7
  15. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.mjs +57 -0
  16. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.css +1 -0
  17. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +2 -0
  18. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +203 -0
  19. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.d.ts +19 -0
  20. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.mjs +59 -0
  21. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.css +1 -0
  22. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.d.ts +29 -0
  23. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.mjs +54 -0
  24. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -0
  25. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.d.ts +4 -2
  26. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.mjs +40 -54
  27. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.provider.mjs +21 -2
  28. package/es/control/form/form-detail/form-mdctrl/index.d.ts +2 -3
  29. package/es/control/form/form-detail/form-mdctrl/index.mjs +6 -14
  30. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -0
  31. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.d.ts +40 -0
  32. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +99 -0
  33. package/es/control/index.d.ts +1 -1
  34. package/es/control/index.mjs +1 -3
  35. package/es/control/report-panel/index.d.ts +2 -0
  36. package/es/control/report-panel/index.mjs +23 -0
  37. package/es/control/report-panel/report-detail/index.d.ts +2 -0
  38. package/es/control/report-panel/report-detail/index.mjs +4 -0
  39. package/es/control/report-panel/report-detail/user-report-panel/index.d.ts +14 -0
  40. package/es/control/report-panel/report-detail/user-report-panel/index.mjs +12 -0
  41. package/es/control/report-panel/report-detail/user-report-panel/user-report-panel.css +1 -0
  42. package/es/control/report-panel/report-detail/user-report-panel/user-report-panel.d.ts +16 -0
  43. package/es/control/report-panel/report-detail/user-report-panel/user-report-panel.mjs +45 -0
  44. package/es/control/report-panel/report-detail/user2-report-panel/index.d.ts +15 -0
  45. package/es/control/report-panel/report-detail/user2-report-panel/index.mjs +12 -0
  46. package/es/control/report-panel/report-detail/user2-report-panel/user2-report-panel.css +1 -0
  47. package/es/control/report-panel/report-detail/user2-report-panel/user2-report-panel.d.ts +17 -0
  48. package/es/control/report-panel/report-detail/user2-report-panel/user2-report-panel.mjs +67 -0
  49. package/es/control/report-panel/report-panel.css +1 -0
  50. package/es/control/{panel/panel/panel.d.ts → report-panel/report-panel.d.ts} +12 -22
  51. package/es/control/report-panel/report-panel.mjs +72 -0
  52. package/es/control/report-panel/report-panel.provider.d.ts +11 -0
  53. package/es/control/{panel/panel/panel.provider.mjs → report-panel/report-panel.provider.mjs} +3 -3
  54. package/es/control/tree-grid/tree-grid.mjs +1 -1
  55. package/es/index.mjs +4 -4
  56. package/es/panel-component/searchform-buttons/index.d.ts +1 -0
  57. package/es/panel-component/searchform-buttons/searchform-buttons.controller.d.ts +9 -1
  58. package/es/panel-component/searchform-buttons/searchform-buttons.controller.mjs +11 -0
  59. package/es/panel-component/searchform-buttons/searchform-buttons.css +1 -1
  60. package/es/panel-component/searchform-buttons/searchform-buttons.d.ts +1 -0
  61. package/es/panel-component/searchform-buttons/searchform-buttons.mjs +35 -1
  62. package/es/view-engine/index.mjs +5 -0
  63. package/es/view-engine/report-view.engine.d.ts +96 -0
  64. package/es/view-engine/report-view.engine.mjs +178 -0
  65. package/lib/control/form/edit-form/edit-form.cjs +17 -2
  66. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.cjs +48 -53
  67. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.css +1 -0
  68. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.cjs +74 -0
  69. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.css +1 -0
  70. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.cjs +59 -0
  71. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +205 -0
  72. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.css +1 -0
  73. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.cjs +61 -0
  74. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.cjs +56 -0
  75. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.css +1 -0
  76. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.cjs +38 -52
  77. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -0
  78. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.provider.cjs +20 -1
  79. package/lib/control/form/form-detail/form-mdctrl/index.cjs +6 -14
  80. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.cjs +101 -0
  81. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -0
  82. package/lib/control/index.cjs +64 -67
  83. package/lib/control/report-panel/index.cjs +28 -0
  84. package/lib/control/report-panel/report-detail/index.cjs +9 -0
  85. package/lib/control/report-panel/report-detail/user-report-panel/index.cjs +17 -0
  86. package/lib/control/report-panel/report-detail/user-report-panel/user-report-panel.cjs +47 -0
  87. package/lib/control/report-panel/report-detail/user-report-panel/user-report-panel.css +1 -0
  88. package/lib/control/report-panel/report-detail/user2-report-panel/index.cjs +17 -0
  89. package/lib/control/report-panel/report-detail/user2-report-panel/user2-report-panel.cjs +69 -0
  90. package/lib/control/report-panel/report-detail/user2-report-panel/user2-report-panel.css +1 -0
  91. package/lib/control/report-panel/report-panel.cjs +74 -0
  92. package/lib/control/report-panel/report-panel.css +1 -0
  93. package/lib/control/{panel/panel/panel.provider.cjs → report-panel/report-panel.provider.cjs} +3 -3
  94. package/lib/control/tree-grid/tree-grid.cjs +1 -1
  95. package/lib/index.cjs +120 -121
  96. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +35 -1
  97. package/lib/panel-component/searchform-buttons/searchform-buttons.controller.cjs +11 -0
  98. package/lib/panel-component/searchform-buttons/searchform-buttons.css +1 -1
  99. package/lib/view-engine/index.cjs +5 -0
  100. package/lib/view-engine/report-view.engine.cjs +180 -0
  101. package/package.json +6 -6
  102. package/dist/index-JckMKMdE.js +0 -14
  103. package/dist/index-JckMKMdE.js.map +0 -1
  104. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-container/form-mdctrl-container.css +0 -1
  105. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-container/form-mdctrl-container.d.ts +0 -36
  106. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-container/form-mdctrl-container.mjs +0 -67
  107. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.mjs +0 -68
  108. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.d.ts +0 -17
  109. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.mjs +0 -70
  110. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.d.ts +0 -17
  111. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.mjs +0 -68
  112. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.d.ts +0 -72
  113. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.mjs +0 -158
  114. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.d.ts +0 -17
  115. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.mjs +0 -58
  116. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.d.ts +0 -17
  117. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.mjs +0 -55
  118. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.css +0 -1
  119. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.d.ts +0 -19
  120. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.mjs +0 -113
  121. package/es/control/panel/index.d.ts +0 -2
  122. package/es/control/panel/index.mjs +0 -4
  123. package/es/control/panel/panel/index.d.ts +0 -56
  124. package/es/control/panel/panel/index.mjs +0 -12
  125. package/es/control/panel/panel/panel.css +0 -1
  126. package/es/control/panel/panel/panel.mjs +0 -133
  127. package/es/control/panel/panel/panel.provider.d.ts +0 -13
  128. package/es/control/panel/view-layout-panel/index.d.ts +0 -57
  129. package/es/control/panel/view-layout-panel/index.mjs +0 -18
  130. package/es/control/panel/view-layout-panel/view-layout-panel.css +0 -1
  131. package/es/control/panel/view-layout-panel/view-layout-panel.d.ts +0 -61
  132. package/es/control/panel/view-layout-panel/view-layout-panel.mjs +0 -135
  133. package/es/control/panel/view-layout-panel/view-layout-panel.provider.d.ts +0 -13
  134. package/es/control/panel/view-layout-panel/view-layout-panel.provider.mjs +0 -14
  135. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-container/form-mdctrl-container.cjs +0 -72
  136. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-container/form-mdctrl-container.css +0 -1
  137. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.cjs +0 -73
  138. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.cjs +0 -75
  139. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.cjs +0 -73
  140. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-shell.cjs +0 -160
  141. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.cjs +0 -63
  142. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.cjs +0 -60
  143. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.cjs +0 -118
  144. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.css +0 -1
  145. package/lib/control/panel/index.cjs +0 -9
  146. package/lib/control/panel/panel/index.cjs +0 -17
  147. package/lib/control/panel/panel/panel.cjs +0 -135
  148. package/lib/control/panel/panel/panel.css +0 -1
  149. package/lib/control/panel/view-layout-panel/index.cjs +0 -23
  150. package/lib/control/panel/view-layout-panel/view-layout-panel.cjs +0 -137
  151. package/lib/control/panel/view-layout-panel/view-layout-panel.css +0 -1
  152. package/lib/control/panel/view-layout-panel/view-layout-panel.provider.cjs +0 -16
@@ -0,0 +1 @@
1
+ .ibiz-user2-report-panel__container{width:100%;height:100%}.ibiz-user2-report-panel__empty{display:flex;justify-content:center;align-items:center;width:100%;height:100%}
@@ -0,0 +1,17 @@
1
+ import { PropType } from 'vue';
2
+ import { ReportPanelController } from '@ibiz-template/runtime';
3
+ import './user2-report-panel.scss';
4
+ export declare const User2ReportPanel: import("vue").DefineComponent<{
5
+ controller: {
6
+ type: PropType<ReportPanelController>;
7
+ };
8
+ }, {
9
+ c: ReportPanelController | undefined;
10
+ ns: import("@ibiz-template/core").Namespace;
11
+ generator: import("@ibiz-template/runtime/out/controller/control/report-panel/generator/base-generator").ReportPanelBaseGenerator | undefined;
12
+ computedValue: import("vue").ComputedRef<any>;
13
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
+ controller: {
15
+ type: PropType<ReportPanelController>;
16
+ };
17
+ }>>, {}, {}>;
@@ -0,0 +1,67 @@
1
+ import { computed, createVNode, createTextVNode, defineComponent } from 'vue';
2
+ import { ScriptFactory } from '@ibiz-template/runtime';
3
+ import { useNamespace } from '@ibiz-template/vue3-util';
4
+ import './user2-report-panel.css';
5
+
6
+ "use strict";
7
+ const User2ReportPanel = /* @__PURE__ */ defineComponent({
8
+ name: "IBizUser2ReportPanel",
9
+ props: {
10
+ controller: {
11
+ type: Object
12
+ }
13
+ },
14
+ setup(props) {
15
+ const c = props.controller;
16
+ const ns = useNamespace(`user2-report-panel`);
17
+ window.handleCallClick = async (action) => {
18
+ if (!c)
19
+ return;
20
+ const res = await ScriptFactory.execScriptFn({
21
+ view: c.view,
22
+ context: c.context,
23
+ params: c.params,
24
+ data: {}
25
+ }, action, {
26
+ isAsync: true
27
+ });
28
+ console.log("\u8C03\u7528view.call\u8FD4\u56DE\u6570\u636E", res);
29
+ };
30
+ const generator = c && c.generator;
31
+ const computedValue = computed(() => {
32
+ if (!c)
33
+ return "";
34
+ const state = c.state;
35
+ const curValue = state.data;
36
+ if (curValue) {
37
+ return curValue.replace(/onClick="(.*?)"/g, function(match, value) {
38
+ return `onclick="handleCallClick('${value}')"`;
39
+ });
40
+ }
41
+ return "";
42
+ });
43
+ return {
44
+ c,
45
+ ns,
46
+ generator,
47
+ computedValue
48
+ };
49
+ },
50
+ render() {
51
+ if (!this.c) {
52
+ return;
53
+ }
54
+ const state = this.c.state;
55
+ if (state.isLoaded) {
56
+ return createVNode("div", {
57
+ "class": this.ns.e("container"),
58
+ "innerHTML": this.computedValue
59
+ }, null);
60
+ }
61
+ return createVNode("div", {
62
+ "class": this.ns.e("empty")
63
+ }, [createTextVNode("\u6682\u65E0\u6570\u636E")]);
64
+ }
65
+ });
66
+
67
+ export { User2ReportPanel };
@@ -0,0 +1 @@
1
+ .ibiz-control-reportpanel{width:100%;height:100%}
@@ -1,13 +1,10 @@
1
- import { PropType } from 'vue';
2
- import { IPanel } from '@ibiz/model-core';
3
- import './panel.scss';
4
- import { IControlProvider, IController, PanelController } from '@ibiz-template/runtime';
5
- /**
6
- * 视图布局面板组件
7
- */
8
- export declare const PanelControl: import("vue").DefineComponent<{
1
+ import { IControlProvider, ReportPanelController } from '@ibiz-template/runtime';
2
+ import { PropType, VNode } from 'vue';
3
+ import { IDEReportPanel } from '@ibiz/model-core';
4
+ import './report-panel.scss';
5
+ export declare const ReportPanelControl: import("vue").DefineComponent<{
9
6
  modelData: {
10
- type: PropType<IPanel>;
7
+ type: PropType<IDEReportPanel>;
11
8
  required: true;
12
9
  };
13
10
  context: {
@@ -21,20 +18,17 @@ export declare const PanelControl: import("vue").DefineComponent<{
21
18
  provider: {
22
19
  type: PropType<IControlProvider>;
23
20
  };
24
- container: {
25
- type: PropType<IController<import("@ibiz/model-core").IModelObject, object, import("@ibiz-template/runtime").IComponentEvent>>;
26
- };
27
- data: PropType<IData>;
28
- loadDefault: {
21
+ noLoadDefault: {
29
22
  type: BooleanConstructor;
30
23
  default: boolean;
31
24
  };
32
25
  }, {
33
- c: PanelController<IPanel, import("@ibiz-template/runtime").IPanelState, import("@ibiz-template/runtime").IPanelEvent>;
26
+ c: ReportPanelController;
34
27
  ns: import("@ibiz-template/core").Namespace;
28
+ renderContent: () => VNode | false;
35
29
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
36
30
  modelData: {
37
- type: PropType<IPanel>;
31
+ type: PropType<IDEReportPanel>;
38
32
  required: true;
39
33
  };
40
34
  context: {
@@ -48,15 +42,11 @@ export declare const PanelControl: import("vue").DefineComponent<{
48
42
  provider: {
49
43
  type: PropType<IControlProvider>;
50
44
  };
51
- container: {
52
- type: PropType<IController<import("@ibiz/model-core").IModelObject, object, import("@ibiz-template/runtime").IComponentEvent>>;
53
- };
54
- data: PropType<IData>;
55
- loadDefault: {
45
+ noLoadDefault: {
56
46
  type: BooleanConstructor;
57
47
  default: boolean;
58
48
  };
59
49
  }>>, {
60
50
  params: IParams;
61
- loadDefault: boolean;
51
+ noLoadDefault: boolean;
62
52
  }, {}>;
@@ -0,0 +1,72 @@
1
+ import { isVNode, createTextVNode, createVNode, resolveComponent, defineComponent } from 'vue';
2
+ import { ReportPanelController } from '@ibiz-template/runtime';
3
+ import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
4
+ import './report-panel.css';
5
+
6
+ "use strict";
7
+ function _isSlot(s) {
8
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
9
+ }
10
+ const ReportPanelControl = /* @__PURE__ */ defineComponent({
11
+ name: "IBizReportPanelControl",
12
+ props: {
13
+ modelData: {
14
+ type: Object,
15
+ required: true
16
+ },
17
+ context: {
18
+ type: Object,
19
+ required: true
20
+ },
21
+ params: {
22
+ type: Object,
23
+ default: () => ({})
24
+ },
25
+ provider: {
26
+ type: Object
27
+ },
28
+ noLoadDefault: {
29
+ type: Boolean,
30
+ default: false
31
+ }
32
+ },
33
+ setup() {
34
+ const c = useControlController((...args) => new ReportPanelController(...args));
35
+ const ns = useNamespace(`control-${c.model.controlType.toLowerCase()}`);
36
+ const renderContent = () => {
37
+ const {
38
+ reportType
39
+ } = c.state;
40
+ switch (reportType) {
41
+ case "USER":
42
+ return createVNode(resolveComponent("iBizUserReportPanel"), {
43
+ "controller": c
44
+ }, null);
45
+ case "USER2":
46
+ return createVNode(resolveComponent("iBizUser2ReportPanel"), {
47
+ "controller": c
48
+ }, null);
49
+ default:
50
+ return createVNode("div", null, [createTextVNode("\u6682\u672A\u5B9E\u73B0")]);
51
+ }
52
+ };
53
+ return {
54
+ c,
55
+ ns,
56
+ renderContent
57
+ };
58
+ },
59
+ render() {
60
+ let _slot;
61
+ if (!this.c.state.isCreated) {
62
+ return;
63
+ }
64
+ return createVNode(resolveComponent("iBizControlBase"), {
65
+ "controller": this.c
66
+ }, _isSlot(_slot = this.renderContent()) ? _slot : {
67
+ default: () => [_slot]
68
+ });
69
+ }
70
+ });
71
+
72
+ export { ReportPanelControl };
@@ -0,0 +1,11 @@
1
+ import { IControlProvider } from '@ibiz-template/runtime';
2
+ /**
3
+ * 报表面板适配器
4
+ *
5
+ * @export
6
+ * @class ReportPanelProvider
7
+ * @implements {IControlProvider}
8
+ */
9
+ export declare class ReportPanelProvider implements IControlProvider {
10
+ component: string;
11
+ }
@@ -5,10 +5,10 @@ var __publicField = (obj, key, value) => {
5
5
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
6
  return value;
7
7
  };
8
- class PanelProvider {
8
+ class ReportPanelProvider {
9
9
  constructor() {
10
- __publicField(this, "component", "IBizPanelControl");
10
+ __publicField(this, "component", "IBizReportPanelControl");
11
11
  }
12
12
  }
13
13
 
14
- export { PanelProvider };
14
+ export { ReportPanelProvider };
@@ -197,7 +197,7 @@ const TreeGridControl = /* @__PURE__ */ defineComponent({
197
197
  append: () => {
198
198
  return this.renderPopover();
199
199
  }
200
- }), enablePagingBar && createVNode(resolveComponent("iBizGridPagination"), {
200
+ }), enablePagingBar && createVNode(resolveComponent("iBizPagination"), {
201
201
  "total": state.total,
202
202
  "curPage": state.curPage,
203
203
  "size": state.size,
package/es/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { IBizView, IBizPortalView } from '@ibiz-template/vue3-util';
1
+ import { IBizView, IBizPortalView, IBizViewLayoutPanelControl, IBizPanelControl } from '@ibiz-template/vue3-util';
2
2
  import { IBizCommonComponents } from './common/index.mjs';
3
3
  import { IBizPanelComponents } from './panel-component/index.mjs';
4
4
  import './control/index.mjs';
@@ -20,8 +20,6 @@ import { IBizListControl } from './control/list/index.mjs';
20
20
  import { IBizChartControl } from './control/chart/index.mjs';
21
21
  import { IBizPickupViewPanelControl } from './control/pickup-view-panel/index.mjs';
22
22
  import { IBizToolbarControl } from './control/toolbar/index.mjs';
23
- import { IBizViewLayoutPanelControl } from './control/panel/view-layout-panel/index.mjs';
24
- import { IBizPanelControl } from './control/panel/panel/index.mjs';
25
23
  import { IBizFormControl } from './control/form/form/index.mjs';
26
24
  import { IBizListExpBarControl } from './control/exp-bar/list-exp-bar/index.mjs';
27
25
  import { IBizDataViewExpBarControl } from './control/exp-bar/data-view-exp-bar/index.mjs';
@@ -43,6 +41,7 @@ import { IBizTreeGridExControl } from './control/tree-grid-ex/index.mjs';
43
41
  import { IBizMEditViewPanelControl } from './control/medit-view-panel/index.mjs';
44
42
  import { IBizChartExpBarControl } from './control/exp-bar/chart-exp-bar/index.mjs';
45
43
  import { IBizMapControl } from './control/map/index.mjs';
44
+ import { IBizReportPanelControl } from './control/report-panel/index.mjs';
46
45
  export { IBizCol } from './common/col/col.mjs';
47
46
  export { IBizRow } from './common/row/row.mjs';
48
47
  export { IBizActionToolbar } from './common/action-toolbar/action-toolbar.mjs';
@@ -161,8 +160,9 @@ var index = {
161
160
  v.use(IBizMEditViewPanelControl);
162
161
  v.use(IBizChartExpBarControl);
163
162
  v.use(IBizMapControl);
163
+ v.use(IBizReportPanelControl);
164
164
  v.use(IBizEditor);
165
165
  }
166
166
  };
167
167
 
168
- export { IBizAppMenuControl, IBizAppMenuIconViewControl, IBizCalendarControl, IBizCalendarExpBarControl, IBizCaptionBarControl, IBizChartControl, IBizChartExpBarControl, IBizCommonComponents, IBizDRBarControl, IBizDRTabControl, IBizDashboardControl, IBizDataViewControl, IBizDataViewExpBarControl, IBizEditFormControl, IBizEditor, IBizFormControl, IBizGridControl, IBizGridExpBarControl, IBizKanbanControl, IBizListControl, IBizListExpBarControl, IBizMEditViewPanelControl, IBizMapControl, IBizPanelComponents, IBizPanelControl, IBizPickupViewPanelControl, IBizSearchBarControl, IBizSearchFormControl, IBizTabExpPanelControl, IBizToolbarControl, IBizTreeControl, IBizTreeExpBarControl, IBizTreeGridControl, IBizTreeGridExControl, IBizViewEngine, IBizViewLayoutPanelControl, IBizWFStepTraceView, IBizWizardPanelControl, index as default };
168
+ export { IBizAppMenuControl, IBizAppMenuIconViewControl, IBizCalendarControl, IBizCalendarExpBarControl, IBizCaptionBarControl, IBizChartControl, IBizChartExpBarControl, IBizCommonComponents, IBizDRBarControl, IBizDRTabControl, IBizDashboardControl, IBizDataViewControl, IBizDataViewExpBarControl, IBizEditFormControl, IBizEditor, IBizFormControl, IBizGridControl, IBizGridExpBarControl, IBizKanbanControl, IBizListControl, IBizListExpBarControl, IBizMEditViewPanelControl, IBizMapControl, IBizPanelComponents, IBizPickupViewPanelControl, IBizReportPanelControl, IBizSearchBarControl, IBizSearchFormControl, IBizTabExpPanelControl, IBizToolbarControl, IBizTreeControl, IBizTreeExpBarControl, IBizTreeGridControl, IBizTreeGridExControl, IBizViewEngine, IBizWFStepTraceView, IBizWizardPanelControl, index as default };
@@ -12,6 +12,7 @@ export declare const IBizSearchFormButtons: import("@ibiz-template/vue3-util").T
12
12
  c: import("./searchform-buttons.controller").SearchFormButtonsController;
13
13
  onSearchButtonClick: () => void;
14
14
  onResetButtonClick: () => void;
15
+ saveFilterConfirm: () => void;
15
16
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
16
17
  modelData: {
17
18
  type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
@@ -1,4 +1,4 @@
1
- import { ISearchFormController, PanelItemController } from '@ibiz-template/runtime';
1
+ import { ISearchFormController, PanelItemController, StoredFilter } from '@ibiz-template/runtime';
2
2
  /**
3
3
  * 搜索表单按钮控制器
4
4
  * @author lxm
@@ -15,6 +15,14 @@ export declare class SearchFormButtonsController extends PanelItemController {
15
15
  * @type {(string | 'DEFAULT' | 'NONE' | 'SEARCHONLY' | 'USER' | 'USER2')}
16
16
  */
17
17
  get searchButtonStyle(): string;
18
+ /**
19
+ * 保存的过滤条件
20
+ * @author lxm
21
+ * @date 2023-11-27 04:33:42
22
+ * @readonly
23
+ * @type {StoredFilter[]}
24
+ */
25
+ get storedFilters(): StoredFilter[];
18
26
  /**
19
27
  * 搜索表单控制器
20
28
  * @author lxm
@@ -28,6 +28,17 @@ class SearchFormButtonsController extends PanelItemController {
28
28
  get searchButtonStyle() {
29
29
  return this.searchFrom.model.searchButtonStyle || "DEFAULT";
30
30
  }
31
+ /**
32
+ * 保存的过滤条件
33
+ * @author lxm
34
+ * @date 2023-11-27 04:33:42
35
+ * @readonly
36
+ * @type {StoredFilter[]}
37
+ */
38
+ get storedFilters() {
39
+ var _a;
40
+ return ((_a = this.searchFrom) == null ? void 0 : _a.state.storedFilters) || [];
41
+ }
31
42
  async onInit() {
32
43
  await super.onInit();
33
44
  const searchFrom = this.panel.container;
@@ -1 +1 @@
1
- .ibiz-searchform-buttons{--ibiz-searchform-buttons-height:40px;height:var(--ibiz-searchform-buttons-height);margin-top:var(--ibiz-spacing-tight);margin-left:var(--ibiz-spacing-tight)}
1
+ .ibiz-searchform-buttons{--ibiz-searchform-buttons-height:40px;height:var(--ibiz-searchform-buttons-height);margin-top:var(--ibiz-spacing-tight);margin-left:var(--ibiz-spacing-tight)}.ibiz-searchform-buttons-filter-item{position:relative}.ibiz-searchform-buttons-filter-item__text{padding-right:4px}.ibiz-searchform-buttons-filter-item__remove{position:absolute;top:11px;right:0;display:none;font-size:18px}.ibiz-searchform-buttons-filter-item:hover .ibiz-searchform-buttons-filter-item__remove{display:block}
@@ -16,6 +16,7 @@ export declare const SearchFormButtons: import("vue").DefineComponent<{
16
16
  c: SearchFormButtonsController;
17
17
  onSearchButtonClick: () => void;
18
18
  onResetButtonClick: () => void;
19
+ saveFilterConfirm: () => void;
19
20
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
21
  modelData: {
21
22
  type: PropType<IPanelRawItem>;
@@ -1,6 +1,7 @@
1
1
  import { resolveComponent, createTextVNode, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './searchform-buttons.css';
4
+ import { ElMessageBox } from 'element-plus';
4
5
  import { SearchFormButtonsController } from './searchform-buttons.controller.mjs';
5
6
 
6
7
  "use strict";
@@ -25,11 +26,22 @@ const SearchFormButtons = /* @__PURE__ */ defineComponent({
25
26
  const onResetButtonClick = () => {
26
27
  c.onResetButtonClick();
27
28
  };
29
+ const saveFilterConfirm = () => {
30
+ ElMessageBox.prompt("\u8BF7\u8F93\u5165\u8981\u5B58\u50A8\u7684\u81EA\u5B9A\u4E49\u67E5\u8BE2\u540D\u79F0\uFF1A", "\u5B58\u50A8\u81EA\u5B9A\u4E49\u67E5\u8BE2", {
31
+ confirmButtonText: "\u4FDD\u5B58",
32
+ cancelButtonText: "\u53D6\u6D88"
33
+ }).then(({
34
+ value
35
+ }) => {
36
+ c.searchFrom.storeFilter(value);
37
+ });
38
+ };
28
39
  return {
29
40
  ns,
30
41
  c,
31
42
  onSearchButtonClick,
32
- onResetButtonClick
43
+ onResetButtonClick,
44
+ saveFilterConfirm
33
45
  };
34
46
  },
35
47
  render() {
@@ -53,6 +65,28 @@ const SearchFormButtons = /* @__PURE__ */ defineComponent({
53
65
  "onClick": this.onResetButtonClick
54
66
  }, {
55
67
  default: () => [createTextVNode("\u91CD\u7F6E")]
68
+ }), createVNode(resolveComponent("el-dropdown-item"), {
69
+ "onClick": this.saveFilterConfirm
70
+ }, {
71
+ default: () => [createTextVNode("\u4FDD\u5B58\u6761\u4EF6")]
72
+ }), this.controller.storedFilters.length > 0 && this.controller.storedFilters.map((item, index) => {
73
+ return createVNode(resolveComponent("el-dropdown-item"), {
74
+ "class": this.ns.b("filter-item"),
75
+ "onClick": () => {
76
+ this.controller.searchFrom.applyStoredFilter(index);
77
+ }
78
+ }, {
79
+ default: () => [createVNode("span", {
80
+ "class": this.ns.be("filter-item", "text")
81
+ }, [item.name, createVNode("ion-icon", {
82
+ "class": this.ns.be("filter-item", "remove"),
83
+ "onClick": (event) => {
84
+ event.stopPropagation();
85
+ this.controller.searchFrom.removeStoredFilter(index);
86
+ },
87
+ "name": "close-outline"
88
+ }, null)])]
89
+ });
56
90
  })]
57
91
  });
58
92
  }
@@ -38,6 +38,7 @@ import { TreeGridViewEngine } from './tree-grid-view.engine.mjs';
38
38
  import { MEditView9Engine } from './medit-view9.engine.mjs';
39
39
  import { ChartExpViewEngine } from './chart-exp-view.engine.mjs';
40
40
  import { MapViewEngine } from './map-view.engine.mjs';
41
+ import { ReportViewEngine } from './report-view.engine.mjs';
41
42
 
42
43
  "use strict";
43
44
  const IBizViewEngine = {
@@ -254,6 +255,10 @@ const IBizViewEngine = {
254
255
  "VIEW_DEMAPVIEW",
255
256
  (c) => new MapViewEngine(c)
256
257
  );
258
+ ibiz.engine.register(
259
+ "VIEW_DEREPORTVIEW",
260
+ (c) => new ReportViewEngine(c)
261
+ );
257
262
  }
258
263
  };
259
264
 
@@ -0,0 +1,96 @@
1
+ import { IReportPanelController, IReportViewEvent, IReportViewState, ISearchBarController, ISearchFormController, ViewController, ViewEngineBase } from '@ibiz-template/runtime';
2
+ import { IAppDEReportView } from '@ibiz/model-core';
3
+ export declare class ReportViewEngine extends ViewEngineBase {
4
+ /**
5
+ * 视图控制器
6
+ *
7
+ * @protected
8
+ * @type {ViewController<
9
+ * IAppDEReportView,
10
+ * IReportViewState,
11
+ * IReportViewEvent
12
+ * >}
13
+ * @memberof EditViewEngine
14
+ */
15
+ protected view: ViewController<IAppDEReportView, IReportViewState, IReportViewEvent>;
16
+ /**
17
+ * 搜索表单控制器
18
+ *
19
+ * @readonly
20
+ */
21
+ protected get searchForm(): ISearchFormController;
22
+ /**
23
+ * 搜索栏控制器
24
+ *
25
+ * @readonly
26
+ */
27
+ protected get searchBar(): ISearchBarController;
28
+ /**
29
+ * 报表部件
30
+ *
31
+ * @readonly
32
+ */
33
+ get reportpanel(): IReportPanelController;
34
+ /**
35
+ * 初始化
36
+ *
37
+ * @return {*} {Promise<void>}
38
+ * @memberof ReportViewEngine
39
+ */
40
+ onCreated(): Promise<void>;
41
+ /**
42
+ * 挂载
43
+ *
44
+ * @return {*} {Promise<void>}
45
+ * @memberof ReportViewEngine
46
+ */
47
+ onMounted(): Promise<void>;
48
+ call(key: string, args: any): Promise<IData | null | undefined>;
49
+ /**
50
+ * 获取数据
51
+ *
52
+ * @return {*} {IData[]}
53
+ * @memberof ReportViewEngine
54
+ */
55
+ getData(): IData[];
56
+ /**
57
+ * 加载数据
58
+ *
59
+ * @return {*} {Promise<IData>}
60
+ * @memberof ReportViewEngine
61
+ */
62
+ load(): Promise<IData>;
63
+ /**
64
+ * 视图重新加载
65
+ *
66
+ * @return {*} {Promise<void>}
67
+ */
68
+ protected reLoad(): Promise<void>;
69
+ /**
70
+ * 刷新
71
+ *
72
+ * @return {*} {Promise<void>}
73
+ * @memberof ReportViewEngine
74
+ */
75
+ refresh(): Promise<void>;
76
+ /**
77
+ * 获取搜索相关的查询参数
78
+ *
79
+ * @return {*} {IParams}
80
+ */
81
+ protected getSearchParams(): IParams;
82
+ /**
83
+ *计算视图头部实现是否显示
84
+ *
85
+ * @protected
86
+ * @return {*} {boolean}
87
+ * @memberof ReportViewEngine
88
+ */
89
+ protected calcViewHeaderVisible(): boolean;
90
+ /**
91
+ * 切换搜索表单的显示与否
92
+ *
93
+ * @protected
94
+ */
95
+ protected toggleFilter(): void;
96
+ }