1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
| /** layui-v2.5.5 MIT License By https://www.layui.com */ ;
| layui.define("layer", function(e) {
| "use strict";
| var t = layui.$,
| i = layui.layer,
| a = layui.hint(),
| n = layui.device(),
| l = "form",
| r = ".layui-form",
| s = "layui-this",
| o = "layui-hide",
| c = "layui-disabled",
| u = function() {
| this.config = {
| verify: {
| required: [/[\S]+/, "必填项不能为空"],
| phone: [/^1\d{10}$/, "请输入正确的手机号"],
| email: [/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"],
| url: [/(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/, "链接格式不正确"],
| number: function(e) {
| if (!e || isNaN(e)) return "只能填写数字"
| },
| date: [/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/, "日期格式不正确"],
| identity: [/(^\d{15}$)|(^\d{17}(x|X|\d)$)/, "请输入正确的身份证号"]
| }
| }
| };
| u.prototype.set = function(e) {
| var i = this;
| return t.extend(!0, i.config, e), i
| }, u.prototype.verify = function(e) {
| var i = this;
| return t.extend(!0, i.config.verify, e), i
| }, u.prototype.on = function(e, t) {
| return layui.onevent.call(this, l, e, t)
| }, u.prototype.val = function(e, i) {
| var a = this,
| n = t(r + '[lay-filter="' + e + '"]');
| return n.each(function(e, a) {
| var n = t(this);
| layui.each(i, function(e, t) {
| var i, a = n.find('[name="' + e + '"]');
| a[0] && (i = a[0].type, "checkbox" === i ? a[0].checked = t : "radio" === i ? a.each(function() {
| this.value == t && (this.checked = !0)
| }) : a.val(t))
| })
| }), f.render(null, e), a.getValue(e)
| }, u.prototype.getValue = function(e, i) {
| i = i || t(r + '[lay-filter="' + e + '"]').eq(0);
| var a = {},
| n = {},
| l = i.find("input,select,textarea");
| return layui.each(l, function(e, t) {
| if (t.name = (t.name || "").replace(/^\s*|\s*&/, ""), t.name) {
| if (/^.*\[\]$/.test(t.name)) {
| var i = t.name.match(/^(.*)\[\]$/g)[0];
| a[i] = 0 | a[i], t.name = t.name.replace(/^(.*)\[\]$/, "$1[" + a[i]++ + "]")
| }
| /^checkbox|radio$/.test(t.type) && !t.checked || (n[t.name] = t.value)
| }
| }), n
| }, u.prototype.render = function(e, i) {
| var n = this,
| u = t(r + function() {
| return i ? '[lay-filter="' + i + '"]' : ""
| }()),
| d = {
| select: function() {
| var e, i = "请选择",
| a = "layui-form-select",
| n = "layui-select-title",
| r = "layui-select-none",
| d = "",
| f = u.find("select"),
| v = function(i, l) {
| t(i.target).parent().hasClass(n) && !l || (t("." + a).removeClass(a + "ed " + a + "up"), e && d && e.val(d)),
| e = null
| },
| y = function(i, u, f) {
| var y, p = t(this),
| m = i.find("." + n),
| k = m.find("input"),
| g = i.find("dl"),
| x = g.children("dd"),
| b = this.selectedIndex;
| if (!u) {
| var C = function() {
| var e = i.offset().top + i.outerHeight() + 5 - h.scrollTop(),
| t = g.outerHeight();
| b = p[0].selectedIndex, i.addClass(a + "ed"), x.removeClass(o), y = null, x.eq(b).addClass(s).siblings().removeClass(
| s), e + t > h.height() && e >= t && i.addClass(a + "up"), T()
| },
| w = function(e) {
| i.removeClass(a + "ed " + a + "up"), k.blur(), y = null, e || $(k.val(), function(e) {
| var i = p[0].selectedIndex;
| e && (d = t(p[0].options[i]).html(), 0 === i && d === k.attr("placeholder") && (d = ""), k.val(d || ""))
| })
| },
| T = function() {
| var e = g.children("dd." + s);
| if (e[0]) {
| var t = e.position().top,
| i = g.height(),
| a = e.height();
| t > i && g.scrollTop(t + g.scrollTop() - i + a - 5), t < 0 && g.scrollTop(t + g.scrollTop() - 5)
| }
| };
| m.on("click", function(e) {
| i.hasClass(a + "ed") ? w() : (v(e, !0), C()), g.find("." + r).remove()
| }), m.find(".layui-edge").on("click", function() {
| k.focus()
| }), k.on("keyup", function(e) {
| var t = e.keyCode;
| 9 === t && C()
| }).on("keydown", function(e) {
| var t = e.keyCode;
| 9 === t && w();
| var i = function(t, a) {
| var n, l;
| e.preventDefault();
| var r = function() {
| var e = g.children("dd." + s);
| if (g.children("dd." + o)[0] && "next" === t) {
| var i = g.children("dd:not(." + o + ",." + c + ")"),
| n = i.eq(0).index();
| if (n >= 0 && n < e.index() && !i.hasClass(s)) return i.eq(0).prev()[0] ? i.eq(0).prev() : g.children(
| ":last")
| }
| return a && a[0] ? a : y && y[0] ? y : e
| }();
| return l = r[t](), n = r[t]("dd:not(." + o + ")"), l[0] ? (y = r[t](), n[0] && !n.hasClass(c) || !y[0] ?
| (n.addClass(s).siblings().removeClass(s), void T()) : i(t, y)) : y = null
| };
| 38 === t && i("prev"), 40 === t && i("next"), 13 === t && (e.preventDefault(), g.children("dd." + s).trigger(
| "click"))
| });
| var $ = function(e, i, a) {
| var n = 0;
| layui.each(x, function() {
| var i = t(this),
| l = i.text(),
| r = l.indexOf(e) === -1;
| ("" === e || "blur" === a ? e !== l : r) && n++, "keyup" === a && i[r ? "addClass" : "removeClass"](o)
| });
| var l = n === x.length;
| return i(l), l
| },
| q = function(e) {
| var t = this.value,
| i = e.keyCode;
| return 9 !== i && 13 !== i && 37 !== i && 38 !== i && 39 !== i && 40 !== i && ($(t, function(e) {
| e ? g.find("." + r)[0] || g.append('<p class="' + r + '">无匹配项</p>') : g.find("." + r).remove()
| }, "keyup"), "" === t && g.find("." + r).remove(), void T())
| };
| f && k.on("keyup", q).on("blur", function(i) {
| var a = p[0].selectedIndex;
| e = k, d = t(p[0].options[a]).html(), 0 === a && d === k.attr("placeholder") && (d = ""), setTimeout(
| function() {
| $(k.val(), function(e) {
| d || k.val("")
| }, "blur")
| }, 200)
| }), x.on("click", function() {
| var e = t(this),
| a = e.attr("lay-value"),
| n = p.attr("lay-filter");
| return !e.hasClass(c) && (e.hasClass("layui-select-tips") ? k.val("") : (k.val(e.text()), e.addClass(s)),
| e.siblings().removeClass(s), p.val(a).removeClass("layui-form-danger"), layui.event.call(this, l,
| "select(" + n + ")", {
| elem: p[0],
| value: a,
| othis: i
| }), w(!0), !1)
| }), i.find("dl>dt").on("click", function(e) {
| return !1
| }), t(document).off("click", v).on("click", v)
| }
| };
| f.each(function(e, l) {
| var r = t(this),
| o = r.next("." + a),
| u = this.disabled,
| d = l.value,
| f = t(l.options[l.selectedIndex]),
| v = l.options[0];
| if ("string" == typeof r.attr("lay-ignore")) return r.show();
| var h = "string" == typeof r.attr("lay-search"),
| p = v ? v.value ? i : v.innerHTML || i : i,
| m = t(['<div class="' + (h ? "" : "layui-unselect ") + a, (u ? " layui-select-disabled" : "") + '">',
| '<div class="' + n + '">', '<input type="text" placeholder="' + p + '" ' + ('value="' + (d ? f.html() :
| "") + '"') + (h ? "" : " readonly") + ' class="layui-input' + (h ? "" : " layui-unselect") + (u ? " " +
| c : "") + '">', '<i class="layui-edge"></i></div>', '<dl class="layui-anim layui-anim-upbit' + (r.find(
| "optgroup")[0] ? " layui-select-group" : "") + '">',
| function(e) {
| var t = [];
| return layui.each(e, function(e, a) {
| 0 !== e || a.value ? "optgroup" === a.tagName.toLowerCase() ? t.push("<dt>" + a.label + "</dt>") : t
| .push('<dd lay-value="' + a.value + '" class="' + (d === a.value ? s : "") + (a.disabled ? " " + c :
| "") + '">' + a.innerHTML + "</dd>") : t.push('<dd lay-value="" class="layui-select-tips">' + (a.innerHTML ||
| i) + "</dd>")
| }), 0 === t.length && t.push('<dd lay-value="" class="' + c + '">没有选项</dd>'), t.join("")
| }(r.find("*")) + "</dl>", "</div>"
| ].join(""));
| o[0] && o.remove(), r.after(m), y.call(this, m, u, h)
| })
| },
| checkbox: function() {
| var e = {
| checkbox: ["layui-form-checkbox", "layui-form-checked", "checkbox"],
| _switch: ["layui-form-switch", "layui-form-onswitch", "switch"]
| },
| i = u.find("input[type=checkbox]"),
| a = function(e, i) {
| var a = t(this);
| e.on("click", function() {
| var t = a.attr("lay-filter"),
| n = (a.attr("lay-text") || "").split("|");
| a[0].disabled || (a[0].checked ? (a[0].checked = !1, e.removeClass(i[1]).find("em").text(n[1])) : (a[0].checked = !
| 0, e.addClass(i[1]).find("em").text(n[0])), layui.event.call(a[0], l, i[2] + "(" + t + ")", {
| elem: a[0],
| value: a[0].value,
| othis: e
| }))
| })
| };
| i.each(function (i, n) {
|
| var l = t(this),
| r = l.attr("lay-skin"),
|
| s = (l.attr("lay-text") || "").split("|"),
| o = this.disabled;
|
| "switch" === r && (r = "_" + r);
| var u = e[r] || e.checkbox;
| if ("string" == typeof l.attr("lay-ignore")) return l.show();
| //console.log(l[0].value);
| var bgcolor = "";
| if (l[0].value != "" & l[0].value != "on" & l[0].value != "undefined") {
| bgcolor = l[0].value;
| }
|
| var d = l.next("." + u[0]),
| f = t(['<div class="layui-unselect ' + u[0], n.checked ? " " + u[1] : "", o ? " layui-checkbox-disbaled " +
| c : "", '"', r ? ' lay-skin="' + r + '"' : "", ">",
| function() {
| var e = n.title.replace(/\s/g, ""),
| t = {
| checkbox: [e ? "<span>" + n.title + "</span>" : "", '<i class="layui-icon layui-icon-ok" style="background-color:'+bgcolor+'" ></i>'].join(
| ""),
| _switch: "<em>" + ((n.checked ? s[0] : s[1]) || "") + "</em><i></i>"
| };
| return t[r] || t.checkbox
| }(), "</div>"
| ].join(""));
|
| d[0] && d.remove(), l.after(f), a.call(this, f, u)
| })
| },
| radio: function() {
| var e = "layui-form-radio",
| i = ["", ""],
| a = u.find("input[type=radio]"),
| n = function(a) {
| var n = t(this),
| s = "layui-anim-scaleSpring";
| a.on("click", function() {
| var o = n[0].name,
| c = n.parents(r),
| u = n.attr("lay-filter"),
| d = c.find("input[name=" + o.replace(/(\.|#|\[|\])/g, "\\$1") + "]");
| n[0].disabled || (layui.each(d, function() {
| var a = t(this).next("." + e);
| this.checked = !1, a.removeClass(e + "ed"), a.find(".layui-icon").removeClass(s).html(i[1])
| }), n[0].checked = !0, a.addClass(e + "ed"), a.find(".layui-icon").addClass(s).html(i[0]), layui.event.call(
| n[0], l, "radio(" + u + ")", {
| elem: n[0],
| value: n[0].value,
| othis: a
| }))
| })
| };
| a.each(function(a, l) {
| var r = t(this),
| s = r.next("." + e),
| o = this.disabled;
| if ("string" == typeof r.attr("lay-ignore")) return r.show();
| s[0] && s.remove();
| var u = t(['<div class="layui-unselect ' + e, l.checked ? " " + e + "ed" : "", (o ?
| " layui-radio-disbaled " + c : "") + '">', '<i class="layui-anim layui-icon">' + i[l.checked ? 0 : 1] +
| "</i>", "<div>" + function() {
| var e = l.title || "";
| return "string" == typeof r.next().attr("lay-radio") && (e = r.next().html(), r.next().remove()), e
| }() + "</div>", "</div>"
| ].join(""));
| r.after(u), n.call(this, u)
| })
| }
| };
| return e ? d[e] ? d[e]() : a.error("不支持的" + e + "表单渲染") : layui.each(d, function(e, t) {
| t()
| }), n
| };
| var d = function() {
| var e = null,
| a = f.config.verify,
| s = "layui-form-danger",
| o = {},
| c = t(this),
| u = c.parents(r),
| d = u.find("*[lay-verify]"),
| v = c.parents("form")[0],
| h = c.attr("lay-filter");
| return layui.each(d, function(l, r) {
| var o = t(this),
| c = o.attr("lay-verify").split("|"),
| u = o.attr("lay-verType"),
| d = o.val();
| if (o.removeClass(s), layui.each(c, function(t, l) {
| var c, f = "",
| v = "function" == typeof a[l];
| if (a[l]) {
| var c = v ? f = a[l](d, r) : !a[l][0].test(d);
| if (f = f || a[l][1], "required" === l && (f = o.attr("lay-reqText") || f), c) return "tips" === u ? i.tips(
| f,
| function() {
| return "string" == typeof o.attr("lay-ignore") || "select" !== r.tagName.toLowerCase() && !
| /^checkbox|radio$/.test(r.type) ? o : o.next()
| }(), {
| tips: 1
| }) : "alert" === u ? i.alert(f, {
| title: "提示",
| shadeClose: !0
| }) : i.msg(f, {
| icon: 5,
| shift: 6
| }), n.android || n.ios || setTimeout(function() {
| r.focus()
| }, 7), o.addClass(s), e = !0
| }
| }), e) return e
| }), !e && (o = f.getValue(null, u), layui.event.call(this, l, "submit(" + h + ")", {
| elem: this,
| form: v,
| field: o
| }))
| },
| f = new u,
| v = t(document),
| h = t(window);
| f.render(), v.on("reset", r, function() {
| var e = t(this).attr("lay-filter");
| setTimeout(function() {
| f.render(null, e)
| }, 50)
| }), v.on("submit", r, d).on("click", "*[lay-submit]", d), e(l, f)
| });
|
|