@ibiz-template/vue3-components 0.6.0-alpha.2 → 0.6.0-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 (36) hide show
  1. package/dist/index-YUUYgkW-.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-GpIzYBZB.js → xlsx-util-Ao2cn6nx.js} +1 -1
  5. package/es/common/doing-notice/doing-notice.css +1 -1
  6. package/es/common/doing-notice/doing-notice.mjs +1 -1
  7. package/es/common/grid-setting/grid-setting.d.ts +1 -0
  8. package/es/control/caption-bar/caption-bar.mjs +10 -1
  9. package/es/control/search-bar/filter-tree/filter-tree.d.ts +2 -0
  10. package/es/control/search-bar/filter-tree/filter-tree.mjs +3 -2
  11. package/es/control/toolbar/export-excel/export-excel.css +1 -1
  12. package/es/control/toolbar/export-excel/export-excel.d.ts +8 -0
  13. package/es/control/toolbar/export-excel/export-excel.mjs +81 -4
  14. package/es/control/toolbar/index.d.ts +9 -0
  15. package/es/control/toolbar/toolbar.css +1 -1
  16. package/es/control/toolbar/toolbar.d.ts +9 -0
  17. package/es/control/toolbar/toolbar.mjs +64 -38
  18. package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +1 -0
  19. package/es/view-engine/edit-view.engine.d.ts +1 -0
  20. package/es/view-engine/edit-view.engine.mjs +27 -2
  21. package/es/view-engine/opt-view.engine.mjs +4 -0
  22. package/es/web-app/components/modal-router-shell/modal-router-shell.mjs +3 -3
  23. package/lib/common/doing-notice/doing-notice.cjs +1 -1
  24. package/lib/common/doing-notice/doing-notice.css +1 -1
  25. package/lib/control/caption-bar/caption-bar.cjs +9 -0
  26. package/lib/control/search-bar/filter-tree/filter-tree.cjs +3 -1
  27. package/lib/control/toolbar/export-excel/export-excel.cjs +81 -4
  28. package/lib/control/toolbar/export-excel/export-excel.css +1 -1
  29. package/lib/control/toolbar/toolbar.cjs +64 -38
  30. package/lib/control/toolbar/toolbar.css +1 -1
  31. package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +1 -0
  32. package/lib/view-engine/edit-view.engine.cjs +26 -1
  33. package/lib/view-engine/opt-view.engine.cjs +4 -0
  34. package/lib/web-app/components/modal-router-shell/modal-router-shell.cjs +2 -2
  35. package/package.json +4 -4
  36. package/dist/index-V5mBTTSl.js +0 -4
@@ -11,6 +11,10 @@ function _isSlot(s) {
11
11
  const IBizExportExcel = /* @__PURE__ */ vue.defineComponent({
12
12
  name: "IBizExportExcel",
13
13
  props: {
14
+ mode: {
15
+ type: String,
16
+ required: false
17
+ },
14
18
  size: {
15
19
  type: String,
16
20
  required: false
@@ -52,20 +56,93 @@ const IBizExportExcel = /* @__PURE__ */ vue.defineComponent({
52
56
  };
53
57
  },
54
58
  render() {
55
- return vue.createVNode(vue.resolveComponent("el-dropdown"), {
59
+ return this.$props.mode === "menu" ? vue.createVNode(vue.resolveComponent("el-sub-menu"), {
60
+ "index": this.$props.item.id,
61
+ "class": this.ns.b("submenu"),
62
+ "popper-class": this.ns.b("submenu-popper")
63
+ }, {
64
+ title: () => {
65
+ let _slot;
66
+ return vue.createVNode(vue.resolveComponent("el-button"), {
67
+ "title": this.item.tooltip,
68
+ "size": this.$props.size,
69
+ "class": this.ns.b("submenu-button")
70
+ }, _isSlot(_slot = this.btnContent(this.item)) ? _slot : {
71
+ default: () => [_slot]
72
+ });
73
+ },
74
+ default: () => {
75
+ return [vue.createVNode(vue.resolveComponent("el-menu-item"), {
76
+ "class": this.ns.b("menu-item"),
77
+ "onClick": (e) => this.onCommand("maxRowCount", e)
78
+ }, {
79
+ default: () => [vue.createTextVNode("\u5BFC\u51FA\u5168\u90E8(\u6700\u5927\u5BFC\u51FA1000\u884C)")]
80
+ }), vue.createVNode(vue.resolveComponent("el-menu-item"), {
81
+ "class": this.ns.b("menu-item"),
82
+ "onClick": (e) => this.onCommand("activatedPage", e)
83
+ }, {
84
+ default: () => [vue.createTextVNode("\u5BFC\u51FA\u5F53\u524D\u9875")]
85
+ }), vue.createVNode(vue.resolveComponent("el-menu-item"), {
86
+ "class": this.ns.b("menu-item"),
87
+ "onClick": (e) => this.onCommand("selectedRows", e)
88
+ }, {
89
+ default: () => [vue.createTextVNode("\u5BFC\u51FA\u5F53\u524D\u9009\u4E2D")]
90
+ }), vue.createVNode(vue.resolveComponent("el-menu-item"), {
91
+ "class": [this.ns.b("menu-item"), this.ns.e("custom")]
92
+ }, {
93
+ default: () => [vue.createVNode(vue.resolveComponent("el-input"), {
94
+ "type": "number",
95
+ "modelValue": this.startPage,
96
+ "onUpdate:modelValue": ($event) => this.startPage = $event,
97
+ "size": "small",
98
+ "maxlength": "4",
99
+ "onClick": (event) => {
100
+ event.stopPropagation();
101
+ },
102
+ "onChange": (value) => {
103
+ this.startPage = value;
104
+ }
105
+ }, null), vue.createVNode("span", {
106
+ "class": "item-text",
107
+ "onClick": (event) => {
108
+ event.stopPropagation();
109
+ }
110
+ }, [vue.createTextVNode("-")]), vue.createVNode(vue.resolveComponent("el-input"), {
111
+ "modelValue": this.endPage,
112
+ "onUpdate:modelValue": ($event) => this.endPage = $event,
113
+ "size": "small",
114
+ "type": "number",
115
+ "maxlength": "4",
116
+ "onClick": (event) => {
117
+ event.stopPropagation();
118
+ }
119
+ }, null), vue.createVNode("span", {
120
+ "class": "item-text",
121
+ "onClick": (event) => {
122
+ event.stopPropagation();
123
+ }
124
+ }, [vue.createTextVNode("\u9875")]), vue.createVNode(vue.resolveComponent("el-button"), {
125
+ "onClick": (e) => this.onCommand("customPage", e),
126
+ "size": "small"
127
+ }, {
128
+ default: () => [vue.createTextVNode("\u5BFC\u51FA")]
129
+ })]
130
+ })];
131
+ }
132
+ }) : vue.createVNode(vue.resolveComponent("el-dropdown"), {
56
133
  "size": this.$props.size,
57
134
  "onCommand": this.onCommand,
58
135
  "popper-class": this.ns.b(),
59
136
  "trigger": "click"
60
137
  }, {
61
138
  default: () => {
62
- let _slot;
139
+ let _slot2;
63
140
  return vue.createVNode(vue.resolveComponent("el-button"), {
64
141
  "title": this.item.tooltip,
65
142
  "size": this.$props.size,
66
143
  "class": this.ns.e("button")
67
- }, _isSlot(_slot = this.btnContent(this.item)) ? _slot : {
68
- default: () => [_slot]
144
+ }, _isSlot(_slot2 = this.btnContent(this.item)) ? _slot2 : {
145
+ default: () => [_slot2]
69
146
  });
70
147
  },
71
148
  dropdown: () => {
@@ -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}
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)}
@@ -40,6 +40,10 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
40
40
  },
41
41
  provider: {
42
42
  type: Object
43
+ },
44
+ manualCalcButtonState: {
45
+ type: Boolean,
46
+ default: false
43
47
  }
44
48
  },
45
49
  setup() {
@@ -64,6 +68,54 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
64
68
  })]);
65
69
  });
66
70
  };
71
+ const renderSubmenu = (item) => {
72
+ return vue.createVNode(vue.resolveComponent("el-sub-menu"), {
73
+ "class": ns.b("submenu"),
74
+ "index": item.id,
75
+ "popper-class": ns.b("submenu-popper")
76
+ }, {
77
+ default: () => {
78
+ var _a;
79
+ return (_a = item.detoolbarItems) == null ? void 0 : _a.map((item2) => {
80
+ const actionId = item2.uiactionId;
81
+ if (item2.itemType === "SEPERATOR" || item2.itemType === "RAWITEM") {
82
+ return;
83
+ }
84
+ if (item2.itemType === "DEUIACTION" && c.state.buttonsState[item2.id].visible) {
85
+ let _slot2;
86
+ if (actionId === "exportexcel") {
87
+ return vue.createVNode(exportExcel.IBizExportExcel, {
88
+ "class": [ns.e("menu-exportexcel")],
89
+ "mode": "menu",
90
+ "item": item2,
91
+ "btnContent": btnContent,
92
+ "size": btnSize.value,
93
+ "controller": c,
94
+ "onExportExcel": (e, data) => {
95
+ handleClick(item2, e, data);
96
+ }
97
+ }, null);
98
+ }
99
+ return vue.createVNode(vue.resolveComponent("el-menu-item"), {
100
+ "index": "menuitem".concat(item2.id),
101
+ "disabled": c.state.buttonsState[item2.id].disabled,
102
+ "title": item2.tooltip,
103
+ "onClick": (e) => handleClick(item2, e)
104
+ }, _isSlot(_slot2 = btnContent(item2)) ? _slot2 : {
105
+ default: () => [_slot2]
106
+ });
107
+ }
108
+ if (item2.itemType === "ITEMS") {
109
+ return renderSubmenu(item2);
110
+ }
111
+ return null;
112
+ });
113
+ },
114
+ title: () => {
115
+ return vue.createVNode("span", null, [btnContent(item)]);
116
+ }
117
+ });
118
+ };
67
119
  const renderToolbarItem = (item) => {
68
120
  const itemId = item.id;
69
121
  if (item.itemType === "SEPERATOR") {
@@ -79,7 +131,7 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
79
131
  }, [btnContent(item)]);
80
132
  }
81
133
  if (item.itemType === "DEUIACTION" && c.state.buttonsState[itemId].visible) {
82
- let _slot2;
134
+ let _slot3;
83
135
  const actionId = item.uiactionId;
84
136
  if (actionId === "exportexcel") {
85
137
  return vue.createVNode(exportExcel.IBizExportExcel, {
@@ -102,46 +154,20 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
102
154
  "loading": c.state.buttonsState[itemId].loading,
103
155
  "disabled": c.state.buttonsState[itemId].disabled,
104
156
  "onClick": (e) => handleClick(item, e)
105
- }, _isSlot(_slot2 = btnContent(item)) ? _slot2 : {
106
- default: () => [_slot2]
157
+ }, _isSlot(_slot3 = btnContent(item)) ? _slot3 : {
158
+ default: () => [_slot3]
107
159
  })]);
108
160
  }
109
161
  if (item.itemType === "ITEMS") {
110
- return vue.createVNode("div", {
111
- "key": itemId,
112
- "class": [ns.e("item"), ns.e("item-items")]
113
- }, [vue.createVNode(vue.resolveComponent("el-dropdown"), {
114
- "trigger": "click",
115
- "placement": "bottom-start",
116
- "popper-class": ns.b("dropdown")
117
- }, {
118
- default: () => {
119
- let _slot3;
120
- return vue.createVNode(vue.resolveComponent("el-button"), {
121
- "title": item.tooltip,
122
- "size": btnSize.value
123
- }, _isSlot(_slot3 = btnContent(item)) ? _slot3 : {
124
- default: () => [_slot3]
125
- });
126
- },
127
- dropdown: () => {
128
- return vue.createVNode(vue.resolveComponent("el-dropdown-menu"), null, {
129
- default: () => {
130
- var _a;
131
- return [(_a = item.detoolbarItems) == null ? void 0 : _a.map((item2) => {
132
- let _slot4;
133
- return vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
134
- "key": item2.id,
135
- "disabled": c.state.buttonsState[item2.id].disabled,
136
- "onClick": (e) => handleClick(item2, e)
137
- }, _isSlot(_slot4 = btnContent(item2)) ? _slot4 : {
138
- default: () => [_slot4]
139
- });
140
- })];
141
- }
142
- });
143
- }
144
- })]);
162
+ let _slot4;
163
+ return vue.createVNode(vue.resolveComponent("el-menu"), {
164
+ "mode": "horizontal",
165
+ "class": [ns.e("menu")],
166
+ "ellipsis": false,
167
+ "menu-trigger": "hover"
168
+ }, _isSlot(_slot4 = renderSubmenu(item)) ? _slot4 : {
169
+ default: () => [_slot4]
170
+ });
145
171
  }
146
172
  return null;
147
173
  };
@@ -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);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-dropdown{--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-dropdown .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)}
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)}
@@ -247,6 +247,7 @@ class NavPosIndexController extends runtime.PanelItemController {
247
247
  indexPath += "/".concat(route.params["view".concat(index)], "/").concat(ibiz.env.routePlaceholder);
248
248
  }
249
249
  this.router.push(indexPath);
250
+ ibiz.util.setBrowserTitle("");
250
251
  }
251
252
  }
252
253
  }
@@ -25,6 +25,27 @@ class EditViewEngine extends runtime.ViewEngineBase {
25
25
  get form() {
26
26
  return this.view.getController("form");
27
27
  }
28
+ init() {
29
+ super.init();
30
+ if (this.view.model.multiFormMode === 1 && this.view.params.srfdatatype) {
31
+ const model = runtime.getControl(
32
+ this.view.model,
33
+ "_form_".concat(this.view.params.srfdatatype)
34
+ );
35
+ if (model) {
36
+ const controls = runtime.getControlsByView(this.view.model).filter((item) => {
37
+ return item.controlType !== "FORM";
38
+ });
39
+ model.name = "form";
40
+ controls.push(model);
41
+ if (this.view.model.viewLayoutPanel) {
42
+ this.view.model.viewLayoutPanel.controls = controls;
43
+ } else {
44
+ this.view.model.controls = controls;
45
+ }
46
+ }
47
+ }
48
+ }
28
49
  async onCreated() {
29
50
  await super.onCreated();
30
51
  const { childNames, modal } = this.view;
@@ -34,8 +55,12 @@ class EditViewEngine extends runtime.ViewEngineBase {
34
55
  this.view.slotProps.form = {};
35
56
  }
36
57
  this.view.slotProps.form.loadDefault = false;
58
+ if (!this.view.slotProps.toolbar) {
59
+ this.view.slotProps.toolbar = {};
60
+ }
61
+ this.view.slotProps.toolbar.manualCalcButtonState = true;
37
62
  modal.hooks.shouldDismiss.tapPromise(async (context) => {
38
- if (this.form.state.modified) {
63
+ if (this.form.state.modified && this.view.model.enableDirtyChecking === true) {
39
64
  const isAllow = await ibiz.confirm.error({
40
65
  title: "\u5173\u95ED\u63D0\u9192",
41
66
  desc: "\u8868\u5355\u6570\u636E\u5DF2\u7ECF\u4FEE\u6539\uFF0C\u786E\u5B9A\u8981\u5173\u95ED\uFF1F"
@@ -27,6 +27,10 @@ class OptViewEngine extends runtime.ViewEngineBase {
27
27
  this.view.slotProps.form = {};
28
28
  }
29
29
  this.view.slotProps.form.loadDefault = false;
30
+ if (!this.view.slotProps.toolbar) {
31
+ this.view.slotProps.toolbar = {};
32
+ }
33
+ this.view.slotProps.toolbar.manualCalcButtonState = true;
30
34
  modal.hooks.shouldDismiss.tapPromise(async (context) => {
31
35
  if (this.form.state.modified) {
32
36
  const isAllow = await ibiz.confirm.error({
@@ -113,8 +113,8 @@ const ModalRouterShell = /* @__PURE__ */ vue.defineComponent({
113
113
  },
114
114
  render() {
115
115
  return vue.createVNode("div", {
116
- "style": "width: 0;height: 0;"
117
- }, [vue.createTextVNode("\u8DEF\u7531\u6A21\u6001\u5360\u4F4D")]);
116
+ "style": "position: absolute;width: 0;height: 0;"
117
+ }, null);
118
118
  }
119
119
  });
120
120
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.6.0-alpha.2",
3
+ "version": "0.6.0-alpha.3",
4
4
  "description": "使用 rollup 编译 vue 组件或者 jsx",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -29,10 +29,10 @@
29
29
  "@ibiz-template-plugin/gantt": "0.1.1",
30
30
  "@ibiz-template/core": "^0.5.7-alpha.10",
31
31
  "@ibiz-template/devtool": "0.0.1-dev.3",
32
- "@ibiz-template/model-helper": "^0.6.0-alpha.2",
33
- "@ibiz-template/runtime": "^0.6.0-alpha.2",
32
+ "@ibiz-template/model-helper": "^0.6.0-alpha.3",
33
+ "@ibiz-template/runtime": "^0.6.0-alpha.3",
34
34
  "@ibiz-template/theme": "^0.5.0",
35
- "@ibiz-template/vue3-util": "^0.6.0-alpha.2",
35
+ "@ibiz-template/vue3-util": "^0.6.0-alpha.3",
36
36
  "@ibiz-template/web-theme": "^1.1.8",
37
37
  "@ibiz/model-core": "^0.1.11",
38
38
  "@imengyu/vue3-context-menu": "^1.3.5",