bm-admin-ui 1.0.82-alpha → 1.0.84-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.
Files changed (41) hide show
  1. package/es/components/attachment/index.js +273 -0
  2. package/es/components/breadcrumb/index.js +158 -0
  3. package/es/components/button/index.js +49 -0
  4. package/es/components/edit-form/index.js +1186 -0
  5. package/es/components/editor/index.js +12554 -0
  6. package/es/components/feedback/index.js +295 -0
  7. package/es/components/float-table/index.js +3511 -0
  8. package/es/components/flow-designer/index.js +1317 -0
  9. package/es/components/form-create/index.js +20978 -0
  10. package/es/components/form-designer/index.js +4514 -0
  11. package/es/components/index.js +19 -0
  12. package/es/components/input-tags-display/index.js +226 -0
  13. package/es/components/over-tooltips/index.js +133 -0
  14. package/es/components/search-filter/index.js +449 -0
  15. package/es/components/select-all/index.js +172 -0
  16. package/es/components/shops-filter/index.js +453 -0
  17. package/es/components/staffs-selector/index.js +728 -0
  18. package/es/components/timeline/index.js +168 -0
  19. package/es/components/upload/index.js +909 -0
  20. package/es/components/videoView/index.js +100 -0
  21. package/lib/components/attachment/index.js +278 -0
  22. package/lib/components/breadcrumb/index.js +168 -0
  23. package/lib/components/button/index.js +58 -0
  24. package/lib/components/edit-form/index.js +1195 -0
  25. package/lib/components/editor/index.js +12559 -0
  26. package/lib/components/feedback/index.js +309 -0
  27. package/lib/components/float-table/index.js +3516 -0
  28. package/lib/components/flow-designer/index.js +1329 -0
  29. package/lib/components/form-create/index.js +20990 -0
  30. package/lib/components/form-designer/index.js +4525 -0
  31. package/lib/components/index.js +140 -0
  32. package/lib/components/input-tags-display/index.js +237 -0
  33. package/lib/components/over-tooltips/index.js +138 -0
  34. package/lib/components/search-filter/index.js +459 -0
  35. package/lib/components/select-all/index.js +181 -0
  36. package/lib/components/shops-filter/index.js +465 -0
  37. package/lib/components/staffs-selector/index.js +733 -0
  38. package/lib/components/timeline/index.js +174 -0
  39. package/lib/components/upload/index.js +914 -0
  40. package/lib/components/videoView/index.js +105 -0
  41. package/package.json +1 -1
@@ -0,0 +1,909 @@
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, computed, createElementBlock, Fragment, createCommentVNode, renderList, createVNode, resolveDynamicComponent, mergeProps } from 'vue';
3
+ import { PlusOutlined, UploadOutlined, LoadingOutlined, InboxOutlined } 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$1(_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$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "over-tooltips.vue"]]);
131
+
132
+ const BmOverTooltips = withInstall(OverTooltips$1);
133
+ var OverTooltips = BmOverTooltips;
134
+
135
+ function getuid() {
136
+ const s = [];
137
+ const hexDigits = '0123456789abcdef';
138
+ for (let i = 0; i < 36; i++) {
139
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
140
+ }
141
+ s[14] = '4';
142
+ s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
143
+ s[8] = s[13] = s[18] = s[23] = '-';
144
+ const uuid = s.join('');
145
+ return uuid;
146
+ }
147
+ function wait(ms) {
148
+ return new Promise((resolve) => setTimeout(resolve, ms));
149
+ }
150
+ var utils = {
151
+ getuid,
152
+ wait,
153
+ };
154
+
155
+ const pdf = `data:image/png;base64,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`;
156
+ const ppt = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAA1dJREFUeAHtmktoE0EYx7/ZbpLmRUuKFjGiVqE9qLkIRU+CHrzYQ3uQVtF6EbyovSheRS9S8eTjoODF5mB94EWjtYgUHzf1IgVRKWltLA2Gprvb5rHuRLO4aWJmd3bDzmYHQubxfbPz/803OzvJIlDSYn9vdCUvXkGA9smyvAHXsZKCAyfibcMjQ0bHy5XE58SPIMMga+KxaL4zOpi5e23MMAA884pzxGgHdvCjgcDhsLeDCNoxGIXAsRj2tWAZgcDV6ozVer0QHAcAT5weCI4EoAeCYwGQQnA0ABIIjgdQD0JTAPgfBOYBFIUs1keUqu0OzAPIz34nEl82qoTAPADpzQTIK1JZH9H3vxDQ3KFdMpGXjY1QMAytew8Av3ELcIEQ8UjzqWTcEQCIFVcxZH4JVNGkq8oFoAuXA42bPgJ4qyfV070T2s9eqnsZvJUVFuah8HMOCqlZEKcSUEwv1PWjNbAcAPL5S9sTyUA9XT2qWfjYaRCejUP2/m0oZtJqvdkZ2y4B5PVBsO8IRC7eUn7h8JitW+3P8ghQr/Q3I049B+ndZGU1cMrDDBdZB75YL3h7Ymq7Z2s3hI+fgaU7o2qdmZmGA8h/mwbp9dOaGrL3rkPrnv3Qfn4UEPcnQIN9RyE7dgNkUajpZ7TBlktAevsSxInHqiaEEPCbtqllMzO2BIAFrk5/0ujkN2/XlM0q2BaAXHHOR/6AWZo1/dgWAB/t0gw0P/NVUzarYEsAKNwGgYMDGo35mS+aslmFhu8CNQfu8UJLx3rw7tgNof5hJd+pmuL7gVVPhQ0HEBo6BaHDJ1Vx5Qx+8KmWisrW9+vqhWpNptQ1HABqUS6JPwSpsJiCzM3LUJhPElgbMyEbibG+DXkVheXSYUh48QiExDhAbtVQP6RODQcgJB6AMPlkzfhkSSydBOXlpTVtVlY0HAA+7uY+f7BSk66+bbkN6lJAaewCoATIvLsbAcxPIaUANwIoATLv7v43yPwUUgpw7wGUAJl3dyOA+SmkFOBGACVA5t3dCGB+CikFuBFACZB5dzcCmJ9CSgFuBFACZN6dU96++MG8CoMCsHZOBvmVQX/m3bB2zsf7zylKrHsRz76Y0lg71/HwfdLn8ccAQbwZlkNJo6IVa8bafwMo0u8qx3AUAQAAAABJRU5ErkJggg==`;
157
+ const excel = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAABJhJREFUeAHtmmtsDFEUgM/sdre7SpsttqqtXaIRQfvDD694RJAiIfH4UUl/SMMPiUTEI4QStJ6RiD8SIkKiUs8QryBKEKEkFRHxiL63pbTKatd0d92zMdfMWGt27R292zmbZs65c+/dc757zp3HVgAiedVbs0VR3EPUaQDBTGzjRYozppSvySlYEqu/Jgy+WxSrSeCFvAWPQeckOwr31V87GTMAXPkgBNNjnaAnjPsXCCYSwLSeEMS/+hArBAKAr5qPBCoWCJgBCSXRQkg4ALia0UBISADRQEhYAFohJDQALRASHsDfIPQKAJEgcA/gi78L49Mk4a4O3AOo8X3UFLzUSQ2BewA32p5DV0CU4tN0lEMQRlZtDGoa1YM7pZptMNMxGtzJ/aEf0bVKva+tPCEAaA04XD/uSyBcUNG0GQCioZWIfXt9BiSxWtU0sx2O5C6FFHMy/YqK1kdwrOU+tf+kjO3rgu2uBYrTm2rPwdOvtYq2eBjMMuCzvxNOkYDdtgH0b9XgWTDc5ozot81kgR2uhXQMjq/21jMJHh1hBgAnP9taBZXtL1ENidWUBDvdi8Ac4WsRksvWXxoCjb422FF3idrxVpgCQGc3k9T9JHqp36NSsqB40GRqyxVM/SLnBNoUCAZgQ80Z8AZ8tC3eCnMAH7u9sKXugsLvFZnTfysFKfUFQaB9j7bcg6qvNdRmoTAHgE7fan8B51ufUP+xFMrcCxWloE79l988cLDpJh3DStEFADpfVn85VM9SIKNTsmkpqFP/e6Ab1r2rADHol7ozO+oGAOsY6xnrWhIshTF9skO7vjz19zdehzdd76VuTI+6AcAosJ7l9wFYCidGLFPs+g873sLx9w+YBi2fXFcA+MUHmm7Aq85m6gNCkKSjuzOUJZKtx1F3AFjX69+dBqxztWyruwgtYoe6mamtOwCMppa8xvogflEEhkDwjk9v+S8A1mYVQFayQxErlsKuoYtAIB89RXcAk1JzodA5PmyMY/u66aUxbAcGjboCwCfEUtVT3nHydCjfD1YOngEj7fr9l46uADYPmQdOaypdxwcdb2BXwxU45LlN2yyCmZTCYrAKv64O9CQDRTcAcxx5MCc9j4bg9fugpPZ8yD7cfBdefGuk53LtGbA6axa1WSq6AHBaUgFXXy57G65C0/f2UJMf8KnvrKIUipwTYXy/YfIhTHRdAJS6F0Bakp0GgKlf0fqY2qi87mxRlALeGpeRdwfRvOdXTKjRYA6gcOA4wJ1fEnnqS23SUV0Kg6xpUKLKHKlvvI5MAbjILzVrsgsUvspTX3GCGOFKYW56Psx2jFF3jZvNDAC+9tpNdnO7yUqdDZf69ORPJVQKzZWK5pIh8yGD7CMshBmA5ZlTIS8lh/ocKfVpp5/KYc8dxVUB949S8gKFhRi/DbKgytOczEqAFwgGAF5WipWfRgawIsvLvEYG8LJSrPw0MoAVWV7mNTKAl5Vi5aeRAazI8jKvkQEAgoeX1Yq/n4IHM6Ay/hNzM2OlyWKxrCM/SH7ixuU4OYoxY+ymZ/lbG5IslnxSCuW9oxyw5IVyjBlj/wFKmHHAnlmA/gAAAABJRU5ErkJggg==`;
158
+ const doc = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAABKVJREFUeAHtWrluFEEQfbuYw8bGXMKAuYXEZXAAQogExwgSiEAExERE8AuInJwA4YwEIVJHkJgbcQkhjGywwRw+AGOvvdST3era1uyyO9Mj0btT0nq6Z7p7ql69rqqZcQ4ip24UNxVmcVWaPcUiNvBcKHK6C73nD+XOxtU3T+NnCngihp8JzXga3dGGM9f7izdjA7Dg+dVxF/gf5iUBIS8G9PwPRiTVIS4I+RBpXw6sOCCQAXUltYJQdwDQm7WAUJcA1AJC3QJQLQh1DUA1INQ9AP8CoSEAqARC8AD8mqZ51UlUdggegKHx6ow3o1wQggfg3gDwp2DMq+6oQcidvC7FcOCyfAlwdCvQuQJokXa1MjKB3roAoFqDo8YFvwWijKrlXAZALWjV49iGZ0BTUq9uWwVcPmZXmZkDLt4G5irklv3rgQtH7JyBH8CVPtuPah3fBZzcY688HwGu3bf9uK3EAHwQ5dubgVaVfnauAd6MllfpYKekrHZ7fX0b0Cya/K6Qzw9vLp1z942dn6SVeAvQ048/lqrQ1VHad3sHnBfvi0SLfRXm5HPAnnWlqzwYLO3H7SUGgDd+MFR6e1K8nLBo2RHxDtoFRc8no5oX2zPDE0CtJbCdXdryA4B4Q9eT9Ba9FiUEJ+pat8MKPddllAu4Hltr2wsAP6aAd9/srVmORnmZIw4odkzP2jkMpm1LbV+3utQcnu/3RH+u5QUALuR6xfUax1C0p++8AgwIOWGMBmd+9Dxb9qr9z/HPhs3V5Ed/ADhecb1GVVdJtti80irNQPbys+1HxYHtEi/0Aw6NN6DZmfFb3gB4LWlv8o9VZK9EdTcMaA/TCBr/9JOdo9lhzrpM8hX9zfreAGA6fKTSIesC7mst2sM0nkXTEwXARnmcXdOiZwAuAP1OxikdXXvPGwC8taucuw00AMbzb78C+rWWHkMG6fpgaAxgCvQpXgF4KN7R6VDXAx2t8sVGfkaM58kclrVGulXEJ4NaVWZwATZzkhy9AjA2BdCjRnT01p6lx/W4pyqq63Eug9xMY+6T5OgVACqilVyxDNi6EPV1gKPH9cOS2Q6cv3Y5wFhA0ft/akaYooCaH5H8r38AyqRDvR0M/Y36778D48IeIyZb6P1PlhQkaPoW7wDwKVAbQy9uERawBjDiAsDzehuQLZxDBhnxWf2ZNXn0DgBfA+h0SC9q+n//DfAR2hW9DcgWwwIzTm8tc87H0TsAVEoru1I8f2K3VbVcGatZQc/rlx8DskW+/LRr+GylBoAOchsWghoV14ZqQz5Jfh9VRuo5TK9pSSoATEhJ/FZiQZRoqrvXy11LI/+be6cCABePUnpkEuCvnOhAaMawZnihCiVz3tcxNQB0HDDKlqO/uR7FgMfyrDDLyJqSpAYAtwArQy1RBurro7+Aj87XXt9Pf/p+bGffBl1EGq2f2hYIBcgMgFA8lZaeGQPSQjaUdTMGhOKptPTMGJAWsqGsmzEgFE+lpWfGgLSQDWXdjAHyjwnq+2wofvOjJ20nA/r8LBfkKn35pkW4JKqr//AJ0pA4Sn+j7flb53KDi5vQLXTobYTtQBtpK22m7X8BXxtVZAjutWYAAAAASUVORK5CYII=`;
159
+ const others = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAbNJREFUeAHtlTFOAkEYhWd3LaDUDYWJF7AgHsAGCjsusF6DZG1t3YO4F6CzoaYxhsILmFCQxXIJhuBMkOTFGJwdmp15/zS8bGbJfN//BiKlV54/XW2360LHgVK7S/PMlzUc3paj0d2963njPXz9psEz3+ANdJqeZ5PJy7OzgJ/JX7h+QRveO0VCrAEGbYA49QyuErQAv+78MVEuEkwDglpNJQQnwEyziYQgBTSREKwAWwlBC7CRELyA/yRQCDgmwXsBdb02fFbrr38H7wUsl5UV/GHTbwneC5jP39Vm83Xgs/pECdF4/LizeqvFm7rdjur3r1WvlyqTbVdVfZZntpvbvM/8Dsxmry5HzLy/Ai7U+I4IQBuMWRrAOHVklgagDcYsDWCcOjJLA9AGY5YGME4dmaUBaIMxSwMYp47M0gC0wZilAYxTR2ZpANpgzNIAxqkjszQAbTBmaQDj1JFZGoA2GLM0gHHqyCwNQBuMWRrAOHVklgagDcYsDWCcOjJLA9AGY9YNiBaM4HvmaGGuwJRXgJrGSdLJtYAVoYSVYY+L4uEjSbo3+iqUHNfBXPmoNMyG/RuvFms2+co7XAAAAABJRU5ErkJggg==`;
160
+ var icons = {
161
+ pdf,
162
+ ppt,
163
+ excel,
164
+ doc,
165
+ others,
166
+ };
167
+
168
+ const CLOUND_PRE = "/cloudStorage/read";
169
+ const _sfc_main = {
170
+ name: "BmUpload",
171
+ components: {
172
+ PlusOutlined,
173
+ OverTooltips,
174
+ UploadOutlined,
175
+ LoadingOutlined,
176
+ InboxOutlined
177
+ },
178
+ props: {
179
+ uploadProps: {
180
+ type: Object,
181
+ default: () => {
182
+ return {};
183
+ }
184
+ },
185
+ extraProps: {
186
+ type: Object,
187
+ default: () => {
188
+ return {};
189
+ }
190
+ },
191
+ defaultList: {
192
+ type: Array,
193
+ default: () => []
194
+ },
195
+ uploadRequest: {
196
+ type: Function,
197
+ default() {
198
+ return () => {
199
+ };
200
+ }
201
+ },
202
+ cloudReadUrl: {
203
+ type: String,
204
+ default: ""
205
+ },
206
+ holdProgress: {
207
+ type: Number,
208
+ default: 0
209
+ },
210
+ customErrors: {
211
+ type: Object,
212
+ default() {
213
+ return void 0;
214
+ }
215
+ }
216
+ },
217
+ emits: [
218
+ "success",
219
+ "delete",
220
+ "update",
221
+ "previewFile",
222
+ "successFile",
223
+ "deleteFile",
224
+ "error",
225
+ "updateDisabledStatus",
226
+ "updateIsUploadingStatus"
227
+ ],
228
+ setup(props, { emit, expose }) {
229
+ let acceptList = [
230
+ ".xlsx",
231
+ ".XLSX",
232
+ ".pdf",
233
+ ".PDF",
234
+ ".doc",
235
+ ".DOC",
236
+ ".docx",
237
+ ".DOCX",
238
+ ".jpg",
239
+ ".JPG",
240
+ ".jpeg",
241
+ ".JPEG",
242
+ ".png",
243
+ ".PNG",
244
+ ".gif",
245
+ ".GIF",
246
+ ".rar",
247
+ ".RAR",
248
+ ".zip",
249
+ ".ZIP",
250
+ ".ppt",
251
+ ".PPT",
252
+ ".pptx",
253
+ ".PPTX",
254
+ ".mp4",
255
+ ".MP4"
256
+ ];
257
+ const state = reactive({
258
+ uploadBarColor: "#4DA0FF",
259
+ uploadedList: [],
260
+ fileList: {},
261
+ onepViewImageHover: {},
262
+ previewVisible: false,
263
+ onepViewImage: {},
264
+ extraConfigs: {
265
+ maxSize: 5,
266
+ maxCount: 5,
267
+ isAllowDownloadFieldProps: false,
268
+ hideDisabledBtn: true,
269
+ tips: "",
270
+ showTips: true,
271
+ btnClass: "",
272
+ picClass: "",
273
+ alignCenter: false,
274
+ canNotViewAccept: ".rar,.zip",
275
+ myBtn: false,
276
+ showFileName: false,
277
+ drag: false
278
+ },
279
+ uploadConfigs: {
280
+ multiple: false,
281
+ showUploadList: false,
282
+ showSlotList: false,
283
+ listType: "text",
284
+ text: "",
285
+ accept: acceptList.join(","),
286
+ data: {},
287
+ name: "file",
288
+ disabled: false,
289
+ async customRequest({ file, fileField, data }) {
290
+ if (file.size > state.extraConfigs.maxSize * 1024 * 1024) {
291
+ return methods.uploadError(
292
+ new Error(
293
+ props.customErrors?.maxSize || `\u4E0D\u80FD\u4E0A\u4F20\u5927\u4E8E${state.extraConfigs.maxSize}M\u7684\u6587\u4EF6`
294
+ )
295
+ );
296
+ }
297
+ if (Object.keys(state.fileList).length >= state.extraConfigs.maxCount) {
298
+ return methods.uploadError(
299
+ new Error(
300
+ props.customErrors?.maxCount || `\u4E0D\u80FD\u4E0A\u4F20\u591A\u4E8E${state.extraConfigs.maxCount}\u4E2A\u6587\u4EF6`
301
+ )
302
+ );
303
+ }
304
+ let name = file.name;
305
+ let fileFormat = name.split(".").pop();
306
+ if (!state.uploadConfigs.accept.includes(`.${fileFormat}`)) {
307
+ return methods.uploadError(
308
+ new Error(props.customErrors?.format || `\u4E0D\u80FD\u4E0A\u4F20\u8BE5\u7C7B\u578B\u6587\u4EF6`)
309
+ );
310
+ }
311
+ state.fileList[file.uid] = {
312
+ uid: file.uid,
313
+ name: file.name,
314
+ type: fileFormat,
315
+ progress: 0,
316
+ file,
317
+ isDoneDeloy: false,
318
+ status: ""
319
+ };
320
+ setTimeout(function() {
321
+ if (methods.fileIsDelete(file)) {
322
+ return;
323
+ }
324
+ state.fileList[file.uid].isDoneDeloy = true;
325
+ }, 1e3);
326
+ methods.customUploadRequest(file);
327
+ }
328
+ },
329
+ pictureFileTypes: [
330
+ "img",
331
+ "image",
332
+ "png",
333
+ "PNG",
334
+ "image/png",
335
+ "jpg",
336
+ "JPG",
337
+ "jpeg",
338
+ "JPEG",
339
+ "image/jpeg",
340
+ "gif",
341
+ "GIF",
342
+ "image/gif"
343
+ ]
344
+ });
345
+ const methods = {
346
+ updateUploadProgress(file, progress) {
347
+ if (methods.fileIsDelete(file)) {
348
+ return;
349
+ }
350
+ state.fileList[file.uid] = {
351
+ ...state.fileList[file.uid],
352
+ progress
353
+ };
354
+ },
355
+ customUploadRequest(file) {
356
+ props.uploadRequest?.(file, {
357
+ onUploadProgress: (e) => {
358
+ let progress = Math.round(e.loaded / e.total * 100);
359
+ if (props.holdProgress) {
360
+ progress = progress > props.holdProgress ? props.holdProgress : progress;
361
+ }
362
+ methods.updateUploadProgress(file, progress);
363
+ }
364
+ }).then(function(data) {
365
+ methods.updateUploadProgress(file, 100);
366
+ methods.uploadSuccess(data, file);
367
+ }).catch(function(error) {
368
+ console.error(error);
369
+ if (state.uploadConfigs.listType === "text") {
370
+ state.fileList[file.uid].progress = 100;
371
+ }
372
+ methods.uploadError(error, file);
373
+ });
374
+ },
375
+ fileIsDelete(file) {
376
+ return !state.fileList[file.uid];
377
+ },
378
+ uploadSuccess(data, file) {
379
+ if (methods.fileIsDelete(file)) {
380
+ return;
381
+ }
382
+ state.fileList[file.uid].status = "success";
383
+ let uri = data?.url;
384
+ let item = {
385
+ name: file.name,
386
+ size: file.size,
387
+ type: file.type,
388
+ uid: file.uid,
389
+ url: uri
390
+ };
391
+ state.uploadedList.push(item);
392
+ state.fileList[file.uid].url = uri;
393
+ emit("successFile", data);
394
+ emit("success", state.uploadedList);
395
+ emit("update", state.uploadedList);
396
+ },
397
+ uploadError(error, file) {
398
+ if (file) {
399
+ if (methods.fileIsDelete(file)) {
400
+ return;
401
+ }
402
+ state.fileList[file.uid].status = "error";
403
+ }
404
+ emit("error", error);
405
+ },
406
+ async deleteFile(uid) {
407
+ let targetFile = state.fileList[uid];
408
+ delete state.fileList[uid];
409
+ const index = state.uploadedList.findIndex(
410
+ (ele) => ele.url === targetFile.url
411
+ );
412
+ if (index !== -1) {
413
+ state.uploadedList.splice(index, 1);
414
+ }
415
+ emit("deleteFile", targetFile);
416
+ emit("delete", state.uploadedList);
417
+ emit("update", state.uploadedList);
418
+ },
419
+ pictureHoverEnter(uid) {
420
+ state.onepViewImageHover[uid] = true;
421
+ },
422
+ pictureHoverLeave(uid) {
423
+ state.onepViewImageHover[uid] = false;
424
+ },
425
+ viewOnePicture(item) {
426
+ if (state.pictureFileTypes.includes(item.type.toLowerCase())) {
427
+ state.previewVisible = true;
428
+ state.onepViewImage = item;
429
+ }
430
+ emit("previewFile", item);
431
+ },
432
+ handleClosePictureView() {
433
+ state.previewVisible = false;
434
+ },
435
+ reUpload(e, uid) {
436
+ e.stopPropagation();
437
+ let file = state.fileList[uid].file;
438
+ state.onepViewImageHover[uid] = false;
439
+ delete state.fileList[uid];
440
+ state.uploadConfigs.customRequest({
441
+ file,
442
+ fileField: state.uploadConfigs.name,
443
+ data: state.uploadConfigs.data
444
+ });
445
+ },
446
+ paste(event) {
447
+ if (uploadDisabled.value) {
448
+ return;
449
+ }
450
+ const items = event?.clipboardData?.items;
451
+ let file = null;
452
+ if (items && items.length) {
453
+ for (var i = 0; i < items.length; i++) {
454
+ if (items[i].type.match("^image/")) {
455
+ file = items[i].getAsFile();
456
+ break;
457
+ }
458
+ }
459
+ }
460
+ if (file) {
461
+ let uid = utils.getuid();
462
+ let filename = file.name;
463
+ let fileInfo = filename?.split(".");
464
+ if (fileInfo && fileInfo.length > 1) {
465
+ fileInfo[fileInfo.length - 2] = uid;
466
+ filename = fileInfo.join(".");
467
+ } else {
468
+ filename = uid + ".png";
469
+ }
470
+ file = new File([file], filename, { type: file.type });
471
+ file["uid"] = uid;
472
+ state.uploadConfigs.customRequest({
473
+ file,
474
+ fileField: state.uploadConfigs.name,
475
+ data: state.uploadConfigs.data
476
+ });
477
+ }
478
+ },
479
+ handleReject(e) {
480
+ return methods.uploadError(
481
+ new Error(props.customErrors?.format || `\u4E0D\u80FD\u4E0A\u4F20\u8BE5\u7C7B\u578B\u6587\u4EF6`)
482
+ );
483
+ }
484
+ };
485
+ watch(
486
+ () => props.defaultList,
487
+ function(list) {
488
+ if (list?.length) {
489
+ list.forEach((item) => {
490
+ if (!item.uid) {
491
+ item.uid = utils.getuid();
492
+ }
493
+ });
494
+ list.forEach(function(item) {
495
+ let uid = item.uid || utils.getuid();
496
+ if (!item.url.includes("http") && !item.url.includes(CLOUND_PRE))
497
+ item.url = props.cloudReadUrl + item.url;
498
+ state.fileList[uid] = {
499
+ uid,
500
+ name: item.name,
501
+ url: item.url,
502
+ type: item.type || "png",
503
+ progress: 100,
504
+ isDoneDeloy: true
505
+ };
506
+ if (!state.uploadedList.find((item2) => item2.uid === uid)) {
507
+ state.uploadedList.push(item);
508
+ }
509
+ });
510
+ } else {
511
+ state.fileList = {};
512
+ state.uploadedList = [];
513
+ }
514
+ },
515
+ {
516
+ immediate: true
517
+ }
518
+ );
519
+ watch(
520
+ [() => props.uploadProps, () => props.extraProps],
521
+ function([config, extra]) {
522
+ state.uploadConfigs = {
523
+ ...state.uploadConfigs,
524
+ ...config,
525
+ showUploadList: false
526
+ };
527
+ state.extraConfigs = {
528
+ ...state.extraConfigs,
529
+ ...extra
530
+ };
531
+ },
532
+ {
533
+ immediate: true,
534
+ deep: true
535
+ }
536
+ );
537
+ const uploadDisabled = computed(() => {
538
+ if (props.uploadProps.disabled || Object.keys(state.fileList).length >= state.extraConfigs.maxCount) {
539
+ return true;
540
+ }
541
+ return false;
542
+ });
543
+ watch(
544
+ () => uploadDisabled.value,
545
+ (value) => {
546
+ emit("updateDisabledStatus", value);
547
+ },
548
+ {
549
+ immediate: true
550
+ }
551
+ );
552
+ const isUploading = computed(() => {
553
+ let ret = false;
554
+ let fileList = state.fileList || {};
555
+ Object.keys(fileList).forEach((uid) => {
556
+ if (fileList[uid]?.progress && fileList[uid].progress < 100) {
557
+ ret = true;
558
+ }
559
+ });
560
+ return ret;
561
+ });
562
+ watch(
563
+ () => isUploading.value,
564
+ (value) => {
565
+ emit("updateIsUploadingStatus", value);
566
+ },
567
+ {
568
+ immediate: true
569
+ }
570
+ );
571
+ expose({ state, methods, paste: methods.paste });
572
+ return {
573
+ ...toRefs(state),
574
+ icons,
575
+ ...methods,
576
+ uploadDisabled
577
+ };
578
+ }
579
+ };
580
+ const _hoisted_1 = {
581
+ key: 0,
582
+ class: "bm-upload__picture-progress"
583
+ };
584
+ const _hoisted_2 = /* @__PURE__ */ createElementVNode("div", { class: "bm-upload__picture-progress__text" }, "\u56FE\u7247\u4E0A\u4F20\u4E2D", -1);
585
+ const _hoisted_3 = ["onMouseenter", "onMouseleave"];
586
+ const _hoisted_4 = ["src"];
587
+ const _hoisted_5 = ["src"];
588
+ const _hoisted_6 = ["src"];
589
+ const _hoisted_7 = ["src"];
590
+ const _hoisted_8 = ["src"];
591
+ const _hoisted_9 = ["onClick"];
592
+ const _hoisted_10 = ["onClick"];
593
+ const _hoisted_11 = ["onMouseenter", "onMouseleave"];
594
+ const _hoisted_12 = /* @__PURE__ */ createElementVNode("div", { class: "bm-upload__picture-error__image" }, null, -1);
595
+ const _hoisted_13 = /* @__PURE__ */ createElementVNode("div", null, "\u4E0A\u4F20\u9519\u8BEF", -1);
596
+ const _hoisted_14 = {
597
+ key: 0,
598
+ class: "bm-upload__picture-result__cover"
599
+ };
600
+ const _hoisted_15 = ["onClick"];
601
+ const _hoisted_16 = ["onClick"];
602
+ const _hoisted_17 = {
603
+ key: 0,
604
+ class: "bm-upload__picture__name"
605
+ };
606
+ const _hoisted_18 = {
607
+ key: 1,
608
+ class: "bm-upload__button__wrapper"
609
+ };
610
+ const _hoisted_19 = { key: 0 };
611
+ const _hoisted_20 = { class: "ant-upload-text bm-upload__text" };
612
+ const _hoisted_21 = {
613
+ key: 0,
614
+ class: "bm-upload__tips"
615
+ };
616
+ const _hoisted_22 = {
617
+ key: 1,
618
+ style: { "font-size": "24px", "color": "#9393a3" }
619
+ };
620
+ const _hoisted_23 = { class: "ant-upload-text bm-upload__text" };
621
+ const _hoisted_24 = {
622
+ key: 0,
623
+ class: "bm-upload__tips"
624
+ };
625
+ const _hoisted_25 = { key: 2 };
626
+ const _hoisted_26 = {
627
+ key: 0,
628
+ class: "bm-upload__tips"
629
+ };
630
+ const _hoisted_27 = {
631
+ key: 2,
632
+ class: "bm-upload__file-list"
633
+ };
634
+ const _hoisted_28 = { class: "bm-upload__file__detail" };
635
+ const _hoisted_29 = /* @__PURE__ */ createElementVNode("div", { class: "bm-upload__file__icon" }, [
636
+ /* @__PURE__ */ createElementVNode("div", { class: "bm-upload__attachment" })
637
+ ], -1);
638
+ const _hoisted_30 = { class: "bm-upload__file__name" };
639
+ const _hoisted_31 = { class: "bm-upload__file__progress-tools" };
640
+ const _hoisted_32 = ["onClick"];
641
+ const _hoisted_33 = ["onClick"];
642
+ const _hoisted_34 = {
643
+ key: 0,
644
+ class: "bm-upload__progress"
645
+ };
646
+ const _hoisted_35 = { style: { "padding-top": "20px" } };
647
+ const _hoisted_36 = ["src"];
648
+ const _hoisted_37 = ["title", "src"];
649
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
650
+ const _component_a_progress = resolveComponent("a-progress");
651
+ const _component_a_image = resolveComponent("a-image");
652
+ const _component_LoadingOutlined = resolveComponent("LoadingOutlined");
653
+ const _component_OverTooltips = resolveComponent("OverTooltips");
654
+ const _component_InboxOutlined = resolveComponent("InboxOutlined");
655
+ const _component_PlusOutlined = resolveComponent("PlusOutlined");
656
+ const _component_UploadOutlined = resolveComponent("UploadOutlined");
657
+ const _component_a_button = resolveComponent("a-button");
658
+ const _component_a_modal = resolveComponent("a-modal");
659
+ return openBlock(), createElementBlock("div", {
660
+ class: normalizeClass(["bm-upload", {
661
+ "bm-upload--text": _ctx.uploadConfigs.listType === "text",
662
+ "bm-upload--drag": _ctx.extraConfigs.drag,
663
+ "bm-upload--picture-card": _ctx.uploadConfigs.listType === "picture-card",
664
+ "bm-upload--picture-card--has-tips": !($setup.uploadDisabled && _ctx.extraConfigs?.hideDisabledBtn) && !_ctx.extraConfigs.myBtn && _ctx.uploadConfigs.listType === "picture-card" && _ctx.extraConfigs.tips && _ctx.extraConfigs.showTips
665
+ }])
666
+ }, [
667
+ _ctx.uploadConfigs.listType === "picture-card" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
668
+ createCommentVNode(" \u4E0D\u8981\u4F7F\u7528 a-image-preview-group \u5305\u88F9\uFF0C\u4E0D\u7136\u4F1A\u51FA\u73B0\u91CD\u590D\u56FE\u7247\u548C\u7A7A\u767D\u56FE\u7247 "),
669
+ createCommentVNode(" <a-image-preview-group> "),
670
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.fileList, (item) => {
671
+ return openBlock(), createElementBlock("div", {
672
+ key: item,
673
+ class: "bm-upload__picture_wrapper"
674
+ }, [
675
+ createElementVNode("div", {
676
+ class: normalizeClass(["bm-upload__picture", { "bm-upload__picture--error": item.status === "error" }])
677
+ }, [
678
+ createCommentVNode(" \u4E0A\u4F20\u4E2D "),
679
+ item.progress < 100 && item.status !== "error" ? (openBlock(), createElementBlock("div", _hoisted_1, [
680
+ _hoisted_2,
681
+ createVNode(_component_a_progress, {
682
+ type: "line",
683
+ "stroke-width": 2,
684
+ "show-info": false,
685
+ "stroke-color": _ctx.uploadBarColor,
686
+ percent: item.uid?.progress
687
+ }, null, 8, ["stroke-color", "percent"])
688
+ ])) : createCommentVNode("v-if", true),
689
+ createCommentVNode(" \u56FE\u7247\u5C55\u793A "),
690
+ item.progress >= 100 && item.status !== "error" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
691
+ !_ctx.uploadConfigs.showSlotList ? (openBlock(), createElementBlock("div", {
692
+ key: 0,
693
+ class: "bm-upload__picture-result",
694
+ onMouseenter: ($event) => _ctx.pictureHoverEnter(item.uid),
695
+ onMouseleave: ($event) => _ctx.pictureHoverLeave(item.uid),
696
+ onClick: _cache[0] || (_cache[0] = (e) => e.stopPropagation())
697
+ }, [
698
+ ["pdf", "PDF", "application/pdf"].includes(item.type) ? (openBlock(), createElementBlock("img", {
699
+ key: 0,
700
+ class: "bm-upload__picture-result__image",
701
+ src: $setup.icons.pdf,
702
+ alt: "\u56FE\u7247"
703
+ }, null, 8, _hoisted_4)) : [
704
+ "xlsx",
705
+ "XLSX",
706
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
707
+ ].includes(item.type) ? (openBlock(), createElementBlock("img", {
708
+ key: 1,
709
+ class: "bm-upload__picture-result__image",
710
+ src: $setup.icons.excel,
711
+ alt: "\u56FE\u7247"
712
+ }, null, 8, _hoisted_5)) : [
713
+ "ppt",
714
+ "PPT",
715
+ "application/vnd.ms-powerpoint",
716
+ "pptx",
717
+ "PPTX",
718
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation"
719
+ ].includes(item.type) ? (openBlock(), createElementBlock("img", {
720
+ key: 2,
721
+ class: "bm-upload__picture-result__image",
722
+ src: $setup.icons.ppt,
723
+ alt: "\u56FE\u7247"
724
+ }, null, 8, _hoisted_6)) : [
725
+ "doc",
726
+ "DOC",
727
+ "application/msword",
728
+ "docx",
729
+ "DOCX",
730
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
731
+ ].includes(item.type) ? (openBlock(), createElementBlock("img", {
732
+ key: 3,
733
+ class: "bm-upload__picture-result__image",
734
+ src: $setup.icons.doc,
735
+ alt: "\u56FE\u7247"
736
+ }, null, 8, _hoisted_7)) : _ctx.pictureFileTypes.includes(item.type) ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [
737
+ item.url ? (openBlock(), createBlock(_component_a_image, {
738
+ key: 0,
739
+ class: "bm-upload__picture-result__image",
740
+ src: item.url,
741
+ alt: "\u56FE\u7247"
742
+ }, null, 8, ["src"])) : (openBlock(), createBlock(_component_LoadingOutlined, { key: 1 }))
743
+ ], 64)) : (openBlock(), createElementBlock("img", {
744
+ key: 5,
745
+ class: "bm-upload__picture-result__image",
746
+ src: $setup.icons.others,
747
+ alt: "\u56FE\u7247"
748
+ }, null, 8, _hoisted_8)),
749
+ _ctx.onepViewImageHover[item.uid] ? (openBlock(), createElementBlock("div", {
750
+ key: 6,
751
+ class: normalizeClass(["bm-upload__picture-result__cover", {
752
+ isPicture: _ctx.pictureFileTypes.includes(item.type)
753
+ }])
754
+ }, [
755
+ !_ctx.extraConfigs.canNotViewAccept?.includes(item?.type) ? (openBlock(), createElementBlock("div", {
756
+ key: 0,
757
+ class: "bm-upload__picture-result__icon bm-upload__picture-result__icon--view",
758
+ onClick: ($event) => _ctx.viewOnePicture(item)
759
+ }, null, 8, _hoisted_9)) : createCommentVNode("v-if", true),
760
+ !(_ctx.extraConfigs.hidenDelBtn ?? _ctx.extraConfigs.hideDelBtn ?? false) ? (openBlock(), createElementBlock("div", {
761
+ key: 1,
762
+ class: "bm-upload__picture-result__icon bm-upload__picture-result__icon--delete",
763
+ onClick: ($event) => _ctx.deleteFile(item.uid)
764
+ }, null, 8, _hoisted_10)) : createCommentVNode("v-if", true)
765
+ ], 2)) : createCommentVNode("v-if", true)
766
+ ], 40, _hoisted_3)) : renderSlot(_ctx.$slots, "file", {
767
+ key: 1,
768
+ file: item
769
+ })
770
+ ], 64)) : createCommentVNode("v-if", true),
771
+ createCommentVNode(" \u56FE\u7247\u9519\u8BEF\u5C55\u793A "),
772
+ item.status === "error" ? (openBlock(), createElementBlock("div", {
773
+ key: 2,
774
+ class: "bm-upload__picture-error",
775
+ onMouseenter: ($event) => _ctx.pictureHoverEnter(item.uid),
776
+ onMouseleave: ($event) => _ctx.pictureHoverLeave(item.uid),
777
+ onClick: _cache[1] || (_cache[1] = (e) => e.stopPropagation())
778
+ }, [
779
+ _hoisted_12,
780
+ _hoisted_13,
781
+ _ctx.onepViewImageHover[item.uid] ? (openBlock(), createElementBlock("div", _hoisted_14, [
782
+ createElementVNode("div", {
783
+ class: "bm-upload__picture-result__icon bm-upload__picture-result__icon--retry",
784
+ onClick: (e) => _ctx.reUpload(e, item.uid)
785
+ }, null, 8, _hoisted_15),
786
+ createElementVNode("div", {
787
+ class: "bm-upload__picture-result__icon bm-upload__picture-result__icon--delete",
788
+ onClick: ($event) => _ctx.deleteFile(item.uid)
789
+ }, null, 8, _hoisted_16)
790
+ ])) : createCommentVNode("v-if", true)
791
+ ], 40, _hoisted_11)) : createCommentVNode("v-if", true)
792
+ ], 2),
793
+ createCommentVNode(" \u6587\u4EF6\u540D "),
794
+ _ctx.extraConfigs.showFileName && item.name ? (openBlock(), createElementBlock("div", _hoisted_17, [
795
+ createVNode(_component_OverTooltips, {
796
+ title: item.name
797
+ }, null, 8, ["title"])
798
+ ])) : createCommentVNode("v-if", true)
799
+ ]);
800
+ }), 128)),
801
+ createCommentVNode(" </a-image-preview-group> ")
802
+ ], 64)) : createCommentVNode("v-if", true),
803
+ !($setup.uploadDisabled && _ctx.extraConfigs?.hideDisabledBtn) ? (openBlock(), createElementBlock("div", _hoisted_18, [
804
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.extraConfigs.drag ? "a-upload-dragger" : "a-upload"), mergeProps(_ctx.uploadConfigs, {
805
+ disabled: $setup.uploadDisabled,
806
+ class: { "bm--upload__custom-button": _ctx.extraConfigs.myBtn },
807
+ onReject: _ctx.handleReject
808
+ }), {
809
+ default: withCtx(() => [
810
+ _ctx.extraConfigs.myBtn ? renderSlot(_ctx.$slots, "myBtn", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
811
+ _ctx.extraConfigs.drag ? (openBlock(), createElementBlock("div", _hoisted_19, [
812
+ createVNode(_component_InboxOutlined, { class: "bm-upload__drag-icon" }),
813
+ createElementVNode("div", _hoisted_20, toDisplayString(_ctx.uploadConfigs.text || "\u70B9\u51FB\u4E0A\u4F20/\u62D6\u62FD\u4E0A\u4F20"), 1),
814
+ _ctx.extraConfigs.tips && _ctx.extraConfigs.showTips ? (openBlock(), createElementBlock("div", _hoisted_21, toDisplayString(_ctx.extraConfigs.tips), 1)) : createCommentVNode("v-if", true)
815
+ ])) : _ctx.uploadConfigs.listType === "picture-card" ? (openBlock(), createElementBlock("div", _hoisted_22, [
816
+ createVNode(_component_PlusOutlined),
817
+ createElementVNode("div", _hoisted_23, toDisplayString(_ctx.uploadConfigs.text || "\u4E0A\u4F20\u56FE\u7247"), 1),
818
+ _ctx.extraConfigs.tips && _ctx.extraConfigs.showTips ? (openBlock(), createElementBlock("div", _hoisted_24, toDisplayString(_ctx.extraConfigs.tips), 1)) : createCommentVNode("v-if", true)
819
+ ])) : _ctx.uploadConfigs.listType === "text" ? (openBlock(), createElementBlock("div", _hoisted_25, [
820
+ createVNode(_component_a_button, {
821
+ class: normalizeClass(_ctx.extraConfigs.btnClass),
822
+ disabled: $setup.uploadDisabled
823
+ }, {
824
+ default: withCtx(() => [
825
+ createVNode(_component_UploadOutlined),
826
+ createTextVNode(" " + toDisplayString(_ctx.uploadConfigs.text || "\u4E0A\u4F20\u6587\u4EF6"), 1)
827
+ ]),
828
+ _: 1
829
+ }, 8, ["class", "disabled"]),
830
+ _ctx.extraConfigs.tips && _ctx.extraConfigs.showTips ? (openBlock(), createElementBlock("div", _hoisted_26, toDisplayString(_ctx.extraConfigs.tips), 1)) : createCommentVNode("v-if", true)
831
+ ])) : createCommentVNode("v-if", true)
832
+ ], 64))
833
+ ]),
834
+ _: 3
835
+ }, 16, ["disabled", "class", "onReject"]))
836
+ ])) : createCommentVNode("v-if", true),
837
+ _ctx.uploadConfigs.listType === "text" && !_ctx.uploadConfigs.showSlotList ? (openBlock(), createElementBlock("div", _hoisted_27, [
838
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.fileList, (item) => {
839
+ return openBlock(), createElementBlock("div", {
840
+ key: item,
841
+ class: "bm-upload__file"
842
+ }, [
843
+ !_ctx.uploadConfigs.showSlotList ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
844
+ createElementVNode("div", _hoisted_28, [
845
+ _hoisted_29,
846
+ createElementVNode("div", _hoisted_30, [
847
+ createVNode(_component_OverTooltips, {
848
+ title: item.name
849
+ }, null, 8, ["title"])
850
+ ]),
851
+ createElementVNode("div", _hoisted_31, [
852
+ item.status === "error" ? (openBlock(), createElementBlock("div", {
853
+ key: 0,
854
+ class: "bm-upload__error-reload",
855
+ onClick: (e) => _ctx.reUpload(e, item.uid)
856
+ }, null, 8, _hoisted_32)) : createCommentVNode("v-if", true),
857
+ !(_ctx.extraConfigs.hidenDelBtn ?? _ctx.extraConfigs.hideDelBtn ?? false) ? (openBlock(), createElementBlock("div", {
858
+ key: 1,
859
+ class: "bm-upload__trash",
860
+ onClick: ($event) => _ctx.deleteFile(item.uid)
861
+ }, null, 8, _hoisted_33)) : createCommentVNode("v-if", true)
862
+ ])
863
+ ]),
864
+ !item.isDoneDeloy || item.progress < 100 || item.status === "error" ? (openBlock(), createElementBlock("div", _hoisted_34, [
865
+ createVNode(_component_a_progress, {
866
+ type: "line",
867
+ "stroke-width": 2,
868
+ "show-info": false,
869
+ "stroke-color": item.status !== "error" ? _ctx.uploadBarColor : "#E64C2E",
870
+ percent: item.progress
871
+ }, null, 8, ["stroke-color", "percent"])
872
+ ])) : createCommentVNode("v-if", true)
873
+ ], 64)) : renderSlot(_ctx.$slots, "file", {
874
+ key: 1,
875
+ file: item
876
+ })
877
+ ]);
878
+ }), 128))
879
+ ])) : createCommentVNode("v-if", true),
880
+ createVNode(_component_a_modal, {
881
+ visible: _ctx.previewVisible,
882
+ width: _ctx.onepViewImage.type === "pdf" ? "1200px" : "600px",
883
+ footer: null,
884
+ onCancel: _ctx.handleClosePictureView
885
+ }, {
886
+ default: withCtx(() => [
887
+ createElementVNode("div", _hoisted_35, [
888
+ _ctx.pictureFileTypes.includes(_ctx.onepViewImage.type) ? (openBlock(), createElementBlock("img", {
889
+ key: 0,
890
+ style: { "width": "100%" },
891
+ src: _ctx.onepViewImage.url,
892
+ alt: ""
893
+ }, null, 8, _hoisted_36)) : (openBlock(), createElementBlock("iframe", {
894
+ key: 1,
895
+ title: _ctx.onepViewImage.type,
896
+ style: { "width": "100%", "min-height": "600px" },
897
+ src: _ctx.onepViewImage.url
898
+ }, null, 8, _hoisted_37))
899
+ ])
900
+ ]),
901
+ _: 1
902
+ }, 8, ["visible", "width", "onCancel"])
903
+ ], 2);
904
+ }
905
+ var Upload = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "upload.vue"]]);
906
+
907
+ const BmUpload = withInstall(Upload);
908
+
909
+ export { BmUpload, BmUpload as default };