/** layui-v2.5.7 MIT License */ 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) { e.reload.call(e, t) }, setColsWidth: function () { e.setColsWidth.call(e) }, resize: function () { e.resize.call(e) }, } ) }, s = function (e) { var t = c.config[e] return ( t || o.error( 'The ID option was not found in the table instance' ), 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', A = '.layui-table-fixed-r', L = '.layui-table-total', N = '.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('') ) }, E = [ '', '', '
', ].join(''), z = [ '
', '{{# if(d.data.toolbar){ }}', '
', '
', '
', '
', '{{# } }}', '
', '{{# if(d.data.loading){ }}', '
', '', '
', '{{# } }}', '{{# var left, right; }}', '
', _(), '
', '
', E, '
', '{{# if(left){ }}', '
', '
', _({ fixed: !0 }), '
', '
', E, '
', '
', '{{# }; }}', '{{# if(right){ }}', '
', '
', _({ fixed: 'right' }), '
', '
', '
', E, '
', '
', '{{# }; }}', '
', '{{# if(d.data.totalRow){ }}', '
', '', '', '
', '
', '{{# } }}', '{{# if(d.data.page){ }}', '
', '
', '
', '{{# } }}', '', '
', ].join(''), H = t(window), j = t(document), F = function (e) { var i = this ;(i.index = ++d.index), (i.config = t.extend({}, i.config, d.config, e)), i.render() } ;(F.prototype.config = { limit: 10, loading: !0, cellMinWidth: 60, defaultToolbar: ['filter', 'exports', 'print'], autoSort: !0, text: { none: '无数据' }, }), (F.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 = H.height() - e.fullHeightGap)), e.setInit() var l = a.elem, n = l.next('.' + v), o = (e.elem = t( i(z).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(A)), (e.layTotal = o.find(L)), (e.layPage = o.find(N)), 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() }), (F.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])) }), (F.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) }) }) ) }), (F.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('')) }), (F.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) } }), (F.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) }) }) }), (F.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) }), (F.prototype.resize = function () { var e = this e.fullSize(), e.setColsWidth(), e.scrollPatch() }), (F.prototype.reload = function (e) { var i = this ;(e = e || {}), delete i.haveInit, e.data && e.data.constructor === Array && delete i.config.data, (i.config = t.extend(!0, {}, i.config, e)), i.render() }), (F.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] = []) }), (F.prototype.page = 1), (F.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() }, }) } 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]) } }), (F.prototype.eachCols = function (e) { var t = this return d.eachCols(null, e, t.config.cols), t }), (F.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)) ))) ) }), (F.prototype.renderTotal = function (e, t) { var i = this, a = i.config, l = {} if (a.totalRow) { layui.each(e, function (e, t) { 0 !== t.length && i.eachCols(function (e, i) { var a = i.field || e, n = t[a] i.totalRow && (l[a] = (l[a] || 0) + (parseFloat(n) || 0)) }) }), (i.dataTotal = {}) var n = [] i.eachCols(function (e, o) { var r = o.field || e, d = (function () { var e = o.totalRowText || '', i = parseFloat(l[r]).toFixed(2), a = {} return ( (a[r] = i), (i = u(o, i, a)), t ? t[o.field] || e : o.totalRow ? i || e : e ) })(), c = [ '', '
' + d, '
', ].join('') o.field && (i.dataTotal[r] = d), n.push(c) }), i.layTotal.find('tbody').html('' + n.join('') + '') } }), (F.prototype.getColElem = function (e, t) { var i = this, a = i.config return e .eq(0) .find('.laytable-cell-' + (a.index + '-' + t) + ':eq(0)') }), (F.prototype.renderForm = function (e) { n.render(e, 'LAY-table-' + this.index) }), (F.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) }), (F.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 && 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) { return o.error('Table modules: Did not match to field') } ;(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, }) }), (F.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))) }), (F.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) }), (F.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))) }), (F.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 }) }), (F.prototype.fullSize = function () { var e, t = this, i = t.config, a = i.height t.fullHeightGap && ((a = H.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)) }), (F.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 ) }), (F.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) }), (F.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), j.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) }) } }), j .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(), a = e[0].checked, l = d.cache[i.key], n = e.parents('tr').eq(0).data('index') layui.each(l, function (e, t) { n === e ? (t.LAY_CHECKED = !0) : delete t.LAY_CHECKED }), i.setThisRowChecked(n), layui.event.call( this, y, 'radio(' + p + ')', v.call(this, { checked: a }) ) } ), 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) }), H.on('resize', function () { i.resize() }) }), (function () { j.on('click', function () { j.trigger('table.remove.tool.panel') }), j.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) } 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.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) { var i = s(e) if (i) { var a = c.that[e] return a.reload(t), c.call(a) } }), (d.render = function (e) { var t = new F(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) })