|
1
|
/** layui-v2.3.0 MIT License By https://www.layui.com */
|
1
|
/** layui-v2.3.0 MIT License By https://www.layui.com */
|
|
2
|
- ;layui.define("layer",function(e){"use strict";var i=layui.$,t=layui.layer,n=layui.hint(),a=layui.device(),o={config:{},set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,r,e,i)}},l=function(){var e=this;return{upload:function(i){e.upload.call(e,i)},config:e.config}},r="upload",u="layui-upload-file",c="layui-upload-form",f="layui-upload-iframe",s="layui-upload-choose",p=function(e){var t=this;t.config=i.extend({},t.config,o.config,e),t.render()};p.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",field:"file",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var t=this,e=t.config;e.elem=i(e.elem),e.bindAction=i(e.bindAction),t.file(),t.events()},p.prototype.file=function(){var e=this,t=e.config,n=e.elemFile=i(['<input class="'+u+'" type="file" accept="'+t.acceptMime+'" name="'+t.field+'"',t.multiple?" multiple":"",">"].join("")),o=t.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&t.elem.wrap('<div class="layui-upload-wrap"></div>'),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(n),a.ie&&a.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,t=e.config,n=i('<iframe id="'+f+'" class="'+f+'" name="'+f+'" frameborder="0"></iframe>'),a=i(['<form target="'+f+'" class="'+c+'" method="'+t.method,'" key="set-mine" enctype="multipart/form-data" action="'+t.url+'">',"</form>"].join(""));i("#"+f)[0]||i("body").append(n),t.elem.next().hasClass(c)||(e.elemFile.wrap(a),t.elem.next("."+c).append(function(){var e=[];return layui.each(t.data,function(i,t){t="function"==typeof t?t():t,e.push('<input type="hidden" name="'+i+'" value="'+t+'">')}),e.join("")}()))},p.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},p.prototype.preview=function(e){var i=this;window.FileReader&&layui.each(i.chooseFiles,function(i,t){var n=new FileReader;n.readAsDataURL(t),n.onload=function(){e&&e(i,t,this.result)}})},p.prototype.upload=function(e,t){var n,o=this,l=o.config,r=o.elemFile[0],u=function(){var t=0,n=0,a=e||o.files||o.chooseFiles||r.files,u=function(){l.multiple&&t+n===o.fileLength&&"function"==typeof l.allDone&&l.allDone({total:o.fileLength,successful:t,aborted:n})};layui.each(a,function(e,a){var r=new FormData;r.append(l.field,a),layui.each(l.data,function(e,i){i="function"==typeof i?i():i,r.append(e,i)}),i.ajax({url:l.url,type:l.method,data:r,contentType:!1,processData:!1,dataType:"json",headers:l.headers||{},success:function(i){t++,d(e,i),u()},error:function(){n++,o.msg("请求上传接口出现异常"),m(e),u()}})})},c=function(){var e=i("#"+f);o.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var i,t=e.contents().find("body");try{i=t.text()}catch(n){o.msg("获取上传后的响应信息出现异常"),clearInterval(p.timer),m()}i&&(clearInterval(p.timer),t.html(""),d(0,i))},30)},d=function(e,i){if(o.elemFile.next("."+s).remove(),r.value="","object"!=typeof i)try{i=JSON.parse(i)}catch(t){return i={},o.msg("请对上传接口返回有效JSON")}"function"==typeof l.done&&l.done(i,e||0,function(e){o.upload(e)})},m=function(e){l.auto&&(r.value=""),"function"==typeof l.error&&l.error(e||0,function(e){o.upload(e)})},h=l.exts,v=function(){var i=[];return layui.each(e||o.chooseFiles,function(e,t){i.push(t.name)}),i}(),g={preview:function(e){o.preview(e)},upload:function(e,i){var t={};t[e]=i,o.upload(t)},pushFile:function(){return o.files=o.files||{},layui.each(o.chooseFiles,function(e,i){o.files[e]=i}),o.files},resetFile:function(e,i,t){var n=new File([i],t);o.files=o.files||{},o.files[e]=n}},y=function(){if("choose"!==t&&!l.auto||(l.choose&&l.choose(g),"choose"!==t))return l.before&&l.before(g),a.ie?a.ie>9?u():c():void u()};if(v=0===v.length?r.value.match(/[^\/\\]+\..+/g)||[]||"":v,0!==v.length){switch(l.accept){case"file":if(h&&!RegExp("\\w\\.("+h+")$","i").test(escape(v)))return o.msg("选择的文件中包含不支持的格式"),r.value="";break;case"video":if(!RegExp("\\w\\.("+(h||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(v)))return o.msg("选择的视频中包含不支持的格式"),r.value="";break;case"audio":if(!RegExp("\\w\\.("+(h||"mp3|wav|mid")+")$","i").test(escape(v)))return o.msg("选择的音频中包含不支持的格式"),r.value="";break;default:if(layui.each(v,function(e,i){RegExp("\\w\\.("+(h||"jpg|png|gif|bmp|jpeg$")+")","i").test(escape(i))||(n=!0)}),n)return o.msg("选择的图片中包含不支持的格式"),r.value=""}if(o.fileLength=function(){var i=0,t=e||o.files||o.chooseFiles||r.files;return layui.each(t,function(){i++}),i}(),l.number&&o.fileLength>l.number)return o.msg("同时最多只能上传的数量为:"+l.number);if(l.size>0&&!(a.ie&&a.ie<10)){var F;if(layui.each(o.chooseFiles,function(e,i){if(i.size>1024*l.size){var t=l.size/1024;t=t>=1?t.toFixed(2)+"MB":l.size+"KB",r.value="",F=t}}),F)return o.msg("文件不能超过"+F)}y()}},p.prototype.events=function(){var e=this,t=e.config,o=function(i){e.chooseFiles={},layui.each(i,function(i,t){var n=(new Date).getTime();e.chooseFiles[n+"-"+i]=t})},l=function(i,n){var a=e.elemFile,o=i.length>1?i.length+"个文件":(i[0]||{}).name||a[0].value.match(/[^\/\\]+\..+/g)||[]||"";a.next().hasClass(s)&&a.next().remove(),e.upload(null,"choose"),e.isFile()||t.choose||a.after('<span class="layui-inline '+s+'">'+o+"</span>")};t.elem.off("upload.start").on("upload.start",function(){var a=i(this),o=a.attr("lay-data");if(o)try{o=new Function("return "+o)(),e.config=i.extend({},t,o)}catch(l){n.error("Upload element property lay-data configuration item has a syntax error: "+o)}e.config.item=a,e.elemFile[0].click()}),a.ie&&a.ie<10||t.elem.off("upload.over").on("upload.over",function(){var e=i(this);e.attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){var e=i(this);e.removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(n,a){var r=i(this),u=a.originalEvent.dataTransfer.files||[];r.removeAttr("lay-over"),o(u),t.auto?e.upload(u):l(u)}),e.elemFile.off("upload.change").on("upload.change",function(){var i=this.files||[];o(i),t.auto?e.upload():l(i)}),t.bindAction.off("upload.action").on("upload.action",function(){e.upload()}),t.elem.data("haveEvents")||(e.elemFile.on("change",function(){i(this).trigger("upload.change")}),t.elem.on("click",function(){e.isFile()||i(this).trigger("upload.start")}),t.drag&&t.elem.on("dragover",function(e){e.preventDefault(),i(this).trigger("upload.over")}).on("dragleave",function(e){i(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),i(this).trigger("upload.drop",e)}),t.bindAction.on("click",function(){i(this).trigger("upload.action")}),t.elem.data("haveEvents",!0))},o.render=function(e){var i=new p(e);return l.call(i)},e(r,o)}); |
|
|
|
|
|
2
|
+;
|
|
|
|
3
|
+layui.define("layer",
|
|
|
|
4
|
+function(e) {
|
|
|
|
5
|
+ "use strict";
|
|
|
|
6
|
+ var i = layui.$,
|
|
|
|
7
|
+ t = layui.layer,
|
|
|
|
8
|
+ n = layui.hint(),
|
|
|
|
9
|
+ a = layui.device(),
|
|
|
|
10
|
+ o = {
|
|
|
|
11
|
+ config: {},
|
|
|
|
12
|
+ set: function(e) {
|
|
|
|
13
|
+ var t = this;
|
|
|
|
14
|
+ return t.config = i.extend({},
|
|
|
|
15
|
+ t.config, e),
|
|
|
|
16
|
+ t
|
|
|
|
17
|
+ },
|
|
|
|
18
|
+ on: function(e, i) {
|
|
|
|
19
|
+ return layui.onevent.call(this, r, e, i)
|
|
|
|
20
|
+ }
|
|
|
|
21
|
+ },
|
|
|
|
22
|
+ l = function() {
|
|
|
|
23
|
+ var e = this;
|
|
|
|
24
|
+ return {
|
|
|
|
25
|
+ upload: function(i) {
|
|
|
|
26
|
+ e.upload.call(e, i)
|
|
|
|
27
|
+ },
|
|
|
|
28
|
+ config: e.config
|
|
|
|
29
|
+ }
|
|
|
|
30
|
+ },
|
|
|
|
31
|
+ r = "upload",
|
|
|
|
32
|
+ u = "layui-upload-file",
|
|
|
|
33
|
+ c = "layui-upload-form",
|
|
|
|
34
|
+ f = "layui-upload-iframe",
|
|
|
|
35
|
+ s = "layui-upload-choose",
|
|
|
|
36
|
+ p = function(e) {
|
|
|
|
37
|
+ var t = this;
|
|
|
|
38
|
+ t.config = i.extend({},
|
|
|
|
39
|
+ t.config, o.config, e),
|
|
|
|
40
|
+ t.render()
|
|
|
|
41
|
+ };
|
|
|
|
42
|
+ p.prototype.config = {
|
|
|
|
43
|
+ accept: "images",
|
|
|
|
44
|
+ exts: "",
|
|
|
|
45
|
+ auto: !0,
|
|
|
|
46
|
+ bindAction: "",
|
|
|
|
47
|
+ url: "",
|
|
|
|
48
|
+ field: "file",
|
|
|
|
49
|
+ method: "post",
|
|
|
|
50
|
+ data: {},
|
|
|
|
51
|
+ drag: !0,
|
|
|
|
52
|
+ size: 0,
|
|
|
|
53
|
+ number: 0,
|
|
|
|
54
|
+ multiple: !1
|
|
|
|
55
|
+ },
|
|
|
|
56
|
+ p.prototype.render = function(e) {
|
|
|
|
57
|
+ var t = this,
|
|
|
|
58
|
+ e = t.config;
|
|
|
|
59
|
+ e.elem = i(e.elem),
|
|
|
|
60
|
+ e.bindAction = i(e.bindAction),
|
|
|
|
61
|
+ t.file(),
|
|
|
|
62
|
+ t.events()
|
|
|
|
63
|
+ },
|
|
|
|
64
|
+ p.prototype.file = function() {
|
|
|
|
65
|
+ var e = this,
|
|
|
|
66
|
+ t = e.config,
|
|
|
|
67
|
+ n = e.elemFile = i(['<input class="' + u + '" type="file" accept="' + t.acceptMime + '" name="' + t.field + '"', t.multiple ? " multiple": "", ">"].join("")),
|
|
|
|
68
|
+ o = t.elem.next(); (o.hasClass(u) || o.hasClass(c)) && o.remove(),
|
|
|
|
69
|
+ a.ie && a.ie < 10 && t.elem.wrap('<div class="layui-upload-wrap"></div>'),
|
|
|
|
70
|
+ e.isFile() ? (e.elemFile = t.elem, t.field = t.elem[0].name) : t.elem.after(n),
|
|
|
|
71
|
+ a.ie && a.ie < 10 && e.initIE()
|
|
|
|
72
|
+ },
|
|
|
|
73
|
+ p.prototype.initIE = function() {
|
|
|
|
74
|
+ var e = this,
|
|
|
|
75
|
+ t = e.config,
|
|
|
|
76
|
+ n = i('<iframe id="' + f + '" class="' + f + '" name="' + f + '" frameborder="0"></iframe>'),
|
|
|
|
77
|
+ a = i(['<form target="' + f + '" class="' + c + '" method="' + t.method, '" key="set-mine" enctype="multipart/form-data" action="' + t.url + '">', "</form>"].join(""));
|
|
|
|
78
|
+ i("#" + f)[0] || i("body").append(n),
|
|
|
|
79
|
+ t.elem.next().hasClass(c) || (e.elemFile.wrap(a), t.elem.next("." + c).append(function() {
|
|
|
|
80
|
+ var e = [];
|
|
|
|
81
|
+ return layui.each(t.data,
|
|
|
|
82
|
+ function(i, t) {
|
|
|
|
83
|
+ t = "function" == typeof t ? t() : t,
|
|
|
|
84
|
+ e.push('<input type="hidden" name="' + i + '" value="' + t + '">')
|
|
|
|
85
|
+ }),
|
|
|
|
86
|
+ e.join("")
|
|
|
|
87
|
+ } ()))
|
|
|
|
88
|
+ },
|
|
|
|
89
|
+ p.prototype.msg = function(e) {
|
|
|
|
90
|
+ return t.msg(e, {
|
|
|
|
91
|
+ icon: 2,
|
|
|
|
92
|
+ shift: 6
|
|
|
|
93
|
+ })
|
|
|
|
94
|
+ },
|
|
|
|
95
|
+ p.prototype.isFile = function() {
|
|
|
|
96
|
+ var e = this.config.elem[0];
|
|
|
|
97
|
+ if (e) return "input" === e.tagName.toLocaleLowerCase() && "file" === e.type
|
|
|
|
98
|
+ },
|
|
|
|
99
|
+ p.prototype.preview = function(e) {
|
|
|
|
100
|
+ var i = this;
|
|
|
|
101
|
+ window.FileReader && layui.each(i.chooseFiles,
|
|
|
|
102
|
+ function(i, t) {
|
|
|
|
103
|
+ var n = new FileReader;
|
|
|
|
104
|
+ n.readAsDataURL(t),
|
|
|
|
105
|
+ n.onload = function() {
|
|
|
|
106
|
+ e && e(i, t, this.result)
|
|
|
|
107
|
+ }
|
|
|
|
108
|
+ })
|
|
|
|
109
|
+ },
|
|
|
|
110
|
+ p.prototype.upload = function(e, t) {
|
|
|
|
111
|
+ var n, o = this,
|
|
|
|
112
|
+ l = o.config,
|
|
|
|
113
|
+ r = o.elemFile[0],
|
|
|
|
114
|
+ u = function() {
|
|
|
|
115
|
+ var t = 0,
|
|
|
|
116
|
+ n = 0,
|
|
|
|
117
|
+ a = e || o.files || o.chooseFiles || r.files,
|
|
|
|
118
|
+ u = function() {
|
|
|
|
119
|
+ l.multiple && t + n === o.fileLength && "function" == typeof l.allDone && l.allDone({
|
|
|
|
120
|
+ total: o.fileLength,
|
|
|
|
121
|
+ successful: t,
|
|
|
|
122
|
+ aborted: n
|
|
|
|
123
|
+ })
|
|
|
|
124
|
+ };
|
|
|
|
125
|
+ layui.each(a,
|
|
|
|
126
|
+ function(e, a) {
|
|
|
|
127
|
+ var r = new FormData;
|
|
|
|
128
|
+ r.append(l.field, a),
|
|
|
|
129
|
+ layui.each(l.data,
|
|
|
|
130
|
+ function(e, i) {
|
|
|
|
131
|
+ i = "function" == typeof i ? i() : i,
|
|
|
|
132
|
+ r.append(e, i)
|
|
|
|
133
|
+ }),
|
|
|
|
134
|
+ i.ajax({
|
|
|
|
135
|
+ url: l.url,
|
|
|
|
136
|
+ type: l.method,
|
|
|
|
137
|
+ data: r,
|
|
|
|
138
|
+ contentType: !1,
|
|
|
|
139
|
+ processData: !1,
|
|
|
|
140
|
+ dataType: "json",
|
|
|
|
141
|
+ headers: l.headers || {},
|
|
|
|
142
|
+ success: function(i) {
|
|
|
|
143
|
+ t++,
|
|
|
|
144
|
+ d(e, i),
|
|
|
|
145
|
+ u()
|
|
|
|
146
|
+ },
|
|
|
|
147
|
+ error: function() {
|
|
|
|
148
|
+ n++,
|
|
|
|
149
|
+ o.msg("请求上传接口出现异常"),
|
|
|
|
150
|
+ m(e),
|
|
|
|
151
|
+ u()
|
|
|
|
152
|
+ }
|
|
|
|
153
|
+ })
|
|
|
|
154
|
+ })
|
|
|
|
155
|
+ },
|
|
|
|
156
|
+ c = function() {
|
|
|
|
157
|
+ var e = i("#" + f);
|
|
|
|
158
|
+ o.elemFile.parent().submit(),
|
|
|
|
159
|
+ clearInterval(p.timer),
|
|
|
|
160
|
+ p.timer = setInterval(function() {
|
|
|
|
161
|
+ var i, t = e.contents().find("body");
|
|
|
|
162
|
+ try {
|
|
|
|
163
|
+ i = t.text()
|
|
|
|
164
|
+ } catch(n) {
|
|
|
|
165
|
+ o.msg("获取上传后的响应信息出现异常"),
|
|
|
|
166
|
+ clearInterval(p.timer),
|
|
|
|
167
|
+ m()
|
|
|
|
168
|
+ }
|
|
|
|
169
|
+ i && (clearInterval(p.timer), t.html(""), d(0, i))
|
|
|
|
170
|
+ },
|
|
|
|
171
|
+ 30)
|
|
|
|
172
|
+ },
|
|
|
|
173
|
+ d = function(e, i) {
|
|
|
|
174
|
+ if (o.elemFile.next("." + s).remove(), r.value = "", "object" != typeof i) try {
|
|
|
|
175
|
+ i = JSON.parse(i)
|
|
|
|
176
|
+ } catch(t) {
|
|
|
|
177
|
+ return i = {},
|
|
|
|
178
|
+ o.msg("请对上传接口返回有效JSON")
|
|
|
|
179
|
+ }
|
|
|
|
180
|
+ "function" == typeof l.done && l.done(i, e || 0,
|
|
|
|
181
|
+ function(e) {
|
|
|
|
182
|
+ o.upload(e)
|
|
|
|
183
|
+ })
|
|
|
|
184
|
+ },
|
|
|
|
185
|
+ m = function(e) {
|
|
|
|
186
|
+ l.auto && (r.value = ""),
|
|
|
|
187
|
+ "function" == typeof l.error && l.error(e || 0,
|
|
|
|
188
|
+ function(e) {
|
|
|
|
189
|
+ o.upload(e)
|
|
|
|
190
|
+ })
|
|
|
|
191
|
+ },
|
|
|
|
192
|
+ h = l.exts,
|
|
|
|
193
|
+ v = function() {
|
|
|
|
194
|
+ var i = [];
|
|
|
|
195
|
+ return layui.each(e || o.chooseFiles,
|
|
|
|
196
|
+ function(e, t) {
|
|
|
|
197
|
+ i.push(t.name)
|
|
|
|
198
|
+ }),
|
|
|
|
199
|
+ i
|
|
|
|
200
|
+ } (),
|
|
|
|
201
|
+ g = {
|
|
|
|
202
|
+ preview: function(e) {
|
|
|
|
203
|
+ o.preview(e)
|
|
|
|
204
|
+ },
|
|
|
|
205
|
+ upload: function(e, i) {
|
|
|
|
206
|
+ var t = {};
|
|
|
|
207
|
+ t[e] = i,
|
|
|
|
208
|
+ o.upload(t)
|
|
|
|
209
|
+ },
|
|
|
|
210
|
+ pushFile: function() {
|
|
|
|
211
|
+ return o.files = o.files || {},
|
|
|
|
212
|
+ layui.each(o.chooseFiles,
|
|
|
|
213
|
+ function(e, i) {
|
|
|
|
214
|
+ o.files[e] = i
|
|
|
|
215
|
+ }),
|
|
|
|
216
|
+ o.files
|
|
|
|
217
|
+ },
|
|
|
|
218
|
+ resetFile: function(e, i, t) {
|
|
|
|
219
|
+ var n = new File([i], t);
|
|
|
|
220
|
+ o.files = o.files || {},
|
|
|
|
221
|
+ o.files[e] = n
|
|
|
|
222
|
+ }
|
|
|
|
223
|
+ },
|
|
|
|
224
|
+ y = function() {
|
|
|
|
225
|
+ if ("choose" !== t && !l.auto || (l.choose && l.choose(g), "choose" !== t)) return l.before && l.before(g),
|
|
|
|
226
|
+ a.ie ? a.ie > 9 ? u() : c() : void u()
|
|
|
|
227
|
+ };
|
|
|
|
228
|
+ if (v = 0 === v.length ? r.value.match(/[^\/\\]+\..+/g) || [] || "": v, 0 !== v.length) {
|
|
|
|
229
|
+ switch (l.accept) {
|
|
|
|
230
|
+ case "file":
|
|
|
|
231
|
+ if (h && !RegExp("\\w\\.(" + h + ")$", "i").test(escape(v))) return o.msg("选择的文件中包含不支持的格式"),
|
|
|
|
232
|
+ r.value = "";
|
|
|
|
233
|
+ break;
|
|
|
|
234
|
+ case "video":
|
|
|
|
235
|
+ if (!RegExp("\\w\\.(" + (h || "avi|wma|rmvb|rm|flash|3gp|flv") + ")$", "i").test(escape(v))) return o.msg("选择的视频中包含不支持的格式"),
|
|
|
|
236
|
+ r.value = "";
|
|
|
|
237
|
+ break;
|
|
|
|
238
|
+ case "audio":
|
|
|
|
239
|
+ if (!RegExp("\\w\\.(" + (h || "mp3|wav|mid") + ")$", "i").test(escape(v))) return o.msg("选择的音频中包含不支持的格式"),
|
|
|
|
240
|
+ r.value = "";
|
|
|
|
241
|
+ break;
|
|
|
|
242
|
+ default:
|
|
|
|
243
|
+ if (layui.each(v,
|
|
|
|
244
|
+ function(e, i) {
|
|
|
|
245
|
+ RegExp("\\w\\.(" + (h || "mp4|jpg|png|gif|bmp|jpeg$") + ")", "i").test(escape(i)) || (n = !0)
|
|
|
|
246
|
+ }), n) return o.msg("选择的图片中包含不支持的格式"),
|
|
|
|
247
|
+ r.value = ""
|
|
|
|
248
|
+ }
|
|
|
|
249
|
+ if (o.fileLength = function() {
|
|
|
|
250
|
+ var i = 0,
|
|
|
|
251
|
+ t = e || o.files || o.chooseFiles || r.files;
|
|
|
|
252
|
+ return layui.each(t,
|
|
|
|
253
|
+ function() {
|
|
|
|
254
|
+ i++
|
|
|
|
255
|
+ }),
|
|
|
|
256
|
+ i
|
|
|
|
257
|
+ } (), l.number && o.fileLength > l.number) return o.msg("同时最多只能上传的数量为:" + l.number);
|
|
|
|
258
|
+ if (l.size > 0 && !(a.ie && a.ie < 10)) {
|
|
|
|
259
|
+ var F;
|
|
|
|
260
|
+ if (layui.each(o.chooseFiles,
|
|
|
|
261
|
+ function(e, i) {
|
|
|
|
262
|
+ if (i.size > 1024 * l.size) {
|
|
|
|
263
|
+ var t = l.size / 1024;
|
|
|
|
264
|
+ t = t >= 1 ? t.toFixed(2) + "MB": l.size + "KB",
|
|
|
|
265
|
+ r.value = "",
|
|
|
|
266
|
+ F = t
|
|
|
|
267
|
+ }
|
|
|
|
268
|
+ }), F) return o.msg("文件不能超过" + F)
|
|
|
|
269
|
+ }
|
|
|
|
270
|
+ y()
|
|
|
|
271
|
+ }
|
|
|
|
272
|
+ },
|
|
|
|
273
|
+ p.prototype.events = function() {
|
|
|
|
274
|
+ var e = this,
|
|
|
|
275
|
+ t = e.config,
|
|
|
|
276
|
+ o = function(i) {
|
|
|
|
277
|
+ e.chooseFiles = {},
|
|
|
|
278
|
+ layui.each(i,
|
|
|
|
279
|
+ function(i, t) {
|
|
|
|
280
|
+ var n = (new Date).getTime();
|
|
|
|
281
|
+ e.chooseFiles[n + "-" + i] = t
|
|
|
|
282
|
+ })
|
|
|
|
283
|
+ },
|
|
|
|
284
|
+ l = function(i, n) {
|
|
|
|
285
|
+ var a = e.elemFile,
|
|
|
|
286
|
+ o = i.length > 1 ? i.length + "个文件": (i[0] || {}).name || a[0].value.match(/[^\/\\]+\..+/g) || [] || "";
|
|
|
|
287
|
+ a.next().hasClass(s) && a.next().remove(),
|
|
|
|
288
|
+ e.upload(null, "choose"),
|
|
|
|
289
|
+ e.isFile() || t.choose || a.after('<span class="layui-inline ' + s + '">' + o + "</span>")
|
|
|
|
290
|
+ };
|
|
|
|
291
|
+ t.elem.off("upload.start").on("upload.start",
|
|
|
|
292
|
+ function() {
|
|
|
|
293
|
+ var a = i(this),
|
|
|
|
294
|
+ o = a.attr("lay-data");
|
|
|
|
295
|
+ if (o) try {
|
|
|
|
296
|
+ o = new Function("return " + o)(),
|
|
|
|
297
|
+ e.config = i.extend({},
|
|
|
|
298
|
+ t, o)
|
|
|
|
299
|
+ } catch(l) {
|
|
|
|
300
|
+ n.error("Upload element property lay-data configuration item has a syntax error: " + o)
|
|
|
|
301
|
+ }
|
|
|
|
302
|
+ e.config.item = a,
|
|
|
|
303
|
+ e.elemFile[0].click()
|
|
|
|
304
|
+ }),
|
|
|
|
305
|
+ a.ie && a.ie < 10 || t.elem.off("upload.over").on("upload.over",
|
|
|
|
306
|
+ function() {
|
|
|
|
307
|
+ var e = i(this);
|
|
|
|
308
|
+ e.attr("lay-over", "")
|
|
|
|
309
|
+ }).off("upload.leave").on("upload.leave",
|
|
|
|
310
|
+ function() {
|
|
|
|
311
|
+ var e = i(this);
|
|
|
|
312
|
+ e.removeAttr("lay-over")
|
|
|
|
313
|
+ }).off("upload.drop").on("upload.drop",
|
|
|
|
314
|
+ function(n, a) {
|
|
|
|
315
|
+ var r = i(this),
|
|
|
|
316
|
+ u = a.originalEvent.dataTransfer.files || [];
|
|
|
|
317
|
+ r.removeAttr("lay-over"),
|
|
|
|
318
|
+ o(u),
|
|
|
|
319
|
+ t.auto ? e.upload(u) : l(u)
|
|
|
|
320
|
+ }),
|
|
|
|
321
|
+ e.elemFile.off("upload.change").on("upload.change",
|
|
|
|
322
|
+ function() {
|
|
|
|
323
|
+ var i = this.files || [];
|
|
|
|
324
|
+ o(i),
|
|
|
|
325
|
+ t.auto ? e.upload() : l(i)
|
|
|
|
326
|
+ }),
|
|
|
|
327
|
+ t.bindAction.off("upload.action").on("upload.action",
|
|
|
|
328
|
+ function() {
|
|
|
|
329
|
+ e.upload()
|
|
|
|
330
|
+ }),
|
|
|
|
331
|
+ t.elem.data("haveEvents") || (e.elemFile.on("change",
|
|
|
|
332
|
+ function() {
|
|
|
|
333
|
+ i(this).trigger("upload.change")
|
|
|
|
334
|
+ }), t.elem.on("click",
|
|
|
|
335
|
+ function() {
|
|
|
|
336
|
+ e.isFile() || i(this).trigger("upload.start")
|
|
|
|
337
|
+ }), t.drag && t.elem.on("dragover",
|
|
|
|
338
|
+ function(e) {
|
|
|
|
339
|
+ e.preventDefault(),
|
|
|
|
340
|
+ i(this).trigger("upload.over")
|
|
|
|
341
|
+ }).on("dragleave",
|
|
|
|
342
|
+ function(e) {
|
|
|
|
343
|
+ i(this).trigger("upload.leave")
|
|
|
|
344
|
+ }).on("drop",
|
|
|
|
345
|
+ function(e) {
|
|
|
|
346
|
+ e.preventDefault(),
|
|
|
|
347
|
+ i(this).trigger("upload.drop", e)
|
|
|
|
348
|
+ }), t.bindAction.on("click",
|
|
|
|
349
|
+ function() {
|
|
|
|
350
|
+ i(this).trigger("upload.action")
|
|
|
|
351
|
+ }), t.elem.data("haveEvents", !0))
|
|
|
|
352
|
+ },
|
|
|
|
353
|
+ o.render = function(e) {
|
|
|
|
354
|
+ var i = new p(e);
|
|
|
|
355
|
+ return l.call(i)
|
|
|
|
356
|
+ },
|
|
|
|
357
|
+ e(r, o)
|
|
|
|
358
|
+}); |