@lingshugroup/web-plus 2.6.1 → 2.6.3
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/lib/index/index.cjs +1 -1
- package/lib/index/index.js +20 -18
- package/lib/index/index.js.br +0 -0
- package/lib/index/index.js.gz +0 -0
- package/lib/index.css +1 -1
- package/lib/index.css.br +0 -0
- package/lib/index.css.gz +0 -0
- package/lib/packages/ls-components/components/captchaVerify/Index.vue/index.cjs +1 -1
- package/lib/packages/ls-components/components/captchaVerify/Index.vue/index.js +1 -1
- package/lib/packages/ls-components/components/captchaVerify/Index.vue/index2.cjs +1 -1
- package/lib/packages/ls-components/components/captchaVerify/Index.vue/index2.js +196 -183
- package/lib/packages/ls-components/components/captchaVerify/Index.vue/index2.js.br +0 -0
- package/lib/packages/ls-components/components/captchaVerify/Index.vue/index2.js.gz +0 -0
- package/lib/packages/ls-components/components/index/index.cjs +1 -1
- package/lib/packages/ls-components/components/index/index.js +11 -9
- package/lib/packages/ls-components/components/index/index.js.br +0 -0
- package/lib/packages/ls-components/components/index/index.js.gz +0 -0
- package/lib/packages/ls-components/components/sliceUpload/Index.vue/index.cjs +1 -0
- package/lib/packages/ls-components/components/sliceUpload/Index.vue/index.js +7 -0
- package/lib/packages/ls-components/components/sliceUpload/Index.vue/index2.cjs +1 -0
- package/lib/packages/ls-components/components/sliceUpload/Index.vue/index2.js +181 -0
- package/lib/packages/ls-components/components/sliceUpload/Index.vue/index2.js.br +0 -0
- package/lib/packages/ls-components/components/sliceUpload/Index.vue/index2.js.gz +0 -0
- package/lib/packages/ls-components/components/sliceUpload/types/index.cjs +1 -0
- package/lib/packages/ls-components/components/sliceUpload/types/index.js +57 -0
- package/lib/packages/ls-components/components/sliceUpload/types/index.js.br +0 -0
- package/lib/packages/ls-components/components/sliceUpload/types/index.js.gz +0 -0
- package/lib/packages/ls-components/components/upload/Index.vue/index.cjs +1 -1
- package/lib/packages/ls-components/components/upload/Index.vue/index.js +1 -1
- package/lib/packages/ls-components/components/upload/Index.vue/index2.cjs +1 -1
- package/lib/packages/ls-components/components/upload/Index.vue/index2.js +209 -204
- package/lib/packages/ls-components/components/upload/Index.vue/index2.js.br +0 -0
- package/lib/packages/ls-components/components/upload/Index.vue/index2.js.gz +0 -0
- package/lib/sliceUpload/index.cjs +1 -0
- package/lib/sliceUpload/index.js +12 -0
- package/package.json +23 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var G=Object.defineProperty;var f=(y,z)=>G(y,"name",{value:z,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const J=;/* empty css */;/* empty css */;/* empty css */;/* empty css */const e=require("vue"),K=/* empty css */Q=/* empty css */$=/* empty css */X={key:0,class:"slice-progress-wrap"},Y={class:"slice-progress-label"},Z=e.defineComponent({name:"LSSliceUpload"}),x=e.defineComponent({...Z,props:$.lsSliceUploadProps,emits:$.emitNames,setup(y,{expose:z,emit:M}){const l=y,h=M,g=e.useSlots(),T=K.useNamespace("slice-upload").b(),E=e.ref(),r=e.ref({strokeWidth:15,striped:!0,stripedFlow:!0,percentage:0,duration:10}),v=e.ref([]),c=e.ref([]),o=e.ref([]),U=e.ref([]),k=e.ref(0),u=e.ref(0),s=e.ref(""),_=e.ref(0),p=e.ref(new Set),R=e.ref(null),d=e.ref(!1),S=e.computed(()=>l.maxErrorNum<=_.value),D=e.computed(()=>c.value.length===u.value&&u.value>0);function b(){c.value=[],o.value=[],U.value=[],r.value.status="",r.value.percentage=0,k.value=0,u.value=0,s.value="",_.value=0,v.value=[],p.value.clear(),R.value=null,d.value=!1}f(b,"reset");function B(){return u.value===0?0:Math.ceil(c.value.length/u.value*100)}f(B,"setPercentage");async function F(n){const{file:a}=n;if(a)return R.value=a,b(),u.value=Math.ceil(a.size/l.chunkSize),s.value=`${a.name}-${a.size}-${a.lastModified}`,d.value=!0,new Promise((q,C)=>{const w=Math.min(l.initRequestNum,u.value);let m=!1;function O(){if(!m){if(S.value||k.value===0&&o.value.length>0){m=!0,r.value.status="exception",d.value=!1,h("onUploadError",{errChunk:o.value,fileHash:s.value}),C(new Error("分片上传失败")),l.cancelUploadInLimit&&v.value.forEach(t=>t==null?void 0:t.abort());return}if(D.value)if(m=!0,r.value.status="success",d.value=!1,l.mergeRequest&&typeof l.mergeRequest=="function")l.mergeRequest({fileHash:s.value,fileName:a.name,chunkTotal:u.value,...l.mergeRequestParams}).then(t=>{h("onUploadSuccess",t),q(t)}).catch(t=>{h("onUploadError",{error:t,fileHash:s.value}),C(t)});else{const t={fileHash:s.value,fileName:a.name,chunkTotal:u.value,chunkDatas:U.value};h("onUploadSuccess",t),q(t)}}}f(O,"checkDone");async function P(t){if(c.value.includes(t)||p.value.has(t)||S.value||m)return;k.value++,p.value.add(t);const H=t*l.chunkSize,j=Math.min(H+l.chunkSize,a.size),A=a.slice(H,j);v.value[t]=new AbortController;const L=v.value[t].signal,i=new FormData;i.append("file",A),i.append("chunk",String(t+1)),i.append("chunkTotal",String(u.value)),i.append("fileHash",s.value),i.append("fileName",a.name),i.append("fileSize",String(a.size));const W=l.chunkUploadRequestParams?Object.assign({},l.chunkUploadRequestParams,{chunk:t+1,chunkTotal:u.value,fileHash:s.value,fileName:a.name,fileSize:a.size,formData:i}):{chunk:t+1,chunkTotal:u.value,fileHash:s.value,fileName:a.name,fileSize:a.size,formData:i};try{const N=await l.chunkUploadRequest(Object.assign(W),l.chunkUploadRequestConfig||{signal:L});U.value[t]=N,c.value.includes(t)||c.value.push(t)}catch{_.value++,o.value.includes(t)||o.value.push(t)}finally{if(k.value--,p.value.delete(t),r.value.percentage=B(),O(),!m&&!S.value){const N=V();N!==-1&&P(N)}}}f(P,"doUploadChunk");function V(){for(let t=0;t<u.value;t++)if(!c.value.includes(t)&&!o.value.includes(t)&&!p.value.has(t))return t;return o.value.length>0&&!S.value?o.value.shift():-1}f(V,"findNextChunk");for(let t=0;t<w;t++)P(t)})}return f(F,"sliceHttpRequest"),e.onUnmounted(()=>{v.value.forEach(n=>n==null?void 0:n.abort())}),z({uploadRef:E,reset:b}),(n,a)=>{const q=J.ElProgress;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(T))},[e.createVNode(Q.default,e.mergeProps({ref_key:"uploadRef",ref:E},n.$attrs,{action:l.action,"http-request":F}),e.createSlots({_:2},[e.unref(g).trigger?{name:"trigger",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"trigger",{},void 0,!0)]),key:"0"}:void 0,e.unref(g).default?{name:"default",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default",{},void 0,!0)]),key:"1"}:void 0,e.unref(g).tip?{name:"tip",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"tip",{},void 0,!0)]),key:"2"}:void 0,e.unref(g).file?{name:"file",fn:e.withCtx(({file:C,index:w})=>[e.renderSlot(n.$slots,"file",{file:C,index:w},void 0,!0)]),key:"3"}:void 0]),1040,["action"]),e.unref(d)||e.unref(r).percentage>0?(e.openBlock(),e.createElementBlock("div",X,[e.createElementVNode("div",Y," 分片上传进度:"+e.toDisplayString(e.unref(r).percentage)+"% ",1),e.createVNode(q,e.normalizeProps(e.guardReactiveProps(Object.assign(e.unref(r),n.$attrs))),null,16)])):e.createCommentVNode("",!0)],2)}}});exports.default=x;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
var x = Object.defineProperty;
|
|
2
|
+
var f = (_, q) => x(_, "name", { value: q, configurable: !0 });
|
|
3
|
+
import { ElProgress as I } from "../../../../../node_modules/.pnpm/element-plus@2.13.5_typescript@5.9.3_vue@3.5.18_typescript@5.9.3_/node_modules/element-plus/es/components/progress/index/index.js";
|
|
4
|
+
/* empty css */
|
|
5
|
+
/* empty css */
|
|
6
|
+
/* empty css */
|
|
7
|
+
import { defineComponent as B, useSlots as ee, ref as s, computed as T, onUnmounted as ae, createElementBlock as F, openBlock as L, normalizeClass as te, unref as o, createVNode as A, createCommentVNode as le, mergeProps as se, createSlots as ue, withCtx as y, renderSlot as R, createElementVNode as ne, toDisplayString as oe, normalizeProps as re, guardReactiveProps as ie } from "vue";
|
|
8
|
+
import { useNamespace as ce } from "../../_hooks/useNamespace/index.js";
|
|
9
|
+
import ve from "../../upload/Index.vue/index.js";
|
|
10
|
+
import { emitNames as fe, lsSliceUploadProps as pe } from "../types/index.js";
|
|
11
|
+
const me = {
|
|
12
|
+
key: 0,
|
|
13
|
+
class: "slice-progress-wrap"
|
|
14
|
+
}, de = { class: "slice-progress-label" }, he = B({
|
|
15
|
+
name: "LSSliceUpload"
|
|
16
|
+
}), qe = /* @__PURE__ */ B({
|
|
17
|
+
...he,
|
|
18
|
+
props: pe,
|
|
19
|
+
emits: fe,
|
|
20
|
+
setup(_, { expose: q, emit: O }) {
|
|
21
|
+
const t = _, g = O, k = ee(), V = ce("slice-upload").b(), w = s(), r = s({
|
|
22
|
+
strokeWidth: 15,
|
|
23
|
+
striped: !0,
|
|
24
|
+
stripedFlow: !0,
|
|
25
|
+
percentage: 0,
|
|
26
|
+
duration: 10
|
|
27
|
+
}), p = s([]), v = s([]), i = s([]), E = s([]), S = s(0), l = s(0), n = s(""), P = s(0), m = s(/* @__PURE__ */ new Set()), H = s(null), d = s(!1), C = T(() => t.maxErrorNum <= P.value), j = T(() => v.value.length === l.value && l.value > 0);
|
|
28
|
+
function $() {
|
|
29
|
+
v.value = [], i.value = [], E.value = [], r.value.status = "", r.value.percentage = 0, S.value = 0, l.value = 0, n.value = "", P.value = 0, p.value = [], m.value.clear(), H.value = null, d.value = !1;
|
|
30
|
+
}
|
|
31
|
+
f($, "reset");
|
|
32
|
+
function W() {
|
|
33
|
+
return l.value === 0 ? 0 : Math.ceil(v.value.length / l.value * 100);
|
|
34
|
+
}
|
|
35
|
+
f(W, "setPercentage");
|
|
36
|
+
async function G(u) {
|
|
37
|
+
const { file: a } = u;
|
|
38
|
+
if (a)
|
|
39
|
+
return H.value = a, $(), l.value = Math.ceil(a.size / t.chunkSize), n.value = `${a.name}-${a.size}-${a.lastModified}`, d.value = !0, new Promise((z, N) => {
|
|
40
|
+
const b = Math.min(t.initRequestNum, l.value);
|
|
41
|
+
let h = !1;
|
|
42
|
+
function J() {
|
|
43
|
+
if (!h) {
|
|
44
|
+
if (C.value || S.value === 0 && i.value.length > 0) {
|
|
45
|
+
h = !0, r.value.status = "exception", d.value = !1, g("onUploadError", {
|
|
46
|
+
errChunk: i.value,
|
|
47
|
+
fileHash: n.value
|
|
48
|
+
}), N(new Error("分片上传失败")), t.cancelUploadInLimit && p.value.forEach((e) => e == null ? void 0 : e.abort());
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (j.value)
|
|
52
|
+
if (h = !0, r.value.status = "success", d.value = !1, t.mergeRequest && typeof t.mergeRequest == "function")
|
|
53
|
+
t.mergeRequest({
|
|
54
|
+
fileHash: n.value,
|
|
55
|
+
fileName: a.name,
|
|
56
|
+
chunkTotal: l.value,
|
|
57
|
+
...t.mergeRequestParams
|
|
58
|
+
}).then((e) => {
|
|
59
|
+
g("onUploadSuccess", e), z(e);
|
|
60
|
+
}).catch((e) => {
|
|
61
|
+
g("onUploadError", { error: e, fileHash: n.value }), N(e);
|
|
62
|
+
});
|
|
63
|
+
else {
|
|
64
|
+
const e = {
|
|
65
|
+
fileHash: n.value,
|
|
66
|
+
fileName: a.name,
|
|
67
|
+
chunkTotal: l.value,
|
|
68
|
+
chunkDatas: E.value
|
|
69
|
+
};
|
|
70
|
+
g("onUploadSuccess", e), z(e);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
f(J, "checkDone");
|
|
75
|
+
async function D(e) {
|
|
76
|
+
if (v.value.includes(e) || m.value.has(e) || C.value || h)
|
|
77
|
+
return;
|
|
78
|
+
S.value++, m.value.add(e);
|
|
79
|
+
const M = e * t.chunkSize, Q = Math.min(M + t.chunkSize, a.size), X = a.slice(M, Q);
|
|
80
|
+
p.value[e] = new AbortController();
|
|
81
|
+
const Y = p.value[e].signal, c = new FormData();
|
|
82
|
+
c.append("file", X), c.append("chunk", String(e + 1)), c.append("chunkTotal", String(l.value)), c.append("fileHash", n.value), c.append("fileName", a.name), c.append("fileSize", String(a.size));
|
|
83
|
+
const Z = t.chunkUploadRequestParams ? Object.assign({}, t.chunkUploadRequestParams, {
|
|
84
|
+
chunk: e + 1,
|
|
85
|
+
chunkTotal: l.value,
|
|
86
|
+
fileHash: n.value,
|
|
87
|
+
fileName: a.name,
|
|
88
|
+
fileSize: a.size,
|
|
89
|
+
formData: c
|
|
90
|
+
}) : {
|
|
91
|
+
chunk: e + 1,
|
|
92
|
+
chunkTotal: l.value,
|
|
93
|
+
fileHash: n.value,
|
|
94
|
+
fileName: a.name,
|
|
95
|
+
fileSize: a.size,
|
|
96
|
+
formData: c
|
|
97
|
+
};
|
|
98
|
+
try {
|
|
99
|
+
const U = await t.chunkUploadRequest(
|
|
100
|
+
Object.assign(Z),
|
|
101
|
+
t.chunkUploadRequestConfig || { signal: Y }
|
|
102
|
+
);
|
|
103
|
+
E.value[e] = U, v.value.includes(e) || v.value.push(e);
|
|
104
|
+
} catch {
|
|
105
|
+
P.value++, i.value.includes(e) || i.value.push(e);
|
|
106
|
+
} finally {
|
|
107
|
+
if (S.value--, m.value.delete(e), r.value.percentage = W(), J(), !h && !C.value) {
|
|
108
|
+
const U = K();
|
|
109
|
+
U !== -1 && D(U);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
f(D, "doUploadChunk");
|
|
114
|
+
function K() {
|
|
115
|
+
for (let e = 0; e < l.value; e++)
|
|
116
|
+
if (!v.value.includes(e) && !i.value.includes(e) && !m.value.has(e))
|
|
117
|
+
return e;
|
|
118
|
+
return i.value.length > 0 && !C.value ? i.value.shift() : -1;
|
|
119
|
+
}
|
|
120
|
+
f(K, "findNextChunk");
|
|
121
|
+
for (let e = 0; e < b; e++)
|
|
122
|
+
D(e);
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
return f(G, "sliceHttpRequest"), ae(() => {
|
|
126
|
+
p.value.forEach((u) => u == null ? void 0 : u.abort());
|
|
127
|
+
}), q({ uploadRef: w, reset: $ }), (u, a) => {
|
|
128
|
+
const z = I;
|
|
129
|
+
return L(), F("div", {
|
|
130
|
+
class: te(o(V))
|
|
131
|
+
}, [
|
|
132
|
+
A(ve, se({
|
|
133
|
+
ref_key: "uploadRef",
|
|
134
|
+
ref: w
|
|
135
|
+
}, u.$attrs, {
|
|
136
|
+
action: t.action,
|
|
137
|
+
"http-request": G
|
|
138
|
+
}), ue({ _: 2 }, [
|
|
139
|
+
o(k).trigger ? {
|
|
140
|
+
name: "trigger",
|
|
141
|
+
fn: y(() => [
|
|
142
|
+
R(u.$slots, "trigger", {}, void 0, !0)
|
|
143
|
+
]),
|
|
144
|
+
key: "0"
|
|
145
|
+
} : void 0,
|
|
146
|
+
o(k).default ? {
|
|
147
|
+
name: "default",
|
|
148
|
+
fn: y(() => [
|
|
149
|
+
R(u.$slots, "default", {}, void 0, !0)
|
|
150
|
+
]),
|
|
151
|
+
key: "1"
|
|
152
|
+
} : void 0,
|
|
153
|
+
o(k).tip ? {
|
|
154
|
+
name: "tip",
|
|
155
|
+
fn: y(() => [
|
|
156
|
+
R(u.$slots, "tip", {}, void 0, !0)
|
|
157
|
+
]),
|
|
158
|
+
key: "2"
|
|
159
|
+
} : void 0,
|
|
160
|
+
o(k).file ? {
|
|
161
|
+
name: "file",
|
|
162
|
+
fn: y(({ file: N, index: b }) => [
|
|
163
|
+
R(u.$slots, "file", {
|
|
164
|
+
file: N,
|
|
165
|
+
index: b
|
|
166
|
+
}, void 0, !0)
|
|
167
|
+
]),
|
|
168
|
+
key: "3"
|
|
169
|
+
} : void 0
|
|
170
|
+
]), 1040, ["action"]),
|
|
171
|
+
o(d) || o(r).percentage > 0 ? (L(), F("div", me, [
|
|
172
|
+
ne("div", de, " 分片上传进度:" + oe(o(r).percentage) + "% ", 1),
|
|
173
|
+
A(z, re(ie(Object.assign(o(r), u.$attrs))), null, 16)
|
|
174
|
+
])) : le("", !0)
|
|
175
|
+
], 2);
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
export {
|
|
180
|
+
qe as default
|
|
181
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../_utils/runtime/index.cjs"),t=e.buildProps({action:{type:String,default:""},chunkSize:{type:Number,default:2*1024*1024},chunkUploadRequest:{type:Function,default:null},chunkUploadRequestParams:{type:Object,default:null},chunkUploadRequestConfig:{type:Object,default:null},mergeRequest:{type:Function,default:null},mergeRequestParams:{type:Object,default:null},initRequestNum:{type:Number,default:3},maxErrorNum:{type:Number,default:3},cancelUploadInLimit:{type:Boolean,default:!0}}),u=["onUploadSuccess","onUploadError"];exports.emitNames=u;exports.lsSliceUploadProps=t;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { buildProps as e } from "../../_utils/runtime/index.js";
|
|
2
|
+
const u = e({
|
|
3
|
+
/** 上传地址(透传给 LSUpload,分片上传中不实际使用) */
|
|
4
|
+
action: {
|
|
5
|
+
type: String,
|
|
6
|
+
default: ""
|
|
7
|
+
},
|
|
8
|
+
/** 单个分片大小(字节) */
|
|
9
|
+
chunkSize: {
|
|
10
|
+
type: Number,
|
|
11
|
+
default: 2 * 1024 * 1024
|
|
12
|
+
},
|
|
13
|
+
/** 分片上传请求函数 */
|
|
14
|
+
chunkUploadRequest: {
|
|
15
|
+
type: Function,
|
|
16
|
+
default: null
|
|
17
|
+
},
|
|
18
|
+
/** 分片上传请求参数 */
|
|
19
|
+
chunkUploadRequestParams: {
|
|
20
|
+
type: Object,
|
|
21
|
+
default: null
|
|
22
|
+
},
|
|
23
|
+
/** 分片上传请求配置 */
|
|
24
|
+
chunkUploadRequestConfig: {
|
|
25
|
+
type: Object,
|
|
26
|
+
default: null
|
|
27
|
+
},
|
|
28
|
+
/** 合并请求函数 */
|
|
29
|
+
mergeRequest: {
|
|
30
|
+
type: Function,
|
|
31
|
+
default: null
|
|
32
|
+
},
|
|
33
|
+
/** 合并请求参数 */
|
|
34
|
+
mergeRequestParams: {
|
|
35
|
+
type: Object,
|
|
36
|
+
default: null
|
|
37
|
+
},
|
|
38
|
+
/** 初始并发请求数量 */
|
|
39
|
+
initRequestNum: {
|
|
40
|
+
type: Number,
|
|
41
|
+
default: 3
|
|
42
|
+
},
|
|
43
|
+
/** 最大异常请求数 */
|
|
44
|
+
maxErrorNum: {
|
|
45
|
+
type: Number,
|
|
46
|
+
default: 3
|
|
47
|
+
},
|
|
48
|
+
/** 达到最大异常请求数后是否中止剩余上传请求 */
|
|
49
|
+
cancelUploadInLimit: {
|
|
50
|
+
type: Boolean,
|
|
51
|
+
default: !0
|
|
52
|
+
}
|
|
53
|
+
}), l = ["onUploadSuccess", "onUploadError"];
|
|
54
|
+
export {
|
|
55
|
+
l as emitNames,
|
|
56
|
+
u as lsSliceUploadProps
|
|
57
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=;/* empty css */;/* empty css */const t=/* empty css */u=t.default(e.default,[["__scopeId","data-v-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=;/* empty css */;/* empty css */const t=/* empty css */u=t.default(e.default,[["__scopeId","data-v-0688f54c"]]);exports.default=u;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./index2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../../_virtual/_plugin-vue_export-helper/index.js";
|
|
4
|
-
const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-0688f54c"]]);
|
|
5
5
|
export {
|
|
6
6
|
a as default
|
|
7
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ne=Object.defineProperty;var i=($,q)=>Ne($,"name",{value:q,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Se=/* empty css */Ve=/* empty css */Le=/* empty css */Pe=/* empty css */L=;/* empty css */;/* empty css */;/* empty css */;/* empty css */;/* empty css */;/* empty css */;/* empty css */const e=require("vue"),xe=/* empty css */$e=/* empty css */_=/* empty css */J=/* empty css */qe=/* empty css */P=;/* empty css */;/* empty css */;/* empty css */const Ue={class:"ls-drag"},Te={class:"drag-txt ls-color-brand6"},Ae={key:0,class:"btn-picture-card"},Me={key:0,class:"ls-tip"},Re=["src"],ze={class:"el-upload-list__item-actions"},De=["onClick"],Ie=["onClick"],He=["onClick"],Oe=e.defineComponent({name:"LSUpload",inheritAttrs:!1,__name:"Index",props:P.lsUploadProps,emits:["uploadErrorFunc","onChangeFunc","httpResponseFunc","onHandleCropper"],setup($,{expose:q,emit:Q}){const o=$,b=Q,U=e.useSlots(),m=e.useAttrs(),ee=xe.useNamespace("upload").b(),c=e.ref(),s=e.ref(!1),v=e.reactive({isCover:!0,accept:"",disabled:!1}),r=e.reactive({uploadFileList:[],initUploadStatus:!0,showPreview:!1,sourcePreview:"",iconColor:$e.getVariable("colorText1")});e.watch(()=>m["file-list"],t=>{r.uploadFileList=t||[]},{immediate:!0,deep:!0});const B=e.computed(()=>{var t,n;return!!((t=o==null?void 0:o.item)!=null&&t.isToast||typeof((n=o==null?void 0:o.item)==null?void 0:n.isToast)>"u")}),p=e.computed(()=>{var n;const t=(n=o==null?void 0:o.item)==null?void 0:n.isCover;return typeof t>"u"?!0:t}),k=e.computed(()=>m.multiple),g=e.computed(()=>{const t=m["auto-upload"];return typeof t>"u"?!0:t}),te=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.emptyFileMsg)||""}),T=e.computed(()=>m["list-type"]),w=e.computed(()=>T.value===P.UPLOAD_TYPE_MAP.picCard),ne=e.computed(()=>!T.value||T.value==="text"),E=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitFile)||[]}),oe=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitFileMsg)||""}),N=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitSize)||2}),le=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitSizeMsg)||""}),A=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitUnit)||"MB"}),re=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitNumMsg)||""}),ie=e.computed(()=>{var t;return(t=o==null?void 0:o.item)==null?void 0:t.limitAllFail}),O=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.profile)||!1}),S=e.computed(()=>m.drag),ue=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.hideCoverBtn)&&p.value&&r.uploadFileList.length>0}),h=e.computed(()=>m.disabled),M=e.computed(()=>{const t=w.value?"图片":"文件";let n=`选择${t}`;return s.value?n="正在上传...":p.value&&!k.value?g.value?r.initUploadStatus?n="点击上传":n="重新上传":r.initUploadStatus?n=`选择${t}`:n="重新上传":g.value&&(n="点击上传"),n}),ae=e.computed(()=>{let t="不限制上传格式,";return w.value&&(t="文件须为图片格式,"),`${t}文件大小不超过${N.value}${A.value}`}),se=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.tipContent)||""}),R=e.computed(()=>{var t;return(t=o==null?void 0:o.item)==null?void 0:t.httpRequestFunc}),ce=e.computed(()=>{var n;const t=Number(m.limit||0);return t?((n=o==null?void 0:o.item)==null?void 0:n.hideBtnReachLimit)&&r.uploadFileList.length>=t:!1});e.watch([p,R],([t,n])=>{v.isCover=t,n&&typeof n=="function"&&(v["http-request"]=he)},{immediate:!0,deep:!0}),e.watch(()=>E.value,t=>{t&&t.length>0&&de(t)},{immediate:!0,deep:!0});function de(t){v.accept="",t.forEach(n=>{const l=P.fileTypeMap[n]||"";l&&(v.accept&&(v.accept+=","),v.accept+=l)})}i(de,"updateFileAccept");function V(t){const{formRuleFunc:n,formValidateFunc:l}=e.toRefs(o==null?void 0:o.item);if(n.value&&typeof n.value=="function"&&l&&typeof l.value=="function"){const u=n.value(),{message:a}=u;u.message=t,l.value(),u.message=a}b("uploadErrorFunc",t)}i(V,"validateForm");async function fe(t,n){if(s.value=!1,o.onExceed)return o.onExceed(t,n);const l=Number(m.limit||0);let u=0;ie.value||(u=l-r.uploadFileList.length,u>0&&(Ce(t.slice(0,u)),g.value&&D()));const a=re.value||`当前限制选择 ${l} 个文件,本次选择了 ${t.length} 个文件,已成功上传 ${u} 个文件`;B.value?setTimeout(()=>{L.ElMessage.warning(a)},200):V(a)}i(fe,"onExceedAction");function me(t){if(o.beforeUpload){const l=o.beforeUpload(t);return l&&p.value&&!k.value&&x(),l}const n=z(t,!0);return n&&g.value&&p.value&&!k.value&&x(),n}i(me,"beforeUploadAction");function z(t,n){let l=!0;const{size:u,name:a}=t,C=E.value.length>0&&!j(a);let y=!1;switch(A.value){case"KB":y=u/1024>N.value;break;case"MB":y=u/1024/1024>N.value;break;default:y=u/1024/1024/1024>N.value;break}if(C){const d=oe.value||`上传文件 ${t.name} 只能是 ${E.value.filter(H=>H).join(",").toLocaleLowerCase()} 格式!`;B.value&&n?setTimeout(()=>{L.ElMessage.error(d)},200):V(d),l=!1}if(y){const d=le.value||`上传文件 ${t.name} 大小不能超过 ${N.value}${A.value}!`;B.value&&n?setTimeout(()=>{L.ElMessage.error(d)},200):V(d),l=!1}if(!C&&w.value&&!j(a,P.IMG_SUFFIX_LIST)){const d=`上传文件 ${t.name} 不是图片格式的文件!`;B.value&&n?setTimeout(()=>{L.ElMessage.error(d)},200):V(d),l=!1}return l}i(z,"validateUploadFile");function j(t,n){let l=[];if(E.value.length>0?l=E.value:n&&(l=n),l.length<=0)return!0;for(let u=0;u<l.length;u++){const a=(l[u]||"").toLowerCase();if(t.toLowerCase().endsWith(a))return!0}return!1}i(j,"fileTypeMatch");function x(t,n){r.uploadFileList.splice(t||0,n||r.uploadFileList.length-1)}i(x,"updateCoverFileList");function pe(t,n){r.uploadFileList=n;const l=t.raw&&z(t.raw,!g.value);if(l&&p.value&&!k.value&&x(),o.onChange)return o.onChange(t,n);const{size:u=0}=t;if(u<=0){Z();const a=te.value||"禁止上传空文件,请检查后重新上传!";B.value?L.ElMessage.error(a):V(a);return}t.raw&&(!g.value&&!l?Z():(t.blob=URL.createObjectURL(t.raw)||"",b("onChangeFunc",t)))}i(pe,"onChangeAction");function Z(){let t=0;r.uploadFileList.length>1&&(t=r.uploadFileList.length-1),x(t,1),b("onChangeFunc",{})}i(Z,"setChangeRes");function ve(t,n,l){s.value=!1,r.initUploadStatus=!1;const{formRuleFunc:u,formValidateFunc:a}=e.toRefs(o==null?void 0:o.item);if(u.value&&typeof u.value=="function"&&a.value&&typeof a.value=="function"&&a.value(),o.onSuccess)return o.onSuccess(t,n,l)}i(ve,"onSuccessAction");function ge(t,n,l){if(s.value=!1,o.onError)return o.onError(t,n,l)}i(ge,"onErrorAction");function ke(t,n){if(s.value=!1,r.initUploadStatus=!n.length,r.uploadFileList=r.uploadFileList.filter(l=>l.uid===t.uid||l.name===t.name?null:l),o.onRemove)return o.onRemove(t,n)}i(ke,"onRemoveAction");async function he(t){const{file:n}=t;if(!n)return;const{size:l}=n;if(l<=0||!z(n,!1))return;if(o.httpRequest)return o.httpRequest(t);const u=new FormData;if(u.append("file",n),typeof R.value=="function"){s.value=!0;let a={};try{a=await R.value(u)}catch(C){a=C}finally{s.value=!1,b("httpResponseFunc",a)}}}i(he,"httpRequestAction");function G(){let t=!1;for(let n=0;n<r.uploadFileList.length;n++)if(r.uploadFileList[n].status===P.UPLOAD_STATUS_MAP.ready){t=!0;break}return t}i(G,"hasReadyFile");function D(){var t;(t=c==null?void 0:c.value)==null||t.submit()}i(D,"comfirmUpload");function Ce(t){(t||[]).forEach(n=>{var l;(l=c==null?void 0:c.value)==null||l.handleStart(n)})}i(Ce,"comHandleStart");function K(t){c==null||c.value.handleRemove(t)}i(K,"removeFile");function ye(){r.uploadFileList.forEach(t=>{var n;if(t)try{(n=c==null?void 0:c.value)==null||n.abort(t),K(t)}catch{}})}i(ye,"cancelUpload");function Fe(t,n,l){if(s.value=!0,o.onProgress)return o.onProgress(t,n,l)}i(Fe,"onProgressAction");function _e(t){if(o.onPreview)return o.onPreview(t);if(w.value){const{url:n}=t||{};n&&(r.sourcePreview=n,r.showPreview=!0)}}i(_e,"onPreviewAction");function be(){r.showPreview=!1,r.sourcePreview=""}i(be,"closePreview");const I=e.ref(!1),W=e.ref([]);function Be(t,n){var l;W.value=[((l=r.uploadFileList[n])==null?void 0:l.url)||(t==null?void 0:t.url)],I.value=!0}i(Be,"onHandlePreview");function we(t){K(t)}i(we,"onHandleRemove");function Ee(t,n){b("onHandleCropper",t,n)}return i(Ee,"onHandleCropper"),q({uploadRef:c}),(t,n)=>{const l=Ve.ElAvatar,u=e.resolveComponent("Crop"),a=Se.ElIcon,C=e.resolveComponent("ZoomIn"),y=e.resolveComponent("Delete"),d=Pe.ElUpload,H=Le.ElImageViewer;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(ee),e.unref(S)?"ls-upload-drag":"",e.unref(O)?"ls-profile":"",e.unref(ue)?"hide-cover-btn":"",e.unref(ce)?"hide-btn":""])},[e.createVNode(d,e.mergeProps({ref_key:"uploadRef",ref:c},Object.assign(e.unref(v),t.$attrs),{"on-exceed":fe,"before-upload":me,"on-change":pe,"on-success":ve,"on-error":ge,"on-remove":ke,"on-progress":Fe,"on-preview":_e}),e.createSlots({trigger:e.withCtx(()=>[e.unref(O)?t.item.defProfile&&e.unref(r).uploadFileList.length<1?(e.openBlock(),e.createBlock(l,{key:1,size:60,src:t.item.defProfile,fit:"contain"},null,8,["src"])):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(U).trigger?e.renderSlot(t.$slots,"trigger",{key:1},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(S)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(s)?(e.openBlock(),e.createBlock(_.default,{key:0,text:"",loading:e.unref(s),disabled:e.unref(h)},null,8,["loading","disabled"])):(e.openBlock(),e.createBlock(J.default,{key:1,class:"upload-icon",name:"UploadFilled",size:"56",color:"#E7E7E7"})),e.createElementVNode("div",Ue,[e.createElementVNode("div",Te,e.toDisplayString(e.unref(M)),1),e.unref(s)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n[2]||(n[2]=e.createTextVNode(" / ",-1)),n[3]||(n[3]=e.createElementVNode("div",{class:"drag-txt ls-color-text2"}," 拖拽到此区域 ",-1))],64))])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(w)?(e.openBlock(),e.createElementBlock("div",Ae,[e.unref(s)?(e.openBlock(),e.createBlock(_.default,{key:0,text:"",loading:e.unref(s),disabled:e.unref(h)},null,8,["loading","disabled"])):(e.openBlock(),e.createBlock(J.default,{key:1,class:"upload-btn-plus",name:"Plus",size:28,color:e.unref(r).iconColor},null,8,["color"])),e.createElementVNode("div",null,e.toDisplayString(e.unref(M)),1)])):(e.openBlock(),e.createBlock(_.default,{key:1,plain:"",icon:"upload",loading:e.unref(s),disabled:e.unref(h)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(M)),1)]),_:1},8,["loading","disabled"]))],64))],64))],64))]),default:e.withCtx(()=>[e.unref(U).default?e.renderSlot(t.$slots,"default",{key:1},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[!e.unref(g)&&(e.unref(ne)||e.unref(S))?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["upload-btn-handle",[e.unref(S)?"drag-css":"nor-css",!e.unref(p)||e.unref(k)?"multi-css":""]])},[e.unref(S)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(p)||e.unref(k)?(e.openBlock(),e.createBlock(_.default,{key:0,type:"primary",loading:e.unref(s),disabled:e.unref(h),class:"ls-upload-btn-com ls-upload-btn-cancel",onClick:ye},{default:e.withCtx(()=>n[5]||(n[5]=[e.createTextVNode(" 取消上传 ",-1)])),_:1,__:[5]},8,["loading","disabled"])):e.createCommentVNode("",!0),e.createVNode(_.default,{class:e.normalizeClass(["start-upload ls-upload-btn-com ls-upload-btn-comfirm",{"is-ready":G()}]),type:"primary",loading:e.unref(s),disabled:e.unref(h),onClick:D},{default:e.withCtx(()=>n[6]||(n[6]=[e.createTextVNode(" 开始上传 ",-1)])),_:1,__:[6]},8,["class","loading","disabled"])],64)):(e.openBlock(),e.createBlock(_.default,{key:0,type:"primary",class:e.normalizeClass(["ls-upload-btn-com ls-upload-btn-comfirm",{"is-ready":G()}]),loading:e.unref(s),disabled:e.unref(h),onClick:D},{default:e.withCtx(()=>n[4]||(n[4]=[e.createTextVNode(" 开始上传 ",-1)])),_:1,__:[4]},8,["class","loading","disabled"]))],2)):e.createCommentVNode("",!0)],64))]),tip:e.withCtx(()=>[e.unref(U).tip?e.renderSlot(t.$slots,"tip",{key:1},void 0,!0):(e.openBlock(),e.createElementBlock("div",Me,e.toDisplayString(e.unref(se)||e.unref(ae)),1))]),_:2},[t.customFile?{name:"file",fn:e.withCtx(({file:f,index:F})=>{var X;return[e.createElementVNode("img",{src:((X=e.unref(r).uploadFileList[F])==null?void 0:X.url)||f.url,class:"el-upload-list__item-thumbnail"},null,8,Re),e.createElementVNode("div",ze,[e.renderSlot(t.$slots,"default",{file:f,index:F},void 0,!0),t.hasCropper?(e.openBlock(),e.createElementBlock("span",{key:0,class:"el-upload-list__item-cropper",onClick:i(Y=>Ee(f,F),"onClick")},[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(u)]),_:1})],8,De)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"el-upload-list__item-preview",onClick:i(Y=>Be(f,F),"onClick")},[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(C)]),_:1})],8,Ie),e.createElementVNode("span",{class:"el-upload-list__item-delete",onClick:i(Y=>we(f),"onClick")},[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(y)]),_:1})],8,He)])]}),key:"0"}:{name:"file",fn:e.withCtx(({file:f,index:F})=>[e.renderSlot(t.$slots,"file",{file:f,index:F},void 0,!0)]),key:"1"}]),1040),e.createVNode(e.unref(qe.default),{modelValue:e.unref(r).showPreview,"onUpdate:modelValue":n[0]||(n[0]=f=>e.unref(r).showPreview=f),source:e.unref(r).sourcePreview,"on-close":be},null,8,["modelValue","source"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.unref(I)?(e.openBlock(),e.createBlock(H,{key:0,"url-list":e.unref(W),onClose:n[1]||(n[1]=f=>I.value=!1)},null,8,["url-list"])):e.createCommentVNode("",!0)]))],2)}}});exports.default=Oe;
|
|
1
|
+
"use strict";var Se=Object.defineProperty;var i=($,q)=>Se($,"name",{value:q,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Ve=/* empty css */Le=/* empty css */Pe=/* empty css */xe=/* empty css */L=;/* empty css */;/* empty css */;/* empty css */;/* empty css */;/* empty css */;/* empty css */;/* empty css */const e=require("vue"),$e=/* empty css */qe=/* empty css */_=/* empty css */Q=/* empty css */Ue=/* empty css */P=;/* empty css */;/* empty css */;/* empty css */const Te={class:"ls-drag"},Ae={class:"drag-txt ls-color-brand6"},Me={key:0,class:"btn-picture-card"},Re={key:0,class:"ls-tip"},ze=["src"],De={class:"el-upload-list__item-actions"},Ie=["onClick"],He=["onClick"],Oe=["onClick"],je=e.defineComponent({name:"LSUpload",inheritAttrs:!1,__name:"Index",props:P.lsUploadProps,emits:["uploadErrorFunc","onChangeFunc","httpResponseFunc","onHandleCropper"],setup($,{expose:q,emit:ee}){const o=$,b=ee,U=e.useSlots(),m=e.useAttrs(),te=$e.useNamespace("upload").b(),c=e.ref(),s=e.ref(!1),v=e.reactive({isCover:!0,accept:"",disabled:!1}),r=e.reactive({uploadFileList:[],initUploadStatus:!0,showPreview:!1,sourcePreview:"",iconColor:qe.getVariable("colorText1")});e.watch(()=>m["file-list"],t=>{r.uploadFileList=t||[]},{immediate:!0,deep:!0});const B=e.computed(()=>{var t,n;return!!((t=o==null?void 0:o.item)!=null&&t.isToast||typeof((n=o==null?void 0:o.item)==null?void 0:n.isToast)>"u")}),p=e.computed(()=>{var n;const t=(n=o==null?void 0:o.item)==null?void 0:n.isCover;return typeof t>"u"?!0:t}),k=e.computed(()=>m.multiple),g=e.computed(()=>{const t=m["auto-upload"];return typeof t>"u"?!0:t}),ne=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.emptyFileMsg)||""}),T=e.computed(()=>m["list-type"]),w=e.computed(()=>T.value===P.UPLOAD_TYPE_MAP.picCard),oe=e.computed(()=>!T.value||T.value==="text"),E=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitFile)||[]}),le=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitFileMsg)||""}),N=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitSize)||2}),re=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitSizeMsg)||""}),A=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitUnit)||"MB"}),ie=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.limitNumMsg)||""}),ue=e.computed(()=>{var t;return(t=o==null?void 0:o.item)==null?void 0:t.limitAllFail}),O=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.profile)||!1}),S=e.computed(()=>m.drag),ae=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.hideCoverBtn)&&p.value&&r.uploadFileList.length>0}),h=e.computed(()=>m.disabled),M=e.computed(()=>{const t=w.value?"图片":"文件";let n=`选择${t}`;return s.value?n="正在上传...":p.value&&!k.value?g.value?r.initUploadStatus?n="点击上传":n="重新上传":r.initUploadStatus?n=`选择${t}`:n="重新上传":g.value&&(n="点击上传"),n}),se=e.computed(()=>{let t="不限制上传格式,";return w.value&&(t="文件须为图片格式,"),`${t}文件大小不超过${N.value}${A.value}`}),ce=e.computed(()=>{var t;return((t=o==null?void 0:o.item)==null?void 0:t.tipContent)||""}),R=e.computed(()=>{var t;return(t=o==null?void 0:o.item)==null?void 0:t.httpRequestFunc}),de=e.computed(()=>{var n;const t=Number(m.limit||0);return t?((n=o==null?void 0:o.item)==null?void 0:n.hideBtnReachLimit)&&r.uploadFileList.length>=t:!1});e.watch([p,R,()=>o.httpRequest],([t,n,l])=>{v.isCover=t,(n&&typeof n=="function"||l&&typeof l=="function")&&(v["http-request"]=Ce)},{immediate:!0,deep:!0}),e.watch(()=>E.value,t=>{t&&t.length>0&&fe(t)},{immediate:!0,deep:!0});function fe(t){v.accept="",t.forEach(n=>{const l=P.fileTypeMap[n]||"";l&&(v.accept&&(v.accept+=","),v.accept+=l)})}i(fe,"updateFileAccept");function j(){const{formRuleFunc:t,formValidateFunc:n}=o.item||{};return{formRuleFunc:t,formValidateFunc:n}}i(j,"getFormValidateHandlers");function V(t){const{formRuleFunc:n,formValidateFunc:l}=j();if(typeof n=="function"&&typeof l=="function"){const u=n(),{message:a}=u;u.message=t,l(),u.message=a}b("uploadErrorFunc",t)}i(V,"validateForm");async function me(t,n){if(s.value=!1,o.onExceed)return o.onExceed(t,n);const l=Number(m.limit||0);let u=0;ue.value||(u=l-r.uploadFileList.length,u>0&&(ye(t.slice(0,u)),g.value&&D()));const a=ie.value||`当前限制选择 ${l} 个文件,本次选择了 ${t.length} 个文件,已成功上传 ${u} 个文件`;B.value?setTimeout(()=>{L.ElMessage.warning(a)},200):V(a)}i(me,"onExceedAction");function pe(t){if(o.beforeUpload){const l=o.beforeUpload(t);return l&&p.value&&!k.value&&x(),l}const n=z(t,!0);return n&&g.value&&p.value&&!k.value&&x(),n}i(pe,"beforeUploadAction");function z(t,n){let l=!0;const{size:u,name:a}=t,C=E.value.length>0&&!Z(a);let y=!1;switch(A.value){case"KB":y=u/1024>N.value;break;case"MB":y=u/1024/1024>N.value;break;default:y=u/1024/1024/1024>N.value;break}if(C){const d=le.value||`上传文件 ${t.name} 只能是 ${E.value.filter(H=>H).join(",").toLocaleLowerCase()} 格式!`;B.value&&n?setTimeout(()=>{L.ElMessage.error(d)},200):V(d),l=!1}if(y){const d=re.value||`上传文件 ${t.name} 大小不能超过 ${N.value}${A.value}!`;B.value&&n?setTimeout(()=>{L.ElMessage.error(d)},200):V(d),l=!1}if(!C&&w.value&&!Z(a,P.IMG_SUFFIX_LIST)){const d=`上传文件 ${t.name} 不是图片格式的文件!`;B.value&&n?setTimeout(()=>{L.ElMessage.error(d)},200):V(d),l=!1}return l}i(z,"validateUploadFile");function Z(t,n){let l=[];if(E.value.length>0?l=E.value:n&&(l=n),l.length<=0)return!0;for(let u=0;u<l.length;u++){const a=(l[u]||"").toLowerCase();if(t.toLowerCase().endsWith(a))return!0}return!1}i(Z,"fileTypeMatch");function x(t,n){r.uploadFileList.splice(t||0,n||r.uploadFileList.length-1)}i(x,"updateCoverFileList");function ve(t,n){r.uploadFileList=n;const l=t.raw&&z(t.raw,!g.value);if(l&&p.value&&!k.value&&x(),o.onChange)return o.onChange(t,n);const{size:u=0}=t;if(u<=0){G();const a=ne.value||"禁止上传空文件,请检查后重新上传!";B.value?L.ElMessage.error(a):V(a);return}t.raw&&(!g.value&&!l?G():(t.blob=URL.createObjectURL(t.raw)||"",b("onChangeFunc",t)))}i(ve,"onChangeAction");function G(){let t=0;r.uploadFileList.length>1&&(t=r.uploadFileList.length-1),x(t,1),b("onChangeFunc",{})}i(G,"setChangeRes");function ge(t,n,l){s.value=!1,r.initUploadStatus=!1;const{formRuleFunc:u,formValidateFunc:a}=j();if(typeof u=="function"&&typeof a=="function"&&a(),o.onSuccess)return o.onSuccess(t,n,l)}i(ge,"onSuccessAction");function ke(t,n,l){if(s.value=!1,o.onError)return o.onError(t,n,l)}i(ke,"onErrorAction");function he(t,n){if(s.value=!1,r.initUploadStatus=!n.length,r.uploadFileList=r.uploadFileList.filter(l=>l.uid===t.uid||l.name===t.name?null:l),o.onRemove)return o.onRemove(t,n)}i(he,"onRemoveAction");async function Ce(t){const{file:n}=t;if(!n)return;const{size:l}=n;if(l<=0||!z(n,!1))return;if(o.httpRequest)return o.httpRequest(t);const u=new FormData;if(u.append("file",n),typeof R.value=="function"){s.value=!0;let a={};try{a=await R.value(u)}catch(C){a=C}finally{s.value=!1,b("httpResponseFunc",a)}}}i(Ce,"httpRequestAction");function K(){let t=!1;for(let n=0;n<r.uploadFileList.length;n++)if(r.uploadFileList[n].status===P.UPLOAD_STATUS_MAP.ready){t=!0;break}return t}i(K,"hasReadyFile");function D(){var t;(t=c==null?void 0:c.value)==null||t.submit()}i(D,"comfirmUpload");function ye(t){(t||[]).forEach(n=>{var l;(l=c==null?void 0:c.value)==null||l.handleStart(n)})}i(ye,"comHandleStart");function W(t){c==null||c.value.handleRemove(t)}i(W,"removeFile");function Fe(){r.uploadFileList.forEach(t=>{var n;if(t)try{(n=c==null?void 0:c.value)==null||n.abort(t),W(t)}catch{}})}i(Fe,"cancelUpload");function _e(t,n,l){if(s.value=!0,o.onProgress)return o.onProgress(t,n,l)}i(_e,"onProgressAction");function be(t){if(o.onPreview)return o.onPreview(t);if(w.value){const{url:n}=t||{};n&&(r.sourcePreview=n,r.showPreview=!0)}}i(be,"onPreviewAction");function Be(){r.showPreview=!1,r.sourcePreview=""}i(Be,"closePreview");const I=e.ref(!1),X=e.ref([]);function we(t,n){var l;X.value=[((l=r.uploadFileList[n])==null?void 0:l.url)||(t==null?void 0:t.url)],I.value=!0}i(we,"onHandlePreview");function Ee(t){W(t)}i(Ee,"onHandleRemove");function Ne(t,n){b("onHandleCropper",t,n)}return i(Ne,"onHandleCropper"),q({uploadRef:c}),(t,n)=>{const l=Le.ElAvatar,u=e.resolveComponent("Crop"),a=Ve.ElIcon,C=e.resolveComponent("ZoomIn"),y=e.resolveComponent("Delete"),d=xe.ElUpload,H=Pe.ElImageViewer;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(te),e.unref(S)?"ls-upload-drag":"",e.unref(O)?"ls-profile":"",e.unref(ae)?"hide-cover-btn":"",e.unref(de)?"hide-btn":""])},[e.createVNode(d,e.mergeProps({ref_key:"uploadRef",ref:c},Object.assign(e.unref(v),t.$attrs),{"on-exceed":me,"before-upload":pe,"on-change":ve,"on-success":ge,"on-error":ke,"on-remove":he,"on-progress":_e,"on-preview":be}),e.createSlots({trigger:e.withCtx(()=>[e.unref(O)?t.item.defProfile&&e.unref(r).uploadFileList.length<1?(e.openBlock(),e.createBlock(l,{key:1,size:60,src:t.item.defProfile,fit:"contain"},null,8,["src"])):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(U).trigger?e.renderSlot(t.$slots,"trigger",{key:1},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(S)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(s)?(e.openBlock(),e.createBlock(_.default,{key:0,text:"",loading:e.unref(s),disabled:e.unref(h)},null,8,["loading","disabled"])):(e.openBlock(),e.createBlock(Q.default,{key:1,class:"upload-icon",name:"UploadFilled",size:"56",color:"#E7E7E7"})),e.createElementVNode("div",Te,[e.createElementVNode("div",Ae,e.toDisplayString(e.unref(M)),1),e.unref(s)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n[2]||(n[2]=e.createTextVNode(" / ",-1)),n[3]||(n[3]=e.createElementVNode("div",{class:"drag-txt ls-color-text2"}," 拖拽到此区域 ",-1))],64))])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(w)?(e.openBlock(),e.createElementBlock("div",Me,[e.unref(s)?(e.openBlock(),e.createBlock(_.default,{key:0,text:"",loading:e.unref(s),disabled:e.unref(h)},null,8,["loading","disabled"])):(e.openBlock(),e.createBlock(Q.default,{key:1,class:"upload-btn-plus",name:"Plus",size:28,color:e.unref(r).iconColor},null,8,["color"])),e.createElementVNode("div",null,e.toDisplayString(e.unref(M)),1)])):(e.openBlock(),e.createBlock(_.default,{key:1,plain:"",icon:"upload",loading:e.unref(s),disabled:e.unref(h)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(M)),1)]),_:1},8,["loading","disabled"]))],64))],64))],64))]),default:e.withCtx(()=>[e.unref(U).default?e.renderSlot(t.$slots,"default",{key:1},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[!e.unref(g)&&(e.unref(oe)||e.unref(S))?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["upload-btn-handle",[e.unref(S)?"drag-css":"nor-css",!e.unref(p)||e.unref(k)?"multi-css":""]])},[e.unref(S)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(p)||e.unref(k)?(e.openBlock(),e.createBlock(_.default,{key:0,type:"primary",loading:e.unref(s),disabled:e.unref(h),class:"ls-upload-btn-com ls-upload-btn-cancel",onClick:Fe},{default:e.withCtx(()=>n[5]||(n[5]=[e.createTextVNode(" 取消上传 ",-1)])),_:1,__:[5]},8,["loading","disabled"])):e.createCommentVNode("",!0),e.createVNode(_.default,{class:e.normalizeClass(["start-upload ls-upload-btn-com ls-upload-btn-comfirm",{"is-ready":K()}]),type:"primary",loading:e.unref(s),disabled:e.unref(h),onClick:D},{default:e.withCtx(()=>n[6]||(n[6]=[e.createTextVNode(" 开始上传 ",-1)])),_:1,__:[6]},8,["class","loading","disabled"])],64)):(e.openBlock(),e.createBlock(_.default,{key:0,type:"primary",class:e.normalizeClass(["ls-upload-btn-com ls-upload-btn-comfirm",{"is-ready":K()}]),loading:e.unref(s),disabled:e.unref(h),onClick:D},{default:e.withCtx(()=>n[4]||(n[4]=[e.createTextVNode(" 开始上传 ",-1)])),_:1,__:[4]},8,["class","loading","disabled"]))],2)):e.createCommentVNode("",!0)],64))]),tip:e.withCtx(()=>[e.unref(U).tip?e.renderSlot(t.$slots,"tip",{key:1},void 0,!0):(e.openBlock(),e.createElementBlock("div",Re,e.toDisplayString(e.unref(ce)||e.unref(se)),1))]),_:2},[t.customFile?{name:"file",fn:e.withCtx(({file:f,index:F})=>{var Y;return[e.createElementVNode("img",{src:((Y=e.unref(r).uploadFileList[F])==null?void 0:Y.url)||f.url,class:"el-upload-list__item-thumbnail"},null,8,ze),e.createElementVNode("div",De,[e.renderSlot(t.$slots,"default",{file:f,index:F},void 0,!0),t.hasCropper?(e.openBlock(),e.createElementBlock("span",{key:0,class:"el-upload-list__item-cropper",onClick:i(J=>Ne(f,F),"onClick")},[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(u)]),_:1})],8,Ie)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"el-upload-list__item-preview",onClick:i(J=>we(f,F),"onClick")},[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(C)]),_:1})],8,He),e.createElementVNode("span",{class:"el-upload-list__item-delete",onClick:i(J=>Ee(f),"onClick")},[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(y)]),_:1})],8,Oe)])]}),key:"0"}:{name:"file",fn:e.withCtx(({file:f,index:F})=>[e.renderSlot(t.$slots,"file",{file:f,index:F},void 0,!0)]),key:"1"}]),1040),e.createVNode(e.unref(Ue.default),{modelValue:e.unref(r).showPreview,"onUpdate:modelValue":n[0]||(n[0]=f=>e.unref(r).showPreview=f),source:e.unref(r).sourcePreview,"on-close":Be},null,8,["modelValue","source"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.unref(I)?(e.openBlock(),e.createBlock(H,{key:0,"url-list":e.unref(X),onClose:n[1]||(n[1]=f=>I.value=!1)},null,8,["url-list"])):e.createCommentVNode("",!0)]))],2)}}});exports.default=je;
|