@touchvue/ui 1.0.0-beta.54 → 1.0.0-beta.56
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/input/src/input.vue.d.ts +2 -2
- package/es/components/pic/index.d.ts +9 -0
- package/es/components/pic/src/Pic.vue.d.ts +9 -0
- package/es/components/pic/src/pic.d.ts +7 -0
- package/es/components/rate/src/rate.vue.d.ts +46 -10
- package/es/components/scroll/index.d.ts +15 -0
- package/es/components/scroll/src/Scroll.vue.d.ts +9 -0
- package/es/components/scroll/src/scroll.d.ts +7 -0
- package/es/components/select/src/select.d.ts +18 -0
- package/es/components/select/src/select.vue.d.ts +18 -0
- package/es/components/table/src/table-head.vue.d.ts +2 -0
- package/es/components/tip/src/tip.vue.d.ts +2 -2
- package/es/components/upload/src/upload.vue.d.ts +6 -4
- package/es/index.d.mjs.map +1 -1
- package/es/index.mjs +2 -1
- package/es/index.mjs.map +1 -1
- package/es/packages/components/calendar/src/calendar.vue2.mjs +22 -0
- package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
- package/es/packages/components/cascader/src/cascader-item.vue2.mjs +1 -0
- package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
- package/es/packages/components/cascader/src/cascader.vue2.mjs +1 -0
- package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
- package/es/packages/components/float/src/Float.vue2.mjs +4 -4
- package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
- package/es/packages/components/pic/src/Pic.vue2.mjs +18 -2
- package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
- package/es/packages/components/pic/src/pic.mjs +7 -0
- package/es/packages/components/pic/src/pic.mjs.map +1 -1
- package/es/packages/components/rate/src/rate.vue2.mjs +153 -85
- package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
- package/es/packages/components/scroll/src/Scroll.vue2.mjs +3 -0
- package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
- package/es/packages/components/scroll/src/scroll.mjs +7 -0
- package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
- package/es/packages/components/segment/src/segment.vue.mjs +10 -12
- package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
- package/es/packages/components/select/src/select.mjs +18 -0
- package/es/packages/components/select/src/select.mjs.map +1 -1
- package/es/packages/components/select/src/select.vue2.mjs +263 -87
- package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table-head.vue2.mjs +101 -45
- package/es/packages/components/table/src/table-head.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table.vue2.mjs +244 -62
- package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
- package/es/packages/components/tree/src/tree-item.vue2.mjs +2 -1
- package/es/packages/components/tree/src/tree-item.vue2.mjs.map +1 -1
- package/es/packages/components/upload/src/upload.vue2.mjs +203 -153
- package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
- package/es/packages/directives/tip/src/tip.mjs +42 -27
- package/es/packages/directives/tip/src/tip.mjs.map +1 -1
- package/es/packages/locale/format.mjs +1 -1
- package/es/packages/locale/format.mjs.map +1 -1
- package/es/ui/index.d.ts +6 -0
- package/lib/components/input/src/input.vue.d.ts +2 -2
- package/lib/components/pic/index.d.ts +9 -0
- package/lib/components/pic/src/Pic.vue.d.ts +9 -0
- package/lib/components/pic/src/pic.d.ts +7 -0
- package/lib/components/rate/src/rate.vue.d.ts +46 -10
- package/lib/components/scroll/index.d.ts +15 -0
- package/lib/components/scroll/src/Scroll.vue.d.ts +9 -0
- package/lib/components/scroll/src/scroll.d.ts +7 -0
- package/lib/components/select/src/select.d.ts +18 -0
- package/lib/components/select/src/select.vue.d.ts +18 -0
- package/lib/components/table/src/table-head.vue.d.ts +2 -0
- package/lib/components/tip/src/tip.vue.d.ts +2 -2
- package/lib/components/upload/src/upload.vue.d.ts +6 -4
- package/lib/index.d.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/packages/components/calendar/src/calendar.vue2.js +22 -0
- package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
- package/lib/packages/components/cascader/src/cascader-item.vue2.js +1 -0
- package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
- package/lib/packages/components/cascader/src/cascader.vue2.js +1 -0
- package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
- package/lib/packages/components/float/src/Float.vue2.js +4 -4
- package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
- package/lib/packages/components/pic/src/Pic.vue2.js +17 -1
- package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
- package/lib/packages/components/pic/src/pic.js +7 -0
- package/lib/packages/components/pic/src/pic.js.map +1 -1
- package/lib/packages/components/rate/src/rate.vue2.js +152 -84
- package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
- package/lib/packages/components/scroll/src/Scroll.vue2.js +3 -0
- package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
- package/lib/packages/components/scroll/src/scroll.js +7 -0
- package/lib/packages/components/scroll/src/scroll.js.map +1 -1
- package/lib/packages/components/segment/src/segment.vue.js +10 -12
- package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
- package/lib/packages/components/select/src/select.js +18 -0
- package/lib/packages/components/select/src/select.js.map +1 -1
- package/lib/packages/components/select/src/select.vue2.js +262 -86
- package/lib/packages/components/select/src/select.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table-head.vue2.js +100 -44
- package/lib/packages/components/table/src/table-head.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table.vue2.js +243 -61
- package/lib/packages/components/table/src/table.vue2.js.map +1 -1
- package/lib/packages/components/tree/src/tree-item.vue2.js +2 -1
- package/lib/packages/components/tree/src/tree-item.vue2.js.map +1 -1
- package/lib/packages/components/upload/src/upload.vue2.js +202 -152
- package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
- package/lib/packages/directives/tip/src/tip.js +41 -26
- package/lib/packages/directives/tip/src/tip.js.map +1 -1
- package/lib/packages/locale/format.js +1 -1
- package/lib/packages/locale/format.js.map +1 -1
- package/lib/ui/index.d.ts +6 -0
- package/package.json +1 -1
- package/theme/base.css +0 -3
- package/theme/components/index.css +445 -255
- package/theme/index.css +445 -255
- package/theme/skin/default.css +445 -255
|
@@ -17,6 +17,7 @@ const __default__ = vue.defineComponent({
|
|
|
17
17
|
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
18
18
|
...__default__,
|
|
19
19
|
props: {
|
|
20
|
+
tip: { default: "" },
|
|
20
21
|
flex: { type: Boolean, default: false },
|
|
21
22
|
mode: { default: "default" },
|
|
22
23
|
multiple: { type: Boolean, default: false },
|
|
@@ -29,7 +30,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
29
30
|
required: { type: Boolean, default: false },
|
|
30
31
|
type: { default: "input" },
|
|
31
32
|
picSize: { default: "" },
|
|
32
|
-
width: { default:
|
|
33
|
+
width: { default: "auto" },
|
|
33
34
|
maxLength: { default: Infinity },
|
|
34
35
|
accept: { default: (props) => props.type === "img" ? ".jpg,.jpeg,.png,.gif" : "" },
|
|
35
36
|
maxSize: { default: "" },
|
|
@@ -45,12 +46,38 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
45
46
|
beforeStart: { type: [Function, null], default: null },
|
|
46
47
|
verifiable: { type: Boolean, default: true },
|
|
47
48
|
showList: { type: Boolean, default: true },
|
|
48
|
-
|
|
49
|
+
text: { default: "" }
|
|
49
50
|
},
|
|
50
51
|
emits: ["start", "success", "error", "clear", "change", "progress", "remove", "download"],
|
|
51
52
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
52
53
|
const emit = __emit;
|
|
53
54
|
const props = __props;
|
|
55
|
+
const fileTypeIcons = {
|
|
56
|
+
img: [".png", ".jpg", ".jpeg", ".gif", ".apng", ".webp", ".bmp", ".svg", ".ico"],
|
|
57
|
+
word: [".doc", ".docx"],
|
|
58
|
+
excel: [".xls", ".xlsx", ".csv"],
|
|
59
|
+
ppt: [".ppt", ".pptx", ".ppsx"],
|
|
60
|
+
pdf: [".pdf"],
|
|
61
|
+
video: [".rm", ".rmvb", ".avi", ".mkv", ".mp4", ".wmv", ".mov", ".movie", ".mpeg", ".mpg", ".qt", ".flv"],
|
|
62
|
+
voice: [".mp2", ".mp3", ".wma", ".midi", ".wav", ".aac", ".ogg"],
|
|
63
|
+
rar: [".rar", ".zip", ".tar", ".gz", ".tgz", ".bz2", ".7z"]
|
|
64
|
+
};
|
|
65
|
+
function getFileIcon(name) {
|
|
66
|
+
if (!name || typeof name !== "string") {
|
|
67
|
+
return "file";
|
|
68
|
+
}
|
|
69
|
+
const lastDotIndex = name.lastIndexOf(".");
|
|
70
|
+
if (lastDotIndex === -1) {
|
|
71
|
+
return "file";
|
|
72
|
+
}
|
|
73
|
+
const ext = name.slice(lastDotIndex).toLowerCase();
|
|
74
|
+
for (const [iconType, extList] of Object.entries(fileTypeIcons)) {
|
|
75
|
+
if (extList.includes(ext)) {
|
|
76
|
+
return iconType;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return "file";
|
|
80
|
+
}
|
|
54
81
|
const fileInput = vue.ref(null);
|
|
55
82
|
const fileList = vue.ref([]);
|
|
56
83
|
const errorTip = vue.ref("");
|
|
@@ -58,12 +85,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
58
85
|
const ToFormItem = vue.inject("ToFormItem", {});
|
|
59
86
|
const uploadList = vue.ref([]);
|
|
60
87
|
vue.onMounted(() => {
|
|
61
|
-
fileList.value = props.files;
|
|
88
|
+
fileList.value = [...props.files];
|
|
62
89
|
});
|
|
63
90
|
vue.watch(
|
|
64
91
|
() => props.files,
|
|
65
92
|
(val) => {
|
|
66
|
-
fileList.value = val;
|
|
93
|
+
fileList.value = [...val];
|
|
67
94
|
},
|
|
68
95
|
{
|
|
69
96
|
deep: true
|
|
@@ -79,13 +106,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
79
106
|
if (props.mode) {
|
|
80
107
|
arr.push(`mode-${props.mode}`);
|
|
81
108
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const setPicClass = vue.computed(() => {
|
|
86
|
-
const arr = [];
|
|
87
|
-
if (props.picSize) {
|
|
88
|
-
arr.push(`pic-size-${props.picSize}`);
|
|
109
|
+
if (props.type) {
|
|
110
|
+
arr.push(`type-${props.type}`);
|
|
111
|
+
}
|
|
89
112
|
}
|
|
90
113
|
return arr;
|
|
91
114
|
});
|
|
@@ -152,18 +175,22 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
152
175
|
newFileList.forEach((item) => {
|
|
153
176
|
item.uid = getFileUid(item);
|
|
154
177
|
});
|
|
155
|
-
|
|
178
|
+
const addedCount = newFileList.filter((item) => !fileList.value.some((f) => f.name === item.name)).length;
|
|
179
|
+
const willAddCount = props.duplicatable ? newFileList.length : addedCount;
|
|
180
|
+
if (fileList.value.length + willAddCount <= props.maxLength) {
|
|
156
181
|
uploadList.value = Array.from(e.target.files);
|
|
157
182
|
emit("change", newFileList);
|
|
158
|
-
|
|
159
|
-
e.target.value = "";
|
|
160
|
-
}
|
|
183
|
+
e.target.value = "";
|
|
161
184
|
if (props.type === "img") {
|
|
162
185
|
newFileList.forEach((item) => {
|
|
163
186
|
let reader = new FileReader();
|
|
164
187
|
reader.addEventListener("load", () => {
|
|
165
188
|
item.src = reader.result;
|
|
166
|
-
|
|
189
|
+
if (props.duplicatable) {
|
|
190
|
+
fileList.value.push(item);
|
|
191
|
+
} else {
|
|
192
|
+
replaceOrAddToFileList(item);
|
|
193
|
+
}
|
|
167
194
|
if (props.auto) {
|
|
168
195
|
handleUpload(item);
|
|
169
196
|
}
|
|
@@ -171,7 +198,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
171
198
|
reader.readAsDataURL(item);
|
|
172
199
|
});
|
|
173
200
|
} else {
|
|
174
|
-
|
|
201
|
+
if (props.duplicatable) {
|
|
202
|
+
fileList.value = [...fileList.value, ...newFileList];
|
|
203
|
+
} else {
|
|
204
|
+
newFileList.forEach((item) => replaceOrAddToFileList(item));
|
|
205
|
+
}
|
|
175
206
|
if (newFileList.length && props.auto) {
|
|
176
207
|
vue.nextTick(() => {
|
|
177
208
|
newFileList.forEach((file) => {
|
|
@@ -252,6 +283,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
252
283
|
let str = (fileObj.lastModifiedDate ? (/* @__PURE__ */ new Date()).getTime() : fileObj.modificationdate) + fileObj.name + fileObj.size;
|
|
253
284
|
return md5.md5(str);
|
|
254
285
|
}
|
|
286
|
+
function replaceOrAddToFileList(file) {
|
|
287
|
+
const idx = fileList.value.findIndex((item) => item.name === file.name);
|
|
288
|
+
if (idx !== -1) {
|
|
289
|
+
fileList.value.splice(idx, 1, file);
|
|
290
|
+
} else {
|
|
291
|
+
fileList.value.push(file);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
255
294
|
function setFilePropertyByUid(uid, key, value) {
|
|
256
295
|
let idx = fileList.value.findIndex((item) => item.uid === uid);
|
|
257
296
|
if (idx === -1)
|
|
@@ -319,6 +358,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
319
358
|
submit
|
|
320
359
|
});
|
|
321
360
|
return (_ctx, _cache) => {
|
|
361
|
+
const _component_to_progress = vue.resolveComponent("to-progress");
|
|
322
362
|
const _directive_tip = vue.resolveDirective("tip");
|
|
323
363
|
const _directive_color = vue.resolveDirective("color");
|
|
324
364
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -346,184 +386,182 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
346
386
|
style: { "display": "none" },
|
|
347
387
|
onChange: handleChange
|
|
348
388
|
}, null, 40, ["accept", "multiple"]),
|
|
349
|
-
_ctx.type === "input" ? (vue.openBlock(), vue.
|
|
389
|
+
_ctx.type === "input" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
350
390
|
key: 1,
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
391
|
+
class: "to-upload-content"
|
|
392
|
+
}, [
|
|
393
|
+
vue.createVNode(vue.unref(index$1.ToInput), {
|
|
394
|
+
class: "to-upload-input",
|
|
395
|
+
link: "",
|
|
396
|
+
disabled: "",
|
|
397
|
+
width: "full",
|
|
398
|
+
placeholder: _ctx.placeholder || vue.unref(index.t)("to.common.placeholder.select"),
|
|
399
|
+
verifiable: false,
|
|
400
|
+
onClick: handleFile
|
|
401
|
+
}, {
|
|
402
|
+
suffix: vue.withCtx(() => [
|
|
403
|
+
vue.createVNode(vue.unref(index$2.ToIcon), { value: "browse" })
|
|
404
|
+
]),
|
|
405
|
+
_: 1
|
|
406
|
+
/* STABLE */
|
|
407
|
+
}, 8, ["placeholder"]),
|
|
408
|
+
!_ctx.auto && fileList.value.length - _ctx.files.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ToButton), {
|
|
409
|
+
key: 0,
|
|
410
|
+
icon: "upload",
|
|
411
|
+
class: "to-upload-upload-button",
|
|
412
|
+
onClick: vue.withModifiers(submit, ["stop"])
|
|
413
|
+
}, {
|
|
414
|
+
default: vue.withCtx(() => [
|
|
415
|
+
vue.createTextVNode("\u4E0A\u4F20")
|
|
416
|
+
]),
|
|
417
|
+
_: 1
|
|
418
|
+
/* STABLE */
|
|
419
|
+
})) : vue.createCommentVNode("v-if", true),
|
|
420
|
+
_ctx.tip ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
421
|
+
key: 1,
|
|
422
|
+
class: "to-upload-tip"
|
|
423
|
+
}, [
|
|
424
|
+
vue.createElementVNode(
|
|
425
|
+
"div",
|
|
426
|
+
{ class: "to-upload-tip-text" },
|
|
427
|
+
vue.toDisplayString(_ctx.tip),
|
|
428
|
+
1
|
|
429
|
+
/* TEXT */
|
|
430
|
+
)
|
|
431
|
+
])) : vue.createCommentVNode("v-if", true)
|
|
432
|
+
])) : vue.createCommentVNode("v-if", true),
|
|
433
|
+
_ctx.type === "button" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
368
434
|
key: 2,
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
435
|
+
class: "to-upload-content"
|
|
436
|
+
}, [
|
|
437
|
+
vue.createVNode(vue.unref(index$3.ToButton), {
|
|
438
|
+
class: "to-upload-button",
|
|
439
|
+
disabled: props.disabled,
|
|
440
|
+
icon: "upload",
|
|
441
|
+
"icon-position": "left",
|
|
442
|
+
onClick: handleFile
|
|
443
|
+
}, {
|
|
444
|
+
default: vue.withCtx(() => [
|
|
445
|
+
vue.createTextVNode(
|
|
446
|
+
vue.toDisplayString(props.text || vue.unref(index.t)("to.upload.button")),
|
|
447
|
+
1
|
|
448
|
+
/* TEXT */
|
|
449
|
+
)
|
|
450
|
+
]),
|
|
451
|
+
_: 1
|
|
452
|
+
/* STABLE */
|
|
453
|
+
}, 8, ["disabled"]),
|
|
454
|
+
_ctx.tip ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
455
|
+
key: 0,
|
|
456
|
+
class: "to-upload-tip"
|
|
457
|
+
}, [
|
|
458
|
+
vue.createElementVNode(
|
|
459
|
+
"div",
|
|
460
|
+
{ class: "to-upload-tip-text" },
|
|
461
|
+
vue.toDisplayString(_ctx.tip),
|
|
377
462
|
1
|
|
378
463
|
/* TEXT */
|
|
379
464
|
)
|
|
380
|
-
]),
|
|
381
|
-
|
|
382
|
-
/* STABLE */
|
|
383
|
-
}, 8, ["disabled"])) : vue.createCommentVNode("v-if", true),
|
|
384
|
-
_ctx.type === "img" && _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock(
|
|
385
|
-
"div",
|
|
386
|
-
{
|
|
387
|
-
key: 3,
|
|
388
|
-
class: vue.normalizeClass(["to-upload-img", setPicClass.value])
|
|
389
|
-
},
|
|
390
|
-
[
|
|
391
|
-
vue.createElementVNode("div", {
|
|
392
|
-
class: "to-upload-add",
|
|
393
|
-
onClick: handleFile
|
|
394
|
-
}, [
|
|
395
|
-
vue.createVNode(vue.unref(index$2.ToIcon), {
|
|
396
|
-
value: "add",
|
|
397
|
-
mode: "upload-add"
|
|
398
|
-
})
|
|
399
|
-
])
|
|
400
|
-
],
|
|
401
|
-
2
|
|
402
|
-
/* CLASS */
|
|
403
|
-
)) : vue.createCommentVNode("v-if", true),
|
|
465
|
+
])) : vue.createCommentVNode("v-if", true)
|
|
466
|
+
])) : vue.createCommentVNode("v-if", true),
|
|
404
467
|
_ctx.showList ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
405
|
-
key:
|
|
406
|
-
class: "to-upload-list"
|
|
407
|
-
style: { "width": "100%" }
|
|
468
|
+
key: 3,
|
|
469
|
+
class: "to-upload-list"
|
|
408
470
|
}, [
|
|
409
471
|
vue.renderSlot(_ctx.$slots, "default", { fileList: fileList.value }, () => [
|
|
410
472
|
_ctx.type === "img" ? (vue.openBlock(), vue.createElementBlock(
|
|
411
|
-
|
|
412
|
-
{
|
|
413
|
-
key: 0,
|
|
414
|
-
class: vue.normalizeClass(["to-upload-img", setPicClass.value])
|
|
415
|
-
},
|
|
473
|
+
vue.Fragment,
|
|
474
|
+
{ key: 0 },
|
|
416
475
|
[
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
vue.renderList(fileList.value, (item, index) => {
|
|
425
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
476
|
+
(vue.openBlock(true), vue.createElementBlock(
|
|
477
|
+
vue.Fragment,
|
|
478
|
+
null,
|
|
479
|
+
vue.renderList(fileList.value, (item, index) => {
|
|
480
|
+
return vue.openBlock(), vue.createElementBlock(
|
|
481
|
+
"div",
|
|
482
|
+
{
|
|
426
483
|
key: index,
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
class: "to-upload-pic",
|
|
432
|
-
alt: ""
|
|
433
|
-
}, null, 8, ["src"]),
|
|
484
|
+
style: vue.normalizeStyle({ backgroundImage: `url(${item.src})` }),
|
|
485
|
+
class: "to-upload-item"
|
|
486
|
+
},
|
|
487
|
+
[
|
|
434
488
|
vue.createVNode(vue.unref(index$2.ToIcon), {
|
|
435
|
-
value: "
|
|
436
|
-
|
|
489
|
+
value: "close",
|
|
490
|
+
class: "to-upload-item-remove",
|
|
437
491
|
link: "",
|
|
438
492
|
onClick: ($event) => handleDelete(index, item)
|
|
439
493
|
}, null, 8, ["onClick"]),
|
|
440
|
-
item.progress ? (vue.openBlock(), vue.
|
|
494
|
+
item.progress ? (vue.openBlock(), vue.createBlock(_component_to_progress, {
|
|
441
495
|
key: 0,
|
|
442
|
-
class: "upload-progress"
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
]);
|
|
456
|
-
}),
|
|
457
|
-
128
|
|
458
|
-
/* KEYED_FRAGMENT */
|
|
459
|
-
))
|
|
460
|
-
])) : vue.createCommentVNode("v-if", true),
|
|
461
|
-
!_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
462
|
-
key: 1,
|
|
496
|
+
class: "to-upload-item-progress",
|
|
497
|
+
"text-position": "none",
|
|
498
|
+
value: item.progress
|
|
499
|
+
}, null, 8, ["value"])) : vue.createCommentVNode("v-if", true)
|
|
500
|
+
],
|
|
501
|
+
4
|
|
502
|
+
/* STYLE */
|
|
503
|
+
);
|
|
504
|
+
}),
|
|
505
|
+
128
|
|
506
|
+
/* KEYED_FRAGMENT */
|
|
507
|
+
)),
|
|
508
|
+
vue.createElementVNode("div", {
|
|
463
509
|
class: "to-upload-add",
|
|
464
510
|
onClick: handleFile
|
|
465
511
|
}, [
|
|
466
512
|
vue.createVNode(vue.unref(index$2.ToIcon), {
|
|
467
513
|
value: "add",
|
|
468
|
-
|
|
514
|
+
class: "to-upload-add-icon"
|
|
469
515
|
})
|
|
470
|
-
])
|
|
516
|
+
])
|
|
471
517
|
],
|
|
472
|
-
|
|
473
|
-
/*
|
|
518
|
+
64
|
|
519
|
+
/* STABLE_FRAGMENT */
|
|
474
520
|
)) : (vue.openBlock(true), vue.createElementBlock(
|
|
475
521
|
vue.Fragment,
|
|
476
522
|
{ key: 1 },
|
|
477
523
|
vue.renderList(fileList.value, (item, index) => {
|
|
478
524
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
479
525
|
key: index,
|
|
480
|
-
class: "to-upload-
|
|
526
|
+
class: "to-upload-item"
|
|
481
527
|
}, [
|
|
482
|
-
vue.createVNode(vue.unref(index$2.ToIcon), {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
528
|
+
vue.createVNode(vue.unref(index$2.ToIcon), {
|
|
529
|
+
value: getFileIcon(item.name),
|
|
530
|
+
class: "to-upload-item-icon"
|
|
531
|
+
}, null, 8, ["value"]),
|
|
532
|
+
vue.createElementVNode(
|
|
533
|
+
"div",
|
|
534
|
+
{ class: "to-upload-item-name" },
|
|
535
|
+
vue.toDisplayString(item.name),
|
|
536
|
+
1
|
|
537
|
+
/* TEXT */
|
|
538
|
+
),
|
|
492
539
|
vue.createElementVNode(
|
|
493
|
-
"
|
|
494
|
-
|
|
540
|
+
"div",
|
|
541
|
+
{ class: "to-upload-item-state" },
|
|
495
542
|
vue.toDisplayString(item.status),
|
|
496
543
|
1
|
|
497
544
|
/* TEXT */
|
|
498
545
|
),
|
|
499
|
-
item.progress ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
500
|
-
key: 0,
|
|
501
|
-
class: "upload-progress"
|
|
502
|
-
}, [
|
|
503
|
-
vue.createElementVNode(
|
|
504
|
-
"div",
|
|
505
|
-
{
|
|
506
|
-
class: "upload-progress-bar",
|
|
507
|
-
style: vue.normalizeStyle({ width: item.progress + "%" })
|
|
508
|
-
},
|
|
509
|
-
null,
|
|
510
|
-
4
|
|
511
|
-
/* STYLE */
|
|
512
|
-
)
|
|
513
|
-
])) : vue.createCommentVNode("v-if", true),
|
|
514
546
|
item[_ctx.fileIdText] && _ctx.downloadable ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.ToIcon), {
|
|
515
|
-
key:
|
|
547
|
+
key: 0,
|
|
548
|
+
class: "to-upload-item-download",
|
|
516
549
|
value: "download",
|
|
517
|
-
mode: "color",
|
|
518
550
|
link: "",
|
|
519
551
|
onClick: ($event) => handleDownload(item[_ctx.fileIdText])
|
|
520
552
|
}, null, 8, ["onClick"])) : vue.createCommentVNode("v-if", true),
|
|
521
553
|
vue.createVNode(vue.unref(index$2.ToIcon), {
|
|
522
|
-
value: "
|
|
523
|
-
|
|
554
|
+
value: "close",
|
|
555
|
+
class: "to-upload-item-remove",
|
|
524
556
|
link: "",
|
|
525
557
|
onClick: ($event) => handleDelete(index, item)
|
|
526
|
-
}, null, 8, ["onClick"])
|
|
558
|
+
}, null, 8, ["onClick"]),
|
|
559
|
+
item.progress ? (vue.openBlock(), vue.createBlock(_component_to_progress, {
|
|
560
|
+
key: 1,
|
|
561
|
+
class: "to-upload-item-progress",
|
|
562
|
+
"text-position": "none",
|
|
563
|
+
value: item.progress
|
|
564
|
+
}, null, 8, ["value"])) : vue.createCommentVNode("v-if", true)
|
|
527
565
|
]);
|
|
528
566
|
}),
|
|
529
567
|
128
|
|
@@ -531,6 +569,18 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
531
569
|
))
|
|
532
570
|
])
|
|
533
571
|
])) : vue.createCommentVNode("v-if", true),
|
|
572
|
+
_ctx.tip && _ctx.type === "img" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
573
|
+
key: 4,
|
|
574
|
+
class: "to-upload-tip"
|
|
575
|
+
}, [
|
|
576
|
+
vue.createElementVNode(
|
|
577
|
+
"div",
|
|
578
|
+
{ class: "to-upload-tip-text" },
|
|
579
|
+
vue.toDisplayString(_ctx.tip),
|
|
580
|
+
1
|
|
581
|
+
/* TEXT */
|
|
582
|
+
)
|
|
583
|
+
])) : vue.createCommentVNode("v-if", true),
|
|
534
584
|
errorTip.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
|
|
535
585
|
key: 5,
|
|
536
586
|
class: "to-box-tip"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.vue2.js","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToUpload'\n});\n</script>\n<template>\n\t<div :id=\"id\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-upload\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<span v-if=\"verifiable && validateRequired\" v-show=\"false\" class=\"to-validate\" :req=\"validateRequired\" :desc=\"validateDesc\" :value=\"validateValue\"></span>\n\t\t<input ref=\"fileInput\" type=\"file\" :accept=\"accept\" :multiple=\"props.multiple\" style=\"display: none\" @change=\"handleChange\" />\n\t\t<to-input v-if=\"type === 'input'\" link :disabled=\"props.disabled\" :width=\"props.width\" :placeholder=\"placeholder || t('to.common.placeholder.select')\" :verifiable=\"false\">\n\t\t\t<template #suffix>\n\t\t\t\t<to-icon value=\"browse\" link @click=\"handleFile\"></to-icon>\n\t\t\t</template>\n\t\t</to-input>\n\t\t<to-button v-if=\"type === 'button'\" :disabled=\"props.disabled\" icon=\"upload\" icon-position=\"left\" @click=\"handleFile\">{{ props.uploadText || t('to.upload.button') }}</to-button>\n\t\t<div v-if=\"type === 'img' && $slots.default\" class=\"to-upload-img\" :class=\"setPicClass\">\n\t\t\t<div class=\"to-upload-add\" @click=\"handleFile\">\n\t\t\t\t<to-icon value=\"add\" mode=\"upload-add\"></to-icon>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"showList\" class=\"to-upload-list\" style=\"width: 100%\">\n\t\t\t<slot :file-list=\"fileList\">\n\t\t\t\t<div v-if=\"type === 'img'\" class=\"to-upload-img\" :class=\"setPicClass\">\n\t\t\t\t\t<div v-if=\"fileList.length\" class=\"to-upload-img-list\">\n\t\t\t\t\t\t<div v-for=\"(item, index) in fileList\" :key=\"index\" class=\"to-upload-img-list-item\">\n\t\t\t\t\t\t\t<img :src=\"item.src\" class=\"to-upload-pic\" alt=\"\" />\n\t\t\t\t\t\t\t<to-icon value=\"delete\" mode=\"icon-remove\" link @click=\"handleDelete(index, item)\"></to-icon>\n\t\t\t\t\t\t\t<div v-if=\"item.progress\" class=\"upload-progress\">\n\t\t\t\t\t\t\t\t<div class=\"upload-progress-bar\" :style=\"{ width: item.progress + '%' }\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"!$slots.default\" class=\"to-upload-add\" @click=\"handleFile\">\n\t\t\t\t\t\t<to-icon value=\"add\" mode=\"upload-add\"></to-icon>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<div v-for=\"(item, index) in fileList\" :key=\"index\" class=\"to-upload-list-item\">\n\t\t\t\t\t\t<to-icon value=\"img\"></to-icon>\n\t\t\t\t\t\t<div v-tip:click=\"item.name\" class=\"file-name\">\n\t\t\t\t\t\t\t{{ item.name }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span>{{ item.status }}</span>\n\t\t\t\t\t\t<div v-if=\"item.progress\" class=\"upload-progress\">\n\t\t\t\t\t\t\t<div class=\"upload-progress-bar\" :style=\"{ width: item.progress + '%' }\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<to-icon v-if=\"item[fileIdText] && downloadable\" value=\"download\" mode=\"color\" link @click=\"handleDownload(item[fileIdText])\"></to-icon>\n\t\t\t\t\t\t<to-icon value=\"delete\" mode=\"color\" link @click=\"handleDelete(index, item)\"></to-icon>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</slot>\n\t\t</div>\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\n\t\t\t<template v-if=\"errorType === 'rule'\">\n\t\t\t\t{{ t('to.upload.selectError') }}\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\n\t\t\t</template>\n\t\t\t<template v-else> {{ t('to.upload.required') }} </template>\n\t\t</span>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { fileAjax, md5 } from '@touchvue/utils'\nimport { CSSProperties, computed, nextTick, onMounted, ref, inject, watch } from 'vue'\nimport { ToInput, ToIcon, ToButton, $tip } from '@touchvue/components'\nimport { t, langKey } from '@touchvue/locale'\n\n\nconst emit = defineEmits(['start', 'success', 'error', 'clear', 'change', 'progress', 'remove', 'download'])\n\nexport type UploadType = 'input' | 'img' | 'button'\n\nexport interface FileProps {\n\tflex?: boolean\n\tmode?: string\n\tmultiple?: boolean\n\tauto?: boolean\n\taction?: string\n\theaders?: object\n\tplaceholder?: string\n\tdesc?: string\n\tid?: string\n\trequired?: boolean\n\ttype?: UploadType\n\tpicSize?: string | number\n\twidth?: string | number\n\tmaxLength?: number\n\taccept?: string\n\tmaxSize?: string | number\n\tduplicatable?: false\n\tfileIdText?: string\n\tdisabled?: boolean\n\tdownloadable?: boolean\n\tname?: string\n\twithCredentials?: boolean\n\tfiles?: any[]\n\tdata?: object\n\tbeforeSelect?: ((fileList) => boolean | Promise<any>) | null\n\tbeforeStart?: ((file) => boolean | Promise<any>) | null\n\tverifiable?: boolean\n\tshowList?: boolean\n\tuploadText?: string\n}\n\nconst props = withDefaults(defineProps<FileProps>(), {\n\tflex: false,\n\tmode: 'default',\n\tmultiple: false,\n\taction: '',\n\tplaceholder: '',\n\tauto: false,\n\tdesc: '',\n\tid: 'upload' + new Date().getTime(),\n\trequired: false,\n\ttype: 'input',\n\tpicSize: '',\n\twidth: 20,\n\tmaxLength: Infinity,\n\taccept: props => (props.type === 'img' ? '.jpg,.jpeg,.png,.gif' : ''),\n\tmaxSize: '',\n\tduplicatable: false,\n\tfileIdText: 'fileId',\n\tdisabled: false,\n\tdownloadable: false,\n\tname: 'uploadfile',\n\twithCredentials: false,\n\tfiles: () => [],\n\tdata: () => ({}),\n\theaders: () => ({}),\n\tbeforeSelect: null,\n\tbeforeStart: null,\n\tverifiable: true,\n\tshowList: true,\n\tuploadText: ''\n})\n\nconst fileInput = ref(null)\nconst fileList = ref([])\nconst errorTip = ref('')\nconst errorType = ref('rule')\nconst ToFormItem = inject<{ required?: boolean; label?: string }>('ToFormItem', {})\nconst uploadList = ref([])\n\nonMounted(() => {\n\tfileList.value = props.files\n})\nwatch(\n\t() => props.files,\n\tval => {\n\t\tfileList.value = val\n\t},\n\t{\n\t\tdeep: true\n\t}\n)\nconst setClass = computed(() => {\n\tconst arr = ['to-disable-target']\n\tif (errorTip.value) {\n\t\tarr.push('to-upload-mode-line')\n\t\tarr.push('to-upload-color-danger')\n\t\tarr.push('to-upload-tip-show')\n\t} else {\n\t\tif (props.mode) {\n\t\t\tarr.push(`mode-${props.mode}`)\n\t\t}\n\t}\n\treturn arr\n})\nconst setPicClass = computed(() => {\n\tconst arr = []\n\tif (props.picSize) {\n\t\tarr.push(`pic-size-${props.picSize}`)\n\t}\n\treturn arr\n})\nconst setStyle = computed(() => {\n\tconst style: CSSProperties = {}\n\tif (props.width) {\n\t\tstyle.width = isNaN(Number(props.width)) ? props.width : props.width + 'em'\n\t}\n\treturn style\n})\nconst validateRequired = computed(() => {\n\tif (props.required) {\n\t\treturn 'true'\n\t} else if (ToFormItem && ToFormItem.required) {\n\t\treturn 'true'\n\t} else {\n\t\treturn 'false'\n\t}\n})\nconst validateDesc = computed(() => {\n\tif (props.desc) {\n\t\treturn props.desc\n\t} else if (ToFormItem && ToFormItem.label) {\n\t\treturn ToFormItem.label\n\t} else {\n\t\treturn ''\n\t}\n})\nconst validateValue = computed(() => {\n\tif (Object.keys(fileList.value).length > 0) {\n\t\treturn 'true'\n\t} else {\n\t\treturn ''\n\t}\n})\nfunction handleFile() {\n\tif (props.disabled) return false\n\tfileInput.value.click()\n}\nasync function handleChange(e) {\n\tlet newFileList = []\n\tnewFileList = Array.from(e.target.files)\n\n\terrorTip.value = ''\n\tlet flag = true\n\tif (typeof props.beforeSelect === 'boolean') {\n\t\tflag = props.beforeSelect\n\t} else {\n\t\tif (props.beforeSelect) {\n\t\t\tif (typeof props.beforeSelect === 'function') {\n\t\t\t\tconst result = props.beforeSelect(newFileList)\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\n\t\t\t\t\tflag = await result\n\t\t\t\t} else {\n\t\t\t\t\tflag = !!result\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tflag = !!props.beforeSelect\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tnewFileList.forEach(item => {\n\t\titem.uid = getFileUid(item)\n\t})\n\tif (fileList.value.length + newFileList.length <= props.maxLength) {\n\t\tuploadList.value = Array.from(e.target.files)\n\t\temit('change', newFileList)\n\t\tif (props.duplicatable) {\n\t\t\te.target.value = ''\n\t\t}\n\t\tif (props.type === 'img') {\n\t\t\tnewFileList.forEach(item => {\n\t\t\t\tlet reader = new FileReader()\n\t\t\t\treader.addEventListener('load', () => {\n\t\t\t\t\titem.src = reader.result\n\t\t\t\t\tfileList.value.push(item)\n\t\t\t\t\tif (props.auto) {\n\t\t\t\t\t\thandleUpload(item)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treader.readAsDataURL(item)\n\t\t\t})\n\t\t} else {\n\t\t\tfileList.value = [...fileList.value, ...newFileList]\n\t\t\tif (newFileList.length && props.auto) {\n\t\t\t\tnextTick(() => {\n\t\t\t\t\tnewFileList.forEach(file => {\n\t\t\t\t\t\thandleUpload(file)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t} else {\n\t\t$tip.danger(t('to.upload.tip.error.count', props.maxLength)).catch(() => {})\n\t}\n}\n\nasync function handleUpload(file) {\n\tif (!props.action) return false\n\tlet flag = true\n\tif (typeof props.beforeStart === 'boolean') {\n\t\tflag = props.beforeStart\n\t} else {\n\t\tif (props.beforeStart) {\n\t\t\tif (typeof props.beforeStart === 'function') {\n\t\t\t\tconst result = props.beforeStart(file)\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\n\t\t\t\t\tflag = await result\n\t\t\t\t} else {\n\t\t\t\t\tflag = !!result\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tflag = !!props.beforeStart\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tsetFilePropertyByUid(file.uid, 'status', 'start')\n\temit('start', file)\n\tlet formData = new FormData()\n\tformData.append(props.name, file)\n\tif (props.data) {\n\t\tObject.keys(props.data).forEach(key => {\n\t\t\tformData.append(key, props.data[key])\n\t\t})\n\t}\n\tfileAjax({\n\t\taction: props.action,\n\t\tdata: formData,\n\t\theaders: props.headers,\n\t\twithCredentials: props.withCredentials,\n\t\tonError: (err, status) => {\n\t\t\tsetFilePropertyByUid(file.uid, 'status', 'error')\n\t\t\temit('error', err, status, file)\n\t\t},\n\t\tonSuccess: (data, status) => {\n\t\t\tlet _data = JSON.parse(data)\n\t\t\tsetFilePropertyByUid(file.uid, 'status', 'success')\n\t\t\tsetFilePropertyByUid(file.uid, props.fileIdText, _data[props.fileIdText])\n\t\t\temit('success', _data, status, file)\n\t\t},\n\t\tonProgress: e => {\n\t\t\tsetFilePropertyByUid(file.uid, 'progress', Math.round((e.loaded / e.total) * 100))\n\t\t\temit('progress', e.loaded, e.total, file)\n\t\t}\n\t})\n}\n\nfunction handleDelete(index: number, item) {\n\tif (props.disabled) return false\n\tlet file = fileList.value.splice(index, 1)\n\tif (fileInput.value.value.includes(item.name)) {\n\t\tfileInput.value.value = ''\n\t}\n\temit('remove', file[0])\n}\nfunction getFileUid(fileObj) {\n\tif (!fileObj) return\n\tlet str = (fileObj.lastModifiedDate ? new Date().getTime() : fileObj.modificationdate) + fileObj.name + fileObj.size\n\treturn md5(str)\n}\nfunction setFilePropertyByUid(uid, key, value) {\n\tlet idx = fileList.value.findIndex(item => item.uid === uid)\n\tif (idx === -1) return\n\tfileList.value[idx][key] = value\n\tconst updatedItem = {\n\t\tlastModified: fileList.value[idx].lastModified,\n\t\tlastModifiedDate: fileList.value[idx].lastModifiedDate,\n\t\tname: fileList.value[idx].name,\n\t\tsize: fileList.value[idx].size,\n\t\ttype: fileList.value[idx].type,\n\t\tuid: fileList.value[idx].uid,\n\t\tsrc: fileList.value[idx].src,\n\t\tstatus: fileList.value[idx].status,\n\t\tprogress: fileList.value[idx].progress,\n\t\t[props.fileIdText]: fileList.value[idx][props.fileIdText],\n\t\t[key]: value\n\t}\n\tfileList.value.splice(idx, 1, updatedItem)\n}\nfunction handleDownload(fileId) {\n\temit('download', fileId)\n}\nfunction clear() {\n\tlet tem = fileList.value.filter(item => item[props.fileIdText])\n\tfileList.value = tem\n}\nasync function submit() {\n\terrorTip.value = ''\n\tlet flag = true\n\tif (typeof props.beforeSelect === 'boolean') {\n\t\tflag = props.beforeSelect\n\t} else {\n\t\tif (props.beforeSelect) {\n\t\t\tif (typeof props.beforeSelect === 'function') {\n\t\t\t\tconst result = props.beforeSelect(uploadList.value)\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\n\t\t\t\t\tflag = await result\n\t\t\t\t} else {\n\t\t\t\t\tflag = !!result\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tflag = !!props.beforeSelect\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tuploadList.value.forEach(item => {\n\t\titem.uid = getFileUid(item)\n\t})\n\tif (uploadList.value.length <= props.maxLength) {\n\t\tuploadList.value.forEach(file => {\n\t\t\thandleUpload(file)\n\t\t})\n\t} else {\n\t\t$tip.danger(t('to.upload.tip.error.count', props.maxLength)).catch(() => {})\n\t}\n}\ndefineExpose({\n\tclear,\n\terrorTip,\n\terrorType,\n\tsubmit\n})\n</script>\n"],"names":["DO_defineComponent","ref","inject","onMounted","watch","computed","nextTick","$tip","t","fileAjax","md5","_createElementBlock","id","_unref","langKey","flex","_normalizeClass","verifiable","_createElementVNode","accept","type","_createBlock","ToInput","placeholder","_createVNode","ToIcon","ToButton","$slots","showList","_renderSlot","_openBlock","_Fragment","_renderList","_normalizeStyle","_createTextVNode","_toDisplayString","fileIdText","downloadable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload.vue2.js","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToUpload'\n});\n</script>\n<template>\n\t<div :id=\"id\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-upload\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<span v-if=\"verifiable && validateRequired\" v-show=\"false\" class=\"to-validate\" :req=\"validateRequired\" :desc=\"validateDesc\" :value=\"validateValue\"></span>\n\t\t<input ref=\"fileInput\" type=\"file\" :accept=\"accept\" :multiple=\"props.multiple\" style=\"display: none\" @change=\"handleChange\" />\n\t\t<div v-if=\"type === 'input'\" class=\"to-upload-content\">\n\t\t\t<to-input class=\"to-upload-input\" link disabled width=\"full\" :placeholder=\"placeholder || t('to.common.placeholder.select')\" :verifiable=\"false\" @click=\"handleFile\">\n\t\t\t\t<template #suffix>\n\t\t\t\t\t<to-icon value=\"browse\"></to-icon>\n\t\t\t\t</template>\n\t\t\t</to-input>\n\t\t\t<to-button v-if=\"!auto && fileList.length - files.length > 0\" icon=\"upload\" class=\"to-upload-upload-button\" @click.stop=\"submit\">上传</to-button>\n\t\t\t<div v-if=\"tip\" class=\"to-upload-tip\">\n\t\t\t\t<div class=\"to-upload-tip-text\">\n\t\t\t\t\t{{ tip }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"type === 'button'\" class=\"to-upload-content\">\n\t\t\t<to-button class=\"to-upload-button\" :disabled=\"props.disabled\" icon=\"upload\" icon-position=\"left\" @click=\"handleFile\">{{ props.text || t('to.upload.button') }}</to-button>\n\t\t\t<div v-if=\"tip\" class=\"to-upload-tip\">\n\t\t\t\t<div class=\"to-upload-tip-text\">\n\t\t\t\t\t{{ tip }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"showList\" class=\"to-upload-list\">\n\t\t\t<slot :file-list=\"fileList\">\n\t\t\t\t<template v-if=\"type === 'img'\">\n\t\t\t\t\t<div v-for=\"(item, index) in fileList\" :key=\"index\" :style=\"{ backgroundImage: `url(${item.src})` }\" class=\"to-upload-item\">\n\t\t\t\t\t\t<to-icon value=\"close\" class=\"to-upload-item-remove\" link @click=\"handleDelete(index, item)\"></to-icon>\n\t\t\t\t\t\t<to-progress v-if=\"item.progress\" class=\"to-upload-item-progress\" text-position=\"none\" :value=\"item.progress\"></to-progress>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"to-upload-add\" @click=\"handleFile\">\n\t\t\t\t\t\t<to-icon value=\"add\" class=\"to-upload-add-icon\"></to-icon>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<div v-for=\"(item, index) in fileList\" :key=\"index\" class=\"to-upload-item\">\n\t\t\t\t\t\t<to-icon :value=\"getFileIcon(item.name)\" class=\"to-upload-item-icon\"></to-icon>\n\t\t\t\t\t\t<div class=\"to-upload-item-name\">\n\t\t\t\t\t\t\t{{ item.name }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"to-upload-item-state\">{{ item.status }}</div>\n\t\t\t\t\t\t<to-icon v-if=\"item[fileIdText] && downloadable\" class=\"to-upload-item-download\" value=\"download\" link @click=\"handleDownload(item[fileIdText])\"></to-icon>\n\t\t\t\t\t\t<to-icon value=\"close\" class=\"to-upload-item-remove\" link @click=\"handleDelete(index, item)\"></to-icon>\n\t\t\t\t\t\t<to-progress v-if=\"item.progress\" class=\"to-upload-item-progress\" text-position=\"none\" :value=\"item.progress\"></to-progress>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</slot>\n\t\t</div>\n\t\t<div v-if=\"tip && type === 'img'\" class=\"to-upload-tip\">\n\t\t\t<div class=\"to-upload-tip-text\">\n\t\t\t\t{{ tip }}\n\t\t\t</div>\n\t\t</div>\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\n\t\t\t<template v-if=\"errorType === 'rule'\">\n\t\t\t\t{{ t('to.upload.selectError') }}\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\n\t\t\t</template>\n\t\t\t<template v-else> {{ t('to.upload.required') }} </template>\n\t\t</span>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { fileAjax, md5 } from '@touchvue/utils'\nimport { CSSProperties, computed, nextTick, onMounted, ref, inject, watch } from 'vue'\nimport { ToInput, ToIcon, ToButton, $tip } from '@touchvue/components'\nimport { t, langKey } from '@touchvue/locale'\n\n\nconst emit = defineEmits(['start', 'success', 'error', 'clear', 'change', 'progress', 'remove', 'download'])\n\nexport type UploadType = 'input' | 'img' | 'button'\n\nexport interface FileProps {\n\ttip?: string\n\tflex?: boolean\n\tmode?: string\n\tmultiple?: boolean\n\tauto?: boolean\n\taction?: string\n\theaders?: object\n\tplaceholder?: string\n\tdesc?: string\n\tid?: string\n\trequired?: boolean\n\ttype?: UploadType\n\tpicSize?: string | number\n\twidth?: string | number\n\tmaxLength?: number\n\taccept?: string\n\tmaxSize?: string | number\n\tduplicatable?: boolean\n\tfileIdText?: string\n\tdisabled?: boolean\n\tdownloadable?: boolean\n\tname?: string\n\twithCredentials?: boolean\n\tfiles?: any[]\n\tdata?: object\n\tbeforeSelect?: ((fileList) => boolean | Promise<any>) | null\n\tbeforeStart?: ((file) => boolean | Promise<any>) | null\n\tverifiable?: boolean\n\tshowList?: boolean\n\ttext?: string\n}\n\nconst props = withDefaults(defineProps<FileProps>(), {\n\ttip: '',\n\tflex: false,\n\tmode: 'default',\n\tmultiple: false,\n\taction: '',\n\tplaceholder: '',\n\tauto: false,\n\tdesc: '',\n\tid: 'upload' + new Date().getTime(),\n\trequired: false,\n\ttype: 'input',\n\tpicSize: '',\n\twidth: 'auto',\n\tmaxLength: Infinity,\n\taccept: props => (props.type === 'img' ? '.jpg,.jpeg,.png,.gif' : ''),\n\tmaxSize: '',\n\tduplicatable: false,\n\tfileIdText: 'fileId',\n\tdisabled: false,\n\tdownloadable: false,\n\tname: 'uploadfile',\n\twithCredentials: false,\n\tfiles: () => [],\n\tdata: () => ({}),\n\theaders: () => ({}),\n\tbeforeSelect: null,\n\tbeforeStart: null,\n\tverifiable: true,\n\tshowList: true,\n\ttext: ''\n})\n\nconst fileTypeIcons = {\n\timg: ['.png', '.jpg', '.jpeg', '.gif', '.apng', '.webp', '.bmp', '.svg', '.ico'],\n\tword: ['.doc', '.docx'],\n\texcel: ['.xls', '.xlsx', '.csv'],\n\tppt: ['.ppt', '.pptx', '.ppsx'],\n\tpdf: ['.pdf'],\n\tvideo: ['.rm', '.rmvb', '.avi', '.mkv', '.mp4', '.wmv', '.mov', '.movie', '.mpeg', '.mpg', '.qt', '.flv'],\n\tvoice: ['.mp2', '.mp3', '.wma', '.midi', '.wav', '.aac', '.ogg'],\n\trar: ['.rar', '.zip', '.tar', '.gz', '.tgz', '.bz2', '.7z']\n}\n\nfunction getFileIcon(name: string) {\n\tif (!name || typeof name !== 'string') {\n\t\treturn 'file'\n\t}\n\tconst lastDotIndex = name.lastIndexOf('.')\n\tif (lastDotIndex === -1) {\n\t\treturn 'file'\n\t}\n\tconst ext = name.slice(lastDotIndex).toLowerCase()\n\tfor (const [iconType, extList] of Object.entries(fileTypeIcons)) {\n\t\tif (extList.includes(ext)) {\n\t\t\treturn iconType\n\t\t}\n\t}\n\treturn 'file'\n}\n\nconst fileInput = ref(null)\nconst fileList = ref([])\nconst errorTip = ref('')\nconst errorType = ref('rule')\nconst ToFormItem = inject<{ required?: boolean; label?: string }>('ToFormItem', {})\nconst uploadList = ref([])\n\nonMounted(() => {\n\tfileList.value = [...props.files]\n})\nwatch(\n\t() => props.files,\n\tval => {\n\t\tfileList.value = [...val]\n\t},\n\t{\n\t\tdeep: true\n\t}\n)\nconst setClass = computed(() => {\n\tconst arr = ['to-disable-target']\n\tif (errorTip.value) {\n\t\tarr.push('to-upload-mode-line')\n\t\tarr.push('to-upload-color-danger')\n\t\tarr.push('to-upload-tip-show')\n\t} else {\n\t\tif (props.mode) {\n\t\t\tarr.push(`mode-${props.mode}`)\n\t\t}\n\t\tif (props.type) {\n\t\t\tarr.push(`type-${props.type}`)\n\t\t}\n\t}\n\treturn arr\n})\nconst setStyle = computed(() => {\n\tconst style: CSSProperties = {}\n\tif (props.width) {\n\t\tstyle.width = isNaN(Number(props.width)) ? props.width : props.width + 'em'\n\t}\n\treturn style\n})\nconst validateRequired = computed(() => {\n\tif (props.required) {\n\t\treturn 'true'\n\t} else if (ToFormItem && ToFormItem.required) {\n\t\treturn 'true'\n\t} else {\n\t\treturn 'false'\n\t}\n})\nconst validateDesc = computed(() => {\n\tif (props.desc) {\n\t\treturn props.desc\n\t} else if (ToFormItem && ToFormItem.label) {\n\t\treturn ToFormItem.label\n\t} else {\n\t\treturn ''\n\t}\n})\nconst validateValue = computed(() => {\n\tif (Object.keys(fileList.value).length > 0) {\n\t\treturn 'true'\n\t} else {\n\t\treturn ''\n\t}\n})\nfunction handleFile() {\n\tif (props.disabled) return false\n\tfileInput.value.click()\n}\nasync function handleChange(e) {\n\tlet newFileList = []\n\tnewFileList = Array.from(e.target.files)\n\n\terrorTip.value = ''\n\tlet flag = true\n\tif (typeof props.beforeSelect === 'boolean') {\n\t\tflag = props.beforeSelect\n\t} else {\n\t\tif (props.beforeSelect) {\n\t\t\tif (typeof props.beforeSelect === 'function') {\n\t\t\t\tconst result = props.beforeSelect(newFileList)\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\n\t\t\t\t\tflag = await result\n\t\t\t\t} else {\n\t\t\t\t\tflag = !!result\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tflag = !!props.beforeSelect\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tnewFileList.forEach(item => {\n\t\titem.uid = getFileUid(item)\n\t})\n\tconst addedCount = newFileList.filter(item => !fileList.value.some(f => f.name === item.name)).length\n\tconst willAddCount = props.duplicatable ? newFileList.length : addedCount\n\tif (fileList.value.length + willAddCount <= props.maxLength) {\n\t\tuploadList.value = Array.from(e.target.files)\n\t\temit('change', newFileList)\n\t\te.target.value = ''\n\t\tif (props.type === 'img') {\n\t\t\tnewFileList.forEach(item => {\n\t\t\t\tlet reader = new FileReader()\n\t\t\t\treader.addEventListener('load', () => {\n\t\t\t\t\titem.src = reader.result\n\t\t\t\t\tif (props.duplicatable) {\n\t\t\t\t\t\tfileList.value.push(item)\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceOrAddToFileList(item)\n\t\t\t\t\t}\n\t\t\t\t\tif (props.auto) {\n\t\t\t\t\t\thandleUpload(item)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treader.readAsDataURL(item)\n\t\t\t})\n\t\t} else {\n\t\t\tif (props.duplicatable) {\n\t\t\t\tfileList.value = [...fileList.value, ...newFileList]\n\t\t\t} else {\n\t\t\t\tnewFileList.forEach(item => replaceOrAddToFileList(item))\n\t\t\t}\n\t\t\tif (newFileList.length && props.auto) {\n\t\t\t\tnextTick(() => {\n\t\t\t\t\tnewFileList.forEach(file => {\n\t\t\t\t\t\thandleUpload(file)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t} else {\n\t\t$tip.danger(t('to.upload.tip.error.count', props.maxLength)).catch(() => {})\n\t}\n}\n\nasync function handleUpload(file) {\n\tif (!props.action) return false\n\tlet flag = true\n\tif (typeof props.beforeStart === 'boolean') {\n\t\tflag = props.beforeStart\n\t} else {\n\t\tif (props.beforeStart) {\n\t\t\tif (typeof props.beforeStart === 'function') {\n\t\t\t\tconst result = props.beforeStart(file)\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\n\t\t\t\t\tflag = await result\n\t\t\t\t} else {\n\t\t\t\t\tflag = !!result\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tflag = !!props.beforeStart\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tsetFilePropertyByUid(file.uid, 'status', 'start')\n\temit('start', file)\n\tlet formData = new FormData()\n\tformData.append(props.name, file)\n\tif (props.data) {\n\t\tObject.keys(props.data).forEach(key => {\n\t\t\tformData.append(key, props.data[key])\n\t\t})\n\t}\n\tfileAjax({\n\t\taction: props.action,\n\t\tdata: formData,\n\t\theaders: props.headers,\n\t\twithCredentials: props.withCredentials,\n\t\tonError: (err, status) => {\n\t\t\tsetFilePropertyByUid(file.uid, 'status', 'error')\n\t\t\temit('error', err, status, file)\n\t\t},\n\t\tonSuccess: (data, status) => {\n\t\t\tlet _data = JSON.parse(data)\n\t\t\tsetFilePropertyByUid(file.uid, 'status', 'success')\n\t\t\tsetFilePropertyByUid(file.uid, props.fileIdText, _data[props.fileIdText])\n\t\t\temit('success', _data, status, file)\n\t\t},\n\t\tonProgress: e => {\n\t\t\tsetFilePropertyByUid(file.uid, 'progress', Math.round((e.loaded / e.total) * 100))\n\t\t\temit('progress', e.loaded, e.total, file)\n\t\t}\n\t})\n}\n\nfunction handleDelete(index: number, item) {\n\tif (props.disabled) return false\n\tlet file = fileList.value.splice(index, 1)\n\tif (fileInput.value.value.includes(item.name)) {\n\t\tfileInput.value.value = ''\n\t}\n\temit('remove', file[0])\n}\nfunction getFileUid(fileObj) {\n\tif (!fileObj) return\n\tlet str = (fileObj.lastModifiedDate ? new Date().getTime() : fileObj.modificationdate) + fileObj.name + fileObj.size\n\treturn md5(str)\n}\nfunction replaceOrAddToFileList(file) {\n\tconst idx = fileList.value.findIndex(item => item.name === file.name)\n\tif (idx !== -1) {\n\t\tfileList.value.splice(idx, 1, file)\n\t} else {\n\t\tfileList.value.push(file)\n\t}\n}\nfunction setFilePropertyByUid(uid, key, value) {\n\tlet idx = fileList.value.findIndex(item => item.uid === uid)\n\tif (idx === -1) return\n\tfileList.value[idx][key] = value\n\tconst updatedItem = {\n\t\tlastModified: fileList.value[idx].lastModified,\n\t\tlastModifiedDate: fileList.value[idx].lastModifiedDate,\n\t\tname: fileList.value[idx].name,\n\t\tsize: fileList.value[idx].size,\n\t\ttype: fileList.value[idx].type,\n\t\tuid: fileList.value[idx].uid,\n\t\tsrc: fileList.value[idx].src,\n\t\tstatus: fileList.value[idx].status,\n\t\tprogress: fileList.value[idx].progress,\n\t\t[props.fileIdText]: fileList.value[idx][props.fileIdText],\n\t\t[key]: value\n\t}\n\tfileList.value.splice(idx, 1, updatedItem)\n}\nfunction handleDownload(fileId) {\n\temit('download', fileId)\n}\nfunction clear() {\n\tlet tem = fileList.value.filter(item => item[props.fileIdText])\n\tfileList.value = tem\n}\nasync function submit() {\n\terrorTip.value = ''\n\tlet flag = true\n\tif (typeof props.beforeSelect === 'boolean') {\n\t\tflag = props.beforeSelect\n\t} else {\n\t\tif (props.beforeSelect) {\n\t\t\tif (typeof props.beforeSelect === 'function') {\n\t\t\t\tconst result = props.beforeSelect(uploadList.value)\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\n\t\t\t\t\tflag = await result\n\t\t\t\t} else {\n\t\t\t\t\tflag = !!result\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tflag = !!props.beforeSelect\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tuploadList.value.forEach(item => {\n\t\titem.uid = getFileUid(item)\n\t})\n\tif (uploadList.value.length <= props.maxLength) {\n\t\tuploadList.value.forEach(file => {\n\t\t\thandleUpload(file)\n\t\t})\n\t} else {\n\t\t$tip.danger(t('to.upload.tip.error.count', props.maxLength)).catch(() => {})\n\t}\n}\ndefineExpose({\n\tclear,\n\terrorTip,\n\terrorType,\n\tsubmit\n})\n</script>\n"],"names":["DO_defineComponent","ref","inject","onMounted","watch","computed","nextTick","$tip","t","fileAjax","md5","_createElementBlock","id","_unref","langKey","flex","_normalizeClass","verifiable","_createElementVNode","accept","type","_createVNode","ToInput","placeholder","ToIcon","auto","files","_createBlock","ToButton","tip","showList","_renderSlot","_Fragment","_openBlock","_renderList","_normalizeStyle","_toDisplayString","fileIdText","downloadable","_createTextVNode"],"mappings":"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"}
|