@ibiz-template/vue3-components 0.3.2 → 0.3.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 (44) hide show
  1. package/dist/index-zqQcb8gx.js +14 -0
  2. package/dist/index-zqQcb8gx.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-dxEbPtZK.js → xlsx-util-T__pkKxV.js} +2 -2
  6. package/dist/{xlsx-util-dxEbPtZK.js.map → xlsx-util-T__pkKxV.js.map} +1 -1
  7. package/es/common/data-import/data-import.d.ts +9 -1
  8. package/es/common/data-import/data-import.mjs +12 -5
  9. package/es/control/form/form/form.mjs +39 -15
  10. package/es/control/form/search-form/search-form.css +1 -1
  11. package/es/control/form/search-form/search-form.mjs +3 -32
  12. package/es/control/panel/panel/index.d.ts +6 -0
  13. package/es/control/panel/panel/panel.d.ts +7 -1
  14. package/es/control/panel/panel/panel.mjs +4 -1
  15. package/es/control/panel/view-layout-panel/index.d.ts +6 -0
  16. package/es/control/panel/view-layout-panel/view-layout-panel.d.ts +7 -1
  17. package/es/control/panel/view-layout-panel/view-layout-panel.mjs +4 -1
  18. package/es/panel-component/index.mjs +2 -0
  19. package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +3 -4
  20. package/es/panel-component/searchform-buttons/index.d.ts +25 -0
  21. package/es/panel-component/searchform-buttons/index.mjs +15 -0
  22. package/es/panel-component/searchform-buttons/searchform-buttons.controller.d.ts +38 -0
  23. package/es/panel-component/searchform-buttons/searchform-buttons.controller.mjs +67 -0
  24. package/es/panel-component/searchform-buttons/searchform-buttons.css +1 -0
  25. package/es/panel-component/searchform-buttons/searchform-buttons.d.ts +28 -0
  26. package/es/panel-component/searchform-buttons/searchform-buttons.mjs +63 -0
  27. package/es/panel-component/searchform-buttons/searchform-buttons.provider.d.ts +15 -0
  28. package/es/panel-component/searchform-buttons/searchform-buttons.provider.mjs +21 -0
  29. package/lib/common/data-import/data-import.cjs +12 -5
  30. package/lib/control/form/form/form.cjs +38 -14
  31. package/lib/control/form/search-form/search-form.cjs +2 -31
  32. package/lib/control/form/search-form/search-form.css +1 -1
  33. package/lib/control/panel/panel/panel.cjs +4 -1
  34. package/lib/control/panel/view-layout-panel/view-layout-panel.cjs +4 -1
  35. package/lib/panel-component/index.cjs +2 -0
  36. package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +3 -4
  37. package/lib/panel-component/searchform-buttons/index.cjs +20 -0
  38. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +65 -0
  39. package/lib/panel-component/searchform-buttons/searchform-buttons.controller.cjs +69 -0
  40. package/lib/panel-component/searchform-buttons/searchform-buttons.css +1 -0
  41. package/lib/panel-component/searchform-buttons/searchform-buttons.provider.cjs +23 -0
  42. package/package.json +7 -7
  43. package/dist/index-bG6JVwfZ.js +0 -14
  44. package/dist/index-bG6JVwfZ.js.map +0 -1
@@ -16,6 +16,10 @@ const DataImport = /* @__PURE__ */ vue.defineComponent({
16
16
  appDataEntity: {
17
17
  type: Object,
18
18
  required: true
19
+ },
20
+ dataImport: {
21
+ type: Object,
22
+ required: false
19
23
  }
20
24
  },
21
25
  setup(props) {
@@ -40,14 +44,14 @@ const DataImport = /* @__PURE__ */ vue.defineComponent({
40
44
  isLoading.value = true;
41
45
  try {
42
46
  if (ibiz.env.enableMqtt) {
43
- runtime.asyncImportData(selectedFile, props.appDataEntity);
47
+ runtime.asyncImportData(selectedFile, props.appDataEntity, props.dataImport);
44
48
  ibiz.notification.info({
45
49
  desc: "\u5F00\u59CB\u5BFC\u5165\uFF0C\u8BE6\u7EC6\u8FDB\u5EA6\u548C\u7ED3\u679C\u8BF7\u770B\u5E94\u7528\u901A\u77E5"
46
50
  });
47
51
  onCancelButtonClick();
48
52
  return;
49
53
  }
50
- result = await runtime.importData(selectedFile, props.appDataEntity);
54
+ result = await runtime.importData(selectedFile, props.appDataEntity, props.dataImport);
51
55
  ibiz.mc.command.send({
52
56
  srfdecodename: props.appDataEntity.codeName
53
57
  }, "OBJECTCREATED");
@@ -66,13 +70,16 @@ const DataImport = /* @__PURE__ */ vue.defineComponent({
66
70
  }
67
71
  };
68
72
  const onLinkClick = async () => {
69
- var _a;
70
- const templateUrl = `${props.appDataEntity.codeName2.toLowerCase()}/importtemplate`;
73
+ var _a, _b;
74
+ let templateUrl = `${props.appDataEntity.codeName2.toLowerCase()}/importtemplate`;
75
+ if ((_a = props.dataImport) == null ? void 0 : _a.codeName) {
76
+ templateUrl += `?srfimporttag=${props.dataImport.codeName}`;
77
+ }
71
78
  const res = await ibiz.net.request(templateUrl, {
72
79
  responseType: "blob"
73
80
  });
74
81
  if (res.status === 200) {
75
- let fileName = ((_a = res.headers["content-disposition"].split(";").find((str) => str.indexOf("filename=") !== -1)) == null ? void 0 : _a.slice(9)) || "";
82
+ let fileName = ((_b = res.headers["content-disposition"].split(";").find((str) => str.indexOf("filename=") !== -1)) == null ? void 0 : _b.slice(9)) || "";
76
83
  fileName = decodeURIComponent(fileName);
77
84
  const blob = new Blob([res.data], {
78
85
  type: "application/vnd.ms-excel"
@@ -6,6 +6,9 @@ var vue3Util = require('@ibiz-template/vue3-util');
6
6
  require('./form.css');
7
7
 
8
8
  "use strict";
9
+ function _isSlot(s) {
10
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
11
+ }
9
12
  const FormControl = /* @__PURE__ */ vue.defineComponent({
10
13
  name: "IBizFormControl",
11
14
  props: {
@@ -79,23 +82,44 @@ const FormControl = /* @__PURE__ */ vue.defineComponent({
79
82
  };
80
83
  },
81
84
  render() {
85
+ const {
86
+ state,
87
+ model,
88
+ controlPanel
89
+ } = this.c;
90
+ const {
91
+ isCreated
92
+ } = state;
93
+ const slots = {};
94
+ if (isCreated) {
95
+ if (this.$slots.default) {
96
+ slots.default = () => {
97
+ return this.$slots.default({
98
+ ...this.slotProps
99
+ });
100
+ };
101
+ } else {
102
+ const key = this.c.controlPanel ? model.name : "default";
103
+ slots[key] = () => {
104
+ return vue.createVNode(vue.resolveComponent("iBizFormPage"), {
105
+ "modelData": this.c.model,
106
+ "controller": this.c
107
+ }, {
108
+ default: () => {
109
+ var _a;
110
+ return [(_a = this.c.model.deformPages) == null ? void 0 : _a.map((page) => {
111
+ return this.renderByDetailType(page);
112
+ })];
113
+ }
114
+ });
115
+ };
116
+ }
117
+ }
82
118
  return vue.createVNode(vue.resolveComponent("iBizControlBase"), {
83
119
  "class": [this.ns.b()],
84
120
  "controller": this.c
85
- }, {
86
- default: () => [this.c.state.isCreated && [this.$slots.default ? this.$slots.default({
87
- ...this.slotProps
88
- }) : vue.createVNode(vue.resolveComponent("iBizFormPage"), {
89
- "modelData": this.c.model,
90
- "controller": this.c
91
- }, {
92
- default: () => {
93
- var _a;
94
- return [(_a = this.c.model.deformPages) == null ? void 0 : _a.map((page) => {
95
- return this.renderByDetailType(page);
96
- })];
97
- }
98
- }), this.$slots.searchButtons && this.$slots.searchButtons({})]]
121
+ }, _isSlot(slots) ? slots : {
122
+ default: () => [slots]
99
123
  });
100
124
  }
101
125
  });
@@ -52,40 +52,11 @@ const SearchFormControl = /* @__PURE__ */ vue.defineComponent({
52
52
  return;
53
53
  }
54
54
  return vue.createVNode(vue.resolveComponent("iBizFormControl"), {
55
- "class": [this.ns.b(), this.ns.is("btn-bottom", this.c.model.searchButtonPos === "BOTTOM")],
55
+ "class": [this.ns.b()],
56
56
  "controller": this.c,
57
57
  "onKeyup": (e) => this.c.onKeyUp(e)
58
58
  }, {
59
- ...this.$slots,
60
- searchButtons: () => {
61
- if (this.c.model.searchButtonStyle === "NONE") {
62
- return;
63
- }
64
- return vue.createVNode("div", {
65
- "class": this.ns.b("buttons")
66
- }, [this.c.model.searchButtonStyle === "SEARCHONLY" ? vue.createVNode(vue.resolveComponent("el-button"), {
67
- "onClick": () => this.c.onSearchButtonClick()
68
- }, {
69
- default: () => [vue.createTextVNode("\u641C\u7D22")]
70
- }) : vue.createVNode(vue.resolveComponent("el-dropdown"), {
71
- "split-button": true,
72
- "type": "primary",
73
- "onClick": () => this.c.onSearchButtonClick()
74
- }, {
75
- default: () => vue.createVNode("span", {
76
- "class": this.ns.b("label")
77
- }, [vue.createTextVNode("\u641C\u7D22")]),
78
- dropdown: () => {
79
- return vue.createVNode(vue.resolveComponent("el-dropdown-menu"), null, {
80
- default: () => [vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
81
- "onClick": () => this.c.reset()
82
- }, {
83
- default: () => [vue.createTextVNode("\u91CD\u7F6E")]
84
- })]
85
- });
86
- }
87
- })]);
88
- }
59
+ ...this.$slots
89
60
  });
90
61
  }
91
62
  });
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-control-searchform-buttons{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;height:100%;margin-top:var(--ibiz-spacing-tight);margin-left:var(--ibiz-spacing-tight);text-align:right}.ibiz-control-searchform{--ibiz-control-searchform-bg-color:transparent;--ibiz-control-searchform-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);display:flex;padding:var(--ibiz-control-searchform-padding);background-color:var(--ibiz-control-searchform-bg-color)}.ibiz-control-searchform>.ibiz-form-page{flex-grow:1}.ibiz-control-searchform.is-btn-bottom{flex-direction:column}
1
+ @charset "UTF-8";.ibiz-control-searchform-buttons{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;height:100%;margin-top:var(--ibiz-spacing-tight);margin-left:var(--ibiz-spacing-tight);text-align:right}.ibiz-control-searchform{--ibiz-control-searchform-bg-color:transparent;--ibiz-control-searchform-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);display:flex;padding:var(--ibiz-control-searchform-padding);background-color:var(--ibiz-control-searchform-bg-color)}.ibiz-control-searchform>.ibiz-form-page{flex-grow:1}
@@ -65,6 +65,9 @@ const PanelControl = /* @__PURE__ */ vue.defineComponent({
65
65
  provider: {
66
66
  type: Object
67
67
  },
68
+ container: {
69
+ type: Object
70
+ },
68
71
  data: Object,
69
72
  loadDefault: {
70
73
  type: Boolean,
@@ -72,7 +75,7 @@ const PanelControl = /* @__PURE__ */ vue.defineComponent({
72
75
  }
73
76
  },
74
77
  setup(props) {
75
- const c = vue3Util.useControlController((...args) => new runtime.PanelController(...args));
78
+ const c = vue3Util.useControlController((...args) => new runtime.PanelController(...args, props.container));
76
79
  const ns = vue3Util.useNamespace(`control-${c.model.controlType.toLowerCase()}`);
77
80
  vue.watch(() => props.data, (newVal) => {
78
81
  if (newVal) {
@@ -27,12 +27,15 @@ const ViewLayoutPanelControl = /* @__PURE__ */ vue.defineComponent({
27
27
  provider: {
28
28
  type: Object
29
29
  },
30
+ container: {
31
+ type: Object
32
+ },
30
33
  data: Object
31
34
  },
32
35
  setup(props, {
33
36
  slots
34
37
  }) {
35
- const c = vue3Util.useControlController((...args) => new runtime.ViewLayoutPanelController(...args));
38
+ const c = vue3Util.useControlController((...args) => new runtime.ViewLayoutPanelController(...args, props.container));
36
39
  const ns = vue3Util.useNamespace(`control-${c.model.controlType.toLowerCase()}`);
37
40
  vue.watch(() => props.data, (newVal) => {
38
41
  if (newVal) {
@@ -21,6 +21,7 @@ var index$f = require('./panel-remember-me/index.cjs');
21
21
  var index$8 = require('./index-actions/index.cjs');
22
22
  var index$g = require('./panel-container-group/index.cjs');
23
23
  var index$h = require('./user-message/index.cjs');
24
+ var index$i = require('./searchform-buttons/index.cjs');
24
25
  var navPosIndex_state = require('./nav-pos-index/nav-pos-index.state.cjs');
25
26
  var navPosIndex_controller = require('./nav-pos-index/nav-pos-index.controller.cjs');
26
27
  var panelButton_controller = require('./panel-button/panel-button.controller.cjs');
@@ -58,6 +59,7 @@ const IBizPanelComponents = {
58
59
  v.use(index$g.IBizPanelContainerGroup);
59
60
  v.use(index$h.IBizUserMessage);
60
61
  v.use(vue3Util.IBizPanelContainerImage);
62
+ v.use(index$i.IBizSearchFormButtons);
61
63
  }
62
64
  };
63
65
 
@@ -96,15 +96,11 @@ class NavPosIndexController extends runtime.PanelItemController {
96
96
  currentKey,
97
97
  fullPath
98
98
  }) {
99
- if (currentKey === "") {
100
- return;
101
- }
102
99
  const isCurrentKeyChange = this.state.currentKey !== currentKey;
103
100
  if (isCurrentKeyChange) {
104
101
  if (this.state.cacheKeys.includes(currentKey) && this.router && this.router.currentRoute.value.matched.length === this.routeDepth + 1) {
105
102
  const lastFullPath = this.state.navViewMsgs[currentKey].fullPath;
106
103
  if (lastFullPath !== fullPath) {
107
- console.log("redirect to lastFullPath", lastFullPath);
108
104
  setTimeout(() => {
109
105
  this.router.push({ path: lastFullPath });
110
106
  }, 0);
@@ -116,6 +112,9 @@ class NavPosIndexController extends runtime.PanelItemController {
116
112
  this.navTabs.state.currentKey = currentKey;
117
113
  }
118
114
  }
115
+ if (currentKey === "") {
116
+ return;
117
+ }
119
118
  const index = this.state.operateSort.indexOf(currentKey);
120
119
  if (index !== -1) {
121
120
  this.state.operateSort.splice(index, 1);
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var runtime = require('@ibiz-template/runtime');
6
+ var vue3Util = require('@ibiz-template/vue3-util');
7
+ var searchformButtons = require('./searchform-buttons.cjs');
8
+ var searchformButtons_provider = require('./searchform-buttons.provider.cjs');
9
+
10
+ "use strict";
11
+ const IBizSearchFormButtons = vue3Util.withInstall(searchformButtons.SearchFormButtons, function(v) {
12
+ v.component(searchformButtons.SearchFormButtons.name, searchformButtons.SearchFormButtons);
13
+ runtime.registerPanelItemProvider(
14
+ "RAWITEM_SEARCHFORM_BUTTONS",
15
+ () => new searchformButtons_provider.SearchFormButtonsProvider()
16
+ );
17
+ });
18
+
19
+ exports.IBizSearchFormButtons = IBizSearchFormButtons;
20
+ exports.default = IBizSearchFormButtons;
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ require('./searchform-buttons.css');
6
+ var searchformButtons_controller = require('./searchform-buttons.controller.cjs');
7
+
8
+ "use strict";
9
+ const SearchFormButtons = /* @__PURE__ */ vue.defineComponent({
10
+ name: "IBizSearchFormButtons",
11
+ props: {
12
+ modelData: {
13
+ type: Object,
14
+ required: true
15
+ },
16
+ controller: {
17
+ type: searchformButtons_controller.SearchFormButtonsController,
18
+ required: true
19
+ }
20
+ },
21
+ setup(prop) {
22
+ const ns = vue3Util.useNamespace("searchform-buttons");
23
+ const c = prop.controller;
24
+ const onSearchButtonClick = () => {
25
+ c.onSearchButtonClick();
26
+ };
27
+ const onResetButtonClick = () => {
28
+ c.onResetButtonClick();
29
+ };
30
+ return {
31
+ ns,
32
+ c,
33
+ onSearchButtonClick,
34
+ onResetButtonClick
35
+ };
36
+ },
37
+ render() {
38
+ return vue.createVNode("div", {
39
+ "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass]
40
+ }, [this.controller.searchButtonStyle === "SEARCHONLY" ? vue.createVNode(vue.resolveComponent("el-button"), {
41
+ "onClick": this.onSearchButtonClick
42
+ }, {
43
+ default: () => [vue.createTextVNode("\u641C\u7D22")]
44
+ }) : vue.createVNode(vue.resolveComponent("el-dropdown"), {
45
+ "split-button": true,
46
+ "type": "primary",
47
+ "onClick": this.onSearchButtonClick
48
+ }, {
49
+ default: () => vue.createVNode("span", {
50
+ "class": this.ns.b("label")
51
+ }, [vue.createTextVNode("\u641C\u7D22")]),
52
+ dropdown: () => {
53
+ return vue.createVNode(vue.resolveComponent("el-dropdown-menu"), null, {
54
+ default: () => [vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
55
+ "onClick": this.onResetButtonClick
56
+ }, {
57
+ default: () => [vue.createTextVNode("\u91CD\u7F6E")]
58
+ })]
59
+ });
60
+ }
61
+ })]);
62
+ }
63
+ });
64
+
65
+ exports.SearchFormButtons = SearchFormButtons;
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ var core = require('@ibiz-template/core');
4
+ var runtime = require('@ibiz-template/runtime');
5
+
6
+ "use strict";
7
+ var __defProp = Object.defineProperty;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __publicField = (obj, key, value) => {
10
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
+ return value;
12
+ };
13
+ class SearchFormButtonsController extends runtime.PanelItemController {
14
+ constructor() {
15
+ super(...arguments);
16
+ /**
17
+ * 搜索表单控制器
18
+ * @author lxm
19
+ * @date 2023-11-21 04:32:58
20
+ * @type {ISearchFormController}
21
+ */
22
+ __publicField(this, "searchFrom");
23
+ }
24
+ /**
25
+ * 搜索按钮样式
26
+ * @author lxm
27
+ * @date 2023-11-21 03:25:31
28
+ * @type {(string | 'DEFAULT' | 'NONE' | 'SEARCHONLY' | 'USER' | 'USER2')}
29
+ */
30
+ get searchButtonStyle() {
31
+ return this.searchFrom.model.searchButtonStyle || "DEFAULT";
32
+ }
33
+ async onInit() {
34
+ await super.onInit();
35
+ const searchFrom = this.panel.container;
36
+ if (!searchFrom) {
37
+ throw new core.RuntimeError("\u5F53\u524D\u89C6\u56FE\u91CC\u6CA1\u6709\u627E\u5230\u53EBsearchform\u7684\u641C\u7D22\u8868\u5355");
38
+ }
39
+ this.searchFrom = searchFrom;
40
+ }
41
+ /**
42
+ * 点击搜索按钮
43
+ * @author lxm
44
+ * @date 2023-11-21 04:31:55
45
+ */
46
+ onSearchButtonClick() {
47
+ runtime.UIActionUtil.execAndResolved("search", {
48
+ context: this.panel.context,
49
+ params: this.panel.params,
50
+ data: [],
51
+ view: this.panel.view
52
+ });
53
+ }
54
+ /**
55
+ * 点击重置按钮
56
+ * @author lxm
57
+ * @date 2023-11-21 04:32:09
58
+ */
59
+ onResetButtonClick() {
60
+ runtime.UIActionUtil.execAndResolved("reset", {
61
+ context: this.panel.context,
62
+ params: this.panel.params,
63
+ data: [],
64
+ view: this.panel.view
65
+ });
66
+ }
67
+ }
68
+
69
+ exports.SearchFormButtonsController = SearchFormButtonsController;
@@ -0,0 +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)}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var searchformButtons_controller = require('./searchform-buttons.controller.cjs');
4
+
5
+ "use strict";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => {
9
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ return value;
11
+ };
12
+ class SearchFormButtonsProvider {
13
+ constructor() {
14
+ __publicField(this, "component", "IBizSearchFormButtons");
15
+ }
16
+ async createController(panelItem, panel, parent) {
17
+ const c = new searchformButtons_controller.SearchFormButtonsController(panelItem, panel, parent);
18
+ await c.init();
19
+ return c;
20
+ }
21
+ }
22
+
23
+ exports.SearchFormButtonsProvider = SearchFormButtonsProvider;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "使用 rollup 编译 vue 组件或者 jsx",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -26,10 +26,10 @@
26
26
  "@floating-ui/dom": "^1.5.3",
27
27
  "@ibiz-template-plugin/ai-chat": "^0.0.1",
28
28
  "@ibiz-template/core": "^0.3.0",
29
- "@ibiz-template/model-helper": "^0.3.2",
30
- "@ibiz-template/runtime": "^0.3.2",
29
+ "@ibiz-template/model-helper": "^0.3.3",
30
+ "@ibiz-template/runtime": "^0.3.3",
31
31
  "@ibiz-template/theme": "^0.3.0",
32
- "@ibiz-template/vue3-util": "^0.3.2",
32
+ "@ibiz-template/vue3-util": "^0.3.3",
33
33
  "@ibiz/model-core": "^0.0.20",
34
34
  "@imengyu/vue3-context-menu": "^1.3.3",
35
35
  "@monaco-editor/loader": "^1.4.0",
@@ -55,11 +55,11 @@
55
55
  "xlsx": "^0.18.5"
56
56
  },
57
57
  "devDependencies": {
58
- "@commitlint/cli": "^18.4.2",
59
- "@commitlint/config-conventional": "^18.4.2",
58
+ "@commitlint/cli": "^18.4.3",
59
+ "@commitlint/config-conventional": "^18.4.3",
60
60
  "@ibiz-template/cli": "0.3.2",
61
61
  "@types/lodash-es": "^4.17.11",
62
- "@types/node": "^20.9.2",
62
+ "@types/node": "^20.9.3",
63
63
  "@types/qs": "^6.9.10",
64
64
  "@types/ramda": "^0.29.9",
65
65
  "husky": "^8.0.3",