/** layui v2.6.4 | Released under the MIT license */ !(function (t) { 'use strict' var e = document, n = { modules: {}, status: {}, timeout: 10, event: {} }, r = function () { this.v = '2.6.4' }, o = (function () { var t = e.currentScript ? e.currentScript.src : (function () { for ( var t, n = e.scripts, r = n.length - 1, o = r; o > 0; o-- ) if ('interactive' === n[o].readyState) { t = n[o].src break } return t || n[r].src })() return t.substring(0, t.lastIndexOf('/') + 1) })(), a = function (e, n) { ;(n = n || 'log'), t.console && console[n] && console[n]('layui error hint: ' + e) }, i = 'undefined' != typeof opera && '[object Opera]' === opera.toString(), u = (n.builtin = { lay: 'lay', layer: 'layer', laydate: 'laydate', laypage: 'laypage', laytpl: 'laytpl', layedit: 'layedit', form: 'form', upload: 'upload', dropdown: 'dropdown', transfer: 'transfer', tree: 'tree', table: 'table', element: 'element', rate: 'rate', colorpicker: 'colorpicker', slider: 'slider', carousel: 'carousel', flow: 'flow', util: 'util', code: 'code', jquery: 'jquery', all: 'all', 'layui.all': 'layui.all', }) ;(r.prototype.cache = n), (r.prototype.define = function (t, e) { var r = this, o = 'function' == typeof t, a = function () { var t = function (t, e) { ;(layui[t] = e), (n.status[t] = !0) } return ( 'function' == typeof e && e(function (r, o) { t(r, o), (n.callback[r] = function () { e(t) }) }), this ) } return o && ((e = t), (t = [])), r.use(t, a, null, 'define'), r }), (r.prototype.use = function (t, r, l, c) { function s(t, e) { var r = 'PLaySTATION 3' === navigator.platform ? /^complete$/ : /^(complete|loaded)$/ ;('load' === t.type || r.test((t.currentTarget || t.srcElement).readyState)) && ((n.modules[v] = e), d.removeChild(g), (function o() { return ++h > (1e3 * n.timeout) / 4 ? a(v + ' is not a valid module', 'error') : void (n.status[v] ? p() : setTimeout(o, 4)) })()) } function p() { l.push(layui[v]), t.length > 1 ? f.use(t.slice(1), r, l, c) : 'function' == typeof r && (function () { return layui.jquery && 'function' == typeof layui.jquery && 'define' !== c ? layui.jquery(function () { r.apply(layui, l) }) : void r.apply(layui, l) })() } var f = this, y = (n.dir = n.dir ? n.dir : o), d = e.getElementsByTagName('head')[0] ;(t = (function () { return 'string' == typeof t ? [t] : 'function' == typeof t ? ((r = t), ['all']) : t })()), window.jQuery && jQuery.fn.on && (f.each(t, function (e, n) { 'jquery' === n && t.splice(e, 1) }), (layui.jquery = layui.$ = jQuery)) var v = t[0], h = 0 if ( ((l = l || []), (n.host = n.host || (y.match(/\/\/([\s\S]+?)\//) || [ '//' + location.host + '/', ])[0]), 0 === t.length || (layui['layui.all'] && u[v])) ) return p(), f var m = (u[v] ? y + 'modules/' : /^\{\/\}/.test(f.modules[v]) ? '' : n.base || '') + (f.modules[v] || v) + '.js' if ( ((m = m.replace(/^\{\/\}/, '')), !n.modules[v] && layui[v] && (n.modules[v] = m), n.modules[v]) ) !(function b() { return ++h > (1e3 * n.timeout) / 4 ? a(v + ' is not a valid module', 'error') : void ('string' == typeof n.modules[v] && n.status[v] ? p() : setTimeout(b, 4)) })() else { var g = e.createElement('script') ;(g.async = !0), (g.charset = 'utf-8'), (g.src = m + (function () { var t = n.version === !0 ? n.v || new Date().getTime() : n.version || '' return t ? '?v=' + t : '' })()), d.appendChild(g), !g.attachEvent || (g.attachEvent.toString && g.attachEvent.toString().indexOf('[native code') < 0) || i ? g.addEventListener( 'load', function (t) { s(t, m) }, !1 ) : g.attachEvent('onreadystatechange', function (t) { s(t, m) }), (n.modules[v] = m) } return f }), (r.prototype.getStyle = function (e, n) { var r = e.currentStyle ? e.currentStyle : t.getComputedStyle(e, null) return r[r.getPropertyValue ? 'getPropertyValue' : 'getAttribute']( n ) }), (r.prototype.link = function (t, r, o) { var i = this, u = e.createElement('link'), l = e.getElementsByTagName('head')[0] 'string' == typeof r && (o = r) var c = (o || t).replace(/\.|\//g, ''), s = (u.id = 'layuicss-' + c), p = 0 return ( (u.rel = 'stylesheet'), (u.href = t + (n.debug ? '?v=' + new Date().getTime() : '')), (u.media = 'all'), e.getElementById(s) || l.appendChild(u), 'function' != typeof r ? i : ((function f() { return ++p > (1e3 * n.timeout) / 100 ? a(t + ' timeout') : void (1989 === parseInt( i.getStyle(e.getElementById(s), 'width') ) ? (function () { r() })() : setTimeout(f, 100)) })(), i) ) }), (n.callback = {}), (r.prototype.factory = function (t) { if (layui[t]) return 'function' == typeof n.callback[t] ? n.callback[t] : null }), (r.prototype.addcss = function (t, e, r) { return layui.link(n.dir + 'css/' + t, e, r) }), (r.prototype.img = function (t, e, n) { var r = new Image() return ( (r.src = t), r.complete ? e(r) : ((r.onload = function () { ;(r.onload = null), 'function' == typeof e && e(r) }), void (r.onerror = function (t) { ;(r.onerror = null), 'function' == typeof n && n(t) })) ) }), (r.prototype.config = function (t) { t = t || {} for (var e in t) n[e] = t[e] return this }), (r.prototype.modules = (function () { var t = {} for (var e in u) t[e] = u[e] return t })()), (r.prototype.extend = function (t) { var e = this t = t || {} for (var n in t) e[n] || e.modules[n] ? a(n + ' Module already exists', 'error') : (e.modules[n] = t[n]) return e }), (r.prototype.router = function (t) { var e = this, t = t || location.hash, n = { path: [], search: {}, hash: (t.match(/[^#](#.*$)/) || [])[1] || '', } return /^#\//.test(t) ? ((t = t.replace(/^#\//, '')), (n.href = '/' + t), (t = t.replace(/([^#])(#.*$)/, '$1').split('/') || []), e.each(t, function (t, e) { ;/^\w+=/.test(e) ? (function () { ;(e = e.split('=')), (n.search[e[0]] = e[1]) })() : n.path.push(e) }), n) : n }), (r.prototype.url = function (t) { var e = this, n = { pathname: (function () { var e = t ? (function () { var e = (t.match(/\.[^.]+?\/.+/) || [])[0] || '' return e .replace(/^[^\/]+/, '') .replace(/\?.+/, '') })() : location.pathname return e.replace(/^\//, '').split('/') })(), search: (function () { var n = {}, r = ( t ? (function () { var e = (t.match(/\?.+/) || [])[0] || '' return e.replace(/\#.+/, '') })() : location.search ) .replace(/^\?+/, '') .split('&') return ( e.each(r, function (t, e) { var r = e.indexOf('='), o = (function () { return r < 0 ? e.substr(0, e.length) : 0 !== r && e.substr(0, r) })() o && (n[o] = r > 0 ? e.substr(r + 1) : null) }), n ) })(), hash: e.router( (function () { return t ? (t.match(/#.+/) || [])[0] || '' : location.hash })() ), } return n }), (r.prototype.data = function (e, n, r) { if ( ((e = e || 'layui'), (r = r || localStorage), t.JSON && t.JSON.parse) ) { if (null === n) return delete r[e] n = 'object' == typeof n ? n : { key: n } try { var o = JSON.parse(r[e]) } catch (a) { var o = {} } return ( 'value' in n && (o[n.key] = n.value), n.remove && delete o[n.key], (r[e] = JSON.stringify(o)), n.key ? o[n.key] : o ) } }), (r.prototype.sessionData = function (t, e) { return this.data(t, e, sessionStorage) }), (r.prototype.device = function (e) { var n = navigator.userAgent.toLowerCase(), r = function (t) { var e = new RegExp(t + '/([^\\s\\_\\-]+)') return (t = (n.match(e) || [])[1]), t || !1 }, o = { os: (function () { return /windows/.test(n) ? 'windows' : /linux/.test(n) ? 'linux' : /iphone|ipod|ipad|ios/.test(n) ? 'ios' : /mac/.test(n) ? 'mac' : void 0 })(), ie: (function () { return ( !!(t.ActiveXObject || 'ActiveXObject' in t) && ((n.match(/msie\s(\d+)/) || [])[1] || '11') ) })(), weixin: r('micromessenger'), } return ( e && !o[e] && (o[e] = r(e)), (o.android = /android/.test(n)), (o.ios = 'ios' === o.os), (o.mobile = !(!o.android && !o.ios)), o ) }), (r.prototype.hint = function () { return { error: a } }), (r.prototype.each = function (t, e) { var n, r = this if ('function' != typeof e) return r if (((t = t || []), t.constructor === Object)) { for (n in t) if (e.call(t[n], n, t[n])) break } else for (n = 0; n < t.length && !e.call(t[n], n, t[n]); n++); return r }), (r.prototype.sort = function (t, e, n) { var r = JSON.parse(JSON.stringify(t || [])) return e ? (r.sort(function (t, n) { var r = /^-?\d+$/, o = t[e], a = n[e] return ( r.test(o) && (o = parseFloat(o)), r.test(a) && (a = parseFloat(a)), o && !a ? 1 : !o && a ? -1 : o > a ? 1 : o < a ? -1 : 0 ) }), n && r.reverse(), r) : r }), (r.prototype.stope = function (e) { e = e || t.event try { e.stopPropagation() } catch (n) { e.cancelBubble = !0 } }), (r.prototype.onevent = function (t, e, n) { return 'string' != typeof t || 'function' != typeof n ? this : r.event(t, e, null, n) }), (r.prototype.event = r.event = function (t, e, r, o) { var a = this, i = null, u = (e || '').match(/\((.*)\)$/) || [], l = (t + '.' + e).replace(u[0], ''), c = u[1] || '', s = function (t, e) { var n = e && e.call(a, r) n === !1 && null === i && (i = !1) } return 'LAYUI-EVENT-REMOVE' === r ? (delete (a.cache.event[l] || {})[c], a) : o ? ((n.event[l] = n.event[l] || {}), (n.event[l][c] = [o]), this) : (layui.each(n.event[l], function (t, e) { return '{*}' === c ? void layui.each(e, s) : ('' === t && layui.each(e, s), void (c && t === c && layui.each(e, s))) }), i) }), (r.prototype.on = function (t, e, n) { var r = this return r.onevent.call(r, e, t, n) }), (r.prototype.off = function (t, e) { var n = this return n.event.call(n, e, t, 'LAYUI-EVENT-REMOVE') }), (t.layui = new r()) })(window) layui.define(function (a) { var i = layui.cache layui.config({ dir: i.dir.replace(/lay\/dest\/$/, '') }), a('layui.all', layui.v) }) !(function () { 'use strict' var t = 'lay', e = window.document, n = function (t) { return new r(t) }, r = function (t) { for ( var n = 0, r = 'object' == typeof t ? [t] : ((this.selector = t), e.querySelectorAll(t || null)); n < r.length; n++ ) this.push(r[n]) } ;(r.prototype = []), (r.prototype.constructor = r), (n.extend = function () { var t = 1, e = arguments, n = function (t, e) { t = t || (e.constructor === Array ? [] : {}) for (var r in e) t[r] = e[r] && e[r].constructor === Object ? n(t[r], e[r]) : e[r] return t } for (e[0] = 'object' == typeof e[0] ? e[0] : {}; t < e.length; t++) 'object' == typeof e[t] && n(e[0], e[t]) return e[0] }), (n.v = '1.0.0'), (n.ie = (function () { var t = navigator.userAgent.toLowerCase() return ( !!(window.ActiveXObject || 'ActiveXObject' in window) && ((t.match(/msie\s(\d+)/) || [])[1] || '11') ) })()), (n.getPath = function () { var t = e.currentScript ? e.currentScript.src : (function () { for ( var t, n = e.scripts, r = n.length - 1, o = r; o > 0; o-- ) if ('interactive' === n[o].readyState) { t = n[o].src break } return t || n[r].src })() return t.substring(0, t.lastIndexOf('/') + 1) }), (n.stope = function (t) { ;(t = t || window.event), t.stopPropagation ? t.stopPropagation() : (t.cancelBubble = !0) }), (n.each = function (t, e) { var n, r = this if ('function' != typeof e) return r if (((t = t || []), t.constructor === Object)) { for (n in t) if (e.call(t[n], n, t[n])) break } else for (n = 0; n < t.length && !e.call(t[n], n, t[n]); n++); return r }), (n.digit = function (t, e, n) { var r = '' ;(t = String(t)), (e = e || 2) for (var o = t.length; o < e; o++) r += '0' return t < Math.pow(10, e) ? r + (0 | t) : t }), (n.elem = function (t, r) { var o = e.createElement(t) return ( n.each(r || {}, function (t, e) { o.setAttribute(t, e) }), o ) }), (n.getStyle = function (t, e) { var n = t.currentStyle ? t.currentStyle : window.getComputedStyle(t, null) return n[n.getPropertyValue ? 'getPropertyValue' : 'getAttribute']( e ) }), (n.link = function (t, r, o) { var i = e.getElementsByTagName('head')[0], c = e.createElement('link') 'string' == typeof r && (o = r) var u = (o || t).replace(/\.|\//g, ''), a = 'layuicss-' + u, s = 0 ;(c.rel = 'stylesheet'), (c.href = t), (c.id = a), e.getElementById(a) || i.appendChild(c), 'function' == typeof r && !(function l() { return ++s > 80 ? window.console && console.error(u + '.css: Invalid') : void (1989 === parseInt(n.getStyle(e.getElementById(a), 'width')) ? r() : setTimeout(l, 100)) })() }), (n.hasScrollbar = function () { return ( e.body.scrollHeight > (window.innerHeight || e.documentElement.clientHeight) ) }), (n.position = function (t, r, o) { if (r) { ;(o = o || {}), (t !== e && t !== n('body')[0]) || (o.clickType = 'right') var i = 'right' === o.clickType ? (function () { var t = o.e || window.event || {} return { left: t.clientX, top: t.clientY, right: t.clientX, bottom: t.clientY, } })() : t.getBoundingClientRect(), c = r.offsetWidth, u = r.offsetHeight, a = function (t) { return ( (t = t ? 'scrollLeft' : 'scrollTop'), e.body[t] | e.documentElement[t] ) }, s = function (t) { return e.documentElement[ t ? 'clientWidth' : 'clientHeight' ] }, l = 5, f = i.left, h = i.bottom f + c + l > s('width') && (f = s('width') - c - l), h + u + l > s() && (i.top > u + l ? (h = i.top - u - 2 * l) : 'right' === o.clickType && ((h = s() - u - 2 * l), h < 0 && (h = 0))) var p = o.position if ( (p && (r.style.position = p), (r.style.left = f + ('fixed' === p ? 0 : a(1)) + 'px'), (r.style.top = h + ('fixed' === p ? 0 : a()) + 'px'), !n.hasScrollbar()) ) { var d = r.getBoundingClientRect() !o.SYSTEM_RELOAD && d.bottom + l > s() && ((o.SYSTEM_RELOAD = !0), setTimeout(function () { n.position(t, r, o) }, 50)) } } }), (n.options = function (t, e) { var r = n(t), o = e || 'lay-options' try { return new Function('return ' + (r.attr(o) || '{}'))() } catch (i) { return hint.error('parseerror:' + i, 'error'), {} } }), (n.isTopElem = function (t) { var r = [e, n('body')[0]], o = !1 return ( n.each(r, function (e, n) { if (n === t) return (o = !0) }), o ) }), (r.addStr = function (t, e) { return ( (t = t.replace(/\s+/, ' ')), (e = e.replace(/\s+/, ' ').split(' ')), n.each(e, function (e, n) { new RegExp('\\b' + n + '\\b').test(t) || (t = t + ' ' + n) }), t.replace(/^\s|\s$/, '') ) }), (r.removeStr = function (t, e) { return ( (t = t.replace(/\s+/, ' ')), (e = e.replace(/\s+/, ' ').split(' ')), n.each(e, function (e, n) { var r = new RegExp('\\b' + n + '\\b') r.test(t) && (t = t.replace(r, '')) }), t.replace(/\s+/, ' ').replace(/^\s|\s$/, '') ) }), (r.prototype.find = function (t) { var e = this, r = 0, o = [], i = 'object' == typeof t return ( this.each(function (n, c) { for ( var u = i ? [t] : c.querySelectorAll(t || null); r < u.length; r++ ) o.push(u[r]) e.shift() }), i || (e.selector = (e.selector ? e.selector + ' ' : '') + t), n.each(o, function (t, n) { e.push(n) }), e ) }), (r.prototype.each = function (t) { return n.each.call(this, this, t) }), (r.prototype.addClass = function (t, e) { return this.each(function (n, o) { o.className = r[e ? 'removeStr' : 'addStr'](o.className, t) }) }), (r.prototype.removeClass = function (t) { return this.addClass(t, !0) }), (r.prototype.hasClass = function (t) { var e = !1 return ( this.each(function (n, r) { new RegExp('\\b' + t + '\\b').test(r.className) && (e = !0) }), e ) }), (r.prototype.css = function (t, e) { var r = this, o = function (t) { return isNaN(t) ? t : t + 'px' } return 'string' == typeof t && void 0 === e ? (function () { if (r.length > 0) return r[0].style[t] })() : r.each(function (r, i) { 'object' == typeof t ? n.each(t, function (t, e) { i.style[t] = o(e) }) : (i.style[t] = o(e)) }) }), (r.prototype.width = function (t) { var e = this return void 0 === t ? (function () { if (e.length > 0) return e[0].offsetWidth })() : e.each(function (n, r) { e.css('width', t) }) }), (r.prototype.height = function (t) { var e = this return void 0 === t ? (function () { if (e.length > 0) return e[0].offsetHeight })() : e.each(function (n, r) { e.css('height', t) }) }), (r.prototype.attr = function (t, e) { var n = this return void 0 === e ? (function () { if (n.length > 0) return n[0].getAttribute(t) })() : n.each(function (n, r) { r.setAttribute(t, e) }) }), (r.prototype.removeAttr = function (t) { return this.each(function (e, n) { n.removeAttribute(t) }) }), (r.prototype.html = function (t) { var e = this return void 0 === t ? (function () { if (e.length > 0) return e[0].innerHTML })() : this.each(function (e, n) { n.innerHTML = t }) }), (r.prototype.val = function (t) { return void 0 === t ? (function () { if (that.length > 0) return that[0].value })() : this.each(function (e, n) { n.value = t }) }), (r.prototype.append = function (t) { return this.each(function (e, n) { 'object' == typeof t ? n.appendChild(t) : (n.innerHTML = n.innerHTML + t) }) }), (r.prototype.remove = function (t) { return this.each(function (e, n) { t ? n.removeChild(t) : n.parentNode.removeChild(n) }) }), (r.prototype.on = function (t, e) { return this.each(function (n, r) { r.attachEvent ? r.attachEvent('on' + t, function (t) { ;(t.target = t.srcElement), e.call(r, t) }) : r.addEventListener(t, e, !1) }) }), (r.prototype.off = function (t, e) { return this.each(function (n, r) { r.detachEvent ? r.detachEvent('on' + t, e) : r.removeEventListener(t, e, !1) }) }), (window.lay = n), window.layui && layui.define && layui.define(function (e) { e(t, n) }) })() layui.define(function (e) { 'use strict' var r = { open: '{{', close: '}}' }, c = { exp: function (e) { return new RegExp(e, 'g') }, query: function (e, c, t) { var o = ['#([\\s\\S])+?', '([^{#}])*?'][e || 0] return n((c || '') + r.open + o + r.close + (t || '')) }, escape: function (e) { return String(e || '') .replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&') .replace(//g, '>') .replace(/'/g, ''') .replace(/"/g, '"') }, error: function (e, r) { var c = 'Laytpl Error: ' return ( 'object' == typeof console && console.error(c + e + '\n' + (r || '')), c + e ) }, }, n = c.exp, t = function (e) { this.tpl = e } ;(t.pt = t.prototype), (window.errors = 0), (t.pt.parse = function (e, t) { var o = this, p = e, a = n('^' + r.open + '#', ''), l = n(r.close + '$', '') ;(e = e .replace(/\s+|\r|\t|\n/g, ' ') .replace(n(r.open + '#'), r.open + '# ') .replace(n(r.close + '}'), '} ' + r.close) .replace(/\\/g, '\\\\') .replace(n(r.open + '!(.+?)!' + r.close), function (e) { return (e = e .replace(n('^' + r.open + '!'), '') .replace(n('!' + r.close), '') .replace(n(r.open + '|' + r.close), function (e) { return e.replace(/(.)/g, '\\$1') })) }) .replace(/(?="|')/g, '\\') .replace(c.query(), function (e) { return ( (e = e.replace(a, '').replace(l, '')), '";' + e.replace(/\\/g, '') + ';view+="' ) }) .replace(c.query(1), function (e) { var c = '"+(' return e.replace(/\s/g, '') === r.open + r.close ? '' : ((e = e.replace(n(r.open + '|' + r.close), '')), /^=/.test(e) && ((e = e.replace(/^=/, '')), (c = '"+_escape_(')), c + e.replace(/\\/g, '') + ')+"') })), (e = '"use strict";var view = "' + e + '";return view;') try { return ( (o.cache = e = new Function('d, _escape_', e)), e(t, c.escape) ) } catch (u) { return delete o.cache, c.error(u, p) } }), (t.pt.render = function (e, r) { var n, t = this return e ? ((n = t.cache ? t.cache(e, c.escape) : t.parse(t.tpl, e)), r ? void r(n) : n) : c.error('no data') }) var o = function (e) { return 'string' != typeof e ? c.error('Template not found') : new t(e) } ;(o.config = function (e) { e = e || {} for (var c in e) r[c] = e[c] }), (o.v = '1.2.0'), e('laytpl', o) }) layui.define(function (e) { 'use strict' var a = document, t = 'getElementById', n = 'getElementsByTagName', i = 'laypage', r = 'layui-disabled', u = function (e) { var a = this ;(a.config = e || {}), (a.config.index = ++s.index), a.render(!0) } ;(u.prototype.type = function () { var e = this.config if ('object' == typeof e.elem) return void 0 === e.elem.length ? 2 : 3 }), (u.prototype.view = function () { var e = this, a = e.config, t = (a.groups = 'groups' in a ? 0 | a.groups : 5) ;(a.layout = 'object' == typeof a.layout ? a.layout : ['prev', 'page', 'next']), (a.count = 0 | a.count), (a.curr = 0 | a.curr || 1), (a.limits = 'object' == typeof a.limits ? a.limits : [10, 20, 30, 40, 50]), (a.limit = 0 | a.limit || 10), (a.pages = Math.ceil(a.count / a.limit) || 1), a.curr > a.pages && (a.curr = a.pages), t < 0 ? (t = 1) : t > a.pages && (t = a.pages), (a.prev = 'prev' in a ? a.prev : '上一页'), (a.next = 'next' in a ? a.next : '下一页') var n = a.pages > t ? Math.ceil( (a.curr + (t > 1 ? 1 : 0)) / (t > 0 ? t : 1) ) : 1, i = { prev: (function () { return a.prev ? '' + a.prev + '' : '' })(), page: (function () { var e = [] if (a.count < 1) return '' n > 1 && a.first !== !1 && 0 !== t && e.push( '' + (a.first || 1) + '' ) var i = Math.floor((t - 1) / 2), r = n > 1 ? a.curr - i : 1, u = n > 1 ? (function () { var e = a.curr + (t - i - 1) return e > a.pages ? a.pages : e })() : t for ( u - r < t - 1 && (r = u - t + 1), a.first !== !1 && r > 2 && e.push( '' ); r <= u; r++ ) r === a.curr ? e.push( '' + r + '' ) : e.push( '' + r + '' ) return ( a.pages > t && a.pages > u && a.last !== !1 && (u + 1 < a.pages && e.push( '' ), 0 !== t && e.push( '' + (a.last || a.pages) + '' )), e.join('') ) })(), next: (function () { return a.next ? '' + a.next + '' : '' })(), count: '共 ' + a.count + ' 条', limit: (function () { var e = [ '' ) })(), refresh: [ '', '', '', ].join(''), skip: (function () { return [ '到第', '', '页', '', ].join('') })(), } return [ '
', (function () { var e = [] return ( layui.each(a.layout, function (a, t) { i[t] && e.push(i[t]) }), e.join('') ) })(), '
', ].join('') }), (u.prototype.jump = function (e, a) { if (e) { var t = this, i = t.config, r = e.children, u = e[n]('button')[0], l = e[n]('input')[0], p = e[n]('select')[0], c = function () { var e = 0 | l.value.replace(/\s|\D/g, '') e && ((i.curr = e), t.render()) } if (a) return c() for (var o = 0, y = r.length; o < y; o++) 'a' === r[o].nodeName.toLowerCase() && s.on(r[o], 'click', function () { var e = 0 | this.getAttribute('data-page') e < 1 || e > i.pages || ((i.curr = e), t.render()) }) p && s.on(p, 'change', function () { var e = this.value i.curr * e > i.count && (i.curr = Math.ceil(i.count / e)), (i.limit = e), t.render() }), u && s.on(u, 'click', function () { c() }) } }), (u.prototype.skip = function (e) { if (e) { var a = this, t = e[n]('input')[0] t && s.on(t, 'keyup', function (t) { var n = this.value, i = t.keyCode ;/^(37|38|39|40)$/.test(i) || (/\D/.test(n) && (this.value = n.replace(/\D/, '')), 13 === i && a.jump(e, !0)) }) } }), (u.prototype.render = function (e) { var n = this, i = n.config, r = n.type(), u = n.view() 2 === r ? i.elem && (i.elem.innerHTML = u) : 3 === r ? i.elem.html(u) : a[t](i.elem) && (a[t](i.elem).innerHTML = u), i.jump && i.jump(i, e) var s = a[t]('layui-laypage-' + i.index) n.jump(s), i.hash && !e && (location.hash = '!' + i.hash + '=' + i.curr), n.skip(s) }) var s = { render: function (e) { var a = new u(e) return a.index }, index: layui.laypage ? layui.laypage.index + 1e4 : 0, on: function (e, a, t) { return ( e.attachEvent ? e.attachEvent('on' + a, function (a) { ;(a.target = a.srcElement), t.call(e, a) }) : e.addEventListener(a, t, !1), this ) }, } e(i, s) }) !(function (e) { 'use strict' var t = e.layui && layui.define, a = { getPath: e.lay && lay.getPath ? lay.getPath() : '', link: function (t, a, l) { n.path && e.lay && lay.link && lay.link(n.path + t, a, l) }, }, n = { v: '5.2.1', config: {}, index: e.laydate && e.laydate.v ? 1e5 : 0, path: a.getPath, set: function (e) { var t = this return (t.config = lay.extend({}, t.config, e)), t }, ready: function (e) { var l = 'laydate', i = '', r = (t ? 'modules/laydate/' : 'theme/') + 'default/laydate.css?v=' + n.v + i return t ? layui.addcss(r, e, l) : a.link(r, e, l), this }, }, l = function () { var e = this return { hint: function (t) { e.hint.call(e, t) }, config: e.config, } }, i = 'laydate', r = '.layui-laydate', o = 'layui-this', s = 'laydate-disabled', y = [100, 2e5], d = 'layui-laydate-static', m = 'layui-laydate-list', c = 'laydate-selected', u = 'layui-laydate-hint', h = 'layui-laydate-footer', f = '.laydate-btns-confirm', p = 'laydate-time-text', g = '.laydate-btns-time', v = function (e) { var t = this ;(t.index = ++n.index), (t.config = lay.extend({}, t.config, n.config, e)), n.ready(function () { t.init() }) } ;(v.isLeapYear = function (e) { return (e % 4 === 0 && e % 100 !== 0) || e % 400 === 0 }), (v.prototype.config = { type: 'date', range: !1, format: 'yyyy-MM-dd', value: null, isInitValue: !0, min: '1900-1-1', max: '2099-12-31', trigger: 'click', show: !1, showBottom: !0, btns: ['clear', 'now', 'confirm'], lang: 'cn', theme: 'default', position: null, calendar: !1, mark: {}, zIndex: null, done: null, change: null, }), (v.prototype.lang = function () { var e = this, t = e.config, a = { cn: { weeks: ['日', '一', '二', '三', '四', '五', '六'], time: ['时', '分', '秒'], timeTips: '选择时间', startTime: '开始时间', endTime: '结束时间', dateTips: '返回日期', month: [ '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二', ], tools: { confirm: '确定', clear: '清空', now: '现在' }, timeout: '结束时间不能早于开始时间
请重新选择', invalidDate: '不在有效日期或时间范围内', formatError: [ '日期格式不合法
必须遵循下述格式:
', '
已为你重置', ], }, en: { weeks: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], time: ['Hours', 'Minutes', 'Seconds'], timeTips: 'Select Time', startTime: 'Start Time', endTime: 'End Time', dateTips: 'Select Date', month: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', ], tools: { confirm: 'Confirm', clear: 'Clear', now: 'Now', }, timeout: 'End time cannot be less than start Time
Please re-select', invalidDate: 'Invalid date', formatError: [ 'The date format error
Must be followed:
', '
It has been reset', ], }, } return a[t.lang] || a.cn }), (v.prototype.init = function () { var t = this, a = t.config, n = 'yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s', l = 'static' === a.position, i = { year: 'yyyy', month: 'yyyy-MM', date: 'yyyy-MM-dd', time: 'HH:mm:ss', datetime: 'yyyy-MM-dd HH:mm:ss', } ;(a.elem = lay(a.elem)), (a.eventElem = lay(a.eventElem)), a.elem[0] && (a.range === !0 && (a.range = '-'), i[a.type] || (e.console && console.error && console.error( "laydate type error:'" + a.type + "' is not supported" ), (a.type = 'date')), a.format === i.date && (a.format = i[a.type] || i.date), (t.format = a.format.match(new RegExp(n + '|.', 'g')) || []), (t.EXP_IF = ''), (t.EXP_SPLIT = ''), lay.each(t.format, function (e, a) { var l = new RegExp(n).test(a) ? '\\d{' + (function () { return new RegExp(n).test( t.format[0 === e ? e + 1 : e - 1] || '' ) ? /^yyyy|y$/.test(a) ? 4 : a.length : /^yyyy$/.test(a) ? '1,4' : /^y$/.test(a) ? '1,308' : '1,2' })() + '}' : '\\' + a ;(t.EXP_IF = t.EXP_IF + l), (t.EXP_SPLIT = t.EXP_SPLIT + '(' + l + ')') }), (t.EXP_IF = new RegExp( '^' + (a.range ? t.EXP_IF + '\\s\\' + a.range + '\\s' + t.EXP_IF : t.EXP_IF) + '$' )), (t.EXP_SPLIT = new RegExp('^' + t.EXP_SPLIT + '$', '')), t.isInput(a.elem[0]) || ('focus' === a.trigger && (a.trigger = 'click')), a.elem.attr('lay-key') || (a.elem.attr('lay-key', t.index), a.eventElem.attr('lay-key', t.index)), (a.mark = lay.extend( {}, a.calendar && 'cn' === a.lang ? { '0-1-1': '元旦', '0-2-14': '情人', '0-3-8': '妇女', '0-3-12': '植树', '0-4-1': '愚人', '0-5-1': '劳动', '0-5-4': '青年', '0-6-1': '儿童', '0-9-10': '教师', '0-9-18': '国耻', '0-10-1': '国庆', '0-12-25': '圣诞', } : {}, a.mark )), lay.each(['min', 'max'], function (e, t) { var n = [], l = [] if ('number' == typeof a[t]) { var i = a[t], r = new Date().getTime(), o = 864e5, s = new Date(i ? (i < o ? r + i * o : i) : r) ;(n = [ s.getFullYear(), s.getMonth() + 1, s.getDate(), ]), i < o || (l = [ s.getHours(), s.getMinutes(), s.getSeconds(), ]) } else (n = (a[t].match(/\d+-\d+-\d+/) || [''])[0].split('-')), (l = (a[t].match(/\d+:\d+:\d+/) || [''])[0].split(':')) a[t] = { year: 0 | n[0] || new Date().getFullYear(), month: n[1] ? (0 | n[1]) - 1 : new Date().getMonth(), date: 0 | n[2] || new Date().getDate(), hours: 0 | l[0], minutes: 0 | l[1], seconds: 0 | l[2], } }), (t.elemID = 'layui-laydate' + a.elem.attr('lay-key')), (a.show || l) && t.render(), l || t.events(), a.value && a.isInitValue && (a.value.constructor === Date ? t.setValue(t.parse(0, t.systemDate(a.value))) : t.setValue(a.value))) }), (v.prototype.render = function () { var e = this, t = e.config, a = e.lang(), n = 'static' === t.position, l = (e.elem = lay.elem('div', { id: e.elemID, class: [ 'layui-laydate', t.range ? ' layui-laydate-range' : '', n ? ' ' + d : '', t.theme && 'default' !== t.theme && !/^#/.test(t.theme) ? ' laydate-theme-' + t.theme : '', ].join(''), })), i = (e.elemMain = []), r = (e.elemHeader = []), o = (e.elemCont = []), s = (e.table = []), y = (e.footer = lay.elem('div', { class: h })) if ( (t.zIndex && (l.style.zIndex = t.zIndex), lay.each(new Array(2), function (e) { if (!t.range && e > 0) return !0 var n = lay.elem('div', { class: 'layui-laydate-header' }), l = [ (function () { var e = lay.elem('i', { class: 'layui-icon laydate-icon laydate-prev-y', }) return (e.innerHTML = ''), e })(), (function () { var e = lay.elem('i', { class: 'layui-icon laydate-icon laydate-prev-m', }) return (e.innerHTML = ''), e })(), (function () { var e = lay.elem('div', { class: 'laydate-set-ym', }), t = lay.elem('span'), a = lay.elem('span') return e.appendChild(t), e.appendChild(a), e })(), (function () { var e = lay.elem('i', { class: 'layui-icon laydate-icon laydate-next-m', }) return (e.innerHTML = ''), e })(), (function () { var e = lay.elem('i', { class: 'layui-icon laydate-icon laydate-next-y', }) return (e.innerHTML = ''), e })(), ], y = lay.elem('div', { class: 'layui-laydate-content' }), d = lay.elem('table'), m = lay.elem('thead'), c = lay.elem('tr') lay.each(l, function (e, t) { n.appendChild(t) }), m.appendChild(c), lay.each(new Array(6), function (e) { var t = d.insertRow(0) lay.each(new Array(7), function (n) { if (0 === e) { var l = lay.elem('th') ;(l.innerHTML = a.weeks[n]), c.appendChild(l) } t.insertCell(n) }) }), d.insertBefore(m, d.children[0]), y.appendChild(d), (i[e] = lay.elem('div', { class: 'layui-laydate-main laydate-main-list-' + e, })), i[e].appendChild(n), i[e].appendChild(y), r.push(l), o.push(y), s.push(d) }), lay(y).html( (function () { var e = [], l = [] return ( 'datetime' === t.type && e.push( '' + a.timeTips + '' ), lay.each(t.btns, function (e, i) { var r = a.tools[i] || 'btn' ;(t.range && 'now' === i) || (n && 'clear' === i && (r = 'cn' === t.lang ? '重置' : 'Reset'), l.push( '' + r + '' )) }), e.push( '' ), e.join('') ) })() ), lay.each(i, function (e, t) { l.appendChild(t) }), t.showBottom && l.appendChild(y), /^#/.test(t.theme)) ) { var m = lay.elem('style'), c = [ '#{{id}} .layui-laydate-header{background-color:{{theme}};}', '#{{id}} .layui-this{background-color:{{theme}} !important;}', ] .join('') .replace(/{{id}}/g, e.elemID) .replace(/{{theme}}/g, t.theme) 'styleSheet' in m ? (m.setAttribute('type', 'text/css'), (m.styleSheet.cssText = c)) : (m.innerHTML = c), lay(l).addClass('laydate-theme-molv'), l.appendChild(m) } e.remove(v.thisElemDate), n ? t.elem.append(l) : (document.body.appendChild(l), e.position()), e.checkDate().calendar(null, 0, 'init'), e.changeEvent(), (v.thisElemDate = e.elemID), 'function' == typeof t.ready && t.ready( lay.extend({}, t.dateTime, { month: t.dateTime.month + 1, }) ) }), (v.prototype.remove = function (e) { var t = this, a = (t.config, lay('#' + (e || t.elemID))) return a[0] ? (a.hasClass(d) || t.checkDate(function () { a.remove(), delete t.endDate }), t) : t }), (v.prototype.position = function () { var e = this, t = e.config return ( lay.position(e.bindElem || t.elem[0], e.elem, { position: t.position, }), e ) }), (v.prototype.hint = function (e) { var t = this, a = (t.config, lay.elem('div', { class: u })) t.elem && ((a.innerHTML = e || ''), lay(t.elem) .find('.' + u) .remove(), t.elem.appendChild(a), clearTimeout(t.hinTimer), (t.hinTimer = setTimeout(function () { lay(t.elem) .find('.' + u) .remove() }, 3e3))) }), (v.prototype.getAsYM = function (e, t, a) { return ( a ? t-- : t++, t < 0 && ((t = 11), e--), t > 11 && ((t = 0), e++), [e, t] ) }), (v.prototype.systemDate = function (e) { var t = e || new Date() return { year: t.getFullYear(), month: t.getMonth(), date: t.getDate(), hours: e ? e.getHours() : 0, minutes: e ? e.getMinutes() : 0, seconds: e ? e.getSeconds() : 0, } }), (v.prototype.checkDate = function (e) { var t, a, l = this, i = (new Date(), l.config), r = l.lang(), o = (i.dateTime = i.dateTime || l.systemDate()), s = l.bindElem || i.elem[0], d = (l.isInput(s) ? 'val' : 'html', l.isInput(s) ? s.value : 'static' === i.position ? '' : s.innerHTML), m = function (e) { e.year > y[1] && ((e.year = y[1]), (a = !0)), e.month > 11 && ((e.month = 11), (a = !0)), e.hours > 23 && ((e.hours = 0), (a = !0)), e.minutes > 59 && ((e.minutes = 0), e.hours++, (a = !0)), e.seconds > 59 && ((e.seconds = 0), e.minutes++, (a = !0)), (t = n.getEndDate(e.month + 1, e.year)), e.date > t && ((e.date = t), (a = !0)) }, c = function (e, t, n) { var r = ['startTime', 'endTime'] ;(t = (t.match(l.EXP_SPLIT) || []).slice(1)), (n = n || 0), i.range && (l[r[n]] = l[r[n]] || {}), lay.each(l.format, function (o, s) { var d = parseFloat(t[o]) t[o].length < s.length && (a = !0), /yyyy|y/.test(s) ? (d < y[0] && ((d = y[0]), (a = !0)), (e.year = d)) : /MM|M/.test(s) ? (d < 1 && ((d = 1), (a = !0)), (e.month = d - 1)) : /dd|d/.test(s) ? (d < 1 && ((d = 1), (a = !0)), (e.date = d)) : /HH|H/.test(s) ? (d < 1 && ((d = 0), (a = !0)), (e.hours = d), i.range && (l[r[n]].hours = d)) : /mm|m/.test(s) ? (d < 1 && ((d = 0), (a = !0)), (e.minutes = d), i.range && (l[r[n]].minutes = d)) : /ss|s/.test(s) && (d < 1 && ((d = 0), (a = !0)), (e.seconds = d), i.range && (l[r[n]].seconds = d)) }), m(e) } return 'limit' === e ? (m(o), l) : ((d = d || i.value), 'string' == typeof d && (d = d.replace(/\s+/g, ' ').replace(/^\s|\s$/g, '')), i.range && (l.endDate = l.endDate || lay.extend( {}, o, (function () { var e = {}, t = l.getAsYM(o.year, o.month) return ( 'year' === i.type ? (e.year = o.year + 1) : 'time' !== i.type && ((e.year = t[0]), (e.month = t[1])), e ) })() )), 'string' == typeof d && d ? l.EXP_IF.test(d) ? i.range ? ((d = d.split(' ' + i.range + ' ')), lay.each( [i.dateTime, l.endDate], function (e, t) { c(t, d[e], e) } )) : c(o, d) : (l.hint( r.formatError[0] + (i.range ? i.format + ' ' + i.range + ' ' + i.format : i.format) + r.formatError[1] ), (a = !0)) : d && d.constructor === Date ? (i.dateTime = l.systemDate(d)) : ((i.dateTime = l.systemDate()), delete l.startTime, delete l.endTime), m(o), a && d && l.setValue( i.range ? (l.endDate ? l.parse() : '') : l.parse() ), e && e(), l) }), (v.prototype.mark = function (e, t) { var a, n = this, l = n.config return ( lay.each(l.mark, function (e, n) { var l = e.split('-') ;(l[0] != t[0] && 0 != l[0]) || (l[1] != t[1] && 0 != l[1]) || l[2] != t[2] || (a = n || t[2]) }), a && e.html('' + a + ''), n ) }), (v.prototype.limit = function (e, t, a, n) { var l, i = this, r = i.config, o = {}, y = r[a > 41 ? 'endDate' : 'dateTime'], d = lay.extend({}, y, t || {}) return ( lay.each({ now: d, min: r.min, max: r.max }, function (e, t) { o[e] = i .newDate( lay.extend( { year: t.year, month: t.month, date: t.date }, (function () { var e = {} return ( lay.each(n, function (a, n) { e[n] = t[n] }), e ) })() ) ) .getTime() }), (l = o.now < o.min || o.now > o.max), e && e[l ? 'addClass' : 'removeClass'](s), l ) }), (v.prototype.thisDateTime = function (e) { var t = this, a = t.config return e ? t.endDate : a.dateTime }), (v.prototype.calendar = function (e, t, a) { var l, i, r, s = this, d = s.config, t = t ? 1 : 0, m = e || s.thisDateTime(t), c = new Date(), u = s.lang(), h = 'date' !== d.type && 'datetime' !== d.type, p = lay(s.table[t]).find('td'), g = lay(s.elemHeader[t][2]).find('span') return ( m.year < y[0] && ((m.year = y[0]), s.hint(u.invalidDate)), m.year > y[1] && ((m.year = y[1]), s.hint(u.invalidDate)), s.firstDate || (s.firstDate = lay.extend({}, m)), c.setFullYear(m.year, m.month, 1), (l = c.getDay()), (i = n.getEndDate(m.month || 12, m.year)), (r = n.getEndDate(m.month + 1, m.year)), lay.each(p, function (e, t) { var a = [m.year, m.month], n = 0 ;(t = lay(t)), t.removeAttr('class'), e < l ? ((n = i - l + e), t.addClass('laydate-day-prev'), (a = s.getAsYM(m.year, m.month, 'sub'))) : e >= l && e < r + l ? ((n = e - l), n + 1 === m.date && t.addClass(o)) : ((n = e - r - l), t.addClass('laydate-day-next'), (a = s.getAsYM(m.year, m.month))), a[1]++, (a[2] = n + 1), t.attr('lay-ymd', a.join('-')).html(a[2]), s .mark(t, a) .limit( t, { year: a[0], month: a[1] - 1, date: a[2] }, e ) }), lay(g[0]).attr('lay-ym', m.year + '-' + (m.month + 1)), lay(g[1]).attr('lay-ym', m.year + '-' + (m.month + 1)), 'cn' === d.lang ? (lay(g[0]) .attr('lay-type', 'year') .html(m.year + '年'), lay(g[1]) .attr('lay-type', 'month') .html(m.month + 1 + '月')) : (lay(g[0]) .attr('lay-type', 'month') .html(u.month[m.month]), lay(g[1]).attr('lay-type', 'year').html(m.year)), h && (d.range ? e && ((s.listYM = [ [d.dateTime.year, d.dateTime.month + 1], [s.endDate.year, s.endDate.month + 1], ]), s.list(d.type, 0).list(d.type, 1), 'time' === d.type ? s.setBtnStatus( '时间', lay.extend( {}, s.systemDate(), s.startTime ), lay.extend( {}, s.systemDate(), s.endTime ) ) : s.setBtnStatus(!0)) : ((s.listYM = [[m.year, m.month + 1]]), s.list(d.type, 0))), d.range && 'init' === a && !e && s.calendar(s.endDate, 1), d.range || s.limit(lay(s.footer).find(f), null, 0, [ 'hours', 'minutes', 'seconds', ]), s.setBtnStatus(), s.stampRange(t, p), s ) }), (v.prototype.list = function (e, t) { var a = this, n = a.config, l = n.dateTime, i = a.lang(), r = n.range && 'date' !== n.type && 'datetime' !== n.type, y = lay.elem('ul', { class: m + ' ' + { year: 'laydate-year-list', month: 'laydate-month-list', time: 'laydate-time-list', }[e], }), d = a.elemHeader[t], c = lay(d[2]).find('span'), u = a.elemCont[t || 0], h = lay(u).find('.' + m)[0], v = 'cn' === n.lang, T = v ? '年' : '', D = a.listYM[t] || {}, M = ['hours', 'minutes', 'seconds'], x = ['startTime', 'endTime'][t] if ((D[0] < 1 && (D[0] = 1), 'year' === e)) { var C, w = (C = D[0] - 7) w < 1 && (w = C = 1), lay.each(new Array(15), function (e) { var l = lay.elem('li', { 'lay-ym': C }), i = { year: C } C == D[0] && lay(l).addClass(o), (l.innerHTML = C + T), y.appendChild(l), C < a.firstDate.year ? ((i.month = n.min.month), (i.date = n.min.date)) : C >= a.firstDate.year && ((i.month = n.max.month), (i.date = n.max.date)), a.limit(lay(l), i, t), C++ }), lay(c[v ? 0 : 1]) .attr('lay-ym', C - 8 + '-' + D[1]) .html(w + T + ' - ' + (C - 1 + T)) } else if ('month' === e) lay.each(new Array(12), function (e) { var l = lay.elem('li', { 'lay-ym': e }), r = { year: D[0], month: e } e + 1 == D[1] && lay(l).addClass(o), (l.innerHTML = i.month[e] + (v ? '月' : '')), y.appendChild(l), D[0] < a.firstDate.year ? (r.date = n.min.date) : D[0] >= a.firstDate.year && (r.date = n.max.date), a.limit(lay(l), r, t) }), lay(c[v ? 0 : 1]) .attr('lay-ym', D[0] + '-' + D[1]) .html(D[0] + T) else if ('time' === e) { var k = function () { lay(y) .find('ol') .each(function (e, n) { lay(n) .find('li') .each(function (n, l) { a.limit( lay(l), [ { hours: n }, { hours: a[x].hours, minutes: n }, { hours: a[x].hours, minutes: a[x].minutes, seconds: n, }, ][e], t, [ ['hours'], ['hours', 'minutes'], ['hours', 'minutes', 'seconds'], ][e] ) }) }), n.range || a.limit(lay(a.footer).find(f), a[x], 0, [ 'hours', 'minutes', 'seconds', ]) } n.range ? a[x] || (a[x] = { hours: 0, minutes: 0, seconds: 0 }) : (a[x] = l), lay.each([24, 60, 60], function (e, t) { var n = lay.elem('li'), l = ['

' + i.time[e] + '

    '] lay.each(new Array(t), function (t) { l.push( '' + lay.digit(t, 2) + '' ) }), (n.innerHTML = l.join('') + '
'), y.appendChild(n) }), k() } if ( (h && u.removeChild(h), u.appendChild(y), 'year' === e || 'month' === e) ) lay(a.elemMain[t]).addClass('laydate-ym-show'), lay(y) .find('li') .on('click', function () { var i = 0 | lay(this).attr('lay-ym') if (!lay(this).hasClass(s)) { 0 === t ? ((l[e] = i), a.limit(lay(a.footer).find(f), null, 0)) : (a.endDate[e] = i) var d = 'year' === n.type || 'month' === n.type d ? (lay(y) .find('.' + o) .removeClass(o), lay(this).addClass(o), 'month' === n.type && 'year' === e && ((a.listYM[t][0] = i), r && (t ? (l.year = i) : (a.endDate.year = i)), a.list('month', t))) : (a.checkDate('limit').calendar(null, t), a.closeList()), a.setBtnStatus(), n.range || ((('month' === n.type && 'month' === e) || ('year' === n.type && 'year' === e)) && a .setValue(a.parse()) .remove() .done(), a.done(null, 'change')), lay(a.footer).find(g).removeClass(s) } }) else { var E = lay.elem('span', { class: p }), b = function () { lay(y) .find('ol') .each(function (e) { var t = this, n = lay(t).find('li') ;(t.scrollTop = 30 * (a[x][M[e]] - 2)), t.scrollTop <= 0 && n.each(function (e, a) { if (!lay(this).hasClass(s)) return ( (t.scrollTop = 30 * (e - 2)), !0 ) }) }) }, H = lay(d[2]).find('.' + p) b(), (E.innerHTML = n.range ? [i.startTime, i.endTime][t] : i.timeTips), lay(a.elemMain[t]).addClass('laydate-time-show'), H[0] && H.remove(), d[2].appendChild(E), lay(y) .find('ol') .each(function (e) { var t = this lay(t) .find('li') .on('click', function () { var i = 0 | this.innerHTML lay(this).hasClass(s) || (n.range ? (a[x][M[e]] = i) : (l[M[e]] = i), lay(t) .find('.' + o) .removeClass(o), lay(this).addClass(o), k(), b(), (a.endDate || 'time' === n.type) && a.done(null, 'change'), a.setBtnStatus()) }) }) } return a }), (v.prototype.listYM = []), (v.prototype.closeList = function () { var e = this e.config lay.each(e.elemCont, function (t, a) { lay(this) .find('.' + m) .remove(), lay(e.elemMain[t]).removeClass( 'laydate-ym-show laydate-time-show' ) }), lay(e.elem) .find('.' + p) .remove() }), (v.prototype.setBtnStatus = function (e, t, a) { var n, l = this, i = l.config, r = l.lang(), o = lay(l.footer).find(f) i.range && 'time' !== i.type && ((t = t || i.dateTime), (a = a || l.endDate), (n = l.newDate(t).getTime() > l.newDate(a).getTime()), l.limit(null, t) || l.limit(null, a) ? o.addClass(s) : o[n ? 'addClass' : 'removeClass'](s), e && n && l.hint( 'string' == typeof e ? r.timeout.replace(/日期/g, e) : r.timeout )) }), (v.prototype.parse = function (e, t) { var a = this, n = a.config, l = t || (e ? lay.extend({}, a.endDate, a.endTime) : n.range ? lay.extend({}, n.dateTime, a.startTime) : n.dateTime), i = a.format.concat() return ( lay.each(i, function (e, t) { ;/yyyy|y/.test(t) ? (i[e] = lay.digit(l.year, t.length)) : /MM|M/.test(t) ? (i[e] = lay.digit(l.month + 1, t.length)) : /dd|d/.test(t) ? (i[e] = lay.digit(l.date, t.length)) : /HH|H/.test(t) ? (i[e] = lay.digit(l.hours, t.length)) : /mm|m/.test(t) ? (i[e] = lay.digit(l.minutes, t.length)) : /ss|s/.test(t) && (i[e] = lay.digit(l.seconds, t.length)) }), n.range && !e ? i.join('') + ' ' + n.range + ' ' + a.parse(1) : i.join('') ) }), (v.prototype.newDate = function (e) { return ( (e = e || {}), new Date( e.year || 1, e.month || 0, e.date || 1, e.hours || 0, e.minutes || 0, e.seconds || 0 ) ) }), (v.prototype.setValue = function (e) { var t = this, a = t.config, n = t.bindElem || a.elem[0], l = t.isInput(n) ? 'val' : 'html' return 'static' === a.position || lay(n)[l](e || ''), this }), (v.prototype.stampRange = function (e, t) { var a, n, l = this, i = l.config i.range && ((a = l.newDate(i.dateTime).getTime()), (n = l.newDate(l.endDate).getTime()), lay.each(t, function (t, i) { var r = lay(i).attr('lay-ymd').split('-'), o = l .newDate({ year: r[0], month: r[1] - 1, date: r[2], }) .getTime() 0 == e ? o > a && lay(i).addClass(c) : o < n && lay(i).addClass(c) })) }), (v.prototype.done = function (e, t) { var a = this, n = a.config, l = lay.extend({}, lay.extend(n.dateTime, a.startTime)), i = lay.extend({}, lay.extend(a.endDate, a.endTime)) return ( lay.each([l, i], function (e, t) { 'month' in t && lay.extend(t, { month: t.month + 1 }) }), (e = e || [a.parse(), l, i]), 'function' == typeof n[t || 'done'] && n[t || 'done'].apply(n, e), a ) }), (v.prototype.choose = function (e, t) { var a = this, n = a.config, l = a.thisDateTime(t), i = (lay(a.elem).find('td'), e.attr('lay-ymd').split('-')) ;(i = { year: 0 | i[0], month: (0 | i[1]) - 1, date: 0 | i[2] }), e.hasClass(s) || (lay.extend(l, i), n.range ? (lay.each(['startTime', 'endTime'], function (e, t) { a[t] = a[t] || { hours: 0, minutes: 0, seconds: 0, } }), a.calendar(null, t)) : 'static' === n.position ? a.calendar().done().done(null, 'change') : 'date' === n.type ? a.setValue(a.parse()).remove().done() : 'datetime' === n.type && a.calendar().done(null, 'change')) }), (v.prototype.tool = function (e, t) { var a = this, n = a.config, l = a.lang(), i = n.dateTime, r = 'static' === n.position, o = { datetime: function () { lay(e).hasClass(s) || (a.list('time', 0), n.range && a.list('time', 1), lay(e) .attr('lay-type', 'date') .html(a.lang().dateTips)) }, date: function () { a.closeList(), lay(e) .attr('lay-type', 'datetime') .html(a.lang().timeTips) }, clear: function () { a.setValue('').remove(), r && (lay.extend(i, a.firstDate), a.calendar()), n.range && (delete a.endDate, delete a.startTime, delete a.endTime), a.done(['', {}, {}]) }, now: function () { var e = new Date() lay.extend(i, a.systemDate(), { hours: e.getHours(), minutes: e.getMinutes(), seconds: e.getSeconds(), }), a.setValue(a.parse()).remove(), r && a.calendar(), a.done() }, confirm: function () { if (n.range) { if (lay(e).hasClass(s)) return a.hint( 'time' === n.type ? l.timeout.replace(/日期/g, '时间') : l.timeout ) } else if (lay(e).hasClass(s)) return a.hint(l.invalidDate) a.done(), a.setValue(a.parse()).remove() }, } o[t] && o[t]() }), (v.prototype.change = function (e) { var t = this, a = t.config, n = t.thisDateTime(e), l = a.range && ('year' === a.type || 'month' === a.type), i = t.elemCont[e || 0], r = t.listYM[e], o = function (o) { var s = lay(i).find('.laydate-year-list')[0], y = lay(i).find('.laydate-month-list')[0] return ( s && ((r[0] = o ? r[0] - 15 : r[0] + 15), t.list('year', e)), y && (o ? r[0]-- : r[0]++, t.list('month', e)), (s || y) && (lay.extend(n, { year: r[0] }), l && (n.year = r[0]), a.range || t.done(null, 'change'), a.range || t.limit(lay(t.footer).find(f), { year: r[0] })), t.setBtnStatus(), s || y ) } return { prevYear: function () { o('sub') || (n.year--, t.checkDate('limit').calendar(null, e), a.range || t.done(null, 'change')) }, prevMonth: function () { var l = t.getAsYM(n.year, n.month, 'sub') lay.extend(n, { year: l[0], month: l[1] }), t.checkDate('limit').calendar(null, e), a.range || t.done(null, 'change') }, nextMonth: function () { var l = t.getAsYM(n.year, n.month) lay.extend(n, { year: l[0], month: l[1] }), t.checkDate('limit').calendar(null, e), a.range || t.done(null, 'change') }, nextYear: function () { o() || (n.year++, t.checkDate('limit').calendar(null, e), a.range || t.done(null, 'change')) }, } }), (v.prototype.changeEvent = function () { var e = this e.config lay(e.elem).on('click', function (e) { lay.stope(e) }), lay.each(e.elemHeader, function (t, a) { lay(a[0]).on('click', function (a) { e.change(t).prevYear() }), lay(a[1]).on('click', function (a) { e.change(t).prevMonth() }), lay(a[2]) .find('span') .on('click', function (a) { var n = lay(this), l = n.attr('lay-ym'), i = n.attr('lay-type') l && ((l = l.split('-')), (e.listYM[t] = [0 | l[0], 0 | l[1]]), e.list(i, t), lay(e.footer).find(g).addClass(s)) }), lay(a[3]).on('click', function (a) { e.change(t).nextMonth() }), lay(a[4]).on('click', function (a) { e.change(t).nextYear() }) }), lay.each(e.table, function (t, a) { var n = lay(a).find('td') n.on('click', function () { e.choose(lay(this), t) }) }), lay(e.footer) .find('span') .on('click', function () { var t = lay(this).attr('lay-type') e.tool(this, t) }) }), (v.prototype.isInput = function (e) { return /input|textarea/.test(e.tagName.toLocaleLowerCase()) }), (v.prototype.events = function () { var t = this, a = t.config, n = function (e, n) { e.on(a.trigger, function () { n && (t.bindElem = this), t.render() }) } a.elem[0] && !a.elem[0].eventHandler && (n(a.elem, 'bind'), n(a.eventElem), lay(document) .on('click', function (e) { e.target !== a.elem[0] && e.target !== a.eventElem[0] && e.target !== lay(a.closeStop)[0] && t.remove() }) .on('keydown', function (e) { 13 === e.keyCode && lay('#' + t.elemID)[0] && t.elemID === v.thisElemDate && (e.preventDefault(), lay(t.footer).find(f)[0].click()) }), lay(e).on('resize', function () { return !(!t.elem || !lay(r)[0]) && void t.position() }), (a.elem[0].eventHandler = !0)) }), (n.render = function (e) { var t = new v(e) return l.call(t) }), (n.getEndDate = function (e, t) { var a = new Date() return ( a.setFullYear(t || a.getFullYear(), e || a.getMonth() + 1, 1), new Date(a.getTime() - 864e5).getDate() ) }), t ? (n.ready(), layui.define('lay', function (e) { ;(n.path = layui.cache.dir), e(i, n) })) : 'function' == typeof define && define.amd ? define(function () { return n }) : (function () { n.ready(), (e.laydate = n) })() })(window) !(function (e, t) { 'object' == typeof module && 'object' == typeof module.exports ? (module.exports = e.document ? t(e, !0) : function (e) { if (!e.document) throw new Error( 'jQuery requires a window with a document' ) return t(e) }) : t(e) })('undefined' != typeof window ? window : this, function (e, t) { function n(e) { var t = !!e && 'length' in e && e.length, n = pe.type(e) return ( 'function' !== n && !pe.isWindow(e) && ('array' === n || 0 === t || ('number' == typeof t && t > 0 && t - 1 in e)) ) } function r(e, t, n) { if (pe.isFunction(t)) return pe.grep(e, function (e, r) { return !!t.call(e, r, e) !== n }) if (t.nodeType) return pe.grep(e, function (e) { return (e === t) !== n }) if ('string' == typeof t) { if (Ce.test(t)) return pe.filter(t, e, n) t = pe.filter(t, e) } return pe.grep(e, function (e) { return pe.inArray(e, t) > -1 !== n }) } function i(e, t) { do e = e[t] while (e && 1 !== e.nodeType) return e } function o(e) { var t = {} return ( pe.each(e.match(De) || [], function (e, n) { t[n] = !0 }), t ) } function a() { re.addEventListener ? (re.removeEventListener('DOMContentLoaded', s), e.removeEventListener('load', s)) : (re.detachEvent('onreadystatechange', s), e.detachEvent('onload', s)) } function s() { ;(re.addEventListener || 'load' === e.event.type || 'complete' === re.readyState) && (a(), pe.ready()) } function u(e, t, n) { if (void 0 === n && 1 === e.nodeType) { var r = 'data-' + t.replace(_e, '-$1').toLowerCase() if (((n = e.getAttribute(r)), 'string' == typeof n)) { try { n = 'true' === n || ('false' !== n && ('null' === n ? null : +n + '' === n ? +n : qe.test(n) ? pe.parseJSON(n) : n)) } catch (i) {} pe.data(e, t, n) } else n = void 0 } return n } function l(e) { var t for (t in e) if (('data' !== t || !pe.isEmptyObject(e[t])) && 'toJSON' !== t) return !1 return !0 } function c(e, t, n, r) { if (He(e)) { var i, o, a = pe.expando, s = e.nodeType, u = s ? pe.cache : e, l = s ? e[a] : e[a] && a if ( (l && u[l] && (r || u[l].data)) || void 0 !== n || 'string' != typeof t ) return ( l || (l = s ? (e[a] = ne.pop() || pe.guid++) : a), u[l] || (u[l] = s ? {} : { toJSON: pe.noop }), ('object' != typeof t && 'function' != typeof t) || (r ? (u[l] = pe.extend(u[l], t)) : (u[l].data = pe.extend(u[l].data, t))), (o = u[l]), r || (o.data || (o.data = {}), (o = o.data)), void 0 !== n && (o[pe.camelCase(t)] = n), 'string' == typeof t ? ((i = o[t]), null == i && (i = o[pe.camelCase(t)])) : (i = o), i ) } } function f(e, t, n) { if (He(e)) { var r, i, o = e.nodeType, a = o ? pe.cache : e, s = o ? e[pe.expando] : pe.expando if (a[s]) { if (t && (r = n ? a[s] : a[s].data)) { pe.isArray(t) ? (t = t.concat(pe.map(t, pe.camelCase))) : t in r ? (t = [t]) : ((t = pe.camelCase(t)), (t = t in r ? [t] : t.split(' '))), (i = t.length) for (; i--; ) delete r[t[i]] if (n ? !l(r) : !pe.isEmptyObject(r)) return } ;(n || (delete a[s].data, l(a[s]))) && (o ? pe.cleanData([e], !0) : fe.deleteExpando || a != a.window ? delete a[s] : (a[s] = void 0)) } } } function d(e, t, n, r) { var i, o = 1, a = 20, s = r ? function () { return r.cur() } : function () { return pe.css(e, t, '') }, u = s(), l = (n && n[3]) || (pe.cssNumber[t] ? '' : 'px'), c = (pe.cssNumber[t] || ('px' !== l && +u)) && Me.exec(pe.css(e, t)) if (c && c[3] !== l) { ;(l = l || c[3]), (n = n || []), (c = +u || 1) do (o = o || '.5'), (c /= o), pe.style(e, t, c + l) while (o !== (o = s() / u) && 1 !== o && --a) } return ( n && ((c = +c || +u || 0), (i = n[1] ? c + (n[1] + 1) * n[2] : +n[2]), r && ((r.unit = l), (r.start = c), (r.end = i))), i ) } function p(e) { var t = ze.split('|'), n = e.createDocumentFragment() if (n.createElement) for (; t.length; ) n.createElement(t.pop()) return n } function h(e, t) { var n, r, i = 0, o = 'undefined' != typeof e.getElementsByTagName ? e.getElementsByTagName(t || '*') : 'undefined' != typeof e.querySelectorAll ? e.querySelectorAll(t || '*') : void 0 if (!o) for (o = [], n = e.childNodes || e; null != (r = n[i]); i++) !t || pe.nodeName(r, t) ? o.push(r) : pe.merge(o, h(r, t)) return void 0 === t || (t && pe.nodeName(e, t)) ? pe.merge([e], o) : o } function g(e, t) { for (var n, r = 0; null != (n = e[r]); r++) pe._data(n, 'globalEval', !t || pe._data(t[r], 'globalEval')) } function m(e) { Be.test(e.type) && (e.defaultChecked = e.checked) } function y(e, t, n, r, i) { for ( var o, a, s, u, l, c, f, d = e.length, y = p(t), v = [], x = 0; x < d; x++ ) if (((a = e[x]), a || 0 === a)) if ('object' === pe.type(a)) pe.merge(v, a.nodeType ? [a] : a) else if (Ue.test(a)) { for ( u = u || y.appendChild(t.createElement('div')), l = (We.exec(a) || ['', ''])[1].toLowerCase(), f = Xe[l] || Xe._default, u.innerHTML = f[1] + pe.htmlPrefilter(a) + f[2], o = f[0]; o--; ) u = u.lastChild if ( (!fe.leadingWhitespace && $e.test(a) && v.push(t.createTextNode($e.exec(a)[0])), !fe.tbody) ) for ( a = 'table' !== l || Ve.test(a) ? '' !== f[1] || Ve.test(a) ? 0 : u : u.firstChild, o = a && a.childNodes.length; o--; ) pe.nodeName((c = a.childNodes[o]), 'tbody') && !c.childNodes.length && a.removeChild(c) for ( pe.merge(v, u.childNodes), u.textContent = ''; u.firstChild; ) u.removeChild(u.firstChild) u = y.lastChild } else v.push(t.createTextNode(a)) for ( u && y.removeChild(u), fe.appendChecked || pe.grep(h(v, 'input'), m), x = 0; (a = v[x++]); ) if (r && pe.inArray(a, r) > -1) i && i.push(a) else if ( ((s = pe.contains(a.ownerDocument, a)), (u = h(y.appendChild(a), 'script')), s && g(u), n) ) for (o = 0; (a = u[o++]); ) Ie.test(a.type || '') && n.push(a) return (u = null), y } function v() { return !0 } function x() { return !1 } function b() { try { return re.activeElement } catch (e) {} } function w(e, t, n, r, i, o) { var a, s if ('object' == typeof t) { 'string' != typeof n && ((r = r || n), (n = void 0)) for (s in t) w(e, s, n, r, t[s], o) return e } if ( (null == r && null == i ? ((i = n), (r = n = void 0)) : null == i && ('string' == typeof n ? ((i = r), (r = void 0)) : ((i = r), (r = n), (n = void 0))), i === !1) ) i = x else if (!i) return e return ( 1 === o && ((a = i), (i = function (e) { return pe().off(e), a.apply(this, arguments) }), (i.guid = a.guid || (a.guid = pe.guid++))), e.each(function () { pe.event.add(this, t, i, r, n) }) ) } function T(e, t) { return pe.nodeName(e, 'table') && pe.nodeName(11 !== t.nodeType ? t : t.firstChild, 'tr') ? e.getElementsByTagName('tbody')[0] || e.appendChild(e.ownerDocument.createElement('tbody')) : e } function C(e) { return (e.type = (null !== pe.find.attr(e, 'type')) + '/' + e.type), e } function E(e) { var t = it.exec(e.type) return t ? (e.type = t[1]) : e.removeAttribute('type'), e } function N(e, t) { if (1 === t.nodeType && pe.hasData(e)) { var n, r, i, o = pe._data(e), a = pe._data(t, o), s = o.events if (s) { delete a.handle, (a.events = {}) for (n in s) for (r = 0, i = s[n].length; r < i; r++) pe.event.add(t, n, s[n][r]) } a.data && (a.data = pe.extend({}, a.data)) } } function k(e, t) { var n, r, i if (1 === t.nodeType) { if ( ((n = t.nodeName.toLowerCase()), !fe.noCloneEvent && t[pe.expando]) ) { i = pe._data(t) for (r in i.events) pe.removeEvent(t, r, i.handle) t.removeAttribute(pe.expando) } 'script' === n && t.text !== e.text ? ((C(t).text = e.text), E(t)) : 'object' === n ? (t.parentNode && (t.outerHTML = e.outerHTML), fe.html5Clone && e.innerHTML && !pe.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : 'input' === n && Be.test(e.type) ? ((t.defaultChecked = t.checked = e.checked), t.value !== e.value && (t.value = e.value)) : 'option' === n ? (t.defaultSelected = t.selected = e.defaultSelected) : ('input' !== n && 'textarea' !== n) || (t.defaultValue = e.defaultValue) } } function S(e, t, n, r) { t = oe.apply([], t) var i, o, a, s, u, l, c = 0, f = e.length, d = f - 1, p = t[0], g = pe.isFunction(p) if ( g || (f > 1 && 'string' == typeof p && !fe.checkClone && rt.test(p)) ) return e.each(function (i) { var o = e.eq(i) g && (t[0] = p.call(this, i, o.html())), S(o, t, n, r) }) if ( f && ((l = y(t, e[0].ownerDocument, !1, e, r)), (i = l.firstChild), 1 === l.childNodes.length && (l = i), i || r) ) { for (s = pe.map(h(l, 'script'), C), a = s.length; c < f; c++) (o = l), c !== d && ((o = pe.clone(o, !0, !0)), a && pe.merge(s, h(o, 'script'))), n.call(e[c], o, c) if (a) for ( u = s[s.length - 1].ownerDocument, pe.map(s, E), c = 0; c < a; c++ ) (o = s[c]), Ie.test(o.type || '') && !pe._data(o, 'globalEval') && pe.contains(u, o) && (o.src ? pe._evalUrl && pe._evalUrl(o.src) : pe.globalEval( ( o.text || o.textContent || o.innerHTML || '' ).replace(ot, '') )) l = i = null } return e } function A(e, t, n) { for (var r, i = t ? pe.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || pe.cleanData(h(r)), r.parentNode && (n && pe.contains(r.ownerDocument, r) && g(h(r, 'script')), r.parentNode.removeChild(r)) return e } function D(e, t) { var n = pe(t.createElement(e)).appendTo(t.body), r = pe.css(n[0], 'display') return n.detach(), r } function j(e) { var t = re, n = lt[e] return ( n || ((n = D(e, t)), ('none' !== n && n) || ((ut = ( ut || pe("' break case 3: delete t.title, delete t.closeBtn, t.icon === -1 && 0 === t.icon, r.closeAll('loading') break case 4: f || (t.content = [t.content, 'body']), (t.follow = t.content[1]), (t.content = t.content[0] + ''), delete t.title, (t.tips = 'object' == typeof t.tips ? t.tips : [t.tips, !0]), t.tipsMore || r.closeAll('tips') } if ( (e .vessel(f, function (n, r, u) { c.append(n[0]), f ? (function () { 2 == t.type || 4 == t.type ? (function () { i('body').append(n[1]) })() : (function () { s.parents( '.' + l[0] )[0] || (s .data( 'display', s.css( 'display' ) ) .show() .addClass( 'layui-layer-wrap' ) .wrap(n[1]), i('#' + l[0] + a) .find( '.' + l[5] ) .before(r)) })() })() : c.append(n[1]), i('.layui-layer-move')[0] || c.append((o.moveElem = u)), (e.layero = i('#' + l[0] + a)), t.scrollbar || l.html .css('overflow', 'hidden') .attr('layer-full', a) }) .auto(a), i('#layui-layer-shade' + e.index).css({ 'background-color': t.shade[1] || '#000', opacity: t.shade[0] || t.shade, }), 2 == t.type && 6 == r.ie && e.layero.find('iframe').attr('src', s[0]), 4 == t.type ? e.tips() : e.offset(), t.fixed && n.on('resize', function () { e.offset(), (/^\d+%$/.test(t.area[0]) || /^\d+%$/.test(t.area[1])) && e.auto(a), 4 == t.type && e.tips() }), t.time <= 0 || setTimeout(function () { r.close(e.index) }, t.time), e.move().callback(), l.anim[t.anim]) ) { var u = 'layer-anim ' + l.anim[t.anim] e.layero .addClass(u) .one( 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { i(this).removeClass(u) } ) } t.isOutAnim && e.layero.data('isOutAnim', !0) } }), (s.pt.auto = function (e) { var t = this, a = t.config, o = i('#' + l[0] + e) '' === a.area[0] && a.maxWidth > 0 && (r.ie && r.ie < 8 && a.btn && o.width(o.innerWidth()), o.outerWidth() > a.maxWidth && o.width(a.maxWidth)) var s = [o.innerWidth(), o.innerHeight()], f = o.find(l[1]).outerHeight() || 0, c = o.find('.' + l[6]).outerHeight() || 0, u = function (e) { ;(e = o.find(e)), e.height( s[1] - f - c - 2 * (0 | parseFloat(e.css('padding-top'))) ) } switch (a.type) { case 2: u('iframe') break default: '' === a.area[1] ? a.maxHeight > 0 && o.outerHeight() > a.maxHeight ? ((s[1] = a.maxHeight), u('.' + l[5])) : a.fixed && s[1] >= n.height() && ((s[1] = n.height()), u('.' + l[5])) : u('.' + l[5]) } return t }), (s.pt.offset = function () { var e = this, t = e.config, i = e.layero, a = [i.outerWidth(), i.outerHeight()], o = 'object' == typeof t.offset ;(e.offsetTop = (n.height() - a[1]) / 2), (e.offsetLeft = (n.width() - a[0]) / 2), o ? ((e.offsetTop = t.offset[0]), (e.offsetLeft = t.offset[1] || e.offsetLeft)) : 'auto' !== t.offset && ('t' === t.offset ? (e.offsetTop = 0) : 'r' === t.offset ? (e.offsetLeft = n.width() - a[0]) : 'b' === t.offset ? (e.offsetTop = n.height() - a[1]) : 'l' === t.offset ? (e.offsetLeft = 0) : 'lt' === t.offset ? ((e.offsetTop = 0), (e.offsetLeft = 0)) : 'lb' === t.offset ? ((e.offsetTop = n.height() - a[1]), (e.offsetLeft = 0)) : 'rt' === t.offset ? ((e.offsetTop = 0), (e.offsetLeft = n.width() - a[0])) : 'rb' === t.offset ? ((e.offsetTop = n.height() - a[1]), (e.offsetLeft = n.width() - a[0])) : (e.offsetTop = t.offset)), t.fixed || ((e.offsetTop = /%$/.test(e.offsetTop) ? (n.height() * parseFloat(e.offsetTop)) / 100 : parseFloat(e.offsetTop)), (e.offsetLeft = /%$/.test(e.offsetLeft) ? (n.width() * parseFloat(e.offsetLeft)) / 100 : parseFloat(e.offsetLeft)), (e.offsetTop += n.scrollTop()), (e.offsetLeft += n.scrollLeft())), i.attr('minLeft') && ((e.offsetTop = n.height() - (i.find(l[1]).outerHeight() || 0)), (e.offsetLeft = i.css('left'))), i.css({ top: e.offsetTop, left: e.offsetLeft }) }), (s.pt.tips = function () { var e = this, t = e.config, a = e.layero, o = [a.outerWidth(), a.outerHeight()], r = i(t.follow) r[0] || (r = i('body')) var s = { width: r.outerWidth(), height: r.outerHeight(), top: r.offset().top, left: r.offset().left, }, f = a.find('.layui-layer-TipsG'), c = t.tips[0] t.tips[1] || f.remove(), (s.autoLeft = function () { s.left + o[0] - n.width() > 0 ? ((s.tipLeft = s.left + s.width - o[0]), f.css({ right: 12, left: 'auto' })) : (s.tipLeft = s.left) }), (s.where = [ function () { s.autoLeft(), (s.tipTop = s.top - o[1] - 10), f .removeClass('layui-layer-TipsB') .addClass('layui-layer-TipsT') .css('border-right-color', t.tips[1]) }, function () { ;(s.tipLeft = s.left + s.width + 10), (s.tipTop = s.top), f .removeClass('layui-layer-TipsL') .addClass('layui-layer-TipsR') .css('border-bottom-color', t.tips[1]) }, function () { s.autoLeft(), (s.tipTop = s.top + s.height + 10), f .removeClass('layui-layer-TipsT') .addClass('layui-layer-TipsB') .css('border-right-color', t.tips[1]) }, function () { ;(s.tipLeft = s.left - o[0] - 10), (s.tipTop = s.top), f .removeClass('layui-layer-TipsR') .addClass('layui-layer-TipsL') .css('border-bottom-color', t.tips[1]) }, ]), s.where[c - 1](), 1 === c ? s.top - (n.scrollTop() + o[1] + 16) < 0 && s.where[2]() : 2 === c ? n.width() - (s.left + s.width + o[0] + 16) > 0 || s.where[3]() : 3 === c ? s.top - n.scrollTop() + s.height + o[1] + 16 - n.height() > 0 && s.where[0]() : 4 === c && o[0] + 16 - s.left > 0 && s.where[1](), a .find('.' + l[5]) .css({ 'background-color': t.tips[1], 'padding-right': t.closeBtn ? '30px' : '', }), a.css({ left: s.tipLeft - (t.fixed ? n.scrollLeft() : 0), top: s.tipTop - (t.fixed ? n.scrollTop() : 0), }) }), (s.pt.move = function () { var e = this, t = e.config, a = i(document), s = e.layero, l = s.find(t.move), f = s.find('.layui-layer-resize'), c = {} return ( t.move && l.css('cursor', 'move'), l.on('mousedown', function (e) { e.preventDefault(), t.move && ((c.moveStart = !0), (c.offset = [ e.clientX - parseFloat(s.css('left')), e.clientY - parseFloat(s.css('top')), ]), o.moveElem.css('cursor', 'move').show()) }), f.on('mousedown', function (e) { e.preventDefault(), (c.resizeStart = !0), (c.offset = [e.clientX, e.clientY]), (c.area = [s.outerWidth(), s.outerHeight()]), o.moveElem.css('cursor', 'se-resize').show() }), a .on('mousemove', function (i) { if (c.moveStart) { var a = i.clientX - c.offset[0], o = i.clientY - c.offset[1], l = 'fixed' === s.css('position') if ( (i.preventDefault(), (c.stX = l ? 0 : n.scrollLeft()), (c.stY = l ? 0 : n.scrollTop()), !t.moveOut) ) { var f = n.width() - s.outerWidth() + c.stX, u = n.height() - s.outerHeight() + c.stY a < c.stX && (a = c.stX), a > f && (a = f), o < c.stY && (o = c.stY), o > u && (o = u) } s.css({ left: a, top: o }) } if (t.resize && c.resizeStart) { var a = i.clientX - c.offset[0], o = i.clientY - c.offset[1] i.preventDefault(), r.style(e.index, { width: c.area[0] + a, height: c.area[1] + o, }), (c.isResize = !0), t.resizing && t.resizing(s) } }) .on('mouseup', function (e) { c.moveStart && (delete c.moveStart, o.moveElem.hide(), t.moveEnd && t.moveEnd(s)), c.resizeStart && (delete c.resizeStart, o.moveElem.hide()) }), e ) }), (s.pt.callback = function () { function e() { var e = a.cancel && a.cancel(t.index, n) e === !1 || r.close(t.index) } var t = this, n = t.layero, a = t.config t.openLayer(), a.success && (2 == a.type ? n.find('iframe').on('load', function () { a.success(n, t.index) }) : a.success(n, t.index)), 6 == r.ie && t.IE6(n), n .find('.' + l[6]) .children('a') .on('click', function () { var e = i(this).index() if (0 === e) a.yes ? a.yes(t.index, n) : a.btn1 ? a.btn1(t.index, n) : r.close(t.index) else { var o = a['btn' + (e + 1)] && a['btn' + (e + 1)](t.index, n) o === !1 || r.close(t.index) } }), n.find('.' + l[7]).on('click', e), a.shadeClose && i('#layui-layer-shade' + t.index).on('click', function () { r.close(t.index) }), n.find('.layui-layer-min').on('click', function () { var e = a.min && a.min(n) e === !1 || r.min(t.index, a) }), n.find('.layui-layer-max').on('click', function () { i(this).hasClass('layui-layer-maxmin') ? (r.restore(t.index), a.restore && a.restore(n)) : (r.full(t.index, a), setTimeout(function () { a.full && a.full(n) }, 100)) }), a.end && (o.end[t.index] = a.end) }), (o.reselect = function () { i.each(i('select'), function (e, t) { var n = i(this) n.parents('.' + l[0])[0] || (1 == n.attr('layer') && i('.' + l[0]).length < 1 && n.removeAttr('layer').show()), (n = null) }) }), (s.pt.IE6 = function (e) { i('select').each(function (e, t) { var n = i(this) n.parents('.' + l[0])[0] || 'none' === n.css('display') || n.attr({ layer: '1' }).hide(), (n = null) }) }), (s.pt.openLayer = function () { var e = this ;(r.zIndex = e.config.zIndex), (r.setTop = function (e) { var t = function () { r.zIndex++, e.css('z-index', r.zIndex + 1) } return ( (r.zIndex = parseInt(e[0].style.zIndex)), e.on('mousedown', t), r.zIndex ) }) }), (o.record = function (e) { var t = [ e.width(), e.height(), e.position().top, e.position().left + parseFloat(e.css('margin-left')), ] e.find('.layui-layer-max').addClass('layui-layer-maxmin'), e.attr({ area: t }) }), (o.rescollbar = function (e) { l.html.attr('layer-full') == e && (l.html[0].style.removeProperty ? l.html[0].style.removeProperty('overflow') : l.html[0].style.removeAttribute('overflow'), l.html.removeAttr('layer-full')) }), (e.layer = r), (r.getChildFrame = function (e, t) { return ( (t = t || i('.' + l[4]).attr('times')), i('#' + l[0] + t) .find('iframe') .contents() .find(e) ) }), (r.getFrameIndex = function (e) { return i('#' + e) .parents('.' + l[4]) .attr('times') }), (r.iframeAuto = function (e) { if (e) { var t = r.getChildFrame('html', e).outerHeight(), n = i('#' + l[0] + e), a = n.find(l[1]).outerHeight() || 0, o = n.find('.' + l[6]).outerHeight() || 0 n.css({ height: t + a + o }), n.find('iframe').css({ height: t }) } }), (r.iframeSrc = function (e, t) { i('#' + l[0] + e) .find('iframe') .attr('src', t) }), (r.style = function (e, t, n) { var a = i('#' + l[0] + e), r = a.find('.layui-layer-content'), s = a.attr('type'), f = a.find(l[1]).outerHeight() || 0, c = a.find('.' + l[6]).outerHeight() || 0 a.attr('minLeft') s !== o.type[3] && s !== o.type[4] && (n || (parseFloat(t.width) <= 260 && (t.width = 260), parseFloat(t.height) - f - c <= 64 && (t.height = 64 + f + c)), a.css(t), (c = a.find('.' + l[6]).outerHeight()), s === o.type[2] ? a .find('iframe') .css({ height: parseFloat(t.height) - f - c }) : r.css({ height: parseFloat(t.height) - f - c - parseFloat(r.css('padding-top')) - parseFloat(r.css('padding-bottom')), })) }), (r.min = function (e, t) { var a = i('#' + l[0] + e), s = a.find(l[1]).outerHeight() || 0, f = a.attr('minLeft') || 181 * o.minIndex + 'px', c = a.css('position') o.record(a), o.minLeft[0] && ((f = o.minLeft[0]), o.minLeft.shift()), a.attr('position', c), r.style( e, { width: 180, height: s, left: f, top: n.height() - s, position: 'fixed', overflow: 'hidden', }, !0 ), a.find('.layui-layer-min').hide(), 'page' === a.attr('type') && a.find(l[4]).hide(), o.rescollbar(e), a.attr('minLeft') || o.minIndex++, a.attr('minLeft', f) }), (r.restore = function (e) { var t = i('#' + l[0] + e), n = t.attr('area').split(',') t.attr('type') r.style( e, { width: parseFloat(n[0]), height: parseFloat(n[1]), top: parseFloat(n[2]), left: parseFloat(n[3]), position: t.attr('position'), overflow: 'visible', }, !0 ), t.find('.layui-layer-max').removeClass('layui-layer-maxmin'), t.find('.layui-layer-min').show(), 'page' === t.attr('type') && t.find(l[4]).show(), o.rescollbar(e) }), (r.full = function (e) { var t, a = i('#' + l[0] + e) o.record(a), l.html.attr('layer-full') || l.html.css('overflow', 'hidden').attr('layer-full', e), clearTimeout(t), (t = setTimeout(function () { var t = 'fixed' === a.css('position') r.style( e, { top: t ? 0 : n.scrollTop(), left: t ? 0 : n.scrollLeft(), width: n.width(), height: n.height(), }, !0 ), a.find('.layui-layer-min').hide() }, 100)) }), (r.title = function (e, t) { var n = i('#' + l[0] + (t || r.index)).find(l[1]) n.html(e) }), (r.close = function (e) { r.ready(function () { var t = i('#' + l[0] + e), n = t.attr('type'), a = 'layer-anim-close' if (t[0]) { var s = 'layui-layer-wrap', f = function () { if ( n === o.type[1] && 'object' === t.attr('conType') ) { t.children(':not(.' + l[5] + ')').remove() for (var a = t.find('.' + s), r = 0; r < 2; r++) a.unwrap() a.css('display', a.data('display')).removeClass( s ) } else { if (n === o.type[2]) try { var f = i('#' + l[4] + e)[0] f.contentWindow.document.write(''), f.contentWindow.close(), t.find('.' + l[5])[0].removeChild(f) } catch (c) {} ;(t[0].innerHTML = ''), t.remove() } 'function' == typeof o.end[e] && o.end[e](), delete o.end[e] } t.data('isOutAnim') && t.addClass('layer-anim ' + a), i( '#layui-layer-moves, #layui-layer-shade' + e ).remove(), 6 == r.ie && o.reselect(), o.rescollbar(e), t.attr('minLeft') && (o.minIndex--, o.minLeft.push(t.attr('minLeft'))), (r.ie && r.ie < 10) || !t.data('isOutAnim') ? f() : setTimeout(function () { f() }, 200) } }) }), (r.closeAll = function (e) { r.ready(function () { i.each(i('.' + l[0]), function () { var t = i(this), n = e ? t.attr('type') === e : 1 n && r.close(t.attr('times')), (n = null) }) }) }) var f = r.cache || {}, c = function (e) { return f.skin ? ' ' + f.skin + ' ' + f.skin + '-' + e : '' } ;(r.prompt = function (e, t) { var a = '' if (((e = e || {}), 'function' == typeof e && (t = e), e.area)) { var o = e.area ;(a = 'style="width: ' + o[0] + '; height: ' + o[1] + ';"'), delete e.area } var s, l = 2 == e.formType ? '' : (function () { return ( '' ) })(), f = e.success return ( delete e.success, r.open( i.extend( { type: 1, btn: ['确定', '取消'], content: l, skin: 'layui-layer-prompt' + c('prompt'), maxWidth: n.width(), success: function (t) { ;(s = t.find('.layui-layer-input')), s.val(e.value || '').focus(), 'function' == typeof f && f(t) }, resize: !1, yes: function (i) { var n = s.val() '' === n ? s.focus() : n.length > (e.maxlength || 500) ? r.tips( '最多输入' + (e.maxlength || 500) + '个字数', s, { tips: 1 } ) : t && t(n, i, s) }, }, e ) ) ) }), (r.tab = function (e) { e = e || {} var t = e.tab || {}, n = 'layui-this', a = e.success return ( delete e.success, r.open( i.extend( { type: 1, skin: 'layui-layer-tab' + c('tab'), resize: !1, title: (function () { var e = t.length, i = 1, a = '' if (e > 0) for ( a = '' + t[0].title + ''; i < e; i++ ) a += '' + t[i].title + '' return a })(), content: '', success: function (t) { var o = t.find('.layui-layer-title').children(), r = t .find('.layui-layer-tabmain') .children() o.on('mousedown', function (t) { t.stopPropagation ? t.stopPropagation() : (t.cancelBubble = !0) var a = i(this), o = a.index() a.addClass(n).siblings().removeClass(n), r.eq(o).show().siblings().hide(), 'function' == typeof e.change && e.change(o) }), 'function' == typeof a && a(t) }, }, e ) ) ) }), (r.photos = function (t, n, a) { function o(e, t, i) { var n = new Image() return ( (n.src = e), n.complete ? t(n) : ((n.onload = function () { ;(n.onload = null), t(n) }), void (n.onerror = function (e) { ;(n.onerror = null), i(e) })) ) } var s = {} if (((t = t || {}), t.photos)) { var l = t.photos.constructor === Object, f = l ? t.photos : {}, u = f.data || [], d = f.start || 0 ;(s.imgIndex = (0 | d) + 1), (t.img = t.img || 'img') var y = t.success if ((delete t.success, l)) { if (0 === u.length) return r.msg('没有图片') } else { var p = i(t.photos), h = function () { ;(u = []), p.find(t.img).each(function (e) { var t = i(this) t.attr('layer-index', e), u.push({ alt: t.attr('alt'), pid: t.attr('layer-pid'), src: t.attr('layer-src') || t.attr('src'), thumb: t.attr('src'), }) }) } if ((h(), 0 === u.length)) return if ( (n || p.on('click', t.img, function () { var e = i(this), n = e.attr('layer-index') r.photos( i.extend(t, { photos: { start: n, data: u, tab: t.tab, }, full: t.full, }), !0 ), h() }), !n) ) return } ;(s.imgprev = function (e) { s.imgIndex--, s.imgIndex < 1 && (s.imgIndex = u.length), s.tabimg(e) }), (s.imgnext = function (e, t) { s.imgIndex++, (s.imgIndex > u.length && ((s.imgIndex = 1), t)) || s.tabimg(e) }), (s.keyup = function (e) { if (!s.end) { var t = e.keyCode e.preventDefault(), 37 === t ? s.imgprev(!0) : 39 === t ? s.imgnext(!0) : 27 === t && r.close(s.index) } }), (s.tabimg = function (e) { if (!(u.length <= 1)) return ( (f.start = s.imgIndex - 1), r.close(s.index), r.photos(t, !0, e) ) }), (s.event = function () { s.bigimg.hover( function () { s.imgsee.show() }, function () { s.imgsee.hide() } ), s.bigimg .find('.layui-layer-imgprev') .on('click', function (e) { e.preventDefault(), s.imgprev() }), s.bigimg .find('.layui-layer-imgnext') .on('click', function (e) { e.preventDefault(), s.imgnext() }), i(document).on('keyup', s.keyup) }), (s.loadi = r.load(1, { shade: !('shade' in t) && 0.9, scrollbar: !1, })), o( u[d].src, function (n) { r.close(s.loadi), (s.index = r.open( i.extend( { type: 1, id: 'layui-layer-photos', area: (function () { var a = [n.width, n.height], o = [ i(e).width() - 100, i(e).height() - 100, ] if ( !t.full && (a[0] > o[0] || a[1] > o[1]) ) { var r = [ a[0] / o[0], a[1] / o[1], ] r[0] > r[1] ? ((a[0] = a[0] / r[0]), (a[1] = a[1] / r[0])) : r[0] < r[1] && ((a[0] = a[0] / r[1]), (a[1] = a[1] / r[1])) } return [ a[0] + 'px', a[1] + 'px', ] })(), title: !1, shade: 0.9, shadeClose: !0, closeBtn: !1, move: '.layui-layer-phimg img', moveType: 1, scrollbar: !1, moveOut: !0, isOutAnim: !1, skin: 'layui-layer-photos' + c('photos'), content: '
' +
												(u[d].alt || '') +
												'
' + (u.length > 1 ? '' : '') + '
' + (u[d].alt || '') + '' + s.imgIndex + '/' + u.length + '
', success: function (e, i) { ;(s.bigimg = e.find( '.layui-layer-phimg' )), (s.imgsee = e.find( '.layui-layer-imguide,.layui-layer-imgbar' )), s.event(e), t.tab && t.tab(u[d], e), 'function' == typeof y && y(e) }, end: function () { ;(s.end = !0), i(document).off( 'keyup', s.keyup ) }, }, t ) )) }, function () { r.close(s.loadi), r.msg( '当前图片地址异常
是否继续查看下一张?', { time: 3e4, btn: [ '下一张', '不看了', ], yes: function () { u.length > 1 && s.imgnext(!0, !0) }, } ) } ) } }), (o.run = function (t) { ;(i = t), (n = i(e)), (l.html = i('html')), (r.open = function (e) { var t = new s(e) return t.index }) }), e.layui && layui.define ? (r.ready(), layui.define('jquery', function (t) { ;(r.path = layui.cache.dir), o.run(layui.$), (e.layer = r), t('layer', r) })) : 'function' == typeof define && define.amd ? define(['jquery'], function () { return o.run(e.jQuery), r }) : (function () { o.run(e.jQuery), r.ready() })() })(window) layui.define('jquery', function (e) { 'use strict' var t = layui.$, i = { fixbar: function (e) { var i, a, n = 'layui-fixbar', o = 'layui-fixbar-top', r = t(document), l = t('body') ;(e = t.extend({ showHeight: 200 }, e)), (e.bar1 = e.bar1 === !0 ? '' : e.bar1), (e.bar2 = e.bar2 === !0 ? '' : e.bar2), (e.bgcolor = e.bgcolor ? 'background-color:' + e.bgcolor : '') var c = [e.bar1, e.bar2, ''], g = t( [ '', ].join('') ), u = g.find('.' + o), s = function () { var t = r.scrollTop() t >= e.showHeight ? i || (u.show(), (i = 1)) : i && (u.hide(), (i = 0)) } t('.' + n)[0] || ('object' == typeof e.css && g.css(e.css), l.append(g), s(), g.find('li').on('click', function () { var i = t(this), a = i.attr('lay-type') 'top' === a && t('html,body').animate({ scrollTop: 0 }, 200), e.click && e.click.call(this, a) }), r.on('scroll', function () { clearTimeout(a), (a = setTimeout(function () { s() }, 100)) })) }, countdown: function (e, t, i) { var a = this, n = 'function' == typeof t, o = new Date(e).getTime(), r = new Date(!t || n ? new Date().getTime() : t).getTime(), l = o - r, c = [ Math.floor(l / 864e5), Math.floor(l / 36e5) % 24, Math.floor(l / 6e4) % 60, Math.floor(l / 1e3) % 60, ] n && (i = t) var g = setTimeout(function () { a.countdown(e, r + 1e3, i) }, 1e3) return ( i && i(l > 0 ? c : [0, 0, 0, 0], t, g), l <= 0 && clearTimeout(g), g ) }, timeAgo: function (e, t) { var i = this, a = [[], []], n = new Date().getTime() - new Date(e).getTime() return n > 26784e5 ? ((n = new Date(e)), (a[0][0] = i.digit(n.getFullYear(), 4)), (a[0][1] = i.digit(n.getMonth() + 1)), (a[0][2] = i.digit(n.getDate())), t || ((a[1][0] = i.digit(n.getHours())), (a[1][1] = i.digit(n.getMinutes())), (a[1][2] = i.digit(n.getSeconds()))), a[0].join('-') + ' ' + a[1].join(':')) : n >= 864e5 ? ((n / 1e3 / 60 / 60 / 24) | 0) + '天前' : n >= 36e5 ? ((n / 1e3 / 60 / 60) | 0) + '小时前' : n >= 18e4 ? ((n / 1e3 / 60) | 0) + '分钟前' : n < 0 ? '未来' : '刚刚' }, digit: function (e, t) { var i = '' ;(e = String(e)), (t = t || 2) for (var a = e.length; a < t; a++) i += '0' return e < Math.pow(10, t) ? i + (0 | e) : e }, toDateString: function (e, t) { var i = this, a = new Date(e || new Date()), n = [ i.digit(a.getFullYear(), 4), i.digit(a.getMonth() + 1), i.digit(a.getDate()), ], o = [ i.digit(a.getHours()), i.digit(a.getMinutes()), i.digit(a.getSeconds()), ] return ( (t = t || 'yyyy-MM-dd HH:mm:ss'), t .replace(/yyyy/g, n[0]) .replace(/MM/g, n[1]) .replace(/dd/g, n[2]) .replace(/HH/g, o[0]) .replace(/mm/g, o[1]) .replace(/ss/g, o[2]) ) }, escape: function (e) { return String(e || '') .replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&') .replace(//g, '>') .replace(/'/g, ''') .replace(/"/g, '"') }, unescape: function (e) { return String(e || '') .replace(/\&/g, '&') .replace(/\</g, '<') .replace(/\>/g, '>') .replace(/\'/, "'") .replace(/\"/, '"') }, event: function (e, a, n) { var o = t('body') return ( (n = n || 'click'), (a = i.event[e] = t.extend(!0, i.event[e], a) || {}), (i.event.UTIL_EVENT_CALLBACK = i.event.UTIL_EVENT_CALLBACK || {}), o.off(n, '*[' + e + ']', i.event.UTIL_EVENT_CALLBACK[e]), (i.event.UTIL_EVENT_CALLBACK[e] = function () { var i = t(this), n = i.attr(e) 'function' == typeof a[n] && a[n].call(this, i) }), o.on(n, '*[' + e + ']', i.event.UTIL_EVENT_CALLBACK[e]), a ) }, } e('util', i) }) layui.define('jquery', function (t) { 'use strict' var a = layui.$, i = (layui.hint(), layui.device()), e = 'element', l = 'layui-this', n = 'layui-show', s = function () { this.config = {} } ;(s.prototype.set = function (t) { var i = this return a.extend(!0, i.config, t), i }), (s.prototype.on = function (t, a) { return layui.onevent.call(this, e, t, a) }), (s.prototype.tabAdd = function (t, i) { var e = '.layui-tab-title', l = a('.layui-tab[lay-filter=' + t + ']'), n = l.children(e), s = n.children('.layui-tab-bar'), o = l.children('.layui-tab-content'), r = '
  • ' + (i.title || 'unnaming') + '
  • ' return ( s[0] ? s.before(r) : n.append(r), o.append( '
    ' + (i.content || '') + '
    ' ), f.hideTabMore(!0), f.tabAuto(), this ) }), (s.prototype.tabDelete = function (t, i) { var e = '.layui-tab-title', l = a('.layui-tab[lay-filter=' + t + ']'), n = l.children(e), s = n.find('>li[lay-id="' + i + '"]') return f.tabDelete(null, s), this }), (s.prototype.tabChange = function (t, i) { var e = '.layui-tab-title', l = a('.layui-tab[lay-filter=' + t + ']'), n = l.children(e), s = n.find('>li[lay-id="' + i + '"]') return f.tabClick.call(s[0], null, null, s), this }), (s.prototype.tab = function (t) { ;(t = t || {}), b.on('click', t.headerElem, function (i) { var e = a(this).index() f.tabClick.call(this, i, e, null, t) }) }), (s.prototype.progress = function (t, i) { var e = 'layui-progress', l = a('.' + e + '[lay-filter=' + t + ']'), n = l.find('.' + e + '-bar'), s = n.find('.' + e + '-text') return n.css('width', i), s.text(i), this }) var o = '.layui-nav', r = 'layui-nav-item', c = 'layui-nav-bar', u = 'layui-nav-tree', d = 'layui-nav-child', y = 'layui-nav-more', h = 'layui-anim layui-anim-upbit', f = { tabClick: function (t, i, s, o) { o = o || {} var r = s || a(this), i = i || r.parent().children('li').index(r), c = o.headerElem ? r.parent() : r.parents('.layui-tab').eq(0), u = o.bodyElem ? a(o.bodyElem) : c .children('.layui-tab-content') .children('.layui-tab-item'), d = r.find('a'), y = c.attr('lay-filter') ;('javascript:;' !== d.attr('href') && '_blank' === d.attr('target')) || (r.addClass(l).siblings().removeClass(l), u.eq(i).addClass(n).siblings().removeClass(n)), layui.event.call(this, e, 'tab(' + y + ')', { elem: c, index: i, }) }, tabDelete: function (t, i) { var n = i || a(this).parent(), s = n.index(), o = n.parents('.layui-tab').eq(0), r = o .children('.layui-tab-content') .children('.layui-tab-item'), c = o.attr('lay-filter') n.hasClass(l) && (n.next()[0] ? f.tabClick.call(n.next()[0], null, s + 1) : n.prev()[0] && f.tabClick.call(n.prev()[0], null, s - 1)), n.remove(), r.eq(s).remove(), setTimeout(function () { f.tabAuto() }, 50), layui.event.call(this, e, 'tabDelete(' + c + ')', { elem: o, index: s, }) }, tabAuto: function () { var t = 'layui-tab-more', e = 'layui-tab-bar', l = 'layui-tab-close', n = this a('.layui-tab').each(function () { var s = a(this), o = s.children('.layui-tab-title'), r = (s .children('.layui-tab-content') .children('.layui-tab-item'), 'lay-stope="tabmore"'), c = a( '' ) if ( (n === window && 8 != i.ie && f.hideTabMore(!0), s.attr('lay-allowClose') && o.find('li').each(function () { var t = a(this) if (!t.find('.' + l)[0]) { var i = a( '' ) i.on('click', f.tabDelete), t.append(i) } }), 'string' != typeof s.attr('lay-unauto')) ) if (o.prop('scrollWidth') > o.outerWidth() + 1) { if (o.find('.' + e)[0]) return o.append(c), s.attr('overflow', ''), c.on('click', function (a) { o[this.title ? 'removeClass' : 'addClass']( t ), (this.title = this.title ? '' : '收缩') }) } else o.find('.' + e).remove(), s.removeAttr('overflow') }) }, hideTabMore: function (t) { var i = a('.layui-tab-title') ;(t !== !0 && 'tabmore' === a(t.target).attr('lay-stope')) || (i.removeClass('layui-tab-more'), i.find('.layui-tab-bar').attr('title', '')) }, clickThis: function () { var t = a(this), i = t.parents(o), n = i.attr('lay-filter'), s = t.parent(), c = t.siblings('.' + d), y = 'string' == typeof s.attr('lay-unselect') ;('javascript:;' !== t.attr('href') && '_blank' === t.attr('target')) || y || c[0] || (i.find('.' + l).removeClass(l), s.addClass(l)), i.hasClass(u) && (c.removeClass(h), c[0] && (s[ 'none' === c.css('display') ? 'addClass' : 'removeClass' ](r + 'ed'), 'all' === i.attr('lay-shrink') && s.siblings().removeClass(r + 'ed'))), layui.event.call(this, e, 'nav(' + n + ')', t) }, collapse: function () { var t = a(this), i = t.find('.layui-colla-icon'), l = t.siblings('.layui-colla-content'), s = t.parents('.layui-collapse').eq(0), o = s.attr('lay-filter'), r = 'none' === l.css('display') if ('string' == typeof s.attr('lay-accordion')) { var c = s.children('.layui-colla-item').children('.' + n) c .siblings('.layui-colla-title') .children('.layui-colla-icon') .html(''), c.removeClass(n) } l[r ? 'addClass' : 'removeClass'](n), i.html(r ? '' : ''), layui.event.call(this, e, 'collapse(' + o + ')', { title: t, content: l, show: r, }) }, } ;(s.prototype.init = function (t, e) { var l = (function () { return e ? '[lay-filter="' + e + '"]' : '' })(), s = { tab: function () { f.tabAuto.call({}) }, nav: function () { var t = 200, e = {}, s = {}, p = {}, b = function (l, o, r) { var c = a(this), f = c.find('.' + d) o.hasClass(u) ? l.css({ top: c.position().top, height: c.children('a').outerHeight(), opacity: 1, }) : (f.addClass(h), l.css({ left: c.position().left + parseFloat(c.css('marginLeft')), top: c.position().top + c.height() - l.height(), }), (e[r] = setTimeout( function () { l.css({ width: c.width(), opacity: 1, }) }, i.ie && i.ie < 10 ? 0 : t )), clearTimeout(p[r]), 'block' === f.css('display') && clearTimeout(s[r]), (s[r] = setTimeout(function () { f.addClass(n), c.find('.' + y).addClass(y + 'd') }, 300))) } a(o + l).each(function (i) { var l = a(this), o = a(''), h = l.find('.' + r) l.find('.' + c)[0] || (l.append(o), h .on('mouseenter', function () { b.call(this, o, l, i) }) .on('mouseleave', function () { l.hasClass(u) || (clearTimeout(s[i]), (s[i] = setTimeout(function () { l.find('.' + d).removeClass(n), l .find('.' + y) .removeClass(y + 'd') }, 300))) }), l.on('mouseleave', function () { clearTimeout(e[i]), (p[i] = setTimeout(function () { l.hasClass(u) ? o.css({ height: 0, top: o.position().top + o.height() / 2, opacity: 0, }) : o.css({ width: 0, left: o.position().left + o.width() / 2, opacity: 0, }) }, t)) })), h.find('a').each(function () { var t = a(this), i = (t.parent(), t.siblings('.' + d)) i[0] && !t.children('.' + y)[0] && t.append(''), t .off('click', f.clickThis) .on('click', f.clickThis) }) }) }, breadcrumb: function () { var t = '.layui-breadcrumb' a(t + l).each(function () { var t = a(this), i = 'lay-separator', e = t.attr(i) || '/', l = t.find('a') l.next('span[' + i + ']')[0] || (l.each(function (t) { t !== l.length - 1 && a(this).after( '' + e + '' ) }), t.css('visibility', 'visible')) }) }, progress: function () { var t = 'layui-progress' a('.' + t + l).each(function () { var i = a(this), e = i.find('.layui-progress-bar'), l = e.attr('lay-percent') e.css( 'width', (function () { return /^.+\/.+$/.test(l) ? 100 * new Function('return ' + l)() + '%' : l })() ), i.attr('lay-showPercent') && setTimeout(function () { e.html( '' + l + '' ) }, 350) }) }, collapse: function () { var t = 'layui-collapse' a('.' + t + l).each(function () { var t = a(this).find('.layui-colla-item') t.each(function () { var t = a(this), i = t.find('.layui-colla-title'), e = t.find('.layui-colla-content'), l = 'none' === e.css('display') i.find('.layui-colla-icon').remove(), i.append( '' + (l ? '' : '') + '' ), i .off('click', f.collapse) .on('click', f.collapse) }) }) }, } return s[t] ? s[t]() : layui.each(s, function (t, a) { a() }) }), (s.prototype.render = s.prototype.init) var p = new s(), b = a(document) a(function () { p.render() }) var v = '.layui-tab-title li' b.on('click', v, f.tabClick), b.on('click', f.hideTabMore), a(window).on('resize', f.tabAuto), t(e, p) }) layui.define('layer', function (e) { 'use strict' var t = layui.$, i = layui.layer, n = layui.hint(), o = layui.device(), a = { config: {}, set: function (e) { var i = this return (i.config = t.extend({}, i.config, e)), i }, on: function (e, t) { return layui.onevent.call(this, r, e, t) }, }, l = function () { var e = this return { upload: function (t) { e.upload.call(e, t) }, reload: function (t) { e.reload.call(e, t) }, 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 i = this ;(i.config = t.extend({}, i.config, a.config, e)), i.render() } ;(p.prototype.config = { accept: 'images', exts: '', auto: !0, bindAction: '', url: '', field: 'file', acceptMime: '', method: 'post', data: {}, drag: !0, size: 0, number: 0, multiple: !1, }), (p.prototype.render = function (e) { var i = this, e = i.config ;(e.elem = t(e.elem)), (e.bindAction = t(e.bindAction)), i.file(), i.events() }), (p.prototype.file = function () { var e = this, i = e.config, n = (e.elemFile = t( [ '', ].join('') )), a = i.elem.next() ;(a.hasClass(u) || a.hasClass(c)) && a.remove(), o.ie && o.ie < 10 && i.elem.wrap('
    '), e.isFile() ? ((e.elemFile = i.elem), (i.field = i.elem[0].name)) : i.elem.after(n), o.ie && o.ie < 10 && e.initIE() }), (p.prototype.initIE = function () { var e = this, i = e.config, n = t( '' ), o = t( [ '', '', ].join('') ) t('#' + f)[0] || t('body').append(n), i.elem.next().hasClass(c) || (e.elemFile.wrap(o), i.elem.next('.' + c).append( (function () { var e = [] return ( layui.each(i.data, function (t, i) { ;(i = 'function' == typeof i ? i() : i), e.push( '' ) }), e.join('') ) })() )) }), (p.prototype.msg = function (e) { return i.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 t = this window.FileReader && layui.each(t.chooseFiles, function (t, i) { var n = new FileReader() n.readAsDataURL(i), (n.onload = function () { e && e(t, i, this.result) }) }) }), (p.prototype.upload = function (e, i) { var n, a = this, l = a.config, r = a.elemFile[0], u = function () { var i = 0, n = 0, o = e || a.files || a.chooseFiles || r.files, u = function () { l.multiple && i + n === a.fileLength && 'function' == typeof l.allDone && l.allDone({ total: a.fileLength, successful: i, aborted: n, }) } layui.each(o, function (e, o) { var r = new FormData() r.append(l.field, o), layui.each(l.data, function (e, t) { ;(t = 'function' == typeof t ? t() : t), r.append(e, t) }) var c = { url: l.url, type: 'post', data: r, contentType: !1, processData: !1, dataType: 'json', headers: l.headers || {}, success: function (t) { i++, d(e, t), u() }, error: function () { n++, a.msg('请求上传接口出现异常'), m(e), u() }, } 'function' == typeof l.progress && (c.xhr = function () { var e = t.ajaxSettings.xhr() return ( e.upload.addEventListener( 'progress', function (e) { if (e.lengthComputable) { var t = Math.floor( (e.loaded / e.total) * 100 ) l.progress(t, l.item[0], e) } } ), e ) }), t.ajax(c) }) }, c = function () { var e = t('#' + f) a.elemFile.parent().submit(), clearInterval(p.timer), (p.timer = setInterval(function () { var t, i = e.contents().find('body') try { t = i.text() } catch (n) { a.msg('获取上传后的响应信息出现异常'), clearInterval(p.timer), m() } t && (clearInterval(p.timer), i.html(''), d(0, t)) }, 30)) }, d = function (e, t) { if ( (a.elemFile.next('.' + s).remove(), (r.value = ''), 'object' != typeof t) ) try { t = JSON.parse(t) } catch (i) { return (t = {}), a.msg('请对上传接口返回有效JSON') } 'function' == typeof l.done && l.done(t, e || 0, function (e) { a.upload(e) }) }, m = function (e) { l.auto && (r.value = ''), 'function' == typeof l.error && l.error(e || 0, function (e) { a.upload(e) }) }, h = l.exts, v = (function () { var t = [] return ( layui.each(e || a.chooseFiles, function (e, i) { t.push(i.name) }), t ) })(), g = { preview: function (e) { a.preview(e) }, upload: function (e, t) { var i = {} ;(i[e] = t), a.upload(i) }, pushFile: function () { return ( (a.files = a.files || {}), layui.each(a.chooseFiles, function (e, t) { a.files[e] = t }), a.files ) }, resetFile: function (e, t, i) { var n = new File([t], i) ;(a.files = a.files || {}), (a.files[e] = n) }, }, y = function () { if ( ('choose' !== i && !l.auto) || (l.choose && l.choose(g), 'choose' !== i) ) return ( l.before && l.before(g), o.ie ? (o.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 ( a.msg('选择的文件中包含不支持的格式'), (r.value = '') ) break case 'video': if ( !RegExp( '\\w\\.(' + (h || 'avi|mp4|wma|rmvb|rm|flash|3gp|flv') + ')$', 'i' ).test(escape(v)) ) return ( a.msg('选择的视频中包含不支持的格式'), (r.value = '') ) break case 'audio': if ( !RegExp( '\\w\\.(' + (h || 'mp3|wav|mid') + ')$', 'i' ).test(escape(v)) ) return ( a.msg('选择的音频中包含不支持的格式'), (r.value = '') ) break default: if ( (layui.each(v, function (e, t) { RegExp( '\\w\\.(' + (h || 'jpg|png|gif|bmp|jpeg$') + ')', 'i' ).test(escape(t)) || (n = !0) }), n) ) return ( a.msg('选择的图片中包含不支持的格式'), (r.value = '') ) } if ( ((a.fileLength = (function () { var t = 0, i = e || a.files || a.chooseFiles || r.files return ( layui.each(i, function () { t++ }), t ) })()), l.number && a.fileLength > l.number) ) return a.msg('同时最多只能上传的数量为:' + l.number) if (l.size > 0 && !(o.ie && o.ie < 10)) { var F if ( (layui.each(a.chooseFiles, function (e, t) { if (t.size > 1024 * l.size) { var i = l.size / 1024 ;(i = i >= 1 ? i.toFixed(2) + 'MB' : l.size + 'KB'), (r.value = ''), (F = i) } }), F) ) return a.msg('文件不能超过' + F) } y() } }), (p.prototype.reload = function (e) { ;(e = e || {}), delete e.elem, delete e.bindAction var i = this, e = (i.config = t.extend({}, i.config, a.config, e)), n = e.elem.next() n.attr({ name: e.name, accept: e.acceptMime, multiple: e.multiple }) }), (p.prototype.events = function () { var e = this, i = e.config, a = function (t) { ;(e.chooseFiles = {}), layui.each(t, function (t, i) { var n = new Date().getTime() e.chooseFiles[n + '-' + t] = i }) }, l = function (t, n) { var o = e.elemFile, a = t.length > 1 ? t.length + '个文件' : (t[0] || {}).name || o[0].value.match(/[^\/\\]+\..+/g) || [] || '' o.next().hasClass(s) && o.next().remove(), e.upload(null, 'choose'), e.isFile() || i.choose || o.after( '' + a + '' ) } i.elem.off('upload.start').on('upload.start', function () { var o = t(this), a = o.attr('lay-data') if (a) try { ;(a = new Function('return ' + a)()), (e.config = t.extend({}, i, a)) } catch (l) { n.error( 'Upload element property lay-data configuration item has a syntax error: ' + a ) } ;(e.config.item = o), e.elemFile[0].click() }), (o.ie && o.ie < 10) || i.elem .off('upload.over') .on('upload.over', function () { var e = t(this) e.attr('lay-over', '') }) .off('upload.leave') .on('upload.leave', function () { var e = t(this) e.removeAttr('lay-over') }) .off('upload.drop') .on('upload.drop', function (n, o) { var r = t(this), u = o.originalEvent.dataTransfer.files || [] r.removeAttr('lay-over'), a(u), i.auto ? e.upload(u) : l(u) }), e.elemFile .off('upload.change') .on('upload.change', function () { var t = this.files || [] a(t), i.auto ? e.upload() : l(t) }), i.bindAction .off('upload.action') .on('upload.action', function () { e.upload() }), i.elem.data('haveEvents') || (e.elemFile.on('change', function () { t(this).trigger('upload.change') }), i.elem.on('click', function () { e.isFile() || t(this).trigger('upload.start') }), i.drag && i.elem .on('dragover', function (e) { e.preventDefault(), t(this).trigger('upload.over') }) .on('dragleave', function (e) { t(this).trigger('upload.leave') }) .on('drop', function (e) { e.preventDefault(), t(this).trigger('upload.drop', e) }), i.bindAction.on('click', function () { t(this).trigger('upload.action') }), i.elem.data('haveEvents', !0)) }), (a.render = function (e) { var t = new p(e) return l.call(t) }), e(r, a) }) layui.define(['jquery', 'laytpl', 'lay'], function (e) { 'use strict' var i = layui.$, n = layui.laytpl, t = layui.hint(), a = layui.device(), l = a.mobile ? 'click' : 'mousedown', r = 'dropdown', o = 'layui_' + r + '_index', u = { config: {}, index: layui[r] ? layui[r].index + 1e4 : 0, set: function (e) { var n = this return (n.config = i.extend({}, n.config, e)), n }, on: function (e, i) { return layui.onevent.call(this, r, e, i) }, }, d = function () { var e = this, i = e.config, n = i.id return ( (d.that[n] = e), { config: i, reload: function (i) { e.reload.call(e, i) }, } ) }, s = 'layui-dropdown', m = 'layui-menu-item-up', c = 'layui-menu-item-down', p = 'layui-menu-body-title', y = 'layui-menu-item-group', f = 'layui-menu-item-parent', v = 'layui-menu-item-divider', g = 'layui-menu-item-checked', h = 'layui-menu-item-checked2', w = 'layui-menu-body-panel', C = 'layui-menu-body-panel-left', V = '.' + y + '>.' + p, k = function (e) { var n = this ;(n.index = ++u.index), (n.config = i.extend({}, n.config, u.config, e)), n.init() } ;(k.prototype.config = { trigger: 'click', content: '', className: '', style: '', show: !1, isAllowSpread: !0, isSpreadItem: !0, data: [], delay: 300, }), (k.prototype.reload = function (e) { var n = this ;(n.config = i.extend({}, n.config, e)), n.init(!0) }), (k.prototype.init = function (e) { var n = this, t = n.config, a = (t.elem = i(t.elem)) if (a.length > 1) return ( layui.each(a, function () { u.render(i.extend({}, t, { elem: this })) }), n ) if (!e && a[0] && a.data(o)) { var l = d.getThis(a.data(o)) if (!l) return return l.reload(t) } ;(t.id = 'id' in t ? t.id : n.index), t.show && n.render(e), n.events() }), (k.prototype.render = function (e) { var t = this, a = t.config, r = i('body'), s = function () { var e = i( '' ) return ( a.data.length > 0 ? m(e, a.data) : e.html( '
  • no menu
  • ' ), e ) }, m = function (e, t) { return ( layui.each(t, function (t, l) { var r = l.child && l.child.length > 0, o = 'isSpreadItem' in l ? l.isSpreadItem : a.isSpreadItem, u = l.templet ? n(l.templet).render(l) : a.templet ? n(a.templet).render(l) : l.title, d = (function () { return ( r && (l.type = l.type || 'parent'), l.type ? { group: 'group', parent: 'parent', '-': '-', }[l.type] || 'parent' : '' ) })() if ('-' === d || l.title || l.id || r) { var s = i( [ '', (function () { var e = 'href' in l ? '' + u + '' : u return r ? '
    ' + e + (function () { return 'parent' === d ? '' : 'group' === d && a.isAllowSpread ? '' : '' })() + '
    ' : '
    ' + e + '
    ' })(), '', ].join('') ) if ((s.data('item', l), r)) { var c = i( '
    ' ), y = i('') 'parent' === d ? (c.append(m(y, l.child)), s.append(c)) : s.append(m(y, l.child)) } e.append(s) } }), e ) }, c = [ '
    ', '
    ', ].join('') ;('contextmenu' === a.trigger || lay.isTopElem(a.elem[0])) && (e = !0), (!e && a.elem.data(o + '_opened')) || ((t.elemView = i(c)), t.elemView.append(a.content || s()), a.className && t.elemView.addClass(a.className), a.style && t.elemView.attr('style', a.style), (u.thisId = a.id), t.remove(), r.append(t.elemView), a.elem.data(o + '_opened', !0), t.position(), (d.prevElem = t.elemView), d.prevElem.data('prevElem', a.elem), t.elemView.find('.layui-menu').on(l, function (e) { lay.stope(e) }), t.elemView.find('.layui-menu li').on('click', function (e) { var n = i(this), l = n.data('item') || {}, r = l.child && l.child.length > 0 r || '-' === l.type || (t.remove(), 'function' == typeof a.click && a.click(l, n)) }), t.elemView.find(V).on('click', function (e) { var n = i(this), t = n.parent(), l = t.data('item') || {} 'group' === l.type && a.isAllowSpread && d.spread(t) }), 'mouseenter' === a.trigger && t.elemView .on('mouseenter', function () { clearTimeout(d.timer) }) .on('mouseleave', function () { t.delayRemove() })) }), (k.prototype.position = function (e) { var i = this, n = i.config lay.position(n.elem[0], i.elemView[0], { position: n.position, e: i.e, clickType: 'contextmenu' === n.trigger ? 'right' : null, }) }), (k.prototype.remove = function () { var e = this, i = (e.config, d.prevElem) i && (i.data('prevElem') && i.data('prevElem').data(o + '_opened', !1), i.remove()) }), (k.prototype.delayRemove = function () { var e = this, i = e.config clearTimeout(d.timer), (d.timer = setTimeout(function () { e.remove() }, i.delay)) }), (k.prototype.events = function () { var e = this, i = e.config 'hover' === i.trigger && (i.trigger = 'mouseenter'), e.prevElem && e.prevElem.off(i.trigger, e.prevElemCallback), (e.prevElem = i.elem), (e.prevElemCallback = function (n) { clearTimeout(d.timer), (e.e = n), e.render(), n.preventDefault(), 'function' == typeof i.ready && i.ready(e.elemView, i.elem, e.e.target) }), i.elem.on(i.trigger, e.prevElemCallback), 'mouseenter' === i.trigger && i.elem.on('mouseleave', function () { e.delayRemove() }) }), (d.that = {}), (d.getThis = function (e) { var i = d.that[e] return ( i || t.error( e ? r + " instance with ID '" + e + "' not found" : 'ID argument required' ), i ) }), (d.spread = function (e) { var i = e.children('.' + p).find('.layui-icon') e.hasClass(m) ? (e.removeClass(m).addClass(c), i.removeClass('layui-icon-down').addClass('layui-icon-up')) : (e.removeClass(c).addClass(m), i.removeClass('layui-icon-up').addClass('layui-icon-down')) }), !(function () { var e = i(window), n = i(document) e.on('resize', function () { if (u.thisId) { var e = d.getThis(u.thisId) if (e) { if (!e.elemView[0] || !i('.' + s)[0]) return !1 var n = e.config 'contextmenu' === n.trigger ? e.remove() : e.position() } } }), n.on(l, function (e) { if (u.thisId) { var i = d.getThis(u.thisId) if (i) { var n = i.config ;(!lay.isTopElem(n.elem[0]) && 'contextmenu' !== n.trigger && (e.target === n.elem[0] || n.elem.find(e.target)[0] || e.target === i.elemView[0] || (i.elemView && i.elemView.find(e.target)[0]))) || i.remove() } } }) var t = '.layui-menu:not(.layui-dropdown-menu) li' n.on('click', t, function (e) { var n = i(this), t = n.parents('.layui-menu').eq(0), a = n.hasClass(y) || n.hasClass(f), l = t.attr('lay-filter') || t.attr('id'), o = lay.options(this) n.hasClass(v) || a || (t.find('.' + g).removeClass(g), t.find('.' + h).removeClass(h), n.addClass(g), n.parents('.' + f).addClass(h), layui.event.call(this, r, 'click(' + l + ')', o)) }), n.on('click', t + V, function (e) { var n = i(this), t = n.parents('.' + y + ':eq(0)'), a = lay.options(t[0]) ;('isAllowSpread' in a && !a.isAllowSpread) || d.spread(t) }) var a = '.layui-menu .' + f n.on('mouseenter', a, function (n) { var t = i(this), a = t.find('.' + w) if (a[0]) { var l = a[0].getBoundingClientRect() l.right > e.width() && (a.addClass(C), (l = a[0].getBoundingClientRect()), l.left < 0 && a.removeClass(C)), l.bottom > e.height() && a.eq(0).css('margin-top', -(l.bottom - e.height())) } }).on('mouseleave', a, function (e) { var n = i(this), t = n.children('.' + w) t.removeClass(C), t.css('margin-top', 0) }) })(), (u.reload = function (e, i) { var n = d.getThis(e) return n ? (n.reload(i), d.call(n)) : this }), (u.render = function (e) { var i = new k(e) return d.call(i) }), e(r, u) }) layui.define('jquery', function (e) { 'use strict' var i = layui.jquery, t = { config: {}, index: layui.slider ? layui.slider.index + 1e4 : 0, set: function (e) { var t = this return (t.config = i.extend({}, t.config, e)), t }, on: function (e, i) { return layui.onevent.call(this, n, e, i) }, }, a = function () { var e = this, i = e.config return { setValue: function (t, a) { return (i.value = t), e.slide('set', t, a || 0) }, config: i, } }, n = 'slider', l = 'layui-disabled', s = 'layui-slider', r = 'layui-slider-bar', o = 'layui-slider-wrap', u = 'layui-slider-wrap-btn', d = 'layui-slider-tips', v = 'layui-slider-input', c = 'layui-slider-input-txt', p = 'layui-slider-input-btn', m = 'layui-slider-hover', f = function (e) { var a = this ;(a.index = ++t.index), (a.config = i.extend({}, a.config, t.config, e)), a.render() } ;(f.prototype.config = { type: 'default', min: 0, max: 100, value: 0, step: 1, showstep: !1, tips: !0, input: !1, range: !1, height: 200, disabled: !1, theme: '#009688', }), (f.prototype.render = function () { var e = this, t = e.config if ( (t.step < 1 && (t.step = 1), t.max < t.min && (t.max = t.min + t.step), t.range) ) { t.value = 'object' == typeof t.value ? t.value : [t.min, t.value] var a = Math.min(t.value[0], t.value[1]), n = Math.max(t.value[0], t.value[1]) ;(t.value[0] = a > t.min ? a : t.min), (t.value[1] = n > t.min ? n : t.min), (t.value[0] = t.value[0] > t.max ? t.max : t.value[0]), (t.value[1] = t.value[1] > t.max ? t.max : t.value[1]) var r = Math.floor( ((t.value[0] - t.min) / (t.max - t.min)) * 100 ), v = Math.floor( ((t.value[1] - t.min) / (t.max - t.min)) * 100 ), p = v - r + '%' ;(r += '%'), (v += '%') } else { 'object' == typeof t.value && (t.value = Math.min.apply(null, t.value)), t.value < t.min && (t.value = t.min), t.value > t.max && (t.value = t.max) var p = Math.floor(((t.value - t.min) / (t.max - t.min)) * 100) + '%' } var m = t.disabled ? '#c2c2c2' : t.theme, f = '
    ' + (t.tips ? '
    ' : '') + '
    ' + (t.range ? '
    ' : '') + '
    ', h = i(t.elem), y = h.next('.' + s) if ( (y[0] && y.remove(), (e.elemTemp = i(f)), t.range ? (e.elemTemp .find('.' + o) .eq(0) .data('value', t.value[0]), e.elemTemp .find('.' + o) .eq(1) .data('value', t.value[1])) : e.elemTemp.find('.' + o).data('value', t.value), h.html(e.elemTemp), 'vertical' === t.type && e.elemTemp.height(t.height + 'px'), t.showstep) ) { for ( var g = (t.max - t.min) / t.step, b = '', x = 1; x < g + 1; x++ ) { var T = (100 * x) / g T < 100 && (b += '
    ') } e.elemTemp.append(b) } if (t.input && !t.range) { var w = i( '
    ' ) h.css('position', 'relative'), h.append(w), h .find('.' + c) .children('input') .val(t.value), 'vertical' === t.type ? w.css({ left: 0, top: -48 }) : e.elemTemp.css('margin-right', w.outerWidth() + 15) } t.disabled ? (e.elemTemp.addClass(l), e.elemTemp.find('.' + u).addClass(l)) : e.slide(), e.elemTemp .find('.' + u) .on('mouseover', function () { var a = 'vertical' === t.type ? t.height : e.elemTemp[0].offsetWidth, n = e.elemTemp.find('.' + o), l = 'vertical' === t.type ? a - i(this).parent()[0].offsetTop - n.height() : i(this).parent()[0].offsetLeft, s = (l / a) * 100, r = i(this).parent().data('value'), u = t.setTips ? t.setTips(r) : r e.elemTemp.find('.' + d).html(u), 'vertical' === t.type ? e.elemTemp .find('.' + d) .css({ bottom: s + '%', 'margin-bottom': '20px', display: 'inline-block', }) : e.elemTemp .find('.' + d) .css({ left: s + '%', display: 'inline-block', }) }) .on('mouseout', function () { e.elemTemp.find('.' + d).css('display', 'none') }) }), (f.prototype.slide = function (e, t, a) { var n = this, l = n.config, s = n.elemTemp, f = function () { return 'vertical' === l.type ? l.height : s[0].offsetWidth }, h = s.find('.' + o), y = s.next('.' + v), g = y .children('.' + c) .children('input') .val(), b = 100 / ((l.max - l.min) / Math.ceil(l.step)), x = function (e, i) { ;(e = Math.ceil(e) * b > 100 ? Math.ceil(e) * b : Math.round(e) * b), (e = e > 100 ? 100 : e), h .eq(i) .css( 'vertical' === l.type ? 'bottom' : 'left', e + '%' ) var t = T(h[0].offsetLeft), a = l.range ? T(h[1].offsetLeft) : 0 'vertical' === l.type ? (s .find('.' + d) .css({ bottom: e + '%', 'margin-bottom': '20px', }), (t = T(f() - h[0].offsetTop - h.height())), (a = l.range ? T(f() - h[1].offsetTop - h.height()) : 0)) : s.find('.' + d).css('left', e + '%'), (t = t > 100 ? 100 : t), (a = a > 100 ? 100 : a) var n = Math.min(t, a), o = Math.abs(t - a) 'vertical' === l.type ? s .find('.' + r) .css({ height: o + '%', bottom: n + '%' }) : s.find('.' + r).css({ width: o + '%', left: n + '%' }) var u = l.min + Math.round(((l.max - l.min) * e) / 100) if ( ((g = u), y .children('.' + c) .children('input') .val(g), h.eq(i).data('value', u), s.find('.' + d).html(l.setTips ? l.setTips(u) : u), l.range) ) { var v = [h.eq(0).data('value'), h.eq(1).data('value')] v[0] > v[1] && v.reverse() } l.change && l.change(l.range ? v : u) }, T = function (e) { var i = ((e / f()) * 100) / b, t = Math.round(i) * b return e == f() && (t = Math.ceil(i) * b), t }, w = i( [ '
    f() && (r = f()) var o = ((r / f()) * 100) / b x(o, e), t.addClass(m), s.find('.' + d).show(), i.preventDefault() }, o = function () { t.removeClass(m), s.find('.' + d).hide() } M(r, o) }) }), s.on('click', function (e) { var t = i('.' + u) if ( !t.is(event.target) && 0 === t.has(event.target).length && t.length ) { var a, n = 'vertical' === l.type ? f() - e.clientY + i(this).offset().top : e.clientX - i(this).offset().left n < 0 && (n = 0), n > f() && (n = f()) var s = ((n / f()) * 100) / b ;(a = l.range ? 'vertical' === l.type ? Math.abs( n - parseInt(i(h[0]).css('bottom')) ) > Math.abs(n - parseInt(i(h[1]).css('bottom'))) ? 1 : 0 : Math.abs(n - h[0].offsetLeft) > Math.abs(n - h[1].offsetLeft) ? 1 : 0 : 0), x(s, a), e.preventDefault() } }), y .children('.' + p) .children('i') .each(function (e) { i(this).on('click', function () { ;(g = y .children('.' + c) .children('input') .val()), (g = 1 == e ? g - l.step < l.min ? l.min : Number(g) - l.step : Number(g) + l.step > l.max ? l.max : Number(g) + l.step) var i = (((g - l.min) / (l.max - l.min)) * 100) / b x(i, 0) }) }) var q = function () { var e = this.value ;(e = isNaN(e) ? 0 : e), (e = e < l.min ? l.min : e), (e = e > l.max ? l.max : e), (this.value = e) var i = (((e - l.min) / (l.max - l.min)) * 100) / b x(i, 0) } y.children('.' + c) .children('input') .on('keydown', function (e) { 13 === e.keyCode && (e.preventDefault(), q.call(this)) }) .on('change', q) }), (f.prototype.events = function () { var e = this e.config }), (t.render = function (e) { var i = new f(e) return a.call(i) }), e(n, t) }) layui.define('jquery', function (e) { 'use strict' var i = layui.jquery, o = { config: {}, index: layui.colorpicker ? layui.colorpicker.index + 1e4 : 0, set: function (e) { var o = this return (o.config = i.extend({}, o.config, e)), o }, on: function (e, i) { return layui.onevent.call(this, 'colorpicker', e, i) }, }, r = function () { var e = this, i = e.config return { config: i } }, t = 'colorpicker', n = 'layui-show', l = 'layui-colorpicker', c = '.layui-colorpicker-main', a = 'layui-icon-down', s = 'layui-icon-close', f = 'layui-colorpicker-trigger-span', d = 'layui-colorpicker-trigger-i', u = 'layui-colorpicker-side', p = 'layui-colorpicker-side-slider', g = 'layui-colorpicker-basis', v = 'layui-colorpicker-alpha-bgcolor', h = 'layui-colorpicker-alpha-slider', m = 'layui-colorpicker-basis-cursor', b = 'layui-colorpicker-main-input', k = function (e) { var i = { h: 0, s: 0, b: 0 }, o = Math.min(e.r, e.g, e.b), r = Math.max(e.r, e.g, e.b), t = r - o return ( (i.b = r), (i.s = 0 != r ? (255 * t) / r : 0), 0 != i.s ? e.r == r ? (i.h = (e.g - e.b) / t) : e.g == r ? (i.h = 2 + (e.b - e.r) / t) : (i.h = 4 + (e.r - e.g) / t) : (i.h = -1), r == o && (i.h = 0), (i.h *= 60), i.h < 0 && (i.h += 360), (i.s *= 100 / 255), (i.b *= 100 / 255), i ) }, y = function (e) { var e = e.indexOf('#') > -1 ? e.substring(1) : e if (3 == e.length) { var i = e.split('') e = i[0] + i[0] + i[1] + i[1] + i[2] + i[2] } e = parseInt(e, 16) var o = { r: e >> 16, g: (65280 & e) >> 8, b: 255 & e } return k(o) }, x = function (e) { var i = {}, o = e.h, r = (255 * e.s) / 100, t = (255 * e.b) / 100 if (0 == r) i.r = i.g = i.b = t else { var n = t, l = ((255 - r) * t) / 255, c = ((n - l) * (o % 60)) / 60 360 == o && (o = 0), o < 60 ? ((i.r = n), (i.b = l), (i.g = l + c)) : o < 120 ? ((i.g = n), (i.b = l), (i.r = n - c)) : o < 180 ? ((i.g = n), (i.r = l), (i.b = l + c)) : o < 240 ? ((i.b = n), (i.r = l), (i.g = n - c)) : o < 300 ? ((i.b = n), (i.g = l), (i.r = l + c)) : o < 360 ? ((i.r = n), (i.g = l), (i.b = n - c)) : ((i.r = 0), (i.g = 0), (i.b = 0)) } return { r: Math.round(i.r), g: Math.round(i.g), b: Math.round(i.b), } }, C = function (e) { var o = x(e), r = [o.r.toString(16), o.g.toString(16), o.b.toString(16)] return ( i.each(r, function (e, i) { 1 == i.length && (r[e] = '0' + i) }), r.join('') ) }, P = function (e) { var i = /[0-9]{1,3}/g, o = e.match(i) || [] return { r: o[0], g: o[1], b: o[2] } }, B = i(window), w = i(document), D = function (e) { var r = this ;(r.index = ++o.index), (r.config = i.extend({}, r.config, o.config, e)), r.render() } ;(D.prototype.config = { color: '', size: null, alpha: !1, format: 'hex', predefine: !1, colors: [ '#009688', '#5FB878', '#1E9FFF', '#FF5722', '#FFB800', '#01AAED', '#999', '#c00', '#ff8c00', '#ffd700', '#90ee90', '#00ced1', '#1e90ff', '#c71585', 'rgb(0, 186, 189)', 'rgb(255, 120, 0)', 'rgb(250, 212, 0)', '#393D49', 'rgba(0,0,0,.5)', 'rgba(255, 69, 0, 0.68)', 'rgba(144, 240, 144, 0.5)', 'rgba(31, 147, 255, 0.73)', ], }), (D.prototype.render = function () { var e = this, o = e.config, r = i( [ '
    ', '', '', '', '', '', '
    ', ].join('') ), t = i(o.elem) o.size && r.addClass('layui-colorpicker-' + o.size), t.addClass('layui-inline').html((e.elemColorBox = r)), (e.color = e.elemColorBox.find('.' + f)[0].style.background), e.events() }), (D.prototype.renderPicker = function () { var e = this, o = e.config, r = e.elemColorBox[0], t = (e.elemPicker = i( [ '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', '
    ', (function () { if (o.predefine) { var e = [ '
    ', ] return ( layui.each(o.colors, function (i, o) { e.push( [ '
    ', '
    ', '
    ', ].join('') ) }), e.push('
    '), e.join('') ) } return '' })(), '
    ', '
    ', '', '
    ', '
    ', '', '', '', '
    ', ].join('') )) e.elemColorBox.find('.' + f)[0] i(c)[0] && i(c).data('index') == e.index ? e.removePicker(D.thisElemInd) : (e.removePicker(D.thisElemInd), i('body').append(t)), (D.thisElemInd = e.index), (D.thisColor = r.style.background), e.position(), e.pickerEvents() }), (D.prototype.removePicker = function (e) { var o = this o.config return i('#layui-colorpicker' + (e || o.index)).remove(), o }), (D.prototype.position = function () { var e = this, i = e.config, o = e.bindElem || e.elemColorBox[0], r = e.elemPicker[0], t = o.getBoundingClientRect(), n = r.offsetWidth, l = r.offsetHeight, c = function (e) { return ( (e = e ? 'scrollLeft' : 'scrollTop'), document.body[e] | document.documentElement[e] ) }, a = function (e) { return document.documentElement[ e ? 'clientWidth' : 'clientHeight' ] }, s = 5, f = t.left, d = t.bottom ;(f -= (n - o.offsetWidth) / 2), (d += s), f + n + s > a('width') ? (f = a('width') - n - s) : f < s && (f = s), d + l + s > a() && ((d = t.top > l ? t.top - l : a() - l), (d -= 2 * s)), i.position && (r.style.position = i.position), (r.style.left = f + ('fixed' === i.position ? 0 : c(1)) + 'px'), (r.style.top = d + ('fixed' === i.position ? 0 : c()) + 'px') }), (D.prototype.val = function () { var e = this, i = (e.config, e.elemColorBox.find('.' + f)), o = e.elemPicker.find('.' + b), r = i[0], t = r.style.backgroundColor if (t) { var n = k(P(t)), l = i.attr('lay-type') if ( (e.select(n.h, n.s, n.b), 'torgb' === l && o.find('input').val(t), 'rgba' === l) ) { var c = P(t) if (3 == (t.match(/[0-9]{1,3}/g) || []).length) o .find('input') .val( 'rgba(' + c.r + ', ' + c.g + ', ' + c.b + ', 1)' ), e.elemPicker.find('.' + h).css('left', 280) else { o.find('input').val(t) var a = 280 * t.slice(t.lastIndexOf(',') + 1, t.length - 1) e.elemPicker.find('.' + h).css('left', a) } e.elemPicker.find('.' + v)[0].style.background = 'linear-gradient(to right, rgba(' + c.r + ', ' + c.g + ', ' + c.b + ', 0), rgb(' + c.r + ', ' + c.g + ', ' + c.b + '))' } } else e.select(0, 100, 100), o.find('input').val(''), (e.elemPicker.find('.' + v)[0].style.background = ''), e.elemPicker.find('.' + h).css('left', 280) }), (D.prototype.side = function () { var e = this, o = e.config, r = e.elemColorBox.find('.' + f), t = r.attr('lay-type'), n = e.elemPicker.find('.' + u), l = e.elemPicker.find('.' + p), c = e.elemPicker.find('.' + g), y = e.elemPicker.find('.' + m), C = e.elemPicker.find('.' + v), w = e.elemPicker.find('.' + h), D = (l[0].offsetTop / 180) * 360, E = 100 - ((y[0].offsetTop + 3) / 180) * 100, H = ((y[0].offsetLeft + 3) / 260) * 100, W = Math.round((w[0].offsetLeft / 280) * 100) / 100, j = e.elemColorBox.find('.' + d), F = e.elemPicker.find('.layui-colorpicker-pre').children('div'), L = function (i, n, l, c) { e.select(i, n, l) var f = x({ h: i, s: n, b: l }) if ( (j.addClass(a).removeClass(s), (r[0].style.background = 'rgb(' + f.r + ', ' + f.g + ', ' + f.b + ')'), 'torgb' === t && e.elemPicker .find('.' + b) .find('input') .val( 'rgb(' + f.r + ', ' + f.g + ', ' + f.b + ')' ), 'rgba' === t) ) { var d = 0 ;(d = 280 * c), w.css('left', d), e.elemPicker .find('.' + b) .find('input') .val( 'rgba(' + f.r + ', ' + f.g + ', ' + f.b + ', ' + c + ')' ), (r[0].style.background = 'rgba(' + f.r + ', ' + f.g + ', ' + f.b + ', ' + c + ')'), (C[0].style.background = 'linear-gradient(to right, rgba(' + f.r + ', ' + f.g + ', ' + f.b + ', 0), rgb(' + f.r + ', ' + f.g + ', ' + f.b + '))') } o.change && o.change( e.elemPicker .find('.' + b) .find('input') .val() ) }, M = i( [ '
    t && (r = t) var l = (r / 180) * 360 ;(D = l), L(l, H, E, W), e.preventDefault() } Y(r), e.preventDefault() }), n.on('click', function (e) { var o = e.clientY - i(this).offset().top o < 0 && (o = 0), o > this.offsetHeight && (o = this.offsetHeight) var r = (o / 180) * 360 ;(D = r), L(r, H, E, W), e.preventDefault() }), y.on('mousedown', function (e) { var i = this.offsetTop, o = this.offsetLeft, r = e.clientY, t = e.clientX, n = function (e) { var n = i + (e.clientY - r), l = o + (e.clientX - t), a = c[0].offsetHeight - 3, s = c[0].offsetWidth - 3 n < -3 && (n = -3), n > a && (n = a), l < -3 && (l = -3), l > s && (l = s) var f = ((l + 3) / 260) * 100, d = 100 - ((n + 3) / 180) * 100 ;(E = d), (H = f), L(D, f, d, W), e.preventDefault() } layui.stope(e), Y(n), e.preventDefault() }), c.on('mousedown', function (e) { var o = e.clientY - i(this).offset().top - 3 + B.scrollTop(), r = e.clientX - i(this).offset().left - 3 + B.scrollLeft() o < -3 && (o = -3), o > this.offsetHeight - 3 && (o = this.offsetHeight - 3), r < -3 && (r = -3), r > this.offsetWidth - 3 && (r = this.offsetWidth - 3) var t = ((r + 3) / 260) * 100, n = 100 - ((o + 3) / 180) * 100 ;(E = n), (H = t), L(D, t, n, W), e.preventDefault(), y.trigger(e, 'mousedown') }), w.on('mousedown', function (e) { var i = this.offsetLeft, o = e.clientX, r = function (e) { var r = i + (e.clientX - o), t = C[0].offsetWidth r < 0 && (r = 0), r > t && (r = t) var n = Math.round((r / 280) * 100) / 100 ;(W = n), L(D, H, E, n), e.preventDefault() } Y(r), e.preventDefault() }), C.on('click', function (e) { var o = e.clientX - i(this).offset().left o < 0 && (o = 0), o > this.offsetWidth && (o = this.offsetWidth) var r = Math.round((o / 280) * 100) / 100 ;(W = r), L(D, H, E, r), e.preventDefault() }), F.each(function () { i(this).on('click', function () { i(this) .parent('.layui-colorpicker-pre') .addClass('selected') .siblings() .removeClass('selected') var e, o = this.style.backgroundColor, r = k(P(o)), t = o.slice(o.lastIndexOf(',') + 1, o.length - 1) ;(D = r.h), (H = r.s), (E = r.b), 3 == (o.match(/[0-9]{1,3}/g) || []).length && (t = 1), (W = t), (e = 280 * t), L(r.h, r.s, r.b, t) }) }) }), (D.prototype.select = function (e, i, o, r) { var t = this, n = (t.config, C({ h: e, s: 100, b: 100 })), l = C({ h: e, s: i, b: o }), c = (e / 360) * 180, a = 180 - (o / 100) * 180 - 3, s = (i / 100) * 260 - 3 t.elemPicker.find('.' + p).css('top', c), (t.elemPicker.find('.' + g)[0].style.background = '#' + n), t.elemPicker.find('.' + m).css({ top: a, left: s }), 'change' !== r && t.elemPicker .find('.' + b) .find('input') .val('#' + l) }), (D.prototype.pickerEvents = function () { var e = this, o = e.config, r = e.elemColorBox.find('.' + f), t = e.elemPicker.find('.' + b + ' input'), n = { clear: function (i) { ;(r[0].style.background = ''), e.elemColorBox .find('.' + d) .removeClass(a) .addClass(s), (e.color = ''), o.done && o.done(''), e.removePicker() }, confirm: function (i, n) { var l = t.val(), c = l, f = {} if (l.indexOf(',') > -1) { if ( ((f = k(P(l))), e.select(f.h, f.s, f.b), (r[0].style.background = c = '#' + C(f)), (l.match(/[0-9]{1,3}/g) || []).length > 3 && 'rgba' === r.attr('lay-type')) ) { var u = 280 * l.slice( l.lastIndexOf(',') + 1, l.length - 1 ) e.elemPicker.find('.' + h).css('left', u), (r[0].style.background = l), (c = l) } } else (f = y(l)), (r[0].style.background = c = '#' + C(f)), e.elemColorBox .find('.' + d) .removeClass(s) .addClass(a) return 'change' === n ? (e.select(f.h, f.s, f.b, n), void (o.change && o.change(c))) : ((e.color = l), o.done && o.done(l), void e.removePicker()) }, } e.elemPicker.on('click', '*[colorpicker-events]', function () { var e = i(this), o = e.attr('colorpicker-events') n[o] && n[o].call(this, e) }), t.on('keyup', function (e) { var o = i(this) n.confirm.call(this, o, 13 === e.keyCode ? null : 'change') }) }), (D.prototype.events = function () { var e = this, o = e.config, r = e.elemColorBox.find('.' + f) e.elemColorBox.on('click', function () { e.renderPicker(), i(c)[0] && (e.val(), e.side()) }), o.elem[0] && !e.elemColorBox[0].eventHandler && (w.on('click', function (o) { if ( !i(o.target).hasClass(l) && !i(o.target).parents('.' + l)[0] && !i(o.target).hasClass(c.replace(/\./g, '')) && !i(o.target).parents(c)[0] && e.elemPicker ) { if (e.color) { var t = k(P(e.color)) e.select(t.h, t.s, t.b) } else e.elemColorBox .find('.' + d) .removeClass(a) .addClass(s) ;(r[0].style.background = e.color || ''), e.removePicker() } }), B.on('resize', function () { return !(!e.elemPicker || !i(c)[0]) && void e.position() }), (e.elemColorBox[0].eventHandler = !0)) }), (o.render = function (e) { var i = new D(e) return r.call(i) }), e(t, o) }) 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( '

    无匹配项

    ' ) : 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( [ '
    ', '
    ', '', '
    ', '
    ', (function (e) { var t = [] return ( layui.each(e, function (e, a) { 0 !== e || a.value ? 'optgroup' === a.tagName.toLowerCase() ? t.push( '
    ' + a.label + '
    ' ) : t.push( '
    ' + a.innerHTML + '
    ' ) : t.push( '
    ' + (a.innerHTML || i) + '
    ' ) }), 0 === t.length && t.push( '
    没有选项
    ' ), t.join('') ) })(r.find('*')) + '
    ', '
    ', ].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() var d = l.next('.' + u[0]), f = t( [ '
    ', (function () { var e = n.title.replace(/\s/g, ''), t = { checkbox: [ e ? '' + n.title + '' : '', '', ].join(''), _switch: '' + ((n.checked ? s[0] : s[1]) || '') + '', } return t[r] || t.checkbox })(), '
    ', ].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( [ '
    ', '' + i[l.checked ? 0 : 1] + '', '
    ' + (function () { var e = l.title || '' return ( 'string' == typeof r .next() .attr('lay-radio') && ((e = r.next().html()), r.next().remove()), e ) })() + '
    ', '
    ', ].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, }) : /\bstring|number\b/.test( typeof f ) && 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) t(function () { 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) }) layui.define('form', function (e) { 'use strict' var i = layui.$, a = layui.form, n = layui.layer, t = 'tree', r = { config: {}, index: layui[t] ? layui[t].index + 1e4 : 0, set: function (e) { var a = this return (a.config = i.extend({}, a.config, e)), a }, on: function (e, i) { return layui.onevent.call(this, t, e, i) }, }, l = function () { var e = this, i = e.config, a = i.id || e.index return ( (l.that[a] = e), (l.config[a] = i), { config: i, reload: function (i) { e.reload.call(e, i) }, getChecked: function () { return e.getChecked.call(e) }, setChecked: function (i) { return e.setChecked.call(e, i) }, } ) }, c = 'layui-hide', d = 'layui-disabled', s = 'layui-tree-set', o = 'layui-tree-iconClick', h = 'layui-icon-addition', u = 'layui-icon-subtraction', p = 'layui-tree-entry', f = 'layui-tree-main', y = 'layui-tree-txt', v = 'layui-tree-pack', C = 'layui-tree-spread', k = 'layui-tree-setLineShort', m = 'layui-tree-showLine', x = 'layui-tree-lineExtend', b = function (e) { var a = this ;(a.index = ++r.index), (a.config = i.extend({}, a.config, r.config, e)), a.render() } ;(b.prototype.config = { data: [], showCheckbox: !1, showLine: !0, accordion: !1, onlyIconControl: !1, isJump: !1, edit: !1, text: { defaultNodeName: '未命名', none: '无数据' }, }), (b.prototype.reload = function (e) { var a = this layui.each(e, function (e, i) { i.constructor === Array && delete a.config[e] }), (a.config = i.extend(!0, {}, a.config, e)), a.render() }), (b.prototype.render = function () { var e = this, a = e.config e.checkids = [] var n = i( '
    ' ) e.tree(n) var t = (a.elem = i(a.elem)) if (t[0]) { if ( ((e.key = a.id || e.index), (e.elem = n), (e.elemNone = i( '
    ' + a.text.none + '
    ' )), t.html(e.elem), 0 == e.elem.find('.layui-tree-set').length) ) return e.elem.append(e.elemNone) a.showCheckbox && e.renderForm('checkbox'), e.elem.find('.layui-tree-set').each(function () { var e = i(this) e.parent('.layui-tree-pack')[0] || e.addClass('layui-tree-setHide'), !e.next()[0] && e .parents('.layui-tree-pack') .eq(1) .hasClass('layui-tree-lineExtend') && e.addClass(k), e.next()[0] || e.parents('.layui-tree-set').eq(0).next()[0] || e.addClass(k) }), e.events() } }), (b.prototype.renderForm = function (e) { a.render(e, 'LAY-tree-' + this.index) }), (b.prototype.tree = function (e, a) { var n = this, t = n.config, r = a || t.data layui.each(r, function (a, r) { var l = r.children && r.children.length > 0, o = i( '
    ' ), h = i( [ '
    ', '
    ', '
    ', (function () { return t.showLine ? l ? '' : '' : '' })(), (function () { return t.showCheckbox ? '' : '' })(), (function () { return t.isJump && r.href ? '' + (r.title || r.label || t.text.defaultNodeName) + '' : '' + (r.title || r.label || t.text.defaultNodeName) + '' })(), '
    ', (function () { if (!t.edit) return '' var e = { add: '', update: '', del: '', }, i = [ '
    ', ] return ( t.edit === !0 && (t.edit = ['update', 'del']), 'object' == typeof t.edit ? (layui.each(t.edit, function (a, n) { i.push(e[n] || '') }), i.join('') + '
    ') : void 0 ) })(), '
    ', ].join('') ) l && (h.append(o), n.tree(o, r.children)), e.append(h), h.prev('.' + s)[0] && h .prev() .children('.layui-tree-pack') .addClass('layui-tree-showLine'), l || h .parent('.layui-tree-pack') .addClass('layui-tree-lineExtend'), n.spread(h, r), t.showCheckbox && (r.checked && n.checkids.push(r.id), n.checkClick(h, r)), t.edit && n.operate(h, r) }) }), (b.prototype.spread = function (e, a) { var n = this, t = n.config, r = e.children('.' + p), l = r.children('.' + f), c = r.find('.' + o), k = r.find('.' + y), m = t.onlyIconControl ? c : l, x = '' m.on('click', function (i) { var a = e.children('.' + v), n = m.children('.layui-icon')[0] ? m.children('.layui-icon') : m.find('.layui-tree-icon').children('.layui-icon') if (a[0]) { if (e.hasClass(C)) e.removeClass(C), a.slideUp(200), n.removeClass(u).addClass(h) else if ( (e.addClass(C), a.slideDown(200), n.addClass(u).removeClass(h), t.accordion) ) { var r = e.siblings('.' + s) r.removeClass(C), r.children('.' + v).slideUp(200), r .find('.layui-tree-icon') .children('.layui-icon') .removeClass(u) .addClass(h) } } else x = 'normal' }), k.on('click', function () { var n = i(this) n.hasClass(d) || ((x = e.hasClass(C) ? t.onlyIconControl ? 'open' : 'close' : t.onlyIconControl ? 'close' : 'open'), t.click && t.click({ elem: e, state: x, data: a })) }) }), (b.prototype.setCheckbox = function (e, i, a) { var n = this, t = (n.config, a.prop('checked')) if (!a.prop('disabled')) { if ('object' == typeof i.children || e.find('.' + v)[0]) { var r = e.find('.' + v).find('input[same="layuiTreeCheck"]') r.each(function () { this.disabled || (this.checked = t) }) } var l = function (e) { if (e.parents('.' + s)[0]) { var i, a = e.parent('.' + v), n = a.parent(), r = a.prev().find('input[same="layuiTreeCheck"]') t ? r.prop('checked', t) : (a .find('input[same="layuiTreeCheck"]') .each(function () { this.checked && (i = !0) }), i || r.prop('checked', !1)), l(n) } } l(e), n.renderForm('checkbox') } }), (b.prototype.checkClick = function (e, a) { var n = this, t = n.config, r = e.children('.' + p), l = r.children('.' + f) l.on('click', 'input[same="layuiTreeCheck"]+', function (r) { layui.stope(r) var l = i(this).prev(), c = l.prop('checked') l.prop('disabled') || (n.setCheckbox(e, a, l), t.oncheck && t.oncheck({ elem: e, checked: c, data: a })) }) }), (b.prototype.operate = function (e, a) { var t = this, r = t.config, l = e.children('.' + p), d = l.children('.' + f) l.children('.layui-tree-btnGroup').on( 'click', '.layui-icon', function (l) { layui.stope(l) var f = i(this).data('type'), b = e.children('.' + v), g = { data: a, type: f, elem: e } if ('add' == f) { b[0] || (r.showLine ? (d.find('.' + o).addClass('layui-tree-icon'), d .find('.' + o) .children('.layui-icon') .addClass(h) .removeClass('layui-icon-file')) : d .find('.layui-tree-iconArrow') .removeClass(c), e.append('
    ')) var w = r.operate && r.operate(g), N = {} if ( ((N.title = r.text.defaultNodeName), (N.id = w), t.tree(e.children('.' + v), [N]), r.showLine) ) if (b[0]) b.hasClass(x) || b.addClass(x), e.find('.' + v).each(function () { i(this) .children('.' + s) .last() .addClass(k) }), b .children('.' + s) .last() .prev() .hasClass(k) ? b .children('.' + s) .last() .prev() .removeClass(k) : b .children('.' + s) .last() .removeClass(k), !e.parent('.' + v)[0] && e.next()[0] && b .children('.' + s) .last() .removeClass(k) else { var T = e.siblings('.' + s), L = 1, A = e.parent('.' + v) layui.each(T, function (e, a) { i(a).children('.' + v)[0] || (L = 0) }), 1 == L ? (T.children('.' + v).addClass(m), T.children('.' + v) .children('.' + s) .removeClass(k), e.children('.' + v).addClass(m), A.removeClass(x), A.children('.' + s) .last() .children('.' + v) .children('.' + s) .last() .addClass(k)) : e .children('.' + v) .children('.' + s) .addClass(k) } if (!r.showCheckbox) return if (d.find('input[same="layuiTreeCheck"]')[0].checked) { var I = e .children('.' + v) .children('.' + s) .last() I.find('input[same="layuiTreeCheck"]')[0].checked = !0 } t.renderForm('checkbox') } else if ('update' == f) { var F = d.children('.' + y).html() d.children('.' + y).html(''), d.append( '' ), d.children('.layui-tree-editInput').val(F).focus() var j = function (e) { var i = e.val().trim() ;(i = i ? i : r.text.defaultNodeName), e.remove(), d.children('.' + y).html(i), (g.data.title = i), r.operate && r.operate(g) } d.children('.layui-tree-editInput').blur(function () { j(i(this)) }), d .children('.layui-tree-editInput') .on('keydown', function (e) { 13 === e.keyCode && (e.preventDefault(), j(i(this))) }) } else n.confirm( '确认删除该节点 "' + (a.title || '') + '" 吗?', function (a) { if ( (r.operate && r.operate(g), (g.status = 'remove'), n.close(a), !e.prev('.' + s)[0] && !e.next('.' + s)[0] && !e.parent('.' + v)[0]) ) return ( e.remove(), void t.elem.append(t.elemNone) ) if (e.siblings('.' + s).children('.' + p)[0]) { if (r.showCheckbox) { var l = function (e) { if (e.parents('.' + s)[0]) { var a = e .siblings('.' + s) .children('.' + p), n = e .parent('.' + v) .prev(), r = n.find( 'input[same="layuiTreeCheck"]' )[0], c = 1, d = 0 0 == r.checked && (a.each(function (e, a) { var n = i(a).find( 'input[same="layuiTreeCheck"]' )[0] 0 != n.checked || n.disabled || (c = 0), n.disabled || (d = 1) }), 1 == c && 1 == d && ((r.checked = !0), t.renderForm( 'checkbox' ), l(n.parent('.' + s)))) } } l(e) } if (r.showLine) { var d = e.siblings('.' + s), h = 1, f = e.parent('.' + v) layui.each(d, function (e, a) { i(a).children('.' + v)[0] || (h = 0) }), 1 == h ? (b[0] || (f.removeClass(x), d .children('.' + v) .addClass(m), d .children('.' + v) .children('.' + s) .removeClass(k)), e.next()[0] ? f .children( '.' + s ) .last() .children( '.' + v ) .children( '.' + s ) .last() .addClass(k) : e .prev() .children( '.' + v ) .children( '.' + s ) .last() .addClass(k), e.next()[0] || e.parents('.' + s)[1] || e .parents('.' + s) .eq(0) .next()[0] || e .prev('.' + s) .addClass(k)) : !e.next()[0] && e.hasClass(k) && e.prev().addClass(k) } } else { var y = e.parent('.' + v).prev() if (r.showLine) { y .find('.' + o) .removeClass('layui-tree-icon'), y .find('.' + o) .children('.layui-icon') .removeClass(u) .addClass('layui-icon-file') var w = y.parents('.' + v).eq(0) w.addClass(x), w .children('.' + s) .each(function () { i(this) .children('.' + v) .children('.' + s) .last() .addClass(k) }) } else y.find( '.layui-tree-iconArrow' ).addClass(c) e .parents('.' + s) .eq(0) .removeClass(C), e.parent('.' + v).remove() } e.remove() } ) } ) }), (b.prototype.events = function () { var e = this, a = e.config e.elem.find('.layui-tree-checkedFirst') e.setChecked(e.checkids), e.elem.find('.layui-tree-search').on('keyup', function () { var n = i(this), t = n.val(), r = n.nextAll(), l = [] r.find('.' + y).each(function () { var e = i(this).parents('.' + p) if (i(this).html().indexOf(t) != -1) { l.push(i(this).parent()) var a = function (e) { e.addClass('layui-tree-searchShow'), e.parent('.' + v)[0] && a(e.parent('.' + v).parent('.' + s)) } a(e.parent('.' + s)) } }), r.find('.' + p).each(function () { var e = i(this).parent('.' + s) e.hasClass('layui-tree-searchShow') || e.addClass(c) }), 0 == r.find('.layui-tree-searchShow').length && e.elem.append(e.elemNone), a.onsearch && a.onsearch({ elem: l }) }), e.elem.find('.layui-tree-search').on('keydown', function () { i(this) .nextAll() .find('.' + p) .each(function () { var e = i(this).parent('.' + s) e.removeClass('layui-tree-searchShow ' + c) }), i('.layui-tree-emptyText')[0] && i('.layui-tree-emptyText').remove() }) }), (b.prototype.getChecked = function () { var e = this, a = e.config, n = [], t = [] e.elem.find('.layui-form-checked').each(function () { n.push(i(this).prev()[0].value) }) var r = function (e, a) { layui.each(e, function (e, t) { layui.each(n, function (e, n) { if (t.id == n) { var l = i.extend({}, t) return ( delete l.children, a.push(l), t.children && ((l.children = []), r(t.children, l.children)), !0 ) } }) }) } return r(i.extend({}, a.data), t), t }), (b.prototype.setChecked = function (e) { var a = this a.config a.elem.find('.' + s).each(function (a, n) { var t = i(this).data('id'), r = i(n) .children('.' + p) .find('input[same="layuiTreeCheck"]'), l = r.next() if ('number' == typeof e) { if (t == e) return r[0].checked || l.click(), !1 } else 'object' == typeof e && layui.each(e, function (e, i) { if (i == t && !r[0].checked) return l.click(), !0 }) }) }), (l.that = {}), (l.config = {}), (r.reload = function (e, i) { var a = l.that[e] return a.reload(i), l.call(a) }), (r.getChecked = function (e) { var i = l.that[e] return i.getChecked() }), (r.setChecked = function (e, i) { var a = l.that[e] return a.setChecked(i) }), (r.render = function (e) { var i = new b(e) return l.call(i) }), e(t, r) }) layui.define(['laytpl', 'form'], function (e) { 'use strict' var a = layui.$, t = layui.laytpl, i = layui.form, n = 'transfer', l = { config: {}, index: layui[n] ? layui[n].index + 1e4 : 0, set: function (e) { var t = this return (t.config = a.extend({}, t.config, e)), t }, on: function (e, a) { return layui.onevent.call(this, n, e, a) }, }, r = function () { var e = this, a = e.config, t = a.id || e.index return ( (r.that[t] = e), (r.config[t] = a), { config: a, reload: function (a) { e.reload.call(e, a) }, getData: function () { return e.getData.call(e) }, } ) }, c = 'layui-hide', o = 'layui-btn-disabled', d = 'layui-none', s = 'layui-transfer-box', u = 'layui-transfer-header', h = 'layui-transfer-search', f = 'layui-transfer-active', y = 'layui-transfer-data', p = function (e) { return ( (e = e || {}), [ '
    ', '
    ', '', '
    ', '{{# if(d.data.showSearch){ }}', '', '{{# } }}', '
      ', '
      ', ].join('') ) }, v = [ '
      ', p({ index: 0, checkAllName: 'layTransferLeftCheckAll' }), '
      ', '', '', '
      ', p({ index: 1, checkAllName: 'layTransferRightCheckAll' }), '
      ', ].join(''), x = function (e) { var t = this ;(t.index = ++l.index), (t.config = a.extend({}, t.config, l.config, e)), t.render() } ;(x.prototype.config = { title: ['列表一', '列表二'], width: 200, height: 360, data: [], value: [], showSearch: !1, id: '', text: { none: '无数据', searchNone: '无匹配数据' }, }), (x.prototype.reload = function (e) { var t = this ;(t.config = a.extend({}, t.config, e)), t.render() }), (x.prototype.render = function () { var e = this, i = e.config, n = (e.elem = a(t(v).render({ data: i, index: e.index }))), l = (i.elem = a(i.elem)) l[0] && ((i.data = i.data || []), (i.value = i.value || []), (e.key = i.id || e.index), l.html(e.elem), (e.layBox = e.elem.find('.' + s)), (e.layHeader = e.elem.find('.' + u)), (e.laySearch = e.elem.find('.' + h)), (e.layData = n.find('.' + y)), (e.layBtn = n.find('.' + f + ' .layui-btn')), e.layBox.css({ width: i.width, height: i.height }), e.layData.css({ height: (function () { return ( i.height - e.layHeader.outerHeight() - e.laySearch.outerHeight() - 2 ) })(), }), e.renderData(), e.events()) }), (x.prototype.renderData = function () { var e = this, a = (e.config, [ { checkName: 'layTransferLeftCheck', views: [] }, { checkName: 'layTransferRightCheck', views: [] }, ]) e.parseData(function (e) { var t = e.selected ? 1 : 0, i = [ '
    • ', '', '
    • ', ].join('') a[t].views.push(i), delete e.selected }), e.layData.eq(0).html(a[0].views.join('')), e.layData.eq(1).html(a[1].views.join('')), e.renderCheckBtn() }), (x.prototype.renderForm = function (e) { i.render(e, 'LAY-transfer-' + this.index) }), (x.prototype.renderCheckBtn = function (e) { var t = this, i = t.config ;(e = e || {}), t.layBox.each(function (n) { var l = a(this), r = l.find('.' + y), d = l.find('.' + u).find('input[type="checkbox"]'), s = r.find('input[type="checkbox"]'), h = 0, f = !1 if ( (s.each(function () { var e = a(this).data('hide') ;(this.checked || this.disabled || e) && h++, this.checked && !e && (f = !0) }), d.prop('checked', f && h === s.length), t.layBtn.eq(n)[f ? 'removeClass' : 'addClass'](o), !e.stopNone) ) { var p = r.children('li:not(.' + c + ')').length t.noneView(r, p ? '' : i.text.none) } }), t.renderForm('checkbox') }), (x.prototype.noneView = function (e, t) { var i = a('

      ' + (t || '') + '

      ') e.find('.' + d)[0] && e.find('.' + d).remove(), t.replace(/\s/g, '') && e.append(i) }), (x.prototype.setValue = function () { var e = this, t = e.config, i = [] return ( e.layBox .eq(1) .find('.' + y + ' input[type="checkbox"]') .each(function () { var e = a(this).data('hide') e || i.push(this.value) }), (t.value = i), e ) }), (x.prototype.parseData = function (e) { var t = this, i = t.config, n = [] return ( layui.each(i.data, function (t, l) { ;(l = ('function' == typeof i.parseData ? i.parseData(l) : l) || l), n.push((l = a.extend({}, l))), layui.each(i.value, function (e, a) { a == l.value && (l.selected = !0) }), e && e(l) }), (i.data = n), t ) }), (x.prototype.getData = function (e) { var a = this, t = a.config, i = [] return ( a.setValue(), layui.each(e || t.value, function (e, a) { layui.each(t.data, function (e, t) { delete t.selected, a == t.value && i.push(t) }) }), i ) }), (x.prototype.events = function () { var e = this, t = e.config e.elem.on( 'click', 'input[lay-filter="layTransferCheckbox"]+', function () { var t = a(this).prev(), i = t[0].checked, n = t .parents('.' + s) .eq(0) .find('.' + y) t[0].disabled || ('all' === t.attr('lay-type') && n.find('input[type="checkbox"]').each(function () { this.disabled || (this.checked = i) }), e.renderCheckBtn({ stopNone: !0 })) } ), e.layBtn.on('click', function () { var i = a(this), n = i.data('index'), l = e.layBox.eq(n), r = [] if (!i.hasClass(o)) { e.layBox.eq(n).each(function (t) { var i = a(this), n = i.find('.' + y) n.children('li').each(function () { var t = a(this), i = t.find('input[type="checkbox"]'), n = i.data('hide') i[0].checked && !n && ((i[0].checked = !1), l .siblings('.' + s) .find('.' + y) .append(t.clone()), t.remove(), r.push(i[0].value)), e.setValue() }) }), e.renderCheckBtn() var c = l.siblings('.' + s).find('.' + h + ' input') '' === c.val() || c.trigger('keyup'), t.onchange && t.onchange(e.getData(r), n) } }), e.laySearch.find('input').on('keyup', function () { var i = this.value, n = a(this) .parents('.' + h) .eq(0) .siblings('.' + y), l = n.children('li') l.each(function () { var e = a(this), t = e.find('input[type="checkbox"]'), n = t[0].title.indexOf(i) !== -1 e[n ? 'removeClass' : 'addClass'](c), t.data('hide', !n) }), e.renderCheckBtn() var r = l.length === n.children('li.' + c).length e.noneView(n, r ? t.text.searchNone : '') }) }), (r.that = {}), (r.config = {}), (l.reload = function (e, a) { var t = r.that[e] return t.reload(a), r.call(t) }), (l.getData = function (e) { var a = r.that[e] return a.getData() }), (l.render = function (e) { var a = new x(e) return r.call(a) }), e(n, l) }) layui.define(['laytpl', 'laypage', 'layer', 'form', 'util'], function (e) { 'use strict' var t = layui.$, i = layui.laytpl, a = layui.laypage, l = layui.layer, n = layui.form, o = (layui.util, layui.hint()), r = layui.device(), d = { config: { checkName: 'LAY_CHECKED', indexName: 'LAY_TABLE_INDEX' }, cache: {}, index: layui.table ? layui.table.index + 1e4 : 0, set: function (e) { var i = this return (i.config = t.extend({}, i.config, e)), i }, on: function (e, t) { return layui.onevent.call(this, y, e, t) }, }, c = function () { var e = this, t = e.config, i = t.id || t.index return ( i && ((c.that[i] = e), (c.config[i] = t)), { config: t, reload: function (t, i) { e.reload.call(e, t, i) }, setColsWidth: function () { e.setColsWidth.call(e) }, resize: function () { e.resize.call(e) }, } ) }, s = function (e) { var t = c.config[e] return ( t || o.error( e ? "The table instance with ID '" + e + "' not found" : 'ID argument required' ), t || null ) }, u = function (e, a, l, n) { var o = e.templet ? (function () { return 'function' == typeof e.templet ? e.templet(l) : i(t(e.templet).html() || String(a)).render(l) })() : a return n ? t('
      ' + o + '
      ').text() : o }, y = 'table', h = '.layui-table', f = 'layui-hide', p = 'layui-none', v = 'layui-table-view', m = '.layui-table-tool', g = '.layui-table-box', b = '.layui-table-init', x = '.layui-table-header', k = '.layui-table-body', C = '.layui-table-main', w = '.layui-table-fixed', T = '.layui-table-fixed-l', N = '.layui-table-fixed-r', A = '.layui-table-total', L = '.layui-table-page', S = '.layui-table-sort', R = 'layui-table-edit', W = 'layui-table-hover', _ = function (e) { var t = '{{#if(item2.colspan){}} colspan="{{item2.colspan}}"{{#} if(item2.rowspan){}} rowspan="{{item2.rowspan}}"{{#}}}' return ( (e = e || {}), [ '
      ', '', '{{# layui.each(d.data.cols, function(i1, item1){ }}', '', '{{# layui.each(item1, function(i2, item2){ }}', '{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}', '{{# if(item2.fixed === "right"){ right = true; } }}', (function () { return e.fixed && 'right' !== e.fixed ? '{{# if(item2.fixed && item2.fixed !== "right"){ }}' : 'right' === e.fixed ? '{{# if(item2.fixed === "right"){ }}' : '' })(), '{{# var isSort = !(item2.colGroup) && item2.sort; }}', '', e.fixed ? '{{# }; }}' : '', '{{# }); }}', '', '{{# }); }}', '', '
      ', '
      ', '{{# if(item2.type === "checkbox"){ }}', '', '{{# } else { }}', '{{item2.title||""}}', '{{# if(isSort){ }}', '', '{{# } }}', '{{# } }}', '
      ', '
      ', ].join('') ) }, z = [ '', '', '
      ', ].join(''), E = [ '
      ', '{{# if(d.data.toolbar){ }}', '
      ', '
      ', '
      ', '
      ', '{{# } }}', '
      ', '{{# if(d.data.loading){ }}', '
      ', '', '
      ', '{{# } }}', '{{# var left, right; }}', '
      ', _(), '
      ', '
      ', z, '
      ', '{{# if(left){ }}', '
      ', '
      ', _({ fixed: !0 }), '
      ', '
      ', z, '
      ', '
      ', '{{# }; }}', '{{# if(right){ }}', '
      ', '
      ', _({ fixed: 'right' }), '
      ', '
      ', '
      ', z, '
      ', '
      ', '{{# }; }}', '
      ', '{{# if(d.data.totalRow){ }}', '
      ', '', '', '
      ', '
      ', '{{# } }}', '{{# if(d.data.page){ }}', '
      ', '
      ', '
      ', '{{# } }}', '', '
      ', ].join(''), j = t(window), F = t(document), I = function (e) { var i = this ;(i.index = ++d.index), (i.config = t.extend({}, i.config, d.config, e)), i.render() } ;(I.prototype.config = { limit: 10, loading: !0, cellMinWidth: 60, defaultToolbar: ['filter', 'exports', 'print'], autoSort: !0, text: { none: '无数据' }, }), (I.prototype.render = function () { var e = this, a = e.config if ( ((a.elem = t(a.elem)), (a.where = a.where || {}), (a.id = a.id || a.elem.attr('id') || e.index), (a.request = t.extend( { pageName: 'page', limitName: 'limit' }, a.request )), (a.response = t.extend( { statusName: 'code', statusCode: 0, msgName: 'msg', dataName: 'data', totalRowName: 'totalRow', countName: 'count', }, a.response )), 'object' == typeof a.page && ((a.limit = a.page.limit || a.limit), (a.limits = a.page.limits || a.limits), (e.page = a.page.curr = a.page.curr || 1), delete a.page.elem, delete a.page.jump), !a.elem[0]) ) return e a.height && /^full-\d+$/.test(a.height) && ((e.fullHeightGap = a.height.split('-')[1]), (a.height = j.height() - e.fullHeightGap)), e.setInit() var l = a.elem, n = l.next('.' + v), o = (e.elem = t( i(E).render({ VIEW_CLASS: v, data: a, index: e.index }) )) if ( ((a.index = e.index), (e.key = a.id || a.index), n[0] && n.remove(), l.after(o), (e.layTool = o.find(m)), (e.layBox = o.find(g)), (e.layHeader = o.find(x)), (e.layMain = o.find(C)), (e.layBody = o.find(k)), (e.layFixed = o.find(w)), (e.layFixLeft = o.find(T)), (e.layFixRight = o.find(N)), (e.layTotal = o.find(A)), (e.layPage = o.find(L)), e.renderToolbar(), e.fullSize(), a.cols.length > 1) ) { var r = e.layFixed.find(x).find('th') r.height( e.layHeader.height() - 1 - parseFloat(r.css('padding-top')) - parseFloat(r.css('padding-bottom')) ) } e.pullData(e.page), e.events() }), (I.prototype.initOpts = function (e) { var t = this, i = (t.config, { checkbox: 48, radio: 48, space: 15, numbers: 40 }) e.checkbox && (e.type = 'checkbox'), e.space && (e.type = 'space'), e.type || (e.type = 'normal'), 'normal' !== e.type && ((e.unresize = !0), (e.width = e.width || i[e.type])) }), (I.prototype.setInit = function (e) { var t = this, i = t.config return ( (i.clientWidth = i.width || (function () { var e = function (t) { var a, l ;(t = t || i.elem.parent()), (a = t.width()) try { l = 'none' === t.css('display') } catch (n) {} return !t[0] || (a && !l) ? a : e(t.parent()) } return e() })()), 'width' === e ? i.clientWidth : void layui.each(i.cols, function (e, a) { layui.each(a, function (l, n) { if (!n) return void a.splice(l, 1) if ( ((n.key = e + '-' + l), (n.hide = n.hide || !1), n.colGroup || n.colspan > 1) ) { var o = 0 layui.each(i.cols[e + 1], function (t, i) { i.HAS_PARENT || (o > 1 && o == n.colspan) || ((i.HAS_PARENT = !0), (i.parentKey = e + '-' + l), (o += parseInt( i.colspan > 1 ? i.colspan : 1 ))) }), (n.colGroup = !0) } t.initOpts(n) }) }) ) }), (I.prototype.renderToolbar = function () { var e = this, a = e.config, l = [ '
      ', '
      ', '
      ', ].join(''), n = e.layTool.find('.layui-table-tool-temp') if ('default' === a.toolbar) n.html(l) else if ('string' == typeof a.toolbar) { var o = t(a.toolbar).html() || '' o && n.html(i(o).render(a)) } var r = { filter: { title: '筛选列', layEvent: 'LAYTABLE_COLS', icon: 'layui-icon-cols', }, exports: { title: '导出', layEvent: 'LAYTABLE_EXPORT', icon: 'layui-icon-export', }, print: { title: '打印', layEvent: 'LAYTABLE_PRINT', icon: 'layui-icon-print', }, }, d = [] 'object' == typeof a.defaultToolbar && layui.each(a.defaultToolbar, function (e, t) { var i = 'string' == typeof t ? r[t] : t i && d.push( '
      ' ) }), e.layTool.find('.layui-table-tool-self').html(d.join('')) }), (I.prototype.setParentCol = function (e, t) { var i = this, a = i.config, l = i.layHeader.find( 'th[data-key="' + a.index + '-' + t + '"]' ), n = parseInt(l.attr('colspan')) || 0 if (l[0]) { var o = t.split('-'), r = a.cols[o[0]][o[1]] e ? n-- : n++, l.attr('colspan', n), l[n < 1 ? 'addClass' : 'removeClass'](f), (r.colspan = n), (r.hide = n < 1) var d = l.data('parentkey') d && i.setParentCol(e, d) } }), (I.prototype.setColsPatch = function () { var e = this, t = e.config layui.each(t.cols, function (t, i) { layui.each(i, function (t, i) { i.hide && e.setParentCol(i.hide, i.parentKey) }) }) }), (I.prototype.setColsWidth = function () { var e = this, t = e.config, i = 0, a = 0, l = 0, n = 0, o = e.setInit('width') e.eachCols(function (e, t) { t.hide || i++ }), (o = o - (function () { return 'line' === t.skin || 'nob' === t.skin ? 2 : i + 1 })() - e.getScrollWidth(e.layMain[0]) - 1) var r = function (e) { layui.each(t.cols, function (i, r) { layui.each(r, function (i, d) { var c = 0, s = d.minWidth || t.cellMinWidth return d ? void ( d.colGroup || d.hide || (e ? l && l < s && (a--, (c = s)) : ((c = d.width || 0), /\d+%$/.test(c) ? ((c = Math.floor( (parseFloat(c) / 100) * o )), c < s && (c = s)) : c || ((d.width = c = 0), a++)), d.hide && (c = 0), (n += c)) ) : void r.splice(i, 1) }) }), o > n && a && (l = (o - n) / a) } r(), r(!0), (e.autoColNums = a), e.eachCols(function (i, a) { var n = a.minWidth || t.cellMinWidth a.colGroup || a.hide || (0 === a.width ? e.getCssRule(t.index + '-' + a.key, function (e) { e.style.width = Math.floor(l >= n ? l : n) + 'px' }) : /\d+%$/.test(a.width) && e.getCssRule(t.index + '-' + a.key, function (e) { e.style.width = Math.floor( (parseFloat(a.width) / 100) * o ) + 'px' })) }) var d = e.layMain.width() - e.getScrollWidth(e.layMain[0]) - e.layMain.children('table').outerWidth() if (e.autoColNums && d >= -i && d <= i) { var c = function (t) { var i return ( (t = t || e.layHeader.eq(0).find('thead th:last-child')), (i = t.data('field')), !i && t.prev()[0] ? c(t.prev()) : t ) }, s = c(), u = s.data('key') e.getCssRule(u, function (t) { var i = t.style.width || s.outerWidth() ;(t.style.width = parseFloat(i) + d + 'px'), e.layMain.height() - e.layMain.prop('clientHeight') > 0 && (t.style.width = parseFloat(t.style.width) - 1 + 'px') }) } e.loading(!0) }), (I.prototype.resize = function () { var e = this e.fullSize(), e.setColsWidth(), e.scrollPatch() }), (I.prototype.reload = function (e, i) { var a = this ;(e = e || {}), delete a.haveInit, e.data && e.data.constructor === Array && delete a.config.data, (a.config = t.extend(i, {}, a.config, e)), a.render() }), (I.prototype.errorView = function (e) { var i = this, a = i.layMain.find('.' + p), l = t('
      ' + (e || 'Error') + '
      ') a[0] && (i.layNone.remove(), a.remove()), i.layFixed.addClass(f), i.layMain.find('tbody').html(''), i.layMain.append((i.layNone = l)), (d.cache[i.key] = []) }), (I.prototype.page = 1), (I.prototype.pullData = function (e) { var i = this, a = i.config, l = a.request, n = a.response, o = function () { 'object' == typeof a.initSort && i.sort(a.initSort.field, a.initSort.type) } if (((i.startTime = new Date().getTime()), a.url)) { var r = {} ;(r[l.pageName] = e), (r[l.limitName] = a.limit) var d = t.extend(r, a.where) a.contentType && 0 == a.contentType.indexOf('application/json') && (d = JSON.stringify(d)), i.loading(), t.ajax({ type: a.method || 'get', url: a.url, contentType: a.contentType, data: d, dataType: 'json', headers: a.headers || {}, success: function (t) { 'function' == typeof a.parseData && (t = a.parseData(t) || t), t[n.statusName] != n.statusCode ? (i.renderForm(), i.errorView( t[n.msgName] || '返回的数据不符合规范,正确的成功状态码应为:"' + n.statusName + '": ' + n.statusCode )) : (i.renderData(t, e, t[n.countName]), o(), (a.time = new Date().getTime() - i.startTime + ' ms')), i.setColsWidth(), 'function' == typeof a.done && a.done(t, e, t[n.countName]) }, error: function (e, t) { i.errorView('数据接口请求异常:' + t), i.renderForm(), i.setColsWidth(), 'function' == typeof a.error && a.error(e, t) }, }) } else if (a.data && a.data.constructor === Array) { var c = {}, s = e * a.limit - a.limit ;(c[n.dataName] = a.data.concat().splice(s, a.limit)), (c[n.countName] = a.data.length), 'object' == typeof a.totalRow && (c[n.totalRowName] = t.extend({}, a.totalRow)), i.renderData(c, e, c[n.countName]), o(), i.setColsWidth(), 'function' == typeof a.done && a.done(c, e, c[n.countName]) } }), (I.prototype.eachCols = function (e) { var t = this return d.eachCols(null, e, t.config.cols), t }), (I.prototype.renderData = function (e, n, o, r) { var c = this, s = c.config, y = e[s.response.dataName] || [], h = e[s.response.totalRowName], v = [], m = [], g = [], b = function () { var e return !r && c.sortKey ? c.sort(c.sortKey.field, c.sortKey.sort, !0) : (layui.each(y, function (a, l) { var o = [], y = [], h = [], p = a + s.limit * (n - 1) + 1 0 !== l.length && (r || (l[d.config.indexName] = a), c.eachCols(function (n, r) { var c = r.field || n, v = s.index + '-' + r.key, m = l[c] if ( ((void 0 !== m && null !== m) || (m = ''), !r.colGroup) ) { var g = [ '', '
      ' + (function () { var n = t.extend( !0, { LAY_INDEX: p, }, l ), o = d.config .checkName switch (r.type) { case 'checkbox': return ( '' ) case 'radio': return ( n[o] && (e = a), '' ) case 'numbers': return p } return r.toolbar ? i( t( r.toolbar ).html() || '' ).render(n) : u(r, m, n) })(), '
      ', ].join('') o.push(g), r.fixed && 'right' !== r.fixed && y.push(g), 'right' === r.fixed && h.push(g) } }), v.push( '' + o.join('') + '' ), m.push( '' + y.join('') + '' ), g.push( '' + h.join('') + '' )) }), c.layBody.scrollTop(0), c.layMain.find('.' + p).remove(), c.layMain.find('tbody').html(v.join('')), c.layFixLeft.find('tbody').html(m.join('')), c.layFixRight.find('tbody').html(g.join('')), c.renderForm(), 'number' == typeof e && c.setThisRowChecked(e), c.syncCheckAll(), c.haveInit ? c.scrollPatch() : setTimeout(function () { c.scrollPatch() }, 50), (c.haveInit = !0), l.close(c.tipsIndex), s.HAS_SET_COLS_PATCH || c.setColsPatch(), void (s.HAS_SET_COLS_PATCH = !0)) } return ( (d.cache[c.key] = y), c.layPage[ 0 == o || (0 === y.length && 1 == n) ? 'addClass' : 'removeClass' ](f), 0 === y.length ? (c.renderForm(), c.errorView(s.text.none)) : (c.layFixed.removeClass(f), r ? b() : (b(), c.renderTotal(y, h), void ( s.page && ((s.page = t.extend( { elem: 'layui-table-page' + s.index, count: o, limit: s.limit, limits: s.limits || [ 10, 20, 30, 40, 50, 60, 70, 80, 90, ], groups: 3, layout: [ 'prev', 'page', 'next', 'skip', 'count', 'limit', ], prev: '', next: '', jump: function (e, t) { t || ((c.page = e.curr), (s.limit = e.limit), c.pullData(e.curr)) }, }, s.page )), (s.page.count = o), a.render(s.page)) ))) ) }), (I.prototype.renderTotal = function (e, a) { var l = this, n = l.config, o = {} if (n.totalRow) { layui.each(e, function (e, t) { 0 !== t.length && l.eachCols(function (e, i) { var a = i.field || e, l = t[a] i.totalRow && (o[a] = (o[a] || 0) + (parseFloat(l) || 0)) }) }), (l.dataTotal = {}) var r = [] l.eachCols(function (e, d) { var c = d.field || e, s = (function () { var e = d.totalRowText || '', t = parseFloat(o[c]).toFixed(2), i = {} return ( (i[c] = t), (t = u(d, t, i)), a ? a[d.field] || e : d.totalRow ? t || e : e ) })(), y = [ '', '
      ' + (function () { var e = d.totalRow || n.totalRow return 'string' == typeof e ? i(e).render( t.extend({ TOTAL_NUMS: s }, d) ) : s })(), '
      ', ].join('') d.field && (l.dataTotal[c] = s), r.push(y) }), l.layTotal.find('tbody').html('' + r.join('') + '') } }), (I.prototype.getColElem = function (e, t) { var i = this, a = i.config return e .eq(0) .find('.laytable-cell-' + (a.index + '-' + t) + ':eq(0)') }), (I.prototype.renderForm = function (e) { n.render(e, 'LAY-table-' + this.index) }), (I.prototype.setThisRowChecked = function (e) { var t = this, i = (t.config, 'layui-table-click'), a = t.layBody.find('tr[data-index="' + e + '"]') a.addClass(i).siblings('tr').removeClass(i) }), (I.prototype.sort = function (e, i, a, l) { var n, r, c = this, s = {}, u = c.config, h = u.elem.attr('lay-filter'), f = d.cache[c.key] 'string' == typeof e && ((n = e), c.layHeader.find('th').each(function (i, a) { var l = t(this), o = l.data('field') if (o === e) return (e = l), (n = o), !1 })) try { var n = n || e.data('field'), p = e.data('key') if ( c.sortKey && !a && n === c.sortKey.field && i === c.sortKey.sort ) return var v = c.layHeader.find('th .laytable-cell-' + p).find(S) c.layHeader.find('th').find(S).removeAttr('lay-sort'), v.attr('lay-sort', i || null), c.layFixed.find('th') } catch (m) { o.error("Table modules: sort field '" + n + "' not matched") } ;(c.sortKey = { field: n, sort: i }), u.autoSort && ('asc' === i ? (r = layui.sort(f, n)) : 'desc' === i ? (r = layui.sort(f, n, !0)) : ((r = layui.sort(f, d.config.indexName)), delete c.sortKey)), (s[u.response.dataName] = r || f), c.renderData(s, c.page, c.count, !0), l && layui.event.call(e, y, 'sort(' + h + ')', { field: n, type: i, }) }), (I.prototype.loading = function (e) { var i = this, a = i.config a.loading && (e ? (i.layInit && i.layInit.remove(), delete i.layInit, i.layBox.find(b).remove()) : ((i.layInit = t( [ '
      ', '', '
      ', ].join('') )), i.layBox.append(i.layInit))) }), (I.prototype.setCheckData = function (e, t) { var i = this, a = i.config, l = d.cache[i.key] l[e] && l[e].constructor !== Array && (l[e][a.checkName] = t) }), (I.prototype.syncCheckAll = function () { var e = this, t = e.config, i = e.layHeader.find('input[name="layTableCheckbox"]'), a = function (i) { return ( e.eachCols(function (e, a) { 'checkbox' === a.type && (a[t.checkName] = i) }), i ) } i[0] && (d.checkStatus(e.key).isAll ? (i[0].checked || (i.prop('checked', !0), e.renderForm('checkbox')), a(!0)) : (i[0].checked && (i.prop('checked', !1), e.renderForm('checkbox')), a(!1))) }), (I.prototype.getCssRule = function (e, t) { var i = this, a = i.elem.find('style')[0], l = a.sheet || a.styleSheet || {}, n = l.cssRules || l.rules layui.each(n, function (i, a) { if (a.selectorText === '.laytable-cell-' + e) return t(a), !0 }) }), (I.prototype.fullSize = function () { var e, t = this, i = t.config, a = i.height t.fullHeightGap && ((a = j.height() - t.fullHeightGap), a < 135 && (a = 135), t.elem.css('height', a)), a && ((e = parseFloat(a) - (t.layHeader.outerHeight() || 38)), i.toolbar && (e -= t.layTool.outerHeight() || 50), i.totalRow && (e -= t.layTotal.outerHeight() || 40), i.page && (e -= t.layPage.outerHeight() || 41), t.layMain.css('height', e - 2)) }), (I.prototype.getScrollWidth = function (e) { var t = 0 return ( e ? (t = e.offsetWidth - e.clientWidth) : ((e = document.createElement('div')), (e.style.width = '100px'), (e.style.height = '100px'), (e.style.overflowY = 'scroll'), document.body.appendChild(e), (t = e.offsetWidth - e.clientWidth), document.body.removeChild(e)), t ) }), (I.prototype.scrollPatch = function () { var e = this, i = e.layMain.children('table'), a = e.layMain.width() - e.layMain.prop('clientWidth'), l = e.layMain.height() - e.layMain.prop('clientHeight'), n = (e.getScrollWidth(e.layMain[0]), i.outerWidth() - e.layMain.width()), o = function (e) { if (a && l) { if (((e = e.eq(0)), !e.find('.layui-table-patch')[0])) { var i = t( '
      ' ) i.find('div').css({ width: a }), e.find('tr').append(i) } } else e.find('.layui-table-patch').remove() } o(e.layHeader), o(e.layTotal) var r = e.layMain.height(), d = r - l e.layFixed.find(k).css('height', i.height() >= d ? d : 'auto'), e.layFixRight[n > 0 ? 'removeClass' : 'addClass'](f), e.layFixRight.css('right', a - 1) }), (I.prototype.events = function () { var e, i = this, a = i.config, o = t('body'), c = {}, s = i.layHeader.find('th'), h = '.layui-table-cell', p = a.elem.attr('lay-filter') i.layTool.on('click', '*[lay-event]', function (e) { var o = t(this), c = o.attr('lay-event'), s = function (e) { var l = t(e.list), n = t('') n.html(l), a.height && n.css( 'max-height', a.height - (i.layTool.outerHeight() || 50) ), o.find('.layui-table-tool-panel')[0] || o.append(n), i.renderForm(), n.on('click', function (e) { layui.stope(e) }), e.done && e.done(n, l) } switch ( (layui.stope(e), F.trigger('table.tool.panel.remove'), l.close(i.tipsIndex), c) ) { case 'LAYTABLE_COLS': s({ list: (function () { var e = [] return ( i.eachCols(function (t, i) { i.field && 'normal' == i.type && e.push( '
    • ' ) }), e.join('') ) })(), done: function () { n.on( 'checkbox(LAY_TABLE_TOOL_COLS)', function (e) { var l = t(e.elem), n = this.checked, o = l.data('key'), r = l.data('parentkey') layui.each(a.cols, function (e, t) { layui.each(t, function (t, l) { if (e + '-' + t === o) { var d = l.hide ;(l.hide = !n), i.elem .find( '*[data-key="' + a.index + '-' + o + '"]' ) [ n ? 'removeClass' : 'addClass' ](f), d != l.hide && i.setParentCol( !n, r ), i.resize() } }) }) } ) }, }) break case 'LAYTABLE_EXPORT': r.ie ? l.tips( '导出功能不支持 IE,请用 Chrome 等高级浏览器导出', this, { tips: 3 } ) : s({ list: (function () { return [ '
    • 导出到 Csv 文件
    • ', '
    • 导出到 Excel 文件
    • ', ].join('') })(), done: function (e, l) { l.on('click', function () { var e = t(this).data('type') d.exportFile.call(i, a.id, null, e) }) }, }) break case 'LAYTABLE_PRINT': var u = window.open('打印窗口', '_blank'), h = [ '', ].join(''), v = t(i.layHeader.html()) v.append(i.layMain.find('table').html()), v.append(i.layTotal.find('table').html()), v.find('th.layui-table-patch').remove(), v.find('.layui-table-col-special').remove(), u.document.write(h + v.prop('outerHTML')), u.document.close(), u.print(), u.close() } layui.event.call( this, y, 'toolbar(' + p + ')', t.extend({ event: c, config: a }, {}) ) }), s .on('mousemove', function (e) { var i = t(this), a = i.offset().left, l = e.clientX - a i.data('unresize') || c.resizeStart || ((c.allowResize = i.width() - l <= 10), o.css('cursor', c.allowResize ? 'col-resize' : '')) }) .on('mouseleave', function () { t(this) c.resizeStart || o.css('cursor', '') }) .on('mousedown', function (e) { var l = t(this) if (c.allowResize) { var n = l.data('key') e.preventDefault(), (c.resizeStart = !0), (c.offset = [e.clientX, e.clientY]), i.getCssRule(n, function (e) { var t = e.style.width || l.outerWidth() ;(c.rule = e), (c.ruleWidth = parseFloat(t)), (c.minWidth = l.data('minwidth') || a.cellMinWidth) }) } }), F.on('mousemove', function (t) { if (c.resizeStart) { if ((t.preventDefault(), c.rule)) { var a = c.ruleWidth + t.clientX - c.offset[0] a < c.minWidth && (a = c.minWidth), (c.rule.style.width = a + 'px'), l.close(i.tipsIndex) } e = 1 } }).on('mouseup', function (t) { c.resizeStart && ((c = {}), o.css('cursor', ''), i.scrollPatch()), 2 === e && (e = null) }), s .on('click', function (a) { var l, n = t(this), o = n.find(S), r = o.attr('lay-sort') return o[0] && 1 !== e ? ((l = 'asc' === r ? 'desc' : 'desc' === r ? null : 'asc'), void i.sort(n, l, null, !0)) : (e = 2) }) .find(S + ' .layui-edge ') .on('click', function (e) { var a = t(this), l = a.index(), n = a.parents('th').eq(0).data('field') layui.stope(e), 0 === l ? i.sort(n, 'asc', null, !0) : i.sort(n, 'desc', null, !0) }) var v = function (e) { var a = t(this), l = a.parents('tr').eq(0).data('index'), n = i.layBody.find('tr[data-index="' + l + '"]'), o = d.cache[i.key] || [] return ( (o = o[l] || {}), t.extend( { tr: n, data: d.clearCacheKey(o), del: function () { ;(d.cache[i.key][l] = []), n.remove(), i.scrollPatch() }, update: function (e) { ;(e = e || {}), layui.each(e, function (e, t) { if (e in o) { var a, l = n.children( 'td[data-field="' + e + '"]' ) ;(o[e] = t), i.eachCols(function (t, i) { i.field == e && i.templet && (a = i.templet) }), l .children(h) .html( u({ templet: a }, t, o) ), l.data('content', t) } }) }, }, e ) ) } i.elem.on('click', 'input[name="layTableCheckbox"]+', function () { var e = t(this).prev(), a = i.layBody.find('input[name="layTableCheckbox"]'), l = e.parents('tr').eq(0).data('index'), n = e[0].checked, o = 'layTableAllChoose' === e.attr('lay-filter') o ? (a.each(function (e, t) { ;(t.checked = n), i.setCheckData(e, n) }), i.syncCheckAll(), i.renderForm('checkbox')) : (i.setCheckData(l, n), i.syncCheckAll()), layui.event.call( e[0], y, 'checkbox(' + p + ')', v.call(e[0], { checked: n, type: o ? 'all' : 'one' }) ) }), i.elem.on( 'click', 'input[lay-type="layTableRadio"]+', function () { var e = t(this).prev(), l = e[0].checked, n = d.cache[i.key], o = e.parents('tr').eq(0).data('index') layui.each(n, function (e, t) { o === e ? (t[a.checkName] = !0) : delete t[a.checkName] }), i.setThisRowChecked(o), layui.event.call( this, y, 'radio(' + p + ')', v.call(this, { checked: l }) ) } ), i.layBody .on('mouseenter', 'tr', function () { var e = t(this), a = e.index() e.data('off') || i.layBody.find('tr:eq(' + a + ')').addClass(W) }) .on('mouseleave', 'tr', function () { var e = t(this), a = e.index() e.data('off') || i.layBody.find('tr:eq(' + a + ')').removeClass(W) }) .on('click', 'tr', function () { m.call(this, 'row') }) .on('dblclick', 'tr', function () { m.call(this, 'rowDouble') }) var m = function (e) { var i = t(this) i.data('off') || layui.event.call( this, y, e + '(' + p + ')', v.call(i.children('td')[0]) ) } i.layBody .on('change', '.' + R, function () { var e = t(this), a = this.value, l = e.parent().data('field'), n = e.parents('tr').eq(0).data('index'), o = d.cache[i.key][n] ;(o[l] = a), layui.event.call( this, y, 'edit(' + p + ')', v.call(this, { value: a, field: l }) ) }) .on('blur', '.' + R, function () { var e, a = t(this), l = this, n = a.parent().data('field'), o = a.parents('tr').eq(0).data('index'), r = d.cache[i.key][o] i.eachCols(function (t, i) { i.field == n && i.templet && (e = i.templet) }), a.siblings(h).html( (function (t) { return u({ templet: e }, t, r) })(l.value) ), a.parent().data('content', l.value), a.remove() }), i.layBody .on('click', 'td', function (e) { var i = t(this), a = (i.data('field'), i.data('edit')), l = i.children(h) if (!i.data('off') && a) { var n = t('') return ( (n[0].value = i.data('content') || l.text()), i.find('.' + R)[0] || i.append(n), n.focus(), void layui.stope(e) ) } }) .on('mouseenter', 'td', function () { b.call(this) }) .on('mouseleave', 'td', function () { b.call(this, 'hide') }) var g = 'layui-table-grid-down', b = function (e) { var i = t(this), a = i.children(h) if (!i.data('off')) if (e) i.find('.layui-table-grid-down').remove() else if (a.prop('scrollWidth') > a.outerWidth()) { if (a.find('.' + g)[0]) return i.append( '
      ' ) } } i.layBody.on('click', '.' + g, function (e) { var n = t(this), o = n.parent(), d = o.children(h) ;(i.tipsIndex = l.tips( [ '
      ', d.html(), '
      ', '', ].join(''), d[0], { tips: [3, ''], time: -1, anim: -1, maxWidth: r.ios || r.android ? 300 : i.elem.width() / 2, isOutAnim: !1, skin: 'layui-table-tips', success: function (e, t) { e.find('.layui-table-tips-c').on( 'click', function () { l.close(t) } ) }, } )), layui.stope(e) }), i.layBody.on('click', '*[lay-event]', function () { var e = t(this), a = e.parents('tr').eq(0).data('index') layui.event.call( this, y, 'tool(' + p + ')', v.call(this, { event: e.attr('lay-event') }) ), i.setThisRowChecked(a) }), i.layMain.on('scroll', function () { var e = t(this), a = e.scrollLeft(), n = e.scrollTop() i.layHeader.scrollLeft(a), i.layTotal.scrollLeft(a), i.layFixed.find(k).scrollTop(n), l.close(i.tipsIndex) }), j.on('resize', function () { i.resize() }) }), (function () { F.on('click', function () { F.trigger('table.remove.tool.panel') }), F.on('table.remove.tool.panel', function () { t('.layui-table-tool-panel').remove() }) })(), (d.init = function (e, i) { i = i || {} var a = this, l = t(e ? 'table[lay-filter="' + e + '"]' : h + '[lay-data]'), n = 'Table element property lay-data configuration item has a syntax error: ' return ( l.each(function () { var a = t(this), l = a.attr('lay-data') try { l = new Function('return ' + l)() } catch (r) { o.error(n + l, 'error') } var c = [], s = t.extend( { elem: this, cols: [], data: [], skin: a.attr('lay-skin'), size: a.attr('lay-size'), even: 'string' == typeof a.attr('lay-even'), }, d.config, i, l ) e && a.hide(), a.find('thead>tr').each(function (e) { ;(s.cols[e] = []), t(this) .children() .each(function (i) { var a = t(this), l = a.attr('lay-data') try { l = new Function('return ' + l)() } catch (r) { return o.error(n + l) } var d = t.extend( { title: a.text(), colspan: a.attr('colspan') || 0, rowspan: a.attr('rowspan') || 0, }, l ) d.colspan < 2 && c.push(d), s.cols[e].push(d) }) }), a.find('tbody>tr').each(function (e) { var i = t(this), a = {} i.children('td').each(function (e, i) { var l = t(this), n = l.data('field') if (n) return (a[n] = l.html()) }), layui.each(c, function (e, t) { var l = i.children('td').eq(e) a[t.field] = l.html() }), (s.data[e] = a) }), d.render(s) }), a ) }), (c.that = {}), (c.config = {}), (d.eachCols = function (e, i, a) { var l = c.config[e] || {}, n = [], o = 0 ;(a = t.extend(!0, [], a || l.cols)), layui.each(a, function (e, t) { layui.each(t, function (t, i) { if (i.colGroup) { var l = 0 o++, (i.CHILD_COLS = []), layui.each(a[e + 1], function (e, t) { t.PARENT_COL_INDEX || (l > 1 && l == i.colspan) || ((t.PARENT_COL_INDEX = o), i.CHILD_COLS.push(t), (l += parseInt( t.colspan > 1 ? t.colspan : 1 ))) }) } i.PARENT_COL_INDEX || n.push(i) }) }) var r = function (e) { layui.each(e || n, function (e, t) { return t.CHILD_COLS ? r(t.CHILD_COLS) : void ('function' == typeof i && i(e, t)) }) } r() }), (d.checkStatus = function (e) { var t = 0, i = 0, a = [], l = d.cache[e] || [] return ( layui.each(l, function (e, l) { return l.constructor === Array ? void i++ : void ( l[d.config.checkName] && (t++, a.push(d.clearCacheKey(l))) ) }), { data: a, isAll: !!l.length && t === l.length - i } ) }), (d.getData = function (e) { var t = [], i = d.cache[e] || [] return ( layui.each(i, function (e, i) { i.constructor !== Array && t.push(d.clearCacheKey(i)) }), t ) }), (d.exportFile = function (e, t, i) { var a = this ;(t = t || d.clearCacheKey(d.cache[e])), (i = i || 'csv') var l = c.config[e] || {}, n = { csv: 'text/csv', xls: 'application/vnd.ms-excel' }[i], s = document.createElement('a') return r.ie ? o.error('IE_NOT_SUPPORT_EXPORTS') : ((s.href = 'data:' + n + ';charset=utf-8,\ufeff' + encodeURIComponent( (function () { var i = [], l = [], n = [] return ( layui.each(t, function (t, a) { var n = [] 'object' == typeof e ? (layui.each(e, function (e, a) { 0 == t && i.push(a || '') }), layui.each( d.clearCacheKey(a), function (e, t) { n.push( '"' + (t || '') + '"' ) } )) : d.eachCols(e, function (e, l) { if ( l.field && 'normal' == l.type && !l.hide ) { var o = a[l.field] ;(void 0 !== o && null !== o) || (o = ''), 0 == t && i.push( l.title || '' ), n.push( '"' + u( l, o, a, 'text' ) + '"' ) } }), l.push(n.join(',')) }), layui.each(a.dataTotal, function (e, t) { n.push(t) }), i.join(',') + '\r\n' + l.join('\r\n') + '\r\n' + n.join(',') ) })() )), (s.download = (l.title || 'table_' + (l.index || '')) + '.' + i), document.body.appendChild(s), s.click(), void document.body.removeChild(s)) }), (d.resize = function (e) { if (e) { var t = s(e) if (!t) return c.that[e].resize() } else layui.each(c.that, function () { this.resize() }) }), (d.reload = function (e, t, i) { var a = s(e) if (a) { var l = c.that[e] return l.reload(t, i), c.call(l) } }), (d.render = function (e) { var t = new I(e) return c.call(t) }), (d.clearCacheKey = function (e) { return ( (e = t.extend({}, e)), delete e[d.config.checkName], delete e[d.config.indexName], e ) }), d.init(), e(y, d) }) layui.define('jquery', function (e) { 'use strict' var i = layui.$, n = (layui.hint(), layui.device(), { config: {}, set: function (e) { var n = this return (n.config = i.extend({}, n.config, e)), n }, on: function (e, i) { return layui.onevent.call(this, t, e, i) }, }), t = 'carousel', a = 'layui-this', l = '>*[carousel-item]>*', o = 'layui-carousel-left', r = 'layui-carousel-right', d = 'layui-carousel-prev', s = 'layui-carousel-next', u = 'layui-carousel-arrow', c = 'layui-carousel-ind', m = function (e) { var t = this ;(t.config = i.extend({}, t.config, n.config, e)), t.render() } ;(m.prototype.config = { width: '600px', height: '280px', full: !1, arrow: 'hover', indicator: 'inside', autoplay: !0, interval: 3e3, anim: '', trigger: 'click', index: 0, }), (m.prototype.render = function () { var e = this, n = e.config ;(n.elem = i(n.elem)), n.elem[0] && ((e.elemItem = n.elem.find(l)), n.index < 0 && (n.index = 0), n.index >= e.elemItem.length && (n.index = e.elemItem.length - 1), n.interval < 800 && (n.interval = 800), n.full ? n.elem.css({ position: 'fixed', width: '100%', height: '100%', zIndex: 9999, }) : n.elem.css({ width: n.width, height: n.height }), n.elem.attr('lay-anim', n.anim), e.elemItem.eq(n.index).addClass(a), e.elemItem.length <= 1 || (e.indicator(), e.arrow(), e.autoplay(), e.events())) }), (m.prototype.reload = function (e) { var n = this clearInterval(n.timer), (n.config = i.extend({}, n.config, e)), n.render() }), (m.prototype.prevIndex = function () { var e = this, i = e.config, n = i.index - 1 return n < 0 && (n = e.elemItem.length - 1), n }), (m.prototype.nextIndex = function () { var e = this, i = e.config, n = i.index + 1 return n >= e.elemItem.length && (n = 0), n }), (m.prototype.addIndex = function (e) { var i = this, n = i.config ;(e = e || 1), (n.index = n.index + e), n.index >= i.elemItem.length && (n.index = 0) }), (m.prototype.subIndex = function (e) { var i = this, n = i.config ;(e = e || 1), (n.index = n.index - e), n.index < 0 && (n.index = i.elemItem.length - 1) }), (m.prototype.autoplay = function () { var e = this, i = e.config i.autoplay && (clearInterval(e.timer), (e.timer = setInterval(function () { e.slide() }, i.interval))) }), (m.prototype.arrow = function () { var e = this, n = e.config, t = i( [ '', '', ].join('') ) n.elem.attr('lay-arrow', n.arrow), n.elem.find('.' + u)[0] && n.elem.find('.' + u).remove(), n.elem.append(t), t.on('click', function () { var n = i(this), t = n.attr('lay-type') e.slide(t) }) }), (m.prototype.indicator = function () { var e = this, n = e.config, t = (e.elemInd = i( [ '
      ', ].join('') )) n.elem.attr('lay-indicator', n.indicator), n.elem.find('.' + c)[0] && n.elem.find('.' + c).remove(), n.elem.append(t), 'updown' === n.anim && t.css('margin-top', -(t.height() / 2)), t .find('li') .on( 'hover' === n.trigger ? 'mouseover' : n.trigger, function () { var t = i(this), a = t.index() a > n.index ? e.slide('add', a - n.index) : a < n.index && e.slide('sub', n.index - a) } ) }), (m.prototype.slide = function (e, i) { var n = this, l = n.elemItem, u = n.config, c = u.index, m = u.elem.attr('lay-filter') n.haveSlide || ('sub' === e ? (n.subIndex(i), l.eq(u.index).addClass(d), setTimeout(function () { l.eq(c).addClass(r), l.eq(u.index).addClass(r) }, 50)) : (n.addIndex(i), l.eq(u.index).addClass(s), setTimeout(function () { l.eq(c).addClass(o), l.eq(u.index).addClass(o) }, 50)), setTimeout(function () { l.removeClass(a + ' ' + d + ' ' + s + ' ' + o + ' ' + r), l.eq(u.index).addClass(a), (n.haveSlide = !1) }, 300), n.elemInd .find('li') .eq(u.index) .addClass(a) .siblings() .removeClass(a), (n.haveSlide = !0), layui.event.call(this, t, 'change(' + m + ')', { index: u.index, prevIndex: c, item: l.eq(u.index), })) }), (m.prototype.events = function () { var e = this, i = e.config i.elem.data('haveEvents') || (i.elem .on('mouseenter', function () { clearInterval(e.timer) }) .on('mouseleave', function () { e.autoplay() }), i.elem.data('haveEvents', !0)) }), (n.render = function (e) { var i = new m(e) return i }), e(t, n) }) layui.define('jquery', function (e) { 'use strict' var a = layui.jquery, l = { config: {}, index: layui.rate ? layui.rate.index + 1e4 : 0, set: function (e) { var l = this return (l.config = a.extend({}, l.config, e)), l }, on: function (e, a) { return layui.onevent.call(this, n, e, a) }, }, i = function () { var e = this, a = e.config return { setvalue: function (a) { e.setvalue.call(e, a) }, config: a, } }, n = 'rate', t = 'layui-rate', o = 'layui-icon-rate', u = 'layui-icon-rate-solid', s = 'layui-icon-rate-half', r = 'layui-icon-rate-solid layui-icon-rate-half', c = 'layui-icon-rate-solid layui-icon-rate', f = 'layui-icon-rate layui-icon-rate-half', v = function (e) { var i = this ;(i.index = ++l.index), (i.config = a.extend({}, i.config, l.config, e)), i.render() } ;(v.prototype.config = { length: 5, text: !1, readonly: !1, half: !1, value: 0, theme: '', }), (v.prototype.render = function () { var e = this, l = e.config, i = l.theme ? 'style="color: ' + l.theme + ';"' : '' ;(l.elem = a(l.elem)), l.value > l.length && (l.value = l.length), parseInt(l.value) !== l.value && (l.half || (l.value = Math.ceil(l.value) - l.value < 0.5 ? Math.ceil(l.value) : Math.floor(l.value))) for ( var n = '' + (l.text ? '' + l.value + '星' : '') + '' var c = l.elem, f = c.next('.' + t) f[0] && f.remove(), (e.elemTemp = a(n)), (l.span = e.elemTemp.next('span')), l.setText && l.setText(l.value), c.html(e.elemTemp), c.addClass('layui-inline'), l.readonly || e.action() }), (v.prototype.setvalue = function (e) { var a = this, l = a.config ;(l.value = e), a.render() }), (v.prototype.action = function () { var e = this, l = e.config, i = e.elemTemp, n = i.find('i').width() i.children('li').each(function (e) { var t = e + 1, v = a(this) v.on('click', function (e) { if (((l.value = t), l.half)) { var o = e.pageX - a(this).offset().left o <= n / 2 && (l.value = l.value - 0.5) } l.text && i.next('span').text(l.value + '星'), l.choose && l.choose(l.value), l.setText && l.setText(l.value) }), v.on('mousemove', function (e) { if ( (i.find('i').each(function () { a(this).addClass(o).removeClass(r) }), i.find('i:lt(' + t + ')').each(function () { a(this).addClass(u).removeClass(f) }), l.half) ) { var c = e.pageX - a(this).offset().left c <= n / 2 && v.children('i').addClass(s).removeClass(u) } }), v.on('mouseleave', function () { i.find('i').each(function () { a(this).addClass(o).removeClass(r) }), i .find('i:lt(' + Math.floor(l.value) + ')') .each(function () { a(this).addClass(u).removeClass(f) }), l.half && parseInt(l.value) !== l.value && i .children( 'li:eq(' + Math.floor(l.value) + ')' ) .children('i') .addClass(s) .removeClass(c) }) }) }), (v.prototype.events = function () { var e = this e.config }), (l.render = function (e) { var a = new v(e) return i.call(a) }), e(n, l) }) layui.define('jquery', function (e) { 'use strict' var l = layui.$, o = function (e) {}, t = '' ;(o.prototype.load = function (e) { var o, i, n, r, a = this, c = 0 e = e || {} var f = l(e.elem) if (f[0]) { var m = l(e.scrollElem || document), u = e.mb || 50, s = !('isAuto' in e) || e.isAuto, v = e.end || '没有更多了', y = e.scrollElem && e.scrollElem !== document, d = '加载更多', h = l( '
      ' + d + '
      ' ) f.find('.layui-flow-more')[0] || f.append(h) var p = function (e, t) { ;(e = l(e)), h.before(e), (t = 0 == t || null), t ? h.html(v) : h.find('a').html(d), (i = t), (o = null), n && n() }, g = function () { ;(o = !0), h.find('a').html(t), 'function' == typeof e.done && e.done(++c, p) } if ( (g(), h.find('a').on('click', function () { l(this) i || o || g() }), e.isLazyimg) ) var n = a.lazyimg({ elem: e.elem + ' img', scrollElem: e.scrollElem, }) return s ? (m.on('scroll', function () { var e = l(this), t = e.scrollTop() r && clearTimeout(r), !i && f.width() && (r = setTimeout(function () { var i = y ? e.height() : l(window).height(), n = y ? e.prop('scrollHeight') : document.documentElement .scrollHeight n - t - i <= u && (o || g()) }, 100)) }), a) : a } }), (o.prototype.lazyimg = function (e) { var o, t = this, i = 0 e = e || {} var n = l(e.scrollElem || document), r = e.elem || 'img', a = e.scrollElem && e.scrollElem !== document, c = function (e, l) { var o = n.scrollTop(), r = o + l, c = a ? (function () { return e.offset().top - n.offset().top + o })() : e.offset().top if (c >= o && c <= r && !e.attr('src')) { var m = e.attr('lay-src') layui.img(m, function () { var l = t.lazyimg.elem.eq(i) e.attr('src', m).removeAttr('lay-src'), l[0] && f(l), i++ }) } }, f = function (e, o) { var f = a ? (o || n).height() : l(window).height(), m = n.scrollTop(), u = m + f if (((t.lazyimg.elem = l(r)), e)) c(e, f) else for (var s = 0; s < t.lazyimg.elem.length; s++) { var v = t.lazyimg.elem.eq(s), y = a ? (function () { return ( v.offset().top - n.offset().top + m ) })() : v.offset().top if ((c(v, f), (i = s), y > u)) break } } if ((f(), !o)) { var m n.on('scroll', function () { var e = l(this) m && clearTimeout(m), (m = setTimeout(function () { f(null, e) }, 50)) }), (o = !0) } return f }), e('flow', new o()) }) layui.define(['layer', 'form'], function (t) { 'use strict' var e = layui.$, i = layui.layer, a = layui.form, l = (layui.hint(), layui.device()), n = 'layedit', o = 'layui-show', r = 'layui-disabled', c = function () { var t = this ;(t.index = 0), (t.config = { tool: [ 'strong', 'italic', 'underline', 'del', '|', 'left', 'center', 'right', '|', 'link', 'unlink', 'face', 'image', ], hideTool: [], height: 280, }) } ;(c.prototype.set = function (t) { var i = this return e.extend(!0, i.config, t), i }), (c.prototype.on = function (t, e) { return layui.onevent(n, t, e) }), (c.prototype.build = function (t, i) { i = i || {} var a = this, n = a.config, r = 'layui-layedit', c = e('string' == typeof t ? '#' + t : t), u = 'LAY_layedit_' + ++a.index, d = c.next('.' + r), y = e.extend({}, n, i), f = (function () { var t = [], e = {} return ( layui.each(y.hideTool, function (t, i) { e[i] = !0 }), layui.each(y.tool, function (i, a) { C[a] && !e[a] && t.push(C[a]) }), t.join('') ) })(), m = e( [ '
      ', '
      ' + f + '
      ', '
      ', '', '
      ', '
      ', ].join('') ) return l.ie && l.ie < 8 ? c.removeClass('layui-hide').addClass(o) : (d[0] && d.remove(), s.call(a, m, c[0], y), c.addClass('layui-hide').after(m), a.index) }), (c.prototype.getContent = function (t) { var e = u(t) if (e[0]) return d(e[0].document.body.innerHTML) }), (c.prototype.getText = function (t) { var i = u(t) if (i[0]) return e(i[0].document.body).text() }), (c.prototype.setContent = function (t, i, a) { var l = u(t) l[0] && (a ? e(l[0].document.body).append(i) : e(l[0].document.body).html(i), layedit.sync(t)) }), (c.prototype.sync = function (t) { var i = u(t) if (i[0]) { var a = e('#' + i[1].attr('textarea')) a.val(d(i[0].document.body.innerHTML)) } }), (c.prototype.getSelection = function (t) { var e = u(t) if (e[0]) { var i = m(e[0].document) return document.selection ? i.text : i.toString() } }) var s = function (t, i, a) { var l = this, n = t.find('iframe') n.css({ height: a.height }).on('load', function () { var o = n.contents(), r = n.prop('contentWindow'), c = o.find('head'), s = e( [ '', ].join('') ), u = o.find('body') c.append(s), u .attr('contenteditable', 'true') .css({ 'min-height': a.height }) .html(i.value || ''), y.apply(l, [r, n, i, a]), g.call(l, r, t, a) }) }, u = function (t) { var i = e('#LAY_layedit_' + t), a = i.prop('contentWindow') return [a, i] }, d = function (t) { return ( 8 == l.ie && (t = t.replace(/<.+>/g, function (t) { return t.toLowerCase() })), t ) }, y = function (t, a, n, o) { var r = t.document, c = e(r.body) c.on('keydown', function (t) { var e = t.keyCode if (13 === e) { var a = m(r), l = p(a), n = l.parentNode if ('pre' === n.tagName.toLowerCase()) { if (t.shiftKey) return return i.msg('请暂时用shift+enter'), !1 } r.execCommand('formatBlock', !1, '

      ') } }), e(n) .parents('form') .on('submit', function () { var t = c.html() 8 == l.ie && (t = t.replace(/<.+>/g, function (t) { return t.toLowerCase() })), (n.value = t) }), c.on('paste', function (e) { r.execCommand('formatBlock', !1, '

      '), setTimeout(function () { f.call(t, c), (n.value = c.html()) }, 100) }) }, f = function (t) { var i = this i.document t.find('*[style]').each(function () { var t = this.style.textAlign this.removeAttribute('style'), e(this).css({ 'text-align': t || '' }) }), t.find('table').addClass('layui-table'), t.find('script,link').remove() }, m = function (t) { return t.selection ? t.selection.createRange() : t.getSelection().getRangeAt(0) }, p = function (t) { return t.endContainer || t.parentElement().childNodes[0] }, v = function (t, i, a) { var l = this.document, n = document.createElement(t) for (var o in i) n.setAttribute(o, i[o]) if ((n.removeAttribute('text'), l.selection)) { var r = a.text || i.text if ('a' === t && !r) return r && (n.innerHTML = r), a.pasteHTML(e(n).prop('outerHTML')), a.select() } else { var r = a.toString() || i.text if ('a' === t && !r) return r && (n.innerHTML = r), a.deleteContents(), a.insertNode(n) } }, h = function (t, i) { var a = this.document, l = 'layedit-tool-active', n = p(m(a)), o = function (e) { return t.find('.layedit-tool-' + e) } i && i[i.hasClass(l) ? 'removeClass' : 'addClass'](l), t.find('>i').removeClass(l), o('unlink').addClass(r), e(n) .parents() .each(function () { var t = this.tagName.toLowerCase(), e = this.style.textAlign ;('b' !== t && 'strong' !== t) || o('b').addClass(l), ('i' !== t && 'em' !== t) || o('i').addClass(l), 'u' === t && o('u').addClass(l), 'strike' === t && o('d').addClass(l), 'p' === t && ('center' === e ? o('center').addClass(l) : 'right' === e ? o('right').addClass(l) : o('left').addClass(l)), 'a' === t && (o('link').addClass(l), o('unlink').removeClass(r)) }) }, g = function (t, a, l) { var n = t.document, o = e(n.body), c = { link: function (i) { var a = p(i), l = e(a).parent() b.call( o, { href: l.attr('href'), target: l.attr('target') }, function (e) { var a = l[0] 'A' === a.tagName ? (a.href = e.url) : v.call( t, 'a', { target: e.target, href: e.url, text: e.url, }, i ) } ) }, unlink: function (t) { n.execCommand('unlink') }, face: function (e) { x.call(this, function (i) { v.call(t, 'img', { src: i.src, alt: i.alt }, e) }) }, image: function (a) { var n = this layui.use('upload', function (o) { var r = l.uploadImage || {} o.render({ url: r.url, method: r.type, elem: e(n).find('input')[0], done: function (e) { 0 == e.code ? ((e.data = e.data || {}), v.call( t, 'img', { src: e.data.src, alt: e.data.title, }, a )) : i.msg(e.msg || '上传失败') }, }) }) }, code: function (e) { k.call(o, function (i) { v.call( t, 'pre', { text: i.code, 'lay-lang': i.lang }, e ) }) }, help: function () { i.open({ type: 2, title: '帮助', area: ['600px', '380px'], shadeClose: !0, shade: 0.1, skin: 'layui-layer-msg', content: ['', 'no'], }) }, }, s = a.find('.layui-layedit-tool'), u = function () { var i = e(this), a = i.attr('layedit-event'), l = i.attr('lay-command') if (!i.hasClass(r)) { o.focus() var u = m(n) u.commonAncestorContainer l ? (n.execCommand(l), /justifyLeft|justifyCenter|justifyRight/.test( l ) && n.execCommand('formatBlock', !1, '

      '), setTimeout(function () { o.focus() }, 10)) : c[a] && c[a].call(this, u), h.call(t, s, i) } }, d = /image/ s .find('>i') .on('mousedown', function () { var t = e(this), i = t.attr('layedit-event') d.test(i) || u.call(this) }) .on('click', function () { var t = e(this), i = t.attr('layedit-event') d.test(i) && u.call(this) }), o.on('click', function () { h.call(t, s), i.close(x.index) }) }, b = function (t, e) { var l = this, n = i.open({ type: 1, id: 'LAY_layedit_link', area: '350px', shade: 0.05, shadeClose: !0, moveType: 1, title: '超链接', skin: 'layui-layer-msg', content: [ '

      ', ].join(''), success: function (t, n) { var o = 'submit(layedit-link-yes)' a.render('radio'), t .find('.layui-btn-primary') .on('click', function () { i.close(n), l.focus() }), a.on(o, function (t) { i.close(b.index), e && e(t.field) }) }, }) b.index = n }, x = function (t) { var a = (function () { var t = [ '[微笑]', '[嘻嘻]', '[哈哈]', '[可爱]', '[可怜]', '[挖鼻]', '[吃惊]', '[害羞]', '[挤眼]', '[闭嘴]', '[鄙视]', '[爱你]', '[泪]', '[偷笑]', '[亲亲]', '[生病]', '[太开心]', '[白眼]', '[右哼哼]', '[左哼哼]', '[嘘]', '[衰]', '[委屈]', '[吐]', '[哈欠]', '[抱抱]', '[怒]', '[疑问]', '[馋嘴]', '[拜拜]', '[思考]', '[汗]', '[困]', '[睡]', '[钱]', '[失望]', '[酷]', '[色]', '[哼]', '[鼓掌]', '[晕]', '[悲伤]', '[抓狂]', '[黑线]', '[阴险]', '[怒骂]', '[互粉]', '[心]', '[伤心]', '[猪头]', '[熊猫]', '[兔子]', '[ok]', '[耶]', '[good]', '[NO]', '[赞]', '[来]', '[弱]', '[草泥马]', '[神马]', '[囧]', '[浮云]', '[给力]', '[围观]', '[威武]', '[奥特曼]', '[礼物]', '[钟]', '[话筒]', '[蜡烛]', '[蛋糕]', ], e = {} return ( layui.each(t, function (t, i) { e[i] = layui.cache.dir + 'images/face/' + t + '.gif' }), e ) })() return ( (x.hide = x.hide || function (t) { 'face' !== e(t.target).attr('layedit-event') && i.close(x.index) }), (x.index = i.tips( (function () { var t = [] return ( layui.each(a, function (e, i) { t.push( '
    • ' +
										e +
										'
    • ' ) }), '' ) })(), this, { tips: 1, time: 0, skin: 'layui-box layui-util-face', maxWidth: 500, success: function (l, n) { l .css({ marginTop: -4, marginLeft: -10 }) .find('.layui-clear>li') .on('click', function () { t && t({ src: a[this.title], alt: this.title, }), i.close(n) }), e(document) .off('click', x.hide) .on('click', x.hide) }, } )) ) }, k = function (t) { var e = this, l = i.open({ type: 1, id: 'LAY_layedit_code', area: '550px', shade: 0.05, shadeClose: !0, moveType: 1, title: '插入代码', skin: 'layui-layer-msg', content: [ '', ].join(''), success: function (l, n) { var o = 'submit(layedit-code-yes)' a.render('select'), l .find('.layui-btn-primary') .on('click', function () { i.close(n), e.focus() }), a.on(o, function (e) { i.close(k.index), t && t(e.field) }) }, }) k.index = l }, C = { html: '', strong: '', italic: '', underline: '', del: '', '|': '', left: '', center: '', right: '', link: '', unlink: '', face: '', image: '', code: '', help: '', }, L = new c() t(n, L) }) layui .define('jquery', function (a) { 'use strict' var e = layui.$ a('code', function (a) { var l = [] ;(a = a || {}), (a.elem = e(a.elem || '.layui-code')), (a.lang = 'lang' in a ? a.lang : 'code'), a.elem.each(function () { l.push(this) }), layui.each(l.reverse(), function (l, i) { var t = e(i), c = t.html() ;(t.attr('lay-encode') || a.encode) && (c = c .replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&') .replace(//g, '>') .replace(/'/g, ''') .replace(/"/g, '"')), t.html( '
      1. ' + c.replace(/[\r\t\n]+/g, '
      2. ') + '
      ' ), t.find('>.layui-code-h3')[0] || t.prepend( '

      ' + (t.attr('lay-title') || a.title || '</>') + '' + (t.attr('lay-lang') || a.lang || '') + '

      ' ) var n = t.find('>.layui-code-ol') t.addClass('layui-box layui-code-view'), (t.attr('lay-skin') || a.skin) && t.addClass( 'layui-code-' + (t.attr('lay-skin') || a.skin) ), ((n.find('li').length / 100) | 0) > 0 && n.css( 'margin-left', ((n.find('li').length / 100) | 0) + 'px' ), (t.attr('lay-height') || a.height) && n.css( 'max-height', t.attr('lay-height') || a.height ) }) }) }) .addcss('modules/code.css?v=1', 'skincodecss')