bm-admin-ui 1.0.82-alpha → 1.0.83-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/attachment/index.js +273 -0
- package/es/components/breadcrumb/index.js +158 -0
- package/es/components/button/index.js +49 -0
- package/es/components/edit-form/index.js +1186 -0
- package/es/components/editor/index.js +12554 -0
- package/es/components/feedback/index.js +295 -0
- package/es/components/float-table/index.js +3511 -0
- package/es/components/flow-designer/index.js +1317 -0
- package/es/components/form-create/index.js +20978 -0
- package/es/components/form-designer/index.js +4514 -0
- package/es/components/index.js +19 -0
- package/es/components/input-tags-display/index.js +226 -0
- package/es/components/over-tooltips/index.js +133 -0
- package/es/components/search-filter/index.js +441 -0
- package/es/components/select-all/index.js +165 -0
- package/es/components/shops-filter/index.js +453 -0
- package/es/components/staffs-selector/index.js +728 -0
- package/es/components/timeline/index.js +168 -0
- package/es/components/upload/index.js +909 -0
- package/es/components/videoView/index.js +100 -0
- package/lib/components/attachment/index.js +278 -0
- package/lib/components/breadcrumb/index.js +168 -0
- package/lib/components/button/index.js +58 -0
- package/lib/components/edit-form/index.js +1195 -0
- package/lib/components/editor/index.js +12559 -0
- package/lib/components/feedback/index.js +309 -0
- package/lib/components/float-table/index.js +3516 -0
- package/lib/components/flow-designer/index.js +1329 -0
- package/lib/components/form-create/index.js +20990 -0
- package/lib/components/form-designer/index.js +4525 -0
- package/lib/components/index.js +140 -0
- package/lib/components/input-tags-display/index.js +237 -0
- package/lib/components/over-tooltips/index.js +138 -0
- package/lib/components/search-filter/index.js +451 -0
- package/lib/components/select-all/index.js +174 -0
- package/lib/components/shops-filter/index.js +465 -0
- package/lib/components/staffs-selector/index.js +733 -0
- package/lib/components/timeline/index.js +174 -0
- package/lib/components/upload/index.js +914 -0
- package/lib/components/videoView/index.js +105 -0
- package/package.json +1 -1
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { withInstall } from 'bm-admin-ui/es/utils/with-install';
|
|
2
|
+
import { reactive, onBeforeUnmount, ref, watch, nextTick, toRefs, resolveComponent, openBlock, createBlock, withCtx, renderSlot, createElementVNode, normalizeStyle, normalizeClass, createTextVNode, toDisplayString, defineComponent, computed, createElementBlock, Fragment, createVNode, unref, createCommentVNode } from 'vue';
|
|
3
|
+
import { DownloadOutlined, EyeOutlined } from '@ant-design/icons-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$1 = {
|
|
14
|
+
name: "BmOverTooltips",
|
|
15
|
+
props: {
|
|
16
|
+
title: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: void 0
|
|
19
|
+
},
|
|
20
|
+
labelTitle: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: void 0
|
|
23
|
+
},
|
|
24
|
+
line: {
|
|
25
|
+
type: Number,
|
|
26
|
+
default: 1
|
|
27
|
+
},
|
|
28
|
+
width: {
|
|
29
|
+
type: [Number, String],
|
|
30
|
+
default: 0
|
|
31
|
+
},
|
|
32
|
+
showAlways: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
setup(props, context) {
|
|
38
|
+
const state = reactive({
|
|
39
|
+
mSlots: {},
|
|
40
|
+
isShow: false,
|
|
41
|
+
openShow: false
|
|
42
|
+
});
|
|
43
|
+
const observer = new IntersectionObserver(
|
|
44
|
+
(entries) => {
|
|
45
|
+
entries.forEach((item) => {
|
|
46
|
+
if (item.intersectionRatio > 0.3) {
|
|
47
|
+
observerDom();
|
|
48
|
+
observer.disconnect();
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
threshold: 0.3
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
function observerDom() {
|
|
57
|
+
if (props.line === 1) {
|
|
58
|
+
if (mySelf.value.scrollWidth > mySelf.value.clientWidth) {
|
|
59
|
+
state.openShow = true;
|
|
60
|
+
}
|
|
61
|
+
} else if (props.line > 1) {
|
|
62
|
+
if (mySelf.value.scrollHeight > mySelf.value.clientHeight) {
|
|
63
|
+
state.openShow = true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
onBeforeUnmount(function() {
|
|
68
|
+
observer.disconnect();
|
|
69
|
+
});
|
|
70
|
+
let mySelf = ref();
|
|
71
|
+
watch(
|
|
72
|
+
() => props.showAlways,
|
|
73
|
+
function(showAlways) {
|
|
74
|
+
if (showAlways)
|
|
75
|
+
state.openShow = showAlways;
|
|
76
|
+
mySelf.value && observer.unobserve(mySelf.value);
|
|
77
|
+
nextTick(function() {
|
|
78
|
+
mySelf.value && observer.observe(mySelf.value);
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
immediate: true
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
const handleVisibleChange = (val) => {
|
|
86
|
+
state.isShow = !state.openShow ? false : val;
|
|
87
|
+
};
|
|
88
|
+
const getPopupContainer = () => {
|
|
89
|
+
return document.body;
|
|
90
|
+
};
|
|
91
|
+
return {
|
|
92
|
+
...toRefs(state),
|
|
93
|
+
mySelf,
|
|
94
|
+
handleVisibleChange,
|
|
95
|
+
getPopupContainer
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
100
|
+
const _component_a_tooltip = resolveComponent("a-tooltip");
|
|
101
|
+
return openBlock(), createBlock(_component_a_tooltip, {
|
|
102
|
+
visible: _ctx.isShow,
|
|
103
|
+
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => _ctx.isShow = $event),
|
|
104
|
+
title: $props.labelTitle || $props.title,
|
|
105
|
+
"get-popup-container": $setup.getPopupContainer,
|
|
106
|
+
onVisibleChange: $setup.handleVisibleChange
|
|
107
|
+
}, {
|
|
108
|
+
title: withCtx(() => [
|
|
109
|
+
renderSlot(_ctx.$slots, "title")
|
|
110
|
+
]),
|
|
111
|
+
default: withCtx(() => [
|
|
112
|
+
createElementVNode("div", {
|
|
113
|
+
ref: "mySelf",
|
|
114
|
+
style: normalizeStyle({
|
|
115
|
+
width: $props.width ? $props.width + "px" : "100%",
|
|
116
|
+
WebkitLineClamp: $props.line
|
|
117
|
+
}),
|
|
118
|
+
class: normalizeClass($props.line === 1 ? `bm-over-tooltip` : `bm-over-tooltip-multi`)
|
|
119
|
+
}, [
|
|
120
|
+
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
121
|
+
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
122
|
+
createTextVNode(toDisplayString($props.title), 1)
|
|
123
|
+
])
|
|
124
|
+
])
|
|
125
|
+
], 6)
|
|
126
|
+
]),
|
|
127
|
+
_: 3
|
|
128
|
+
}, 8, ["visible", "title", "get-popup-container", "onVisibleChange"]);
|
|
129
|
+
}
|
|
130
|
+
var OverTooltips = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__file", "over-tooltips.vue"]]);
|
|
131
|
+
|
|
132
|
+
const BmOverTooltips = withInstall(OverTooltips);
|
|
133
|
+
var BmOverTooltips$1 = BmOverTooltips;
|
|
134
|
+
|
|
135
|
+
const _hoisted_1 = { class: "file_block" };
|
|
136
|
+
const _hoisted_2 = { class: "file_name" };
|
|
137
|
+
const _hoisted_3 = { class: "file_info" };
|
|
138
|
+
const _hoisted_4 = { class: "icon_text" };
|
|
139
|
+
const _hoisted_5 = /* @__PURE__ */ createElementVNode("span", { class: "icon_text" }, "\u5728\u7EBF\u67E5\u770B", -1);
|
|
140
|
+
const __default__ = {
|
|
141
|
+
name: "BmAttachment"
|
|
142
|
+
};
|
|
143
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
144
|
+
...__default__,
|
|
145
|
+
props: {
|
|
146
|
+
file: {
|
|
147
|
+
type: Object,
|
|
148
|
+
default: () => {
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
emits: ["preview", "download"],
|
|
153
|
+
setup(__props, { emit }) {
|
|
154
|
+
const props = __props;
|
|
155
|
+
const visible = ref(false);
|
|
156
|
+
const data = reactive({
|
|
157
|
+
fileType: computed(() => {
|
|
158
|
+
const getFileType = (file) => {
|
|
159
|
+
const index = file.lastIndexOf(".");
|
|
160
|
+
return file.substr(index + 1);
|
|
161
|
+
};
|
|
162
|
+
return getFileType(props.file.fileName);
|
|
163
|
+
}),
|
|
164
|
+
nonsupportPreview: computed(() => {
|
|
165
|
+
return ["zip", "rar"].includes(data.fileType);
|
|
166
|
+
}),
|
|
167
|
+
pictureFileTypes: [
|
|
168
|
+
"img",
|
|
169
|
+
"image",
|
|
170
|
+
"png",
|
|
171
|
+
"PNG",
|
|
172
|
+
"image/png",
|
|
173
|
+
"jpg",
|
|
174
|
+
"JPG",
|
|
175
|
+
"jpeg",
|
|
176
|
+
"JPEG",
|
|
177
|
+
"image/jpeg",
|
|
178
|
+
"gif",
|
|
179
|
+
"GIF",
|
|
180
|
+
"image/gif"
|
|
181
|
+
],
|
|
182
|
+
openViewImage: ""
|
|
183
|
+
});
|
|
184
|
+
const renderSize = (size) => {
|
|
185
|
+
const pow1024 = (num) => {
|
|
186
|
+
return Math.pow(1024, num);
|
|
187
|
+
};
|
|
188
|
+
if (!size)
|
|
189
|
+
return "0KB";
|
|
190
|
+
if (size < pow1024(1))
|
|
191
|
+
return `${size.toFixed(2)}KB`;
|
|
192
|
+
if (size < pow1024(2))
|
|
193
|
+
return `${(size / pow1024(1)).toFixed(2)}MB`;
|
|
194
|
+
if (size < pow1024(3))
|
|
195
|
+
return `${(size / pow1024(2)).toFixed(2)}GB`;
|
|
196
|
+
return `${(size / pow1024(3)).toFixed(2)}TB`;
|
|
197
|
+
};
|
|
198
|
+
const setVisible = (value) => {
|
|
199
|
+
visible.value = value;
|
|
200
|
+
};
|
|
201
|
+
const preview = (item) => {
|
|
202
|
+
if (data.pictureFileTypes.indexOf(data.fileType) > -1) {
|
|
203
|
+
setVisible(true);
|
|
204
|
+
data.openViewImage = item.filePath;
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
window.open(item.filePath);
|
|
208
|
+
};
|
|
209
|
+
const download = (item) => {
|
|
210
|
+
emit("download", { file: item });
|
|
211
|
+
};
|
|
212
|
+
return (_ctx, _cache) => {
|
|
213
|
+
const _component_a_image = resolveComponent("a-image");
|
|
214
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
215
|
+
createElementVNode("div", _hoisted_1, [
|
|
216
|
+
createElementVNode("i", {
|
|
217
|
+
class: normalizeClass({
|
|
218
|
+
file_icon: true,
|
|
219
|
+
icon_excel: data.fileType === "xlsx",
|
|
220
|
+
icon_ppt: ["ppt", "pptx"].indexOf(data.fileType) > -1,
|
|
221
|
+
icon_word: ["docx", "doc"].indexOf(data.fileType) > -1,
|
|
222
|
+
icon_image: ["png", "jpg", "jpeg", "gif"].indexOf(data.fileType) > -1,
|
|
223
|
+
icon_video: data.fileType === "mp4",
|
|
224
|
+
icon_pdf: data.fileType === "pdf",
|
|
225
|
+
icon_compress: ["rar", "zip"].indexOf(data.fileType) > -1,
|
|
226
|
+
icon_others: true
|
|
227
|
+
})
|
|
228
|
+
}, null, 2),
|
|
229
|
+
createElementVNode("div", null, [
|
|
230
|
+
createElementVNode("div", _hoisted_2, [
|
|
231
|
+
createVNode(unref(BmOverTooltips$1), {
|
|
232
|
+
placement: "topLeft",
|
|
233
|
+
title: __props.file.fileName || ""
|
|
234
|
+
}, null, 8, ["title"])
|
|
235
|
+
]),
|
|
236
|
+
createElementVNode("div", _hoisted_3, [
|
|
237
|
+
__props.file.isAllowDownload ? (openBlock(), createElementBlock("div", {
|
|
238
|
+
key: 0,
|
|
239
|
+
class: "file_size",
|
|
240
|
+
onClick: download
|
|
241
|
+
}, [
|
|
242
|
+
createVNode(unref(DownloadOutlined)),
|
|
243
|
+
createTextVNode(),
|
|
244
|
+
createElementVNode("span", _hoisted_4, toDisplayString(renderSize(__props.file.fileSize)), 1)
|
|
245
|
+
])) : createCommentVNode("v-if", true),
|
|
246
|
+
!data.nonsupportPreview ? (openBlock(), createElementBlock("div", {
|
|
247
|
+
key: 1,
|
|
248
|
+
class: "file_preview",
|
|
249
|
+
onClick: _cache[0] || (_cache[0] = ($event) => preview(__props.file))
|
|
250
|
+
}, [
|
|
251
|
+
createVNode(unref(EyeOutlined)),
|
|
252
|
+
_hoisted_5
|
|
253
|
+
])) : createCommentVNode("v-if", true)
|
|
254
|
+
])
|
|
255
|
+
])
|
|
256
|
+
]),
|
|
257
|
+
createVNode(_component_a_image, {
|
|
258
|
+
style: { display: "none" },
|
|
259
|
+
preview: {
|
|
260
|
+
visible: visible.value,
|
|
261
|
+
onVisibleChange: setVisible
|
|
262
|
+
},
|
|
263
|
+
src: data.openViewImage
|
|
264
|
+
}, null, 8, ["preview", "src"])
|
|
265
|
+
], 64);
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
var Attachment = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "attachment.vue"]]);
|
|
270
|
+
|
|
271
|
+
const BmAttachment = withInstall(Attachment);
|
|
272
|
+
|
|
273
|
+
export { BmAttachment, BmAttachment as default };
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { withInstall } from 'bm-admin-ui/es/utils/with-install';
|
|
2
|
+
import { inject, defineComponent, openBlock, createBlock, unref, withCtx, createElementBlock, Fragment, renderList, toDisplayString } from 'vue';
|
|
3
|
+
import ABreadcrumb from 'ant-design-vue/lib/breadcrumb';
|
|
4
|
+
import ABreadcrumbItem from 'ant-design-vue/lib/breadcrumb/BreadcrumbItem';
|
|
5
|
+
import '@vue/devtools-api';
|
|
6
|
+
|
|
7
|
+
/*!
|
|
8
|
+
* vue-router v4.1.6
|
|
9
|
+
* (c) 2022 Eduardo San Martin Morote
|
|
10
|
+
* @license MIT
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
var NavigationType;
|
|
14
|
+
(function (NavigationType) {
|
|
15
|
+
NavigationType["pop"] = "pop";
|
|
16
|
+
NavigationType["push"] = "push";
|
|
17
|
+
})(NavigationType || (NavigationType = {}));
|
|
18
|
+
var NavigationDirection;
|
|
19
|
+
(function (NavigationDirection) {
|
|
20
|
+
NavigationDirection["back"] = "back";
|
|
21
|
+
NavigationDirection["forward"] = "forward";
|
|
22
|
+
NavigationDirection["unknown"] = "";
|
|
23
|
+
})(NavigationDirection || (NavigationDirection = {}));
|
|
24
|
+
|
|
25
|
+
Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');
|
|
26
|
+
/**
|
|
27
|
+
* Enumeration with all possible types for navigation failures. Can be passed to
|
|
28
|
+
* {@link isNavigationFailure} to check for specific failures.
|
|
29
|
+
*/
|
|
30
|
+
var NavigationFailureType;
|
|
31
|
+
(function (NavigationFailureType) {
|
|
32
|
+
/**
|
|
33
|
+
* An aborted navigation is a navigation that failed because a navigation
|
|
34
|
+
* guard returned `false` or called `next(false)`
|
|
35
|
+
*/
|
|
36
|
+
NavigationFailureType[NavigationFailureType["aborted"] = 4] = "aborted";
|
|
37
|
+
/**
|
|
38
|
+
* A cancelled navigation is a navigation that failed because a more recent
|
|
39
|
+
* navigation finished started (not necessarily finished).
|
|
40
|
+
*/
|
|
41
|
+
NavigationFailureType[NavigationFailureType["cancelled"] = 8] = "cancelled";
|
|
42
|
+
/**
|
|
43
|
+
* A duplicated navigation is a navigation that failed because it was
|
|
44
|
+
* initiated while already being at the exact same location.
|
|
45
|
+
*/
|
|
46
|
+
NavigationFailureType[NavigationFailureType["duplicated"] = 16] = "duplicated";
|
|
47
|
+
})(NavigationFailureType || (NavigationFailureType = {}));
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* RouteRecord being rendered by the closest ancestor Router View. Used for
|
|
51
|
+
* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View
|
|
52
|
+
* Location Matched
|
|
53
|
+
*
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');
|
|
57
|
+
/**
|
|
58
|
+
* Allows overriding the router view depth to control which component in
|
|
59
|
+
* `matched` is rendered. rvd stands for Router View Depth
|
|
60
|
+
*
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');
|
|
64
|
+
/**
|
|
65
|
+
* Allows overriding the router instance returned by `useRouter` in tests. r
|
|
66
|
+
* stands for router
|
|
67
|
+
*
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
const routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');
|
|
71
|
+
/**
|
|
72
|
+
* Allows overriding the current route returned by `useRoute` in tests. rl
|
|
73
|
+
* stands for route location
|
|
74
|
+
*
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');
|
|
78
|
+
/**
|
|
79
|
+
* Allows overriding the current route used by router-view. Internally this is
|
|
80
|
+
* used when the `route` prop is passed.
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Returns the router instance. Equivalent to using `$router` inside
|
|
88
|
+
* templates.
|
|
89
|
+
*/
|
|
90
|
+
function useRouter() {
|
|
91
|
+
return inject(routerKey);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
var _export_sfc = (sfc, props) => {
|
|
95
|
+
const target = sfc.__vccOpts || sfc;
|
|
96
|
+
for (const [key, val] of props) {
|
|
97
|
+
target[key] = val;
|
|
98
|
+
}
|
|
99
|
+
return target;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
const _hoisted_1 = ["onClick"];
|
|
103
|
+
const _hoisted_2 = {
|
|
104
|
+
key: 1,
|
|
105
|
+
class: "link"
|
|
106
|
+
};
|
|
107
|
+
const __default__ = {
|
|
108
|
+
name: "BmBreadcrumb"
|
|
109
|
+
};
|
|
110
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
111
|
+
...__default__,
|
|
112
|
+
props: {
|
|
113
|
+
path: {
|
|
114
|
+
type: Array,
|
|
115
|
+
required: true
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
emits: ["back"],
|
|
119
|
+
setup(__props, { emit }) {
|
|
120
|
+
const props = __props;
|
|
121
|
+
const router = useRouter();
|
|
122
|
+
const handleJump = (path, backFn) => {
|
|
123
|
+
console.log(path);
|
|
124
|
+
if (!path)
|
|
125
|
+
return;
|
|
126
|
+
if (backFn)
|
|
127
|
+
return emit("back", path);
|
|
128
|
+
console.log(path);
|
|
129
|
+
router.push(path);
|
|
130
|
+
};
|
|
131
|
+
return (_ctx, _cache) => {
|
|
132
|
+
return openBlock(), createBlock(unref(ABreadcrumb), { class: "breadcrumb" }, {
|
|
133
|
+
default: withCtx(() => [
|
|
134
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(props.path, (item, index) => {
|
|
135
|
+
return openBlock(), createBlock(unref(ABreadcrumbItem), {
|
|
136
|
+
key: item.url
|
|
137
|
+
}, {
|
|
138
|
+
default: withCtx(() => [
|
|
139
|
+
index < __props.path.length - 1 ? (openBlock(), createElementBlock("span", {
|
|
140
|
+
key: 0,
|
|
141
|
+
class: "link",
|
|
142
|
+
onClick: ($event) => handleJump(item.url, item.backFn)
|
|
143
|
+
}, toDisplayString(item.name), 9, _hoisted_1)) : (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(item.name), 1))
|
|
144
|
+
]),
|
|
145
|
+
_: 2
|
|
146
|
+
}, 1024);
|
|
147
|
+
}), 128))
|
|
148
|
+
]),
|
|
149
|
+
_: 1
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
var Breadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "breadcrumb.vue"]]);
|
|
155
|
+
|
|
156
|
+
const BmBreadcrumb = withInstall(Breadcrumb);
|
|
157
|
+
|
|
158
|
+
export { BmBreadcrumb, BmBreadcrumb as default };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { withInstall } from 'bm-admin-ui/es/utils/with-install';
|
|
2
|
+
import { defineComponent, openBlock, createBlock, unref, withCtx, renderSlot } from 'vue';
|
|
3
|
+
import AButton from 'ant-design-vue/lib/button';
|
|
4
|
+
|
|
5
|
+
const buttonProps = {
|
|
6
|
+
size: {
|
|
7
|
+
type: String,
|
|
8
|
+
default: 'middle',
|
|
9
|
+
},
|
|
10
|
+
type: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: 'bm-primary',
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
var _export_sfc = (sfc, props) => {
|
|
17
|
+
const target = sfc.__vccOpts || sfc;
|
|
18
|
+
for (const [key, val] of props) {
|
|
19
|
+
target[key] = val;
|
|
20
|
+
}
|
|
21
|
+
return target;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const __default__ = {
|
|
25
|
+
name: "BmButton"
|
|
26
|
+
};
|
|
27
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
28
|
+
...__default__,
|
|
29
|
+
props: buttonProps,
|
|
30
|
+
setup(__props) {
|
|
31
|
+
const props = __props;
|
|
32
|
+
return (_ctx, _cache) => {
|
|
33
|
+
return openBlock(), createBlock(unref(AButton), {
|
|
34
|
+
size: props.size,
|
|
35
|
+
type: props.type
|
|
36
|
+
}, {
|
|
37
|
+
default: withCtx(() => [
|
|
38
|
+
renderSlot(_ctx.$slots, "default")
|
|
39
|
+
]),
|
|
40
|
+
_: 3
|
|
41
|
+
}, 8, ["size", "type"]);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
var Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "button.vue"]]);
|
|
46
|
+
|
|
47
|
+
const BmButton = withInstall(Button);
|
|
48
|
+
|
|
49
|
+
export { BmButton, BmButton as default };
|