@ditari/bsui 5.1.19 → 5.1.20

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 (67) hide show
  1. package/dist/cjs/components/action-bar/ActionBar.vue.cjs +10 -0
  2. package/dist/cjs/components/action-bar/ActionBar.vue.cjs.map +1 -0
  3. package/dist/cjs/components/action-bar/ActionBar.vue.d.ts +47 -0
  4. package/dist/cjs/components/action-bar/ActionBar.vue2.cjs +114 -0
  5. package/dist/cjs/components/action-bar/ActionBar.vue2.cjs.map +1 -0
  6. package/dist/cjs/components/action-bar/index.cjs +16 -0
  7. package/dist/cjs/components/action-bar/index.cjs.map +1 -0
  8. package/dist/cjs/components/action-bar/index.d.ts +4 -0
  9. package/dist/cjs/components/form/FormLayout.cjs +147 -23
  10. package/dist/cjs/components/form/FormLayout.cjs.map +1 -1
  11. package/dist/cjs/components/form/FormLayout.d.ts +61 -0
  12. package/dist/cjs/components/index.cjs +6 -0
  13. package/dist/cjs/components/index.cjs.map +1 -1
  14. package/dist/cjs/components/index.d.ts +2 -0
  15. package/dist/cjs/components/select/Select.vue2.cjs +0 -3
  16. package/dist/cjs/components/select/Select.vue2.cjs.map +1 -1
  17. package/dist/cjs/components/tools-bar/ToolsBar.vue.cjs +10 -0
  18. package/dist/cjs/components/tools-bar/ToolsBar.vue.cjs.map +1 -0
  19. package/dist/cjs/components/tools-bar/ToolsBar.vue.d.ts +27 -0
  20. package/dist/cjs/components/tools-bar/ToolsBar.vue2.cjs +124 -0
  21. package/dist/cjs/components/tools-bar/ToolsBar.vue2.cjs.map +1 -0
  22. package/dist/cjs/components/tools-bar/index.cjs +16 -0
  23. package/dist/cjs/components/tools-bar/index.cjs.map +1 -0
  24. package/dist/cjs/components/tools-bar/index.d.ts +4 -0
  25. package/dist/cjs/index.cjs +5 -0
  26. package/dist/cjs/index.cjs.map +1 -1
  27. package/dist/esm/components/action-bar/ActionBar.vue.d.ts +47 -0
  28. package/dist/esm/components/action-bar/ActionBar.vue.mjs +6 -0
  29. package/dist/esm/components/action-bar/ActionBar.vue.mjs.map +1 -0
  30. package/dist/esm/components/action-bar/ActionBar.vue2.mjs +110 -0
  31. package/dist/esm/components/action-bar/ActionBar.vue2.mjs.map +1 -0
  32. package/dist/esm/components/action-bar/index.d.ts +4 -0
  33. package/dist/esm/components/action-bar/index.mjs +11 -0
  34. package/dist/esm/components/action-bar/index.mjs.map +1 -0
  35. package/dist/esm/components/form/FormLayout.d.ts +61 -0
  36. package/dist/esm/components/form/FormLayout.mjs +149 -25
  37. package/dist/esm/components/form/FormLayout.mjs.map +1 -1
  38. package/dist/esm/components/index.d.ts +2 -0
  39. package/dist/esm/components/index.mjs +4 -0
  40. package/dist/esm/components/index.mjs.map +1 -1
  41. package/dist/esm/components/select/Select.vue2.mjs +0 -3
  42. package/dist/esm/components/select/Select.vue2.mjs.map +1 -1
  43. package/dist/esm/components/tools-bar/ToolsBar.vue.d.ts +27 -0
  44. package/dist/esm/components/tools-bar/ToolsBar.vue.mjs +6 -0
  45. package/dist/esm/components/tools-bar/ToolsBar.vue.mjs.map +1 -0
  46. package/dist/esm/components/tools-bar/ToolsBar.vue2.mjs +120 -0
  47. package/dist/esm/components/tools-bar/ToolsBar.vue2.mjs.map +1 -0
  48. package/dist/esm/components/tools-bar/index.d.ts +4 -0
  49. package/dist/esm/components/tools-bar/index.mjs +11 -0
  50. package/dist/esm/components/tools-bar/index.mjs.map +1 -0
  51. package/dist/esm/index.mjs +3 -0
  52. package/dist/esm/index.mjs.map +1 -1
  53. package/dist/types/components/action-bar/ActionBar.vue.d.ts +47 -0
  54. package/dist/types/components/action-bar/ActionBar.vue.d.ts.map +1 -0
  55. package/dist/types/components/action-bar/index.d.ts +4 -0
  56. package/dist/types/components/action-bar/index.d.ts.map +1 -0
  57. package/dist/types/components/form/FormLayout.d.ts +61 -0
  58. package/dist/types/components/form/FormLayout.d.ts.map +1 -1
  59. package/dist/types/components/index.d.ts +2 -0
  60. package/dist/types/components/index.d.ts.map +1 -1
  61. package/dist/types/components/tools-bar/ToolsBar.vue.d.ts +27 -0
  62. package/dist/types/components/tools-bar/ToolsBar.vue.d.ts.map +1 -0
  63. package/dist/types/components/tools-bar/index.d.ts +4 -0
  64. package/dist/types/components/tools-bar/index.d.ts.map +1 -0
  65. package/dist/types/index.d.ts.map +1 -1
  66. package/package.json +3 -3
  67. package/src/index.ts +2 -0
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ActionBar_vue_vue_type_script_setup_true_lang = require('./ActionBar.vue2.cjs');
6
+
7
+ "use strict";
8
+
9
+ exports.default = ActionBar_vue_vue_type_script_setup_true_lang.default;
10
+ //# sourceMappingURL=ActionBar.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBar.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,47 @@
1
+ import { type VNode } from "vue";
2
+ interface ButtonItem {
3
+ title: string | VNode;
4
+ status?: boolean | ((record: {
5
+ [key: string]: unknown;
6
+ }) => boolean);
7
+ onClick?: (record: {
8
+ [key: string]: unknown;
9
+ }) => void;
10
+ onEvent?: (record: {
11
+ [key: string]: unknown;
12
+ }) => void;
13
+ }
14
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
15
+ buttonGroups: {
16
+ type: ArrayConstructor;
17
+ required: false;
18
+ };
19
+ actions: {
20
+ type: ArrayConstructor;
21
+ required: false;
22
+ };
23
+ record: {
24
+ type: ObjectConstructor;
25
+ required: true;
26
+ };
27
+ }>, {
28
+ props: any;
29
+ isShow: (item: ButtonItem) => boolean;
30
+ visibleButtons: import("vue").ComputedRef<ButtonItem[]>;
31
+ showDivider: (item: ButtonItem) => boolean;
32
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
33
+ buttonGroups: {
34
+ type: ArrayConstructor;
35
+ required: false;
36
+ };
37
+ actions: {
38
+ type: ArrayConstructor;
39
+ required: false;
40
+ };
41
+ record: {
42
+ type: ObjectConstructor;
43
+ required: true;
44
+ };
45
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
46
+ export default _default;
47
+ //# sourceMappingURL=ActionBar.vue.d.ts.map
@@ -0,0 +1,114 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __defProps = Object.defineProperties;
10
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
11
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
27
+ const _hoisted_1 = ["onClick"];
28
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
29
+ name: "DActionBar"
30
+ }), {
31
+ __name: "ActionBar",
32
+ props: {
33
+ buttonGroups: { type: Array, required: false },
34
+ actions: { type: Array, required: false },
35
+ record: { type: Object, required: true }
36
+ },
37
+ setup(__props) {
38
+ const props = __props;
39
+ const isShow = (item) => {
40
+ var _a;
41
+ if (typeof item.status === "function") {
42
+ return item.status(props.record);
43
+ }
44
+ return (_a = item.status) != null ? _a : true;
45
+ };
46
+ const visibleButtons = vue.computed(() => {
47
+ const groups = props.actions || props.buttonGroups || [];
48
+ return groups.filter((item) => isShow(item));
49
+ });
50
+ const showDivider = (item) => {
51
+ if (!isShow(item)) {
52
+ return false;
53
+ }
54
+ const visibleIndex = visibleButtons.value.findIndex((v) => v.title === item.title);
55
+ return visibleIndex !== -1 && visibleIndex < visibleButtons.value.length - 1;
56
+ };
57
+ return (_ctx, _cache) => {
58
+ const _component_a_divider = vue.resolveComponent("a-divider");
59
+ return vue.openBlock(), vue.createElementBlock("div", {
60
+ onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
61
+ }, ["stop"]))
62
+ }, [
63
+ (vue.openBlock(true), vue.createElementBlock(
64
+ vue.Fragment,
65
+ null,
66
+ vue.renderList(__props.actions || __props.buttonGroups || [], (item, index) => {
67
+ return vue.openBlock(), vue.createElementBlock(
68
+ vue.Fragment,
69
+ { key: index },
70
+ [
71
+ isShow(item) ? (vue.openBlock(), vue.createElementBlock("a", {
72
+ key: 0,
73
+ onClick: vue.withModifiers(($event) => {
74
+ var _a;
75
+ return (_a = item.onClick || item.onEvent) == null ? void 0 : _a(__props.record);
76
+ }, ["stop"])
77
+ }, [
78
+ item.title instanceof Object ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.title), {
79
+ key: 0,
80
+ record: __props.record
81
+ }, null, 8, ["record"])) : (vue.openBlock(), vue.createElementBlock(
82
+ vue.Fragment,
83
+ { key: 1 },
84
+ [
85
+ vue.createTextVNode(
86
+ vue.toDisplayString(item.title),
87
+ 1
88
+ /* TEXT */
89
+ )
90
+ ],
91
+ 64
92
+ /* STABLE_FRAGMENT */
93
+ ))
94
+ ], 8, _hoisted_1)) : vue.createCommentVNode("v-if", true),
95
+ showDivider(item) ? (vue.openBlock(), vue.createBlock(_component_a_divider, {
96
+ key: 1,
97
+ type: "vertical",
98
+ style: { "border-color": "#3e7fff", "border-width": "2px" }
99
+ })) : vue.createCommentVNode("v-if", true)
100
+ ],
101
+ 64
102
+ /* STABLE_FRAGMENT */
103
+ );
104
+ }),
105
+ 128
106
+ /* KEYED_FRAGMENT */
107
+ ))
108
+ ]);
109
+ };
110
+ }
111
+ }));
112
+
113
+ exports.default = _sfc_main;
114
+ //# sourceMappingURL=ActionBar.vue2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBar.vue2.cjs","sources":["../../../../src/components/action-bar/ActionBar.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\n import { computed, type VNode } from \"vue\";\r\n\r\n defineOptions({\r\n name: \"DActionBar\"\r\n });\r\n\r\n interface ButtonItem {\r\n title: string | VNode;\r\n status?: boolean | ((record: { [key: string]: unknown }) => boolean);\r\n onClick?: (record: { [key: string]: unknown }) => void;\r\n onEvent?: (record: { [key: string]: unknown }) => void; // 别名,为了向后兼容\r\n }\r\n\r\n // 2. 普通的 Props 声明\r\n const props = defineProps({\n buttonGroups: { type: Array, required: false },\n actions: { type: Array, required: false },\n record: { type: Object, required: true }\n});\r\n\r\n /**\r\n * 判断按钮是否显示\r\n */\r\n const isShow = (item: ButtonItem): boolean => {\r\n if (typeof item.status === \"function\") {\r\n return item.status(props.record);\r\n }\r\n return item.status ?? true;\r\n };\r\n\r\n /**\r\n * 过滤出当前真正显示的按钮列表\r\n */\r\n const visibleButtons = computed(() => {\r\n const groups: ButtonItem[] = props.actions || props.buttonGroups || [];\r\n return groups.filter((item: ButtonItem) => isShow(item));\r\n });\r\n\r\n /**\r\n * 判断分隔线状态\r\n */\r\n const showDivider = (item: ButtonItem): boolean => {\r\n if (!isShow(item)) {\r\n return false;\r\n }\r\n\r\n // 逻辑保持不变:在可见列表里找自己\r\n const visibleIndex = visibleButtons.value.findIndex((v: ButtonItem) => v.title === item.title);\r\n return visibleIndex !== -1 && visibleIndex < visibleButtons.value.length - 1;\r\n };\r\n</script>\r\n\r\n<template>\r\n <div @click.stop>\r\n <template v-for=\"(item, index) in actions || buttonGroups || []\" :key=\"index\">\r\n <a v-if=\"isShow(item)\" @click.stop=\"(item.onClick || item.onEvent)?.(record)\">\r\n <template v-if=\"item.title instanceof Object\">\r\n <component :is=\"item.title\" :record=\"record\" />\r\n </template>\r\n <template v-else>\r\n {{ item.title }}\r\n </template>\r\n </a>\r\n <a-divider\r\n v-if=\"showDivider(item)\"\r\n type=\"vertical\"\r\n style=\"border-color: #3e7fff; border-width: 2px\"\r\n />\r\n </template>\r\n </div>\r\n</template>\r\n"],"names":["computed","_createElementBlock","_openBlock","_Fragment","_withModifiers","_createBlock","_resolveDynamicComponent","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeE,IAAA,MAAM,KAAA,GAAQ,OAAA;AASd,IAAA,MAAM,MAAA,GAAS,CAAC,IAAA,KAA8B;;AAC5C,MAAA,IAAI,OAAO,IAAA,CAAK,MAAA,KAAW,UAAA,EAAY;AACrC,QAAA,OAAO,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAM,CAAA;AAAA,MACjC;AACA,MAAA,OAAA,CAAO,EAAA,GAAA,IAAA,CAAK,WAAL,IAAA,GAAA,EAAA,GAAe,IAAA;AAAA,IACxB,CAAA;AAKA,IAAA,MAAM,cAAA,GAAiBA,aAAS,MAAM;AACpC,MAAA,MAAM,MAAA,GAAuB,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,gBAAgB,EAAC;AACrE,MAAA,OAAO,OAAO,MAAA,CAAO,CAAC,IAAA,KAAqB,MAAA,CAAO,IAAI,CAAC,CAAA;AAAA,IACzD,CAAC,CAAA;AAKD,IAAA,MAAM,WAAA,GAAc,CAAC,IAAA,KAA8B;AACjD,MAAA,IAAI,CAAC,MAAA,CAAO,IAAI,CAAA,EAAG;AACjB,QAAA,OAAO,KAAA;AAAA,MACT;AAGA,MAAA,MAAM,YAAA,GAAe,eAAe,KAAA,CAAM,SAAA,CAAU,CAAC,CAAA,KAAkB,CAAA,CAAE,KAAA,KAAU,IAAA,CAAK,KAAK,CAAA;AAC7F,MAAA,OAAO,YAAA,KAAiB,CAAA,CAAA,IAAM,YAAA,GAAe,cAAA,CAAe,MAAM,MAAA,GAAS,CAAA;AAAA,IAC7E,CAAA;;;8BAIAC,sBAAA,CAgBM,KAAA,EAAA;AAAA,QAhBA,OAAA,8CAAD,MAAA;AAAA,QAAA,CAAA,EAAW,CAAA,MAAA,CAAA,CAAA;AAAA;SACdC,aAAA,CAAA,IAAA,CAAA,EAAAD,sBAAA;AAAA,UAcWE,YAAA;AAAA;yBAduB,QAAA,OAAA,IAAW,OAAA,iBAAY,EAAA,EAAA,CAAvC,IAAA,EAAM,KAAA,KAAK;;;qBAA0C,KAAA,EAAK;AAAA,cAAA;AAAA,gBACjE,OAAO,IAAI,CAAA,qBAApBF,uBAOI,GAAA,EAAA;AAAA;kBAPoB,OAAA,EAAKG,iBAAA,CAAA,CAAA,MAAA,KAAA;;AAAQ,oBAAA,OAAA,CAAA,EAAA,GAAA,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,OAAA,KAArB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgC,OAAA,CAAA,MAAA,CAAA;AAAA,kBAAA,CAAA,EAAM,CAAA,MAAA,CAAA;AAAA;kBACzD,IAAA,CAAK,iBAAiB,MAAA,qBACpCC,eAAA,CAA+CC,2BAAA,CAA/B,IAAA,CAAK,KAAK,CAAA,EAAA;AAAA;oBAAG,QAAQ,OAAA,CAAA;AAAA,+DAEvCL,sBAAA;AAAA,oBAEWE,YAAA;AAAA,oBAAA,EAAA,KAAA,CAAA,EAAA;AAAA,oBAAA;AAAA,sBADNI,mBAAA;AAAA,wBAAAC,mBAAA,CAAA,KAAK,KAAK,CAAA;AAAA,wBAAA;AAAA;AAAA;AAAA;;;;;gBAIT,YAAY,IAAI,CAAA,qBADxBH,gBAIE,oBAAA,EAAA;AAAA;kBAFA,IAAA,EAAK,UAAA;AAAA,kBACL,KAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,gBAAA,KAAA;AAAA;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('./ActionBar.vue.cjs');
6
+ var ActionBar_vue_vue_type_script_setup_true_lang = require('./ActionBar.vue2.cjs');
7
+
8
+ "use strict";
9
+ ActionBar_vue_vue_type_script_setup_true_lang.default.install = function(app) {
10
+ app.component(ActionBar_vue_vue_type_script_setup_true_lang.default.name, ActionBar_vue_vue_type_script_setup_true_lang.default);
11
+ return app;
12
+ };
13
+
14
+ exports.ActionBar = ActionBar_vue_vue_type_script_setup_true_lang.default;
15
+ exports.default = ActionBar_vue_vue_type_script_setup_true_lang.default;
16
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/components/action-bar/index.ts"],"sourcesContent":["import ActionBar from \"./ActionBar.vue\";\r\nimport type { App } from \"vue\";\r\n\r\nActionBar.install = function (app: App) {\r\n app.component(ActionBar.name!, ActionBar);\r\n return app;\r\n};\r\n\r\nexport { ActionBar };\r\nexport default ActionBar;\r\n"],"names":["ActionBar"],"mappings":";;;;;;;;AAGAA,qDAAA,CAAU,OAAA,GAAU,SAAU,GAAA,EAAU;AACtC,EAAA,GAAA,CAAI,SAAA,CAAUA,qDAAA,CAAU,IAAA,EAAOA,qDAAS,CAAA;AACxC,EAAA,OAAO,GAAA;AACT,CAAA;;;;;"}
@@ -0,0 +1,4 @@
1
+ import ActionBar from "./ActionBar.vue";
2
+ export { ActionBar };
3
+ export default ActionBar;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -7,6 +7,58 @@ var antDesignVue = require('ant-design-vue');
7
7
  var iconsVue = require('@ant-design/icons-vue');
8
8
 
9
9
  "use strict";
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ const {
27
+ useBreakpoint
28
+ } = antDesignVue.Grid;
29
+ const RESPONSIVE_CONFIG = {
30
+ xs: {
31
+ span: 24,
32
+ colsPerRow: 1
33
+ },
34
+ // < 576px - 手机
35
+ sm: {
36
+ span: 12,
37
+ colsPerRow: 2
38
+ },
39
+ // ≥ 576px - 平板竖屏
40
+ md: {
41
+ span: 8,
42
+ colsPerRow: 3
43
+ },
44
+ // ≥ 768px - 平板横屏
45
+ lg: {
46
+ span: 6,
47
+ colsPerRow: 4
48
+ },
49
+ // ≥ 992px - 小桌面
50
+ xl: {
51
+ span: 6,
52
+ colsPerRow: 4
53
+ },
54
+ // ≥ 1200px - 桌面
55
+ xxl: {
56
+ span: 6,
57
+ colsPerRow: 4
58
+ }
59
+ // ≥ 1600px - 大桌面
60
+ };
61
+ const DEFAULT_VISIBLE_ROWS = 2;
10
62
  var FormLayout = /* @__PURE__ */ vue.defineComponent({
11
63
  name: "DQueryForm",
12
64
  props: {
@@ -25,6 +77,11 @@ var FormLayout = /* @__PURE__ */ vue.defineComponent({
25
77
  loading: {
26
78
  type: Boolean,
27
79
  default: false
80
+ },
81
+ // 自定义响应式配置(可选)
82
+ responsiveConfig: {
83
+ type: Object,
84
+ default: () => ({})
28
85
  }
29
86
  },
30
87
  emits: ["reset", "query"],
@@ -43,6 +100,8 @@ var FormLayout = /* @__PURE__ */ vue.defineComponent({
43
100
  const {
44
101
  rowRef,
45
102
  actionSpan,
103
+ actionPush,
104
+ currentSpan,
46
105
  onExpend,
47
106
  expendBtnVisible,
48
107
  isExpend
@@ -119,47 +178,109 @@ var FormLayout = /* @__PURE__ */ vue.defineComponent({
119
178
  }
120
179
  function useExpand() {
121
180
  const gridCount = 24;
122
- const colSpan = 6;
123
- const colsPerRow = 4;
181
+ const screens = useBreakpoint();
182
+ const mergedConfig = vue.computed(() => __spreadValues(__spreadValues({}, RESPONSIVE_CONFIG), props.responsiveConfig));
183
+ const currentConfig = vue.computed(() => {
184
+ const config = mergedConfig.value;
185
+ if (screens.value.xxl) return config.xxl;
186
+ if (screens.value.xl) return config.xl;
187
+ if (screens.value.lg) return config.lg;
188
+ if (screens.value.md) return config.md;
189
+ if (screens.value.sm) return config.sm;
190
+ return config.xs;
191
+ });
192
+ const currentSpan2 = vue.computed(() => currentConfig.value.span);
193
+ const colsPerRow = vue.computed(() => currentConfig.value.colsPerRow);
124
194
  const actionSpan2 = vue.ref(6);
195
+ const actionPush2 = vue.ref(0);
125
196
  const isExpend2 = vue.ref(false);
126
197
  const expendBtnVisible2 = vue.ref(false);
127
198
  const rowRef2 = vue.ref(null);
128
199
  vue.onMounted(() => {
129
- handleShowOrHidden();
200
+ updateLayout();
201
+ });
202
+ vue.watch(screens, () => {
203
+ vue.nextTick(() => {
204
+ updateLayout();
205
+ });
206
+ }, {
207
+ deep: true
130
208
  });
131
209
  function onExpend2() {
132
210
  isExpend2.value = !isExpend2.value;
133
- handleShowOrHidden();
211
+ updateLayout();
134
212
  }
135
- function handleShowOrHidden() {
136
- var _a, _b;
137
- const colEl = Array.from((_b = (_a = rowRef2.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.children);
213
+ function updateLayout() {
214
+ var _a;
215
+ const rowEl = (_a = rowRef2.value) == null ? void 0 : _a.$el;
216
+ if (!rowEl) return;
217
+ const colEl = Array.from(rowEl.children);
138
218
  const colElLen = colEl.length - 1;
139
- const occupiedCols = colElLen * colSpan;
140
- const fullRows = Math.ceil(colElLen / colsPerRow);
141
- const lastRowCols = occupiedCols % gridCount;
142
- const remainingCols = gridCount - lastRowCols;
143
- if (fullRows > 2) {
219
+ if (colElLen <= 0) return;
220
+ const actualSpan = currentSpan2.value;
221
+ const cols = colsPerRow.value;
222
+ colEl.forEach((col, index) => {
223
+ if (index === colElLen) return;
224
+ updateColSpan(col, actualSpan);
225
+ col.style.display = "";
226
+ });
227
+ const lastSlotIndex = cols * DEFAULT_VISIBLE_ROWS - 1;
228
+ if (colElLen > lastSlotIndex) {
144
229
  expendBtnVisible2.value = true;
230
+ if (!isExpend2.value) {
231
+ colEl.forEach((col, index) => {
232
+ if (index === colElLen) return;
233
+ if (index >= lastSlotIndex) {
234
+ col.style.display = "none";
235
+ }
236
+ });
237
+ actionSpan2.value = actualSpan;
238
+ actionPush2.value = 0;
239
+ } else {
240
+ const lastRowItems = colElLen % cols;
241
+ const lastRowOccupied = lastRowItems === 0 ? gridCount : lastRowItems * actualSpan;
242
+ const remainingCols = gridCount - lastRowOccupied;
243
+ if (remainingCols >= actualSpan) {
244
+ actionSpan2.value = remainingCols;
245
+ actionPush2.value = 0;
246
+ } else {
247
+ actionSpan2.value = actualSpan;
248
+ actionPush2.value = gridCount - actualSpan;
249
+ }
250
+ }
145
251
  } else {
146
- actionSpan2.value = remainingCols;
252
+ expendBtnVisible2.value = false;
253
+ const lastRowItems = colElLen % cols;
254
+ const lastRowOccupied = lastRowItems === 0 ? gridCount : lastRowItems * actualSpan;
255
+ const remainingCols = gridCount - lastRowOccupied;
256
+ if (remainingCols >= actualSpan) {
257
+ actionSpan2.value = remainingCols;
258
+ actionPush2.value = 0;
259
+ } else {
260
+ actionSpan2.value = actualSpan;
261
+ actionPush2.value = gridCount - actualSpan;
262
+ }
147
263
  }
148
- const lastRowStartIndex = colsPerRow * (fullRows - 1) - 1;
149
- if (expendBtnVisible2.value) {
150
- colEl.forEach((col, index) => {
151
- if (index >= lastRowStartIndex) {
152
- index !== colElLen ? col.style.display = !isExpend2.value ? "none" : "block" : null;
264
+ }
265
+ function updateColSpan(colEl, newSpan) {
266
+ const classList = colEl.classList;
267
+ for (let i = classList.length - 1; i >= 0; i--) {
268
+ const className = classList[i];
269
+ if (className.startsWith("ant-col-") && !className.includes("-offset-") && !className.includes("-push-") && !className.includes("-pull-")) {
270
+ const span = parseInt(className.replace("ant-col-", ""), 10);
271
+ if (!isNaN(span)) {
272
+ classList.remove(className);
273
+ break;
153
274
  }
154
- });
155
- }
156
- if (expendBtnVisible2.value) {
157
- isExpend2.value ? actionSpan2.value = remainingCols : actionSpan2.value = colSpan;
275
+ }
158
276
  }
277
+ classList.add(`ant-col-${newSpan}`);
159
278
  }
160
279
  return {
161
280
  rowRef: rowRef2,
162
281
  actionSpan: actionSpan2,
282
+ actionPush: actionPush2,
283
+ currentSpan: currentSpan2,
163
284
  onExpend: onExpend2,
164
285
  expendBtnVisible: expendBtnVisible2,
165
286
  isExpend: isExpend2
@@ -184,8 +305,11 @@ var FormLayout = /* @__PURE__ */ vue.defineComponent({
184
305
  var _a;
185
306
  return [(_a = slots.default) == null ? void 0 : _a.call(slots), vue.createVNode(antDesignVue.Col, {
186
307
  "span": actionSpan.value,
308
+ "push": actionPush.value,
187
309
  "style": {
188
- textAlign: "right"
310
+ display: "flex",
311
+ justifyContent: "flex-end",
312
+ alignItems: "flex-start"
189
313
  }
190
314
  }, {
191
315
  default: () => [vue.createVNode(antDesignVue.FormItem, null, {
@@ -1 +1 @@
1
- {"version":3,"file":"FormLayout.cjs","sources":["../../../../src/components/form/FormLayout.tsx"],"sourcesContent":["import {\r\n defineComponent,\r\n onMounted,\r\n ref,\r\n watch,\r\n watchEffect\r\n} from \"vue\";\r\nimport {\r\n Button,\r\n Col,\r\n Form,\r\n FormItem,\r\n Row,\r\n Space\r\n} from \"ant-design-vue\";\r\n\r\nimport {\r\n DoubleRightOutlined,\r\n ReloadOutlined,\r\n SearchOutlined\r\n} from \"@ant-design/icons-vue\";\r\n\r\n/**\r\n * 查询表单渲染\r\n * 展开,隐藏功能\r\n */\r\nexport default defineComponent({\r\n name: \"DQueryForm\",\r\n props: {\r\n scheme: {\r\n type: [Array, Object] as unknown as () =>\r\n | any[]\r\n | Record<string, any>,\r\n default: () => []\r\n },\r\n model: {\r\n type: Object as () => Record<string, unknown>,\r\n default: () => ({})\r\n },\r\n labelWidth: {\r\n type: String,\r\n default: \"90px\"\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n emits: [\"reset\", \"query\"],\r\n setup(props, { slots, emit }) {\r\n // 表单\r\n const {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n } = useForm();\r\n // 展开\r\n const {\r\n rowRef,\r\n actionSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n } = useExpand();\r\n //渲染操作列\r\n const { renderAction } = useRender();\r\n\r\n function useForm() {\r\n const loading = ref(false);\r\n const formRef = ref<any>(null);\r\n const modelValue = ref<any>({});\r\n\r\n watchEffect(() => {\r\n modelValue.value = props.model;\r\n });\r\n\r\n watch(\r\n () => props.loading,\r\n val => {\r\n loading.value = val;\r\n }\r\n );\r\n\r\n /// 监听回车事件\r\n // watch(enterKey, (v) => {\r\n // if (v) {\r\n // // 有路由名字会被keepalive进行缓存\r\n // // 用于判断当前页面是否被激活 因为页面被缓存的时候,页面切换后,回车事件依然会触发\r\n // const isActive = keepStore.list.some((name) => name === route.name);\r\n // console.log(route.name);\r\n // if (!loading.value && isActive) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // //TODO 逻辑有问题\r\n // if (!route.name) {\r\n // // 没有路由名字,不会被缓存\r\n // if (!loading.value) {\r\n // emit(\"query\", modelValue.value);\r\n // }\r\n // } else {\r\n //\r\n // }\r\n // }\r\n // });\r\n\r\n const onQuery = () => {\r\n emit(\"query\", modelValue.value);\r\n };\r\n\r\n const onReset = () => {\r\n formRef.value?.resetFields();\r\n emit(\"reset\");\r\n };\r\n\r\n const onKeyup = (event: any) => {\r\n if (event.keyCode === 13) {\r\n if (!loading.value) {\r\n emit(\"query\", modelValue.value);\r\n }\r\n }\r\n };\r\n return {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n };\r\n }\r\n\r\n function useRender() {\r\n /**\r\n * 操作按钮渲染\r\n */\r\n function renderAction() {\r\n return (\r\n <Space>\r\n <Button\r\n loading={loading.value}\r\n type={\"primary\"}\r\n shape={\"round\"}\r\n onClick={onQuery}\r\n >\r\n {{\r\n default: () => \"查询\",\r\n icon: () => <SearchOutlined />\r\n }}\r\n </Button>\r\n <Button\r\n disabled={loading.value}\r\n shape={\"round\"}\r\n onClick={onReset}\r\n >\r\n {{\r\n default: () => \"重置\",\r\n icon: () => <ReloadOutlined />\r\n }}\r\n </Button>\r\n {expendBtnVisible.value ? (\r\n <Button onClick={onExpend} shape={\"round\"}>\r\n {{\r\n default: () =>\r\n isExpend.value ? \"收起\" : \"展开\",\r\n icon: () => (\r\n <DoubleRightOutlined\r\n rotate={isExpend.value ? -90 : 90}\r\n />\r\n )\r\n }}\r\n </Button>\r\n ) : null}\r\n </Space>\r\n );\r\n }\r\n\r\n return {\r\n renderAction\r\n };\r\n }\r\n\r\n function useExpand() {\r\n // 为24网格布局\r\n const gridCount = 24;\r\n // 每列占6个格子\r\n const colSpan = 6;\r\n // 每行显示4列\r\n const colsPerRow = 4;\r\n // 操作按钮span\r\n const actionSpan = ref(6);\r\n // 控制展开或隐藏按钮文本\r\n const isExpend = ref(false);\r\n // 控制展开按按钮是否显示\r\n const expendBtnVisible = ref(false);\r\n // 行对象\r\n const rowRef = ref<any>(null);\r\n\r\n onMounted(() => {\r\n handleShowOrHidden();\r\n });\r\n\r\n function onExpend() {\r\n isExpend.value = !isExpend.value;\r\n handleShowOrHidden();\r\n }\r\n\r\n /**\r\n * 处理隐藏或显示\r\n */\r\n function handleShowOrHidden() {\r\n const colEl = Array.from(\r\n rowRef.value?.$el?.children\r\n );\r\n // col总条数 减掉操作栏按钮的div个数为1\r\n const colElLen = colEl.length - 1;\r\n // 已占用的网格数 = col总条数 * 每列占用的网格数\r\n const occupiedCols = colElLen * colSpan;\r\n // 总行数 = 总div数 / 每行显示的列数\r\n const fullRows = Math.ceil(colElLen / colsPerRow);\r\n // 最后一行的网格数 = 已占用的网格数 % 24\r\n const lastRowCols = occupiedCols % gridCount;\r\n // 最后一行剩余的网格数\r\n const remainingCols = gridCount - lastRowCols;\r\n\r\n // 网格行大于2才显示展开或隐藏按钮\r\n if (fullRows > 2) {\r\n expendBtnVisible.value = true;\r\n } else {\r\n // 如果没有大于两行,操作栏占用剩余的宽度\r\n actionSpan.value = remainingCols;\r\n }\r\n // 最后一行的起始索引\r\n const lastRowStartIndex =\r\n colsPerRow * (fullRows - 1) - 1;\r\n // 只有展开按钮显示时才处理\r\n if (expendBtnVisible.value) {\r\n colEl.forEach((col: any, index) => {\r\n if (index >= lastRowStartIndex) {\r\n // 最后一个元素不隐藏 是操作按钮的div\r\n index !== colElLen\r\n ? (col.style.display = !isExpend.value\r\n ? \"none\"\r\n : \"block\")\r\n : null; // 隐藏元素\r\n }\r\n });\r\n }\r\n\r\n if (expendBtnVisible.value) {\r\n // 如果是展开状态 则操作按钮占用剩余的网格数 否则占用6个网格\r\n isExpend.value\r\n ? (actionSpan.value = remainingCols)\r\n : (actionSpan.value = colSpan);\r\n }\r\n }\r\n\r\n return {\r\n rowRef,\r\n actionSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n };\r\n }\r\n\r\n return () => (\r\n <div onKeyup={onKeyup}>\r\n <Form\r\n ref={formRef}\r\n colon={false}\r\n labelCol={{ style: { width: props.labelWidth } }}\r\n model={modelValue.value}\r\n >\r\n <Row ref={rowRef}>\r\n {slots.default?.()}\r\n <Col\r\n span={actionSpan.value}\r\n style={{ textAlign: \"right\" }}\r\n >\r\n <FormItem>\r\n {slots.action\r\n ? slots.action()\r\n : renderAction()}\r\n </FormItem>\r\n </Col>\r\n </Row>\r\n </Form>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","props","scheme","type","Array","Object","default","model","labelWidth","String","loading","Boolean","emits","setup","slots","emit","modelValue","formRef","onQuery","onReset","onKeyup","useForm","rowRef","actionSpan","onExpend","expendBtnVisible","isExpend","useExpand","renderAction","useRender","ref","watchEffect","value","watch","val","resetFields","event","keyCode","_createVNode","Space","Button","icon","SearchOutlined","ReloadOutlined","DoubleRightOutlined","gridCount","colSpan","colsPerRow","onMounted","handleShowOrHidden","colEl","from","$el","children","colElLen","length","occupiedCols","fullRows","Math","ceil","lastRowCols","remainingCols","lastRowStartIndex","forEach","col","index","style","display","Form","width","Row","Col","textAlign","FormItem","action"],"mappings":"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"}
1
+ {"version":3,"file":"FormLayout.cjs","sources":["../../../../src/components/form/FormLayout.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onMounted,\r\n ref,\r\n watch,\r\n watchEffect\r\n} from \"vue\";\r\nimport {\r\n Button,\r\n Col,\r\n Form,\r\n FormItem,\r\n Grid,\r\n Row,\r\n Space\r\n} from \"ant-design-vue\";\r\n\r\nimport {\r\n DoubleRightOutlined,\r\n ReloadOutlined,\r\n SearchOutlined\r\n} from \"@ant-design/icons-vue\";\r\n\r\nconst { useBreakpoint } = Grid;\r\n\r\n// 响应式配置:不同断点下的栅格配置\r\nconst RESPONSIVE_CONFIG = {\r\n xs: { span: 24, colsPerRow: 1 }, // < 576px - 手机\r\n sm: { span: 12, colsPerRow: 2 }, // ≥ 576px - 平板竖屏\r\n md: { span: 8, colsPerRow: 3 }, // ≥ 768px - 平板横屏\r\n lg: { span: 6, colsPerRow: 4 }, // ≥ 992px - 小桌面\r\n xl: { span: 6, colsPerRow: 4 }, // ≥ 1200px - 桌面\r\n xxl: { span: 6, colsPerRow: 4 } // ≥ 1600px - 大桌面\r\n} as const;\r\n\r\n// 默认显示的行数(收起状态)\r\nconst DEFAULT_VISIBLE_ROWS = 2;\r\n\r\n/**\r\n * 查询表单渲染\r\n * 展开,隐藏功能\r\n * 支持响应式栅格布局\r\n */\r\nexport default defineComponent({\r\n name: \"DQueryForm\",\r\n props: {\r\n scheme: {\r\n type: [Array, Object] as unknown as () =>\r\n | any[]\r\n | Record<string, any>,\r\n default: () => []\r\n },\r\n model: {\r\n type: Object as () => Record<string, unknown>,\r\n default: () => ({})\r\n },\r\n labelWidth: {\r\n type: String,\r\n default: \"90px\"\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n },\r\n // 自定义响应式配置(可选)\r\n responsiveConfig: {\r\n type: Object as () => Partial<typeof RESPONSIVE_CONFIG>,\r\n default: () => ({})\r\n }\r\n },\r\n emits: [\"reset\", \"query\"],\r\n setup(props, { slots, emit }) {\r\n // 表单\r\n const {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n } = useForm();\r\n\r\n // 响应式布局\r\n const {\r\n rowRef,\r\n actionSpan,\r\n actionPush,\r\n currentSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n } = useExpand();\r\n\r\n // 渲染操作列\r\n const { renderAction } = useRender();\r\n\r\n function useForm() {\r\n const loading = ref(false);\r\n const formRef = ref<any>(null);\r\n const modelValue = ref<any>({});\r\n\r\n watchEffect(() => {\r\n modelValue.value = props.model;\r\n });\r\n\r\n watch(\r\n () => props.loading,\r\n val => {\r\n loading.value = val;\r\n }\r\n );\r\n\r\n const onQuery = () => {\r\n emit(\"query\", modelValue.value);\r\n };\r\n\r\n const onReset = () => {\r\n formRef.value?.resetFields();\r\n emit(\"reset\");\r\n };\r\n\r\n const onKeyup = (event: any) => {\r\n if (event.keyCode === 13) {\r\n if (!loading.value) {\r\n emit(\"query\", modelValue.value);\r\n }\r\n }\r\n };\r\n\r\n return {\r\n loading,\r\n modelValue,\r\n formRef,\r\n onQuery,\r\n onReset,\r\n onKeyup\r\n };\r\n }\r\n\r\n function useRender() {\r\n function renderAction() {\r\n return (\r\n <Space>\r\n <Button\r\n loading={loading.value}\r\n type={\"primary\"}\r\n shape={\"round\"}\r\n onClick={onQuery}\r\n >\r\n {{\r\n default: () => \"查询\",\r\n icon: () => <SearchOutlined />\r\n }}\r\n </Button>\r\n <Button\r\n disabled={loading.value}\r\n shape={\"round\"}\r\n onClick={onReset}\r\n >\r\n {{\r\n default: () => \"重置\",\r\n icon: () => <ReloadOutlined />\r\n }}\r\n </Button>\r\n {expendBtnVisible.value ? (\r\n <Button onClick={onExpend} shape={\"round\"}>\r\n {{\r\n default: () =>\r\n isExpend.value ? \"收起\" : \"展开\",\r\n icon: () => (\r\n <DoubleRightOutlined\r\n rotate={isExpend.value ? -90 : 90}\r\n />\r\n )\r\n }}\r\n </Button>\r\n ) : null}\r\n </Space>\r\n );\r\n }\r\n\r\n return {\r\n renderAction\r\n };\r\n }\r\n\r\n function useExpand() {\r\n const gridCount = 24;\r\n const screens = useBreakpoint();\r\n\r\n // 合并默认配置和自定义配置\r\n const mergedConfig = computed(() => ({\r\n ...RESPONSIVE_CONFIG,\r\n ...props.responsiveConfig\r\n }));\r\n\r\n // 根据当前断点获取配置\r\n const currentConfig = computed(() => {\r\n const config = mergedConfig.value;\r\n // 按优先级从大到小检查\r\n if (screens.value.xxl) return config.xxl;\r\n if (screens.value.xl) return config.xl;\r\n if (screens.value.lg) return config.lg;\r\n if (screens.value.md) return config.md;\r\n if (screens.value.sm) return config.sm;\r\n return config.xs;\r\n });\r\n\r\n // 当前每个表单项占用的栅格数\r\n const currentSpan = computed(() => currentConfig.value.span);\r\n // 当前每行显示的列数\r\n const colsPerRow = computed(() => currentConfig.value.colsPerRow);\r\n\r\n // 操作按钮 span\r\n const actionSpan = ref(6);\r\n // 操作按钮 push(用于右对齐)\r\n const actionPush = ref(0);\r\n // 控制展开或隐藏按钮文本\r\n const isExpend = ref(false);\r\n // 控制展开按钮是否显示\r\n const expendBtnVisible = ref(false);\r\n // 行对象\r\n const rowRef = ref<any>(null);\r\n\r\n // 初始化和响应式更新\r\n onMounted(() => {\r\n updateLayout();\r\n });\r\n\r\n // 监听断点变化,重新计算布局\r\n watch(\r\n screens,\r\n () => {\r\n // 等待 DOM 更新后再计算\r\n nextTick(() => {\r\n updateLayout();\r\n });\r\n },\r\n { deep: true }\r\n );\r\n\r\n function onExpend() {\r\n isExpend.value = !isExpend.value;\r\n updateLayout();\r\n }\r\n\r\n /**\r\n * 更新布局(响应式)\r\n */\r\n function updateLayout() {\r\n const rowEl = rowRef.value?.$el;\r\n if (!rowEl) return;\r\n\r\n const colEl = Array.from(rowEl.children) as HTMLElement[];\r\n // col 总条数,减掉操作栏按钮的 div(个数为1)\r\n const colElLen = colEl.length - 1;\r\n\r\n if (colElLen <= 0) return;\r\n\r\n // 使用响应式配置的 span(而不是从 DOM 读取)\r\n const actualSpan = currentSpan.value;\r\n const cols = colsPerRow.value;\r\n\r\n // 动态更新所有子 Col 的 span\r\n colEl.forEach((col, index) => {\r\n if (index === colElLen) return; // 跳过操作按钮\r\n updateColSpan(col, actualSpan);\r\n col.style.display = \"\";\r\n });\r\n\r\n // 第二行最后一个位置的索引(用于收起状态下放置操作按钮)\r\n const lastSlotIndex = cols * DEFAULT_VISIBLE_ROWS - 1;\r\n\r\n // 超过默认显示行数才显示展开/收起按钮\r\n if (colElLen > lastSlotIndex) {\r\n expendBtnVisible.value = true;\r\n\r\n // 收起状态:隐藏第二行最后一格及之后的元素\r\n if (!isExpend.value) {\r\n colEl.forEach((col: any, index) => {\r\n if (index === colElLen) return;\r\n if (index >= lastSlotIndex) {\r\n col.style.display = \"none\";\r\n }\r\n });\r\n // 操作按钮占用第二行最后一格\r\n actionSpan.value = actualSpan;\r\n actionPush.value = 0;\r\n } else {\r\n // 展开状态:操作按钮在最后一行右对齐\r\n const lastRowItems = colElLen % cols;\r\n const lastRowOccupied = lastRowItems === 0 ? gridCount : lastRowItems * actualSpan;\r\n const remainingCols = gridCount - lastRowOccupied;\r\n\r\n if (remainingCols >= actualSpan) {\r\n actionSpan.value = remainingCols;\r\n actionPush.value = 0;\r\n } else {\r\n actionSpan.value = actualSpan;\r\n actionPush.value = gridCount - actualSpan;\r\n }\r\n }\r\n } else {\r\n // 不超过两行:不显示展开按钮,操作按钮在最后一行右对齐\r\n expendBtnVisible.value = false;\r\n\r\n const lastRowItems = colElLen % cols;\r\n const lastRowOccupied = lastRowItems === 0 ? gridCount : lastRowItems * actualSpan;\r\n const remainingCols = gridCount - lastRowOccupied;\r\n\r\n if (remainingCols >= actualSpan) {\r\n actionSpan.value = remainingCols;\r\n actionPush.value = 0;\r\n } else {\r\n actionSpan.value = actualSpan;\r\n actionPush.value = gridCount - actualSpan;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 动态更新 Col 的 span(通过修改 class)\r\n */\r\n function updateColSpan(colEl: HTMLElement, newSpan: number) {\r\n const classList = colEl.classList;\r\n // 移除旧的 ant-col-{span} class\r\n for (let i = classList.length - 1; i >= 0; i--) {\r\n const className = classList[i];\r\n if (className.startsWith(\"ant-col-\") && !className.includes(\"-offset-\") && !className.includes(\"-push-\") && !className.includes(\"-pull-\")) {\r\n const span = parseInt(className.replace(\"ant-col-\", \"\"), 10);\r\n if (!isNaN(span)) {\r\n classList.remove(className);\r\n break;\r\n }\r\n }\r\n }\r\n // 添加新的 span class\r\n classList.add(`ant-col-${newSpan}`);\r\n }\r\n\r\n return {\r\n rowRef,\r\n actionSpan,\r\n actionPush,\r\n currentSpan,\r\n onExpend,\r\n expendBtnVisible,\r\n isExpend\r\n };\r\n }\r\n\r\n return () => (\r\n <div onKeyup={onKeyup}>\r\n <Form\r\n ref={formRef}\r\n colon={false}\r\n labelCol={{ style: { width: props.labelWidth } }}\r\n model={modelValue.value}\r\n >\r\n <Row ref={rowRef}>\r\n {slots.default?.()}\r\n <Col\r\n span={actionSpan.value}\r\n push={actionPush.value}\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"flex-end\",\r\n alignItems: \"flex-start\"\r\n }}\r\n >\r\n <FormItem>\r\n {slots.action\r\n ? slots.action()\r\n : renderAction()}\r\n </FormItem>\r\n </Col>\r\n </Row>\r\n </Form>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["useBreakpoint","Grid","RESPONSIVE_CONFIG","xs","span","colsPerRow","sm","md","lg","xl","xxl","DEFAULT_VISIBLE_ROWS","name","props","scheme","type","Array","Object","default","model","labelWidth","String","loading","Boolean","responsiveConfig","emits","setup","slots","emit","modelValue","formRef","onQuery","onReset","onKeyup","useForm","rowRef","actionSpan","actionPush","currentSpan","onExpend","expendBtnVisible","isExpend","useExpand","renderAction","useRender","ref","watchEffect","value","watch","val","resetFields","event","keyCode","_createVNode","Space","Button","icon","SearchOutlined","ReloadOutlined","DoubleRightOutlined","gridCount","screens","mergedConfig","computed","currentConfig","config","onMounted","updateLayout","nextTick","deep","rowEl","$el","colEl","from","children","colElLen","length","actualSpan","cols","forEach","col","index","updateColSpan","style","display","lastSlotIndex","lastRowItems","lastRowOccupied","remainingCols","newSpan","classList","i","className","startsWith","includes","parseInt","replace","isNaN","remove","add","Form","width","Row","Col","justifyContent","alignItems","FormItem","action"],"mappings":"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"}
@@ -1,6 +1,33 @@
1
+ declare const RESPONSIVE_CONFIG: {
2
+ readonly xs: {
3
+ readonly span: 24;
4
+ readonly colsPerRow: 1;
5
+ };
6
+ readonly sm: {
7
+ readonly span: 12;
8
+ readonly colsPerRow: 2;
9
+ };
10
+ readonly md: {
11
+ readonly span: 8;
12
+ readonly colsPerRow: 3;
13
+ };
14
+ readonly lg: {
15
+ readonly span: 6;
16
+ readonly colsPerRow: 4;
17
+ };
18
+ readonly xl: {
19
+ readonly span: 6;
20
+ readonly colsPerRow: 4;
21
+ };
22
+ readonly xxl: {
23
+ readonly span: 6;
24
+ readonly colsPerRow: 4;
25
+ };
26
+ };
1
27
  /**
2
28
  * 查询表单渲染
3
29
  * 展开,隐藏功能
30
+ * 支持响应式栅格布局
4
31
  */
5
32
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
33
  scheme: {
@@ -19,6 +46,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
19
46
  type: BooleanConstructor;
20
47
  default: boolean;
21
48
  };
49
+ responsiveConfig: {
50
+ type: () => Partial<typeof RESPONSIVE_CONFIG>;
51
+ default: () => {};
52
+ };
22
53
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("query" | "reset")[], "query" | "reset", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
23
54
  scheme: {
24
55
  type: () => any[] | Record<string, any>;
@@ -36,6 +67,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
36
67
  type: BooleanConstructor;
37
68
  default: boolean;
38
69
  };
70
+ responsiveConfig: {
71
+ type: () => Partial<typeof RESPONSIVE_CONFIG>;
72
+ default: () => {};
73
+ };
39
74
  }>> & Readonly<{
40
75
  onQuery?: ((...args: any[]) => any) | undefined;
41
76
  onReset?: ((...args: any[]) => any) | undefined;
@@ -44,6 +79,32 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
44
79
  scheme: any[] | Record<string, any>;
45
80
  model: Record<string, unknown>;
46
81
  labelWidth: string;
82
+ responsiveConfig: Partial<{
83
+ readonly xs: {
84
+ readonly span: 24;
85
+ readonly colsPerRow: 1;
86
+ };
87
+ readonly sm: {
88
+ readonly span: 12;
89
+ readonly colsPerRow: 2;
90
+ };
91
+ readonly md: {
92
+ readonly span: 8;
93
+ readonly colsPerRow: 3;
94
+ };
95
+ readonly lg: {
96
+ readonly span: 6;
97
+ readonly colsPerRow: 4;
98
+ };
99
+ readonly xl: {
100
+ readonly span: 6;
101
+ readonly colsPerRow: 4;
102
+ };
103
+ readonly xxl: {
104
+ readonly span: 6;
105
+ readonly colsPerRow: 4;
106
+ };
107
+ }>;
47
108
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
48
109
  export default _default;
49
110
  //# sourceMappingURL=FormLayout.d.ts.map