bm-admin-ui 1.0.0-alpha → 1.0.3-alpha
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.
- package/es/components/button/index.d.ts +9 -9
- package/es/components/button/index.js +1 -1
- package/es/components/button/src/button.vue.d.ts +9 -9
- package/es/components/float-table/index.d.ts +70 -0
- package/es/components/float-table/index.js +421 -0
- package/es/components/float-table/src/float-table.vue.d.ts +69 -0
- package/es/components/flow-designer/index.js +1 -1
- package/es/components/form-designer/index.js +1 -1
- package/es/components/index.d.ts +7 -0
- package/es/components/index.js +7 -0
- package/es/components/multi-cascader-compose/index.d.ts +164 -0
- package/es/components/multi-cascader-compose/index.js +1710 -0
- package/es/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +164 -0
- package/es/components/multi-cascader-compose/src/props.d.ts +40 -0
- package/es/components/multi-cascader-compose/types.d.ts +10 -0
- package/es/components/over-tooltips/index.d.ts +35 -0
- package/es/components/over-tooltips/index.js +117 -0
- package/es/components/over-tooltips/src/over-tooltips.vue.d.ts +34 -0
- package/es/components/search-filter/index.js +608 -33
- package/es/components/shops-filter/index.d.ts +99 -0
- package/es/components/shops-filter/index.js +1614 -0
- package/es/components/shops-filter/src/shops-filter.d.ts +25 -0
- package/es/components/shops-filter/src/shops-filter.vue.d.ts +98 -0
- package/es/components/staffs-selector/index.d.ts +82 -0
- package/es/components/staffs-selector/index.js +2025 -0
- package/es/components/staffs-selector/src/multipleCmp.vue.d.ts +79 -0
- package/es/components/staffs-selector/src/radioCmp.vue.d.ts +31 -0
- package/es/components/staffs-selector/src/staffs-selector.vue.d.ts +81 -0
- package/es/components/staffs-selector/src/variedCmp.vue.d.ts +62 -0
- package/es/components/timeline/index.d.ts +93 -0
- package/es/components/timeline/index.js +164 -0
- package/es/components/timeline/src/props.d.ts +20 -0
- package/es/components/timeline/src/timeline-item.vue.d.ts +51 -0
- package/es/components/timeline/src/timeline.vue.d.ts +42 -0
- package/es/components/upload/index.d.ts +126 -0
- package/es/components/upload/index.js +1839 -0
- package/es/components/upload/src/icons.d.ts +13 -0
- package/es/components/upload/src/upload.vue.d.ts +125 -0
- package/es/components/upload/utils/index.d.ts +7 -0
- package/es/utils/vxe-table.d.ts +6 -0
- package/es/utils/vxe-table.js +28 -0
- package/index.esm.js +28490 -1856
- package/index.js +28631 -1989
- package/lib/components/button/index.d.ts +9 -9
- package/lib/components/button/index.js +1 -1
- package/lib/components/button/src/button.vue.d.ts +9 -9
- package/lib/components/float-table/index.d.ts +70 -0
- package/lib/components/float-table/index.js +426 -0
- package/lib/components/float-table/src/float-table.vue.d.ts +69 -0
- package/lib/components/flow-designer/index.js +1 -1
- package/lib/components/form-designer/index.js +1 -1
- package/lib/components/index.d.ts +7 -0
- package/lib/components/index.js +49 -0
- package/lib/components/multi-cascader-compose/index.d.ts +164 -0
- package/lib/components/multi-cascader-compose/index.js +1715 -0
- package/lib/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +164 -0
- package/lib/components/multi-cascader-compose/src/props.d.ts +40 -0
- package/lib/components/multi-cascader-compose/types.d.ts +10 -0
- package/lib/components/over-tooltips/index.d.ts +35 -0
- package/lib/components/over-tooltips/index.js +122 -0
- package/lib/components/over-tooltips/src/over-tooltips.vue.d.ts +34 -0
- package/lib/components/search-filter/index.js +607 -32
- package/lib/components/shops-filter/index.d.ts +99 -0
- package/lib/components/shops-filter/index.js +1626 -0
- package/lib/components/shops-filter/src/shops-filter.d.ts +25 -0
- package/lib/components/shops-filter/src/shops-filter.vue.d.ts +98 -0
- package/lib/components/staffs-selector/index.d.ts +82 -0
- package/lib/components/staffs-selector/index.js +2039 -0
- package/lib/components/staffs-selector/src/multipleCmp.vue.d.ts +79 -0
- package/lib/components/staffs-selector/src/radioCmp.vue.d.ts +31 -0
- package/lib/components/staffs-selector/src/staffs-selector.vue.d.ts +81 -0
- package/lib/components/staffs-selector/src/variedCmp.vue.d.ts +62 -0
- package/lib/components/timeline/index.d.ts +93 -0
- package/lib/components/timeline/index.js +170 -0
- package/lib/components/timeline/src/props.d.ts +20 -0
- package/lib/components/timeline/src/timeline-item.vue.d.ts +51 -0
- package/lib/components/timeline/src/timeline.vue.d.ts +42 -0
- package/lib/components/upload/index.d.ts +126 -0
- package/lib/components/upload/index.js +1844 -0
- package/lib/components/upload/src/icons.d.ts +13 -0
- package/lib/components/upload/src/upload.vue.d.ts +125 -0
- package/lib/components/upload/utils/index.d.ts +7 -0
- package/lib/utils/vxe-table.d.ts +6 -0
- package/lib/utils/vxe-table.js +33 -0
- package/package.json +7 -4
- package/theme-chalk/button.css +1 -1
- package/theme-chalk/float-table.css +1 -0
- package/theme-chalk/floating-vue.css +1 -0
- package/theme-chalk/flow-designer.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/multi-cascader-compose.css +1 -0
- package/theme-chalk/over-tooltips.css +1 -0
- package/theme-chalk/search-filter.css +1 -1
- package/theme-chalk/shops-filter.css +1 -0
- package/theme-chalk/staffs-selector.css +1 -0
- package/theme-chalk/timeline.css +1 -0
- package/theme-chalk/upload.css +1 -0
- package/types/components/button/index.d.ts +9 -9
- package/types/components/button/src/button.vue.d.ts +9 -9
- package/types/components/float-table/index.d.ts +70 -0
- package/types/components/float-table/src/float-table.vue.d.ts +69 -0
- package/types/components/index.d.ts +7 -0
- package/types/components/multi-cascader-compose/index.d.ts +164 -0
- package/types/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +164 -0
- package/types/components/multi-cascader-compose/src/props.d.ts +40 -0
- package/types/components/multi-cascader-compose/types.d.ts +10 -0
- package/types/components/over-tooltips/index.d.ts +35 -0
- package/types/components/over-tooltips/src/over-tooltips.vue.d.ts +34 -0
- package/types/components/shops-filter/index.d.ts +99 -0
- package/types/components/shops-filter/src/shops-filter.d.ts +25 -0
- package/types/components/shops-filter/src/shops-filter.vue.d.ts +98 -0
- package/types/components/staffs-selector/index.d.ts +82 -0
- package/types/components/staffs-selector/src/multipleCmp.vue.d.ts +79 -0
- package/types/components/staffs-selector/src/radioCmp.vue.d.ts +31 -0
- package/types/components/staffs-selector/src/staffs-selector.vue.d.ts +81 -0
- package/types/components/staffs-selector/src/variedCmp.vue.d.ts +62 -0
- package/types/components/timeline/index.d.ts +93 -0
- package/types/components/timeline/src/props.d.ts +20 -0
- package/types/components/timeline/src/timeline-item.vue.d.ts +51 -0
- package/types/components/timeline/src/timeline.vue.d.ts +42 -0
- package/types/components/upload/index.d.ts +126 -0
- package/types/components/upload/src/icons.d.ts +13 -0
- package/types/components/upload/src/upload.vue.d.ts +125 -0
- package/types/components/upload/utils/index.d.ts +7 -0
- package/types/utils/vxe-table.d.ts +6 -0
- package/.pnpm-debug.log +0 -16
|
@@ -27,12 +27,12 @@ declare const BmButton: import("bm-admin-ui/es/utils/with-install").SFCWithInsta
|
|
|
27
27
|
$props: Partial<{
|
|
28
28
|
block: boolean;
|
|
29
29
|
disabled: boolean;
|
|
30
|
-
ghost: boolean;
|
|
31
|
-
danger: boolean;
|
|
32
|
-
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
33
30
|
loading: boolean | {
|
|
34
31
|
delay?: number | undefined;
|
|
35
32
|
};
|
|
33
|
+
ghost: boolean;
|
|
34
|
+
danger: boolean;
|
|
35
|
+
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
36
36
|
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
|
|
37
37
|
prefixCls: StringConstructor;
|
|
38
38
|
type: import("vue").PropType<import("ant-design-vue/lib/button").ButtonType>;
|
|
@@ -144,12 +144,12 @@ declare const BmButton: import("bm-admin-ui/es/utils/with-install").SFCWithInsta
|
|
|
144
144
|
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
145
145
|
block: boolean;
|
|
146
146
|
disabled: boolean;
|
|
147
|
-
ghost: boolean;
|
|
148
|
-
danger: boolean;
|
|
149
|
-
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
150
147
|
loading: boolean | {
|
|
151
148
|
delay?: number | undefined;
|
|
152
149
|
};
|
|
150
|
+
ghost: boolean;
|
|
151
|
+
danger: boolean;
|
|
152
|
+
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
153
153
|
}> & {
|
|
154
154
|
beforeCreate?: (() => void) | (() => void)[] | undefined;
|
|
155
155
|
created?: (() => void) | (() => void)[] | undefined;
|
|
@@ -271,12 +271,12 @@ declare const BmButton: import("bm-admin-ui/es/utils/with-install").SFCWithInsta
|
|
|
271
271
|
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
272
272
|
block: boolean;
|
|
273
273
|
disabled: boolean;
|
|
274
|
-
ghost: boolean;
|
|
275
|
-
danger: boolean;
|
|
276
|
-
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
277
274
|
loading: boolean | {
|
|
278
275
|
delay?: number | undefined;
|
|
279
276
|
};
|
|
277
|
+
ghost: boolean;
|
|
278
|
+
danger: boolean;
|
|
279
|
+
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
280
280
|
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin & {
|
|
281
281
|
readonly Group: import("vue").DefineComponent<{
|
|
282
282
|
prefixCls: StringConstructor;
|
|
@@ -42,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
|
-
var Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "
|
|
45
|
+
var Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "button.vue"]]);
|
|
46
46
|
|
|
47
47
|
const BmButton = withInstall(Button);
|
|
48
48
|
|
|
@@ -29,12 +29,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
29
29
|
$props: Partial<{
|
|
30
30
|
block: boolean;
|
|
31
31
|
disabled: boolean;
|
|
32
|
-
ghost: boolean;
|
|
33
|
-
danger: boolean;
|
|
34
|
-
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
35
32
|
loading: boolean | {
|
|
36
33
|
delay?: number | undefined;
|
|
37
34
|
};
|
|
35
|
+
ghost: boolean;
|
|
36
|
+
danger: boolean;
|
|
37
|
+
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
38
38
|
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
|
|
39
39
|
prefixCls: StringConstructor;
|
|
40
40
|
type: import("vue").PropType<ButtonType>;
|
|
@@ -146,12 +146,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
146
146
|
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
147
147
|
block: boolean;
|
|
148
148
|
disabled: boolean;
|
|
149
|
-
ghost: boolean;
|
|
150
|
-
danger: boolean;
|
|
151
|
-
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
152
149
|
loading: boolean | {
|
|
153
150
|
delay?: number | undefined;
|
|
154
151
|
};
|
|
152
|
+
ghost: boolean;
|
|
153
|
+
danger: boolean;
|
|
154
|
+
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
155
155
|
}> & {
|
|
156
156
|
beforeCreate?: (() => void) | (() => void)[] | undefined;
|
|
157
157
|
created?: (() => void) | (() => void)[] | undefined;
|
|
@@ -273,12 +273,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
273
273
|
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
274
274
|
block: boolean;
|
|
275
275
|
disabled: boolean;
|
|
276
|
-
ghost: boolean;
|
|
277
|
-
danger: boolean;
|
|
278
|
-
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
279
276
|
loading: boolean | {
|
|
280
277
|
delay?: number | undefined;
|
|
281
278
|
};
|
|
279
|
+
ghost: boolean;
|
|
280
|
+
danger: boolean;
|
|
281
|
+
htmlType: import("ant-design-vue/lib/button/buttonTypes").ButtonHTMLType;
|
|
282
282
|
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin & {
|
|
283
283
|
readonly Group: import("vue").DefineComponent<{
|
|
284
284
|
prefixCls: StringConstructor;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
declare const BmFloatTable: import("bm-admin-ui/es/utils/with-install").SFCWithInstall<{
|
|
2
|
+
name: string;
|
|
3
|
+
props: {
|
|
4
|
+
config: {
|
|
5
|
+
type: ObjectConstructor;
|
|
6
|
+
required: boolean;
|
|
7
|
+
default: () => {};
|
|
8
|
+
};
|
|
9
|
+
pagerProps: {
|
|
10
|
+
type: ObjectConstructor;
|
|
11
|
+
default: () => {};
|
|
12
|
+
};
|
|
13
|
+
events: {
|
|
14
|
+
type: ObjectConstructor;
|
|
15
|
+
default: () => {};
|
|
16
|
+
};
|
|
17
|
+
isNeedFloatHandle: {
|
|
18
|
+
type: BooleanConstructor;
|
|
19
|
+
default: boolean;
|
|
20
|
+
};
|
|
21
|
+
size: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
default: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
emits: string[];
|
|
27
|
+
setup(props: any, { emit }: {
|
|
28
|
+
emit: any;
|
|
29
|
+
}): {
|
|
30
|
+
setItemRef(el: any, column: any, rowid: any): void;
|
|
31
|
+
leaveFloatTable(): void;
|
|
32
|
+
scrollTo(config?: {}): void;
|
|
33
|
+
pageNoChange(val: any): Promise<void>;
|
|
34
|
+
pageSizeChange(val: any, size: any): Promise<void>;
|
|
35
|
+
floatMouseLeave(): void;
|
|
36
|
+
floatOverMouse(): void;
|
|
37
|
+
goAnimationEndFn(): void;
|
|
38
|
+
scrollNotShowFloat(): void;
|
|
39
|
+
classes: import("vue").ComputedRef<(string | {
|
|
40
|
+
floatHandleTable: any;
|
|
41
|
+
})[]>;
|
|
42
|
+
gridOptions: import("vue").ComputedRef<any>;
|
|
43
|
+
gridEvents: import("vue").ComputedRef<any>;
|
|
44
|
+
pager: import("vue").ComputedRef<any>;
|
|
45
|
+
simpleImage: import("vue").Ref<JSX.Element | (string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
}> | null | undefined) | (string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
}> | null | undefined)[]>;
|
|
50
|
+
floatRefsId: import("vue").Ref<{}>;
|
|
51
|
+
floatId: import("vue").Ref<string>;
|
|
52
|
+
isShowFloatHandle: import("vue").Ref<boolean>;
|
|
53
|
+
atVisible: import("vue").Ref<boolean>;
|
|
54
|
+
goAnimationEnd: import("vue").Ref<boolean>;
|
|
55
|
+
floatPosition: import("vue").Ref<{
|
|
56
|
+
top: string;
|
|
57
|
+
height: string;
|
|
58
|
+
}>;
|
|
59
|
+
trNodes: import("vue").Ref<any>;
|
|
60
|
+
isInScroll: import("vue").Ref<boolean>;
|
|
61
|
+
inMaxScorllX: import("vue").Ref<boolean>;
|
|
62
|
+
floatRow: import("vue").Ref<{}>;
|
|
63
|
+
floatRowIndex: import("vue").Ref<undefined>;
|
|
64
|
+
floatHandleDomCol: import("vue").Ref<any>;
|
|
65
|
+
floatTable: import("vue").Ref<any>;
|
|
66
|
+
xGrid: import("vue").Ref<any>;
|
|
67
|
+
};
|
|
68
|
+
}>;
|
|
69
|
+
export { BmFloatTable };
|
|
70
|
+
export default BmFloatTable;
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
import { withInstall } from 'bm-admin-ui/es/utils/with-install';
|
|
2
|
+
import { ref, onBeforeUnmount, reactive, computed, watch, toRefs, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, mergeProps, toHandlers, createSlots, withCtx, createCommentVNode, createElementVNode, renderList, renderSlot, withDirectives, normalizeStyle, vShow, nextTick } from 'vue';
|
|
3
|
+
import { Empty } from 'ant-design-vue';
|
|
4
|
+
|
|
5
|
+
var _export_sfc = (sfc, props) => {
|
|
6
|
+
const target = sfc.__vccOpts || sfc;
|
|
7
|
+
for (const [key, val] of props) {
|
|
8
|
+
target[key] = val;
|
|
9
|
+
}
|
|
10
|
+
return target;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const _sfc_main = {
|
|
14
|
+
name: "BmFloatTable",
|
|
15
|
+
props: {
|
|
16
|
+
config: {
|
|
17
|
+
type: Object,
|
|
18
|
+
required: true,
|
|
19
|
+
default: () => {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
pagerProps: {
|
|
24
|
+
type: Object,
|
|
25
|
+
default: () => {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
events: {
|
|
30
|
+
type: Object,
|
|
31
|
+
default: () => {
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
isNeedFloatHandle: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: false
|
|
38
|
+
},
|
|
39
|
+
size: {
|
|
40
|
+
type: String,
|
|
41
|
+
default: "middle"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
emits: [
|
|
45
|
+
"radioChange",
|
|
46
|
+
"checkboxChange",
|
|
47
|
+
"checkboxChangeAll",
|
|
48
|
+
"pageChange",
|
|
49
|
+
"pageSizeChange"
|
|
50
|
+
],
|
|
51
|
+
setup(props, { emit }) {
|
|
52
|
+
const floatTable = ref();
|
|
53
|
+
const xGrid = ref();
|
|
54
|
+
onBeforeUnmount(function() {
|
|
55
|
+
inObserverDom && inObserverDom.disconnect();
|
|
56
|
+
scrollNotShowFloatTime && clearTimeout(scrollNotShowFloatTime);
|
|
57
|
+
});
|
|
58
|
+
const state = reactive({
|
|
59
|
+
simpleImage: Empty.PRESENTED_IMAGE_SIMPLE,
|
|
60
|
+
floatRefsId: {},
|
|
61
|
+
floatId: "",
|
|
62
|
+
isShowFloatHandle: true,
|
|
63
|
+
gridOptions: {
|
|
64
|
+
resizable: false,
|
|
65
|
+
border: "default",
|
|
66
|
+
highlightHoverRow: true,
|
|
67
|
+
showOverflow: false,
|
|
68
|
+
showHeaderOverflow: true,
|
|
69
|
+
align: null,
|
|
70
|
+
columns: [],
|
|
71
|
+
tooltipConfig: { leaveDelay: 1e6 },
|
|
72
|
+
data: [],
|
|
73
|
+
pagerConfig: {},
|
|
74
|
+
emptyText: "\u6682\u65E0\u6570\u636E",
|
|
75
|
+
checkboxConfig: {
|
|
76
|
+
reserve: false,
|
|
77
|
+
highlight: computed(function() {
|
|
78
|
+
return props.config.columns.some(function(item) {
|
|
79
|
+
return item.type === "checkbox" || item.type === "checkbox";
|
|
80
|
+
});
|
|
81
|
+
}),
|
|
82
|
+
trigger: "row"
|
|
83
|
+
},
|
|
84
|
+
rowClassName: "tb-row",
|
|
85
|
+
sortConfig: {
|
|
86
|
+
trigger: "cell",
|
|
87
|
+
orders: ["desc", "asc", null]
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
gridEvents: {
|
|
91
|
+
radioChange(val) {
|
|
92
|
+
emit("radioChange", val);
|
|
93
|
+
},
|
|
94
|
+
checkboxChange(val) {
|
|
95
|
+
emit("checkboxChange", val);
|
|
96
|
+
},
|
|
97
|
+
checkboxAll(val) {
|
|
98
|
+
emit("checkboxChangeAll", val);
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
atVisible: false,
|
|
102
|
+
goAnimationEnd: false,
|
|
103
|
+
floatPosition: {
|
|
104
|
+
top: "0",
|
|
105
|
+
height: "0"
|
|
106
|
+
},
|
|
107
|
+
trNodes: [],
|
|
108
|
+
isInScroll: false,
|
|
109
|
+
inMaxScorllX: false,
|
|
110
|
+
floatRow: {},
|
|
111
|
+
floatRowIndex: void 0,
|
|
112
|
+
floatHandleDomCol: null
|
|
113
|
+
});
|
|
114
|
+
const classes = computed(() => {
|
|
115
|
+
return [
|
|
116
|
+
"floatTable",
|
|
117
|
+
"bm-table",
|
|
118
|
+
`table-${props.size}`,
|
|
119
|
+
{
|
|
120
|
+
floatHandleTable: props.isNeedFloatHandle && (!state.atVisible || state.inMaxScorllX) && state.floatHandleDomCol
|
|
121
|
+
}
|
|
122
|
+
];
|
|
123
|
+
});
|
|
124
|
+
const gridOptions = computed(() => {
|
|
125
|
+
return {
|
|
126
|
+
...state.gridOptions,
|
|
127
|
+
...props.config
|
|
128
|
+
};
|
|
129
|
+
});
|
|
130
|
+
let mouseenterCellTime;
|
|
131
|
+
const gridEvents = computed(() => {
|
|
132
|
+
let extraFn = {};
|
|
133
|
+
if (props.isNeedFloatHandle) {
|
|
134
|
+
let propscellMouseenter = props.events.cellMouseenter;
|
|
135
|
+
extraFn.cellMouseenter = (e) => {
|
|
136
|
+
if (props.isNeedFloatHandle) {
|
|
137
|
+
if (state.isInScroll) {
|
|
138
|
+
state.isShowFloatHandle = false;
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (state.inMaxScorllX) {
|
|
142
|
+
state.isShowFloatHandle = false;
|
|
143
|
+
}
|
|
144
|
+
let rowid = e.rowid;
|
|
145
|
+
let row = e.row;
|
|
146
|
+
clearTimeout(mouseenterCellTime);
|
|
147
|
+
mouseenterCellTime = setTimeout(function() {
|
|
148
|
+
if (state.floatId !== rowid) {
|
|
149
|
+
state.goAnimationEnd = false;
|
|
150
|
+
} else {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
state.floatId = rowid;
|
|
154
|
+
state.floatRow = row;
|
|
155
|
+
state.floatRowIndex = e.rowIndex;
|
|
156
|
+
let domEl = state.floatRefsId[rowid];
|
|
157
|
+
let tdDom = domEl && domEl.closest("td");
|
|
158
|
+
if (!tdDom)
|
|
159
|
+
return;
|
|
160
|
+
let clientHeight = tdDom.clientHeight - 1 + "px";
|
|
161
|
+
let trDoms = document.querySelectorAll(`[rowid='${rowid}']`);
|
|
162
|
+
state.trNodes = trDoms;
|
|
163
|
+
let top = e.cell.getBoundingClientRect().top;
|
|
164
|
+
let parentTop = floatTable.value.getBoundingClientRect().top;
|
|
165
|
+
top = top - parentTop + "px";
|
|
166
|
+
state.floatPosition = {
|
|
167
|
+
top,
|
|
168
|
+
height: clientHeight
|
|
169
|
+
};
|
|
170
|
+
if (!state.atVisible && !state.inMaxScorllX) {
|
|
171
|
+
state.isShowFloatHandle = true;
|
|
172
|
+
}
|
|
173
|
+
nextTick(() => {
|
|
174
|
+
let $floatHandle = document.querySelector(".floatHandle");
|
|
175
|
+
if ($floatHandle.clientWidth === 32) {
|
|
176
|
+
$floatHandle.style.padding = 0;
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}, 200);
|
|
180
|
+
}
|
|
181
|
+
propscellMouseenter && propscellMouseenter(e);
|
|
182
|
+
};
|
|
183
|
+
extraFn.scroll = (e) => {
|
|
184
|
+
let propsscroll = props.events.scroll;
|
|
185
|
+
if (e.isY && props.isNeedFloatHandle) {
|
|
186
|
+
methods.scrollNotShowFloat();
|
|
187
|
+
}
|
|
188
|
+
if (e.isX && props.isNeedFloatHandle && state.floatHandleDomCol && gridOptions.value.data && gridOptions.value.data.length > 0) {
|
|
189
|
+
if (e.scrollLeft + e.$event.target.clientWidth >= e.$event.target.scrollWidth - state.floatHandleDomCol.clientWidth) {
|
|
190
|
+
state.inMaxScorllX = true;
|
|
191
|
+
state.isShowFloatHandle = false;
|
|
192
|
+
} else {
|
|
193
|
+
state.inMaxScorllX = false;
|
|
194
|
+
state.isShowFloatHandle = true;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
propsscroll && propsscroll(e);
|
|
198
|
+
};
|
|
199
|
+
extraFn.cellMouseleave = (e) => {
|
|
200
|
+
let propsCellMouseLeave = props.events.cellMouseleave;
|
|
201
|
+
methods.floatMouseLeave();
|
|
202
|
+
propsCellMouseLeave && propsCellMouseLeave(e);
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
return {
|
|
206
|
+
...state.gridEvents,
|
|
207
|
+
...props.events,
|
|
208
|
+
...extraFn
|
|
209
|
+
};
|
|
210
|
+
});
|
|
211
|
+
const pager = computed(() => {
|
|
212
|
+
let pager2 = {
|
|
213
|
+
size: "small",
|
|
214
|
+
showTotal: (total) => `\u5171 ${total} \u6761`,
|
|
215
|
+
showQuickJumper: true,
|
|
216
|
+
showSizeChanger: true,
|
|
217
|
+
current: 1,
|
|
218
|
+
pageSize: 10,
|
|
219
|
+
total: 0,
|
|
220
|
+
hideOnSinglePage: false,
|
|
221
|
+
pageSizeOptions: ["10", "30", "50", "100"]
|
|
222
|
+
};
|
|
223
|
+
return {
|
|
224
|
+
...pager2,
|
|
225
|
+
...props.pagerProps
|
|
226
|
+
};
|
|
227
|
+
});
|
|
228
|
+
let scrollNotShowFloatTime;
|
|
229
|
+
const methods = {
|
|
230
|
+
setItemRef(el, column, rowid) {
|
|
231
|
+
if (!props.isNeedFloatHandle)
|
|
232
|
+
return;
|
|
233
|
+
state.floatRefsId[rowid] = el;
|
|
234
|
+
if (state.floatHandleDomCol)
|
|
235
|
+
return;
|
|
236
|
+
let id = column.id;
|
|
237
|
+
state.floatHandleDomCol = floatTable.value.querySelector(`.vxe-table--header-wrapper .vxe-header--row .${id}`);
|
|
238
|
+
},
|
|
239
|
+
leaveFloatTable() {
|
|
240
|
+
let timer = setTimeout(() => {
|
|
241
|
+
state.isShowFloatHandle = false;
|
|
242
|
+
state.floatId = "";
|
|
243
|
+
clearTimeout(timer);
|
|
244
|
+
}, 210);
|
|
245
|
+
},
|
|
246
|
+
scrollTo(config = {}) {
|
|
247
|
+
config = {
|
|
248
|
+
top: 0,
|
|
249
|
+
...config
|
|
250
|
+
};
|
|
251
|
+
floatTable.value?.querySelectorAll(".vxe-table--body-wrapper")?.forEach((table) => table?.scrollTo?.(config));
|
|
252
|
+
},
|
|
253
|
+
async pageNoChange(val) {
|
|
254
|
+
await emit("pageChange", val);
|
|
255
|
+
methods.scrollTo();
|
|
256
|
+
},
|
|
257
|
+
async pageSizeChange(val, size) {
|
|
258
|
+
await emit("pageSizeChange", size);
|
|
259
|
+
methods.scrollTo();
|
|
260
|
+
},
|
|
261
|
+
floatMouseLeave() {
|
|
262
|
+
if (!state.trNodes || state.trNodes?.length === 0)
|
|
263
|
+
return;
|
|
264
|
+
state.trNodes.forEach((item) => {
|
|
265
|
+
if (item && item.className.includes("floatHoverTr")) {
|
|
266
|
+
item.className = `${item.className.replace(/floatHoverTr/g, "")}`;
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
},
|
|
270
|
+
floatOverMouse() {
|
|
271
|
+
if (!state.trNodes || state.trNodes?.length === 0)
|
|
272
|
+
return;
|
|
273
|
+
state.trNodes.forEach((item) => {
|
|
274
|
+
if (item && !item.className.includes("floatHoverTr")) {
|
|
275
|
+
item.className = `${item.className} floatHoverTr`;
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
},
|
|
279
|
+
goAnimationEndFn() {
|
|
280
|
+
state.goAnimationEnd = true;
|
|
281
|
+
},
|
|
282
|
+
scrollNotShowFloat() {
|
|
283
|
+
state.isInScroll = true;
|
|
284
|
+
state.isShowFloatHandle = false;
|
|
285
|
+
clearTimeout(scrollNotShowFloatTime);
|
|
286
|
+
if (!state.atVisible) {
|
|
287
|
+
scrollNotShowFloatTime = setTimeout(function() {
|
|
288
|
+
state.isInScroll = false;
|
|
289
|
+
}, 300);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
let inObserverDom;
|
|
294
|
+
let isHasOver;
|
|
295
|
+
let closeSetRow;
|
|
296
|
+
let headerWrapper;
|
|
297
|
+
if (props.isNeedFloatHandle) {
|
|
298
|
+
inObserverDom = new IntersectionObserver((entries) => {
|
|
299
|
+
entries.forEach((item) => {
|
|
300
|
+
if (item.intersectionRatio > 0.1) {
|
|
301
|
+
closeSetRow = closeSetRow || item.target.closest(".vxe-header--row");
|
|
302
|
+
headerWrapper = headerWrapper || item.target.closest(".vxe-table--header-wrapper");
|
|
303
|
+
if (closeSetRow.clientWidth <= headerWrapper.clientWidth && !isHasOver) {
|
|
304
|
+
inObserverDom.disconnect();
|
|
305
|
+
} else {
|
|
306
|
+
isHasOver = true;
|
|
307
|
+
}
|
|
308
|
+
state.isShowFloatHandle = false;
|
|
309
|
+
state.atVisible = true;
|
|
310
|
+
} else {
|
|
311
|
+
if (gridOptions.value.data && gridOptions.value.data.length > 0) {
|
|
312
|
+
state.goAnimationEnd = false;
|
|
313
|
+
state.isShowFloatHandle = true;
|
|
314
|
+
state.atVisible = false;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
}, {
|
|
319
|
+
threshold: 0.1
|
|
320
|
+
});
|
|
321
|
+
watch(() => state.floatHandleDomCol, function(col) {
|
|
322
|
+
if (col) {
|
|
323
|
+
inObserverDom.observe(col);
|
|
324
|
+
}
|
|
325
|
+
}, {
|
|
326
|
+
immediate: true
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
return {
|
|
330
|
+
floatTable,
|
|
331
|
+
xGrid,
|
|
332
|
+
...toRefs(state),
|
|
333
|
+
classes,
|
|
334
|
+
gridOptions,
|
|
335
|
+
gridEvents,
|
|
336
|
+
pager,
|
|
337
|
+
...methods
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
const _hoisted_1 = {
|
|
342
|
+
key: 0,
|
|
343
|
+
class: "floatPager"
|
|
344
|
+
};
|
|
345
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
346
|
+
const _component_a_pagination = resolveComponent("a-pagination");
|
|
347
|
+
const _component_a_empty = resolveComponent("a-empty");
|
|
348
|
+
const _component_vxe_grid = resolveComponent("vxe-grid");
|
|
349
|
+
return openBlock(), createElementBlock("div", {
|
|
350
|
+
ref: "floatTable",
|
|
351
|
+
class: normalizeClass($setup.classes),
|
|
352
|
+
onMouseleave: _cache[3] || (_cache[3] = (...args) => _ctx.leaveFloatTable && _ctx.leaveFloatTable(...args))
|
|
353
|
+
}, [
|
|
354
|
+
createVNode(_component_vxe_grid, mergeProps({ ref: "xGrid" }, $setup.gridOptions, toHandlers($setup.gridEvents)), createSlots({
|
|
355
|
+
pager: withCtx(() => [
|
|
356
|
+
$setup.pager.total && !$setup.pager.hideOnSinglePage ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
357
|
+
createVNode(_component_a_pagination, mergeProps($setup.pager, {
|
|
358
|
+
onChange: _ctx.pageNoChange,
|
|
359
|
+
onShowSizeChange: _ctx.pageSizeChange
|
|
360
|
+
}), null, 16, ["onChange", "onShowSizeChange"])
|
|
361
|
+
])) : createCommentVNode("v-if", true)
|
|
362
|
+
]),
|
|
363
|
+
empty: withCtx(() => [
|
|
364
|
+
createElementVNode("div", null, [
|
|
365
|
+
createVNode(_component_a_empty, { image: _ctx.simpleImage }, null, 8, ["image"])
|
|
366
|
+
])
|
|
367
|
+
]),
|
|
368
|
+
_: 2
|
|
369
|
+
}, [
|
|
370
|
+
renderList(_ctx.$slots, (slot, key) => {
|
|
371
|
+
return {
|
|
372
|
+
name: key,
|
|
373
|
+
fn: withCtx((data) => [
|
|
374
|
+
key !== "floatHandle" ? renderSlot(_ctx.$slots, key, {
|
|
375
|
+
key: 0,
|
|
376
|
+
rowIndex: data.rowIndex,
|
|
377
|
+
row: data.row,
|
|
378
|
+
column: data.column
|
|
379
|
+
}) : (openBlock(), createElementBlock("div", {
|
|
380
|
+
key: 1,
|
|
381
|
+
ref: (el) => _ctx.setItemRef(el, data.column, data.rowid)
|
|
382
|
+
}, [
|
|
383
|
+
renderSlot(_ctx.$slots, "floatHandle", {
|
|
384
|
+
row: data.row,
|
|
385
|
+
rowIndex: data.rowIndex,
|
|
386
|
+
column: data.column
|
|
387
|
+
})
|
|
388
|
+
], 512))
|
|
389
|
+
])
|
|
390
|
+
};
|
|
391
|
+
})
|
|
392
|
+
]), 1040),
|
|
393
|
+
withDirectives(createElementVNode("div", {
|
|
394
|
+
ref: "floatHandle",
|
|
395
|
+
class: normalizeClass(["floatHandle", {
|
|
396
|
+
floatRightIn: _ctx.isShowFloatHandle && !_ctx.goAnimationEnd
|
|
397
|
+
}]),
|
|
398
|
+
style: normalizeStyle({
|
|
399
|
+
top: _ctx.floatPosition?.top,
|
|
400
|
+
height: _ctx.floatPosition?.height
|
|
401
|
+
}),
|
|
402
|
+
onAnimationend: _cache[0] || (_cache[0] = (...args) => _ctx.goAnimationEndFn && _ctx.goAnimationEndFn(...args)),
|
|
403
|
+
onMouseenter: _cache[1] || (_cache[1] = (...args) => _ctx.floatOverMouse && _ctx.floatOverMouse(...args)),
|
|
404
|
+
onMouseleave: _cache[2] || (_cache[2] = (...args) => _ctx.floatMouseLeave && _ctx.floatMouseLeave(...args))
|
|
405
|
+
}, [
|
|
406
|
+
createElementVNode("div", null, [
|
|
407
|
+
renderSlot(_ctx.$slots, "floatHandle", {
|
|
408
|
+
row: _ctx.floatRow,
|
|
409
|
+
rowIndex: _ctx.floatRowIndex
|
|
410
|
+
})
|
|
411
|
+
])
|
|
412
|
+
], 38), [
|
|
413
|
+
[vShow, _ctx.floatPosition?.top && $props.isNeedFloatHandle && _ctx.isShowFloatHandle]
|
|
414
|
+
])
|
|
415
|
+
], 34);
|
|
416
|
+
}
|
|
417
|
+
var FloatTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "float-table.vue"]]);
|
|
418
|
+
|
|
419
|
+
const BmFloatTable = withInstall(FloatTable);
|
|
420
|
+
|
|
421
|
+
export { BmFloatTable, BmFloatTable as default };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
name: string;
|
|
3
|
+
props: {
|
|
4
|
+
config: {
|
|
5
|
+
type: ObjectConstructor;
|
|
6
|
+
required: boolean;
|
|
7
|
+
default: () => {};
|
|
8
|
+
};
|
|
9
|
+
pagerProps: {
|
|
10
|
+
type: ObjectConstructor;
|
|
11
|
+
default: () => {};
|
|
12
|
+
};
|
|
13
|
+
events: {
|
|
14
|
+
type: ObjectConstructor;
|
|
15
|
+
default: () => {};
|
|
16
|
+
};
|
|
17
|
+
isNeedFloatHandle: {
|
|
18
|
+
type: BooleanConstructor;
|
|
19
|
+
default: boolean;
|
|
20
|
+
};
|
|
21
|
+
size: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
default: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
emits: string[];
|
|
27
|
+
setup(props: any, { emit }: {
|
|
28
|
+
emit: any;
|
|
29
|
+
}): {
|
|
30
|
+
setItemRef(el: any, column: any, rowid: any): void;
|
|
31
|
+
leaveFloatTable(): void;
|
|
32
|
+
scrollTo(config?: {}): void;
|
|
33
|
+
pageNoChange(val: any): Promise<void>;
|
|
34
|
+
pageSizeChange(val: any, size: any): Promise<void>;
|
|
35
|
+
floatMouseLeave(): void;
|
|
36
|
+
floatOverMouse(): void;
|
|
37
|
+
goAnimationEndFn(): void;
|
|
38
|
+
scrollNotShowFloat(): void;
|
|
39
|
+
classes: import("vue").ComputedRef<(string | {
|
|
40
|
+
floatHandleTable: any;
|
|
41
|
+
})[]>;
|
|
42
|
+
gridOptions: import("vue").ComputedRef<any>;
|
|
43
|
+
gridEvents: import("vue").ComputedRef<any>;
|
|
44
|
+
pager: import("vue").ComputedRef<any>;
|
|
45
|
+
simpleImage: import("vue").Ref<JSX.Element | (string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
}> | null | undefined) | (string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
}> | null | undefined)[]>;
|
|
50
|
+
floatRefsId: import("vue").Ref<{}>;
|
|
51
|
+
floatId: import("vue").Ref<string>;
|
|
52
|
+
isShowFloatHandle: import("vue").Ref<boolean>;
|
|
53
|
+
atVisible: import("vue").Ref<boolean>;
|
|
54
|
+
goAnimationEnd: import("vue").Ref<boolean>;
|
|
55
|
+
floatPosition: import("vue").Ref<{
|
|
56
|
+
top: string;
|
|
57
|
+
height: string;
|
|
58
|
+
}>;
|
|
59
|
+
trNodes: import("vue").Ref<any>;
|
|
60
|
+
isInScroll: import("vue").Ref<boolean>;
|
|
61
|
+
inMaxScorllX: import("vue").Ref<boolean>;
|
|
62
|
+
floatRow: import("vue").Ref<{}>;
|
|
63
|
+
floatRowIndex: import("vue").Ref<undefined>;
|
|
64
|
+
floatHandleDomCol: import("vue").Ref<any>;
|
|
65
|
+
floatTable: import("vue").Ref<any>;
|
|
66
|
+
xGrid: import("vue").Ref<any>;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export default _default;
|
|
@@ -37,7 +37,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
|
-
var FlowDesigner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "
|
|
40
|
+
var FlowDesigner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "flow-designer.vue"]]);
|
|
41
41
|
|
|
42
42
|
const BmFlowDesigner = withInstall(FlowDesigner);
|
|
43
43
|
|
|
@@ -28,7 +28,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
|
-
var FormDesigner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "
|
|
31
|
+
var FormDesigner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "form-designer.vue"]]);
|
|
32
32
|
|
|
33
33
|
const BmFormDesigner = withInstall(FormDesigner);
|
|
34
34
|
|