Authored by wangtao

Merge branch 'master-mj' of http://113.200.75.45:82/monitor_v3/hg-monitor-web into master-mj

@@ -1999,7 +1999,24 @@ layui.define(['xmSelect', 'md5'], function (exports) { @@ -1999,7 +1999,24 @@ layui.define(['xmSelect', 'md5'], function (exports) {
1999 } 1999 }
2000 }); 2000 });
2001 } 2001 }
  2002 + //检索条件区域收缩事件
  2003 + $("a.search_expend_icon").on("click",function (){
  2004 + if($(this).hasClass("expend")){
  2005 + $(this).parent().css("height","auto")
  2006 + $(".layui-status .layui-form-item").slideDown(300 , 'linear');
  2007 + }else{
  2008 + $(".layui-status .layui-form-item").not(":eq(0)").slideUp(300 , 'linear');
  2009 + }
  2010 + $(this).toggleClass("expend");
  2011 + });
2002 2012
  2013 + //解决layui-table-tips不能点击其他地方关闭问题 joke add 20200420
  2014 + document.onclick = function (event) {
  2015 + //如果页面中有layui-table-tips样式,且点击其他的元素不是layui-table-tips或者点击元素的腹肌不是layui-table-tips(资源名称需要判定父级)
  2016 + if ($('.layui-table-tips').length>0 && event.target.className.indexOf('layui-table-tips') == -1 && event.target.parentNode.className.indexOf('layui-table-tips') == -1){
  2017 + $('.layui-table-tips-c').click();
  2018 + }
  2019 + };
2003 //对外暴露的接口 2020 //对外暴露的接口
2004 exports('common', obj); 2021 exports('common', obj);
2005 }); 2022 });
1 -layui.define(['tree', 'treeTable', 'table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', 'sessions', 'xmSelect', "commonDetail", 'view', 'dropdown','echarts'], function (exports) { 1 +layui.define(['jquery','tree', 'treeTable', 'table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', 'sessions', 'xmSelect', "commonDetail", 'view', 'dropdown','echarts'], function (exports) {
2 var $ = layui.$; 2 var $ = layui.$;
3 var form = layui.form; 3 var form = layui.form;
4 var layer = layui.layer; 4 var layer = layui.layer;
@@ -6,6 +6,7 @@ layui.define(['tree', 'treeTable', 'table', 'form', 'laydate', 'admin', 'layer', @@ -6,6 +6,7 @@ layui.define(['tree', 'treeTable', 'table', 'form', 'laydate', 'admin', 'layer',
6 var laytpl = layui.laytpl; 6 var laytpl = layui.laytpl;
7 var common = layui.common; 7 var common = layui.common;
8 var domainName = common.domainName; 8 var domainName = common.domainName;
  9 + var jquery = layui.jquery;
9 var dropdown = layui.dropdown; 10 var dropdown = layui.dropdown;
10 var admin = layui.admin; 11 var admin = layui.admin;
11 var tree = layui.tree; 12 var tree = layui.tree;
@@ -116,7 +117,7 @@ layui.define(['tree', 'treeTable', 'table', 'form', 'laydate', 'admin', 'layer', @@ -116,7 +117,7 @@ layui.define(['tree', 'treeTable', 'table', 'form', 'laydate', 'admin', 'layer',
116 logTypeVal = $logTypeSelected.attr("logType"); 117 logTypeVal = $logTypeSelected.attr("logType");
117 } 118 }
118 logTypeVal = logTypeVal?logTypeVal:""; 119 logTypeVal = logTypeVal?logTypeVal:"";
119 - console.log(logTypeVal); 120 + //console.log(logTypeVal);
120 return { 121 return {
121 type:$('#searchDataType').val(), 122 type:$('#searchDataType').val(),
122 access_token: accessToken, 123 access_token: accessToken,
@@ -402,7 +403,7 @@ layui.define(['tree', 'treeTable', 'table', 'form', 'laydate', 'admin', 'layer', @@ -402,7 +403,7 @@ layui.define(['tree', 'treeTable', 'table', 'form', 'laydate', 'admin', 'layer',
402 setDataVal(initdata,new Date()); 403 setDataVal(initdata,new Date());
403 $('#searchDataType').val('d'); 404 $('#searchDataType').val('d');
404 405
405 - 406 + //console.log(dropdown);
406 var defaultLeft = ''; 407 var defaultLeft = '';
407 var dataTimeRange = false; 408 var dataTimeRange = false;
408 var dataTimeDropdown = dropdown.render({ 409 var dataTimeDropdown = dropdown.render({
  1 +
  2 +/*! lay 基础 DOM 操作 | MIT Licensed */
  3 +
  4 +;!function(window){ //gulp build: lay-header
  5 + "use strict";
  6 +
  7 + var MOD_NAME = 'lay' //模块名
  8 + ,document = window.document
  9 +
  10 + //DOM查找
  11 + ,lay = function(selector){
  12 + return new LAY(selector);
  13 + }
  14 +
  15 + //DOM构造器
  16 + ,LAY = function(selector){
  17 + var index = 0
  18 + ,nativeDOM = typeof selector === 'object' ? [selector] : (
  19 + this.selector = selector
  20 + ,document.querySelectorAll(selector || null)
  21 + );
  22 + for(; index < nativeDOM.length; index++){
  23 + this.push(nativeDOM[index]);
  24 + }
  25 + };
  26 +
  27 + /*
  28 + lay 对象操作
  29 + */
  30 +
  31 + LAY.prototype = [];
  32 + LAY.prototype.constructor = LAY;
  33 +
  34 + //普通对象深度扩展
  35 + lay.extend = function(){
  36 + var ai = 1, args = arguments
  37 + ,clone = function(target, obj){
  38 + target = target || (layui._typeof(obj) === 'array' ? [] : {}); //目标对象
  39 + for(var i in obj){
  40 + //如果值为普通对象,则进入递归,继续深度合并
  41 + target[i] = (obj[i] && obj[i].constructor === Object)
  42 + ? clone(target[i], obj[i])
  43 + : obj[i];
  44 + }
  45 + return target;
  46 + }
  47 +
  48 + args[0] = typeof args[0] === 'object' ? args[0] : {};
  49 +
  50 + for(; ai < args.length; ai++){
  51 + if(typeof args[ai] === 'object'){
  52 + clone(args[0], args[ai]);
  53 + }
  54 + }
  55 + return args[0];
  56 + };
  57 +
  58 + //lay 模块版本
  59 + lay.v = '1.0.8';
  60 +
  61 + //ie版本
  62 + lay.ie = function(){
  63 + var agent = navigator.userAgent.toLowerCase();
  64 + return (!!window.ActiveXObject || "ActiveXObject" in window) ? (
  65 + (agent.match(/msie\s(\d+)/) || [])[1] || '11' //由于 ie11 并没有 msie 的标识
  66 + ) : false;
  67 + }();
  68 +
  69 +
  70 +
  71 +
  72 +
  73 +
  74 + /**
  75 + * 获取 layui 常见方法,以便用于组件单独版
  76 + */
  77 +
  78 + lay.layui = layui || {};
  79 + lay.getPath = layui.cache.dir; //获取当前 JS 所在目录
  80 + lay.stope = layui.stope; //中止冒泡
  81 + lay.each = function(){ //遍历
  82 + layui.each.apply(layui, arguments);
  83 + return this;
  84 + };
  85 +
  86 +
  87 +
  88 +
  89 +
  90 + //数字前置补零
  91 + lay.digit = function(num, length, end){
  92 + var str = '';
  93 + num = String(num);
  94 + length = length || 2;
  95 + for(var i = num.length; i < length; i++){
  96 + str += '0';
  97 + }
  98 + return num < Math.pow(10, length) ? str + (num|0) : num;
  99 + };
  100 +
  101 + //创建元素
  102 + lay.elem = function(elemName, attr){
  103 + var elem = document.createElement(elemName);
  104 + lay.each(attr || {}, function(key, value){
  105 + elem.setAttribute(key, value);
  106 + });
  107 + return elem;
  108 + };
  109 +
  110 + //当前页面是否存在滚动条
  111 + lay.hasScrollbar = function(){
  112 + return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight);
  113 + };
  114 +
  115 + //元素定位
  116 + lay.position = function(elem, elemView, obj){
  117 + if(!elemView) return;
  118 + obj = obj || {};
  119 +
  120 + //如果绑定的是 document 或 body 元素,则直接获取鼠标坐标
  121 + if(elem === document || elem === lay('body')[0]){
  122 + obj.clickType = 'right';
  123 + }
  124 +
  125 + //绑定绑定元素的坐标
  126 + var rect = obj.clickType === 'right' ? function(){
  127 + var e = obj.e || window.event || {};
  128 + return {
  129 + left: e.clientX
  130 + ,top: e.clientY
  131 + ,right: e.clientX
  132 + ,bottom: e.clientY
  133 + }
  134 + }() : elem.getBoundingClientRect()
  135 + ,elemWidth = elemView.offsetWidth //控件的宽度
  136 + ,elemHeight = elemView.offsetHeight //控件的高度
  137 +
  138 + //滚动条高度
  139 + ,scrollArea = function(type){
  140 + type = type ? 'scrollLeft' : 'scrollTop';
  141 + return document.body[type] | document.documentElement[type];
  142 + }
  143 +
  144 + //窗口宽高
  145 + ,winArea = function(type){
  146 + return document.documentElement[type ? 'clientWidth' : 'clientHeight']
  147 + }, margin = 5, left = rect.left, top = rect.bottom;
  148 +
  149 + //相对元素居中
  150 + if(obj.align === 'center'){
  151 + left = left - (elemWidth - elem.offsetWidth)/2;
  152 + } else if(obj.align === 'right'){
  153 + left = left - elemWidth + elem.offsetWidth;
  154 + }
  155 +
  156 + //判断右侧是否超出边界
  157 + if(left + elemWidth + margin > winArea('width')){
  158 + left = winArea('width') - elemWidth - margin; //如果超出右侧,则将面板向右靠齐
  159 + }
  160 + //左侧是否超出边界
  161 + if(left < margin) left = margin;
  162 +
  163 + //判断底部和顶部是否超出边界
  164 + if(top + elemHeight + margin > winArea()){
  165 + //优先顶部是否有足够区域显示完全
  166 + if(rect.top > elemHeight + margin){
  167 + top = rect.top - elemHeight - margin*2; //顶部有足够的区域显示
  168 + } else {
  169 + //如果面板是鼠标右键弹出,且顶部没有足够区域显示,则将面板向底部靠齐
  170 + if(obj.clickType === 'right'){
  171 + top = winArea() - elemHeight - margin*2;
  172 + if(top < 0) top = 0; //不能溢出窗口顶部
  173 + }
  174 + }
  175 + }
  176 +
  177 + //定位类型
  178 + var position = obj.position;
  179 + if(position) elemView.style.position = position;
  180 +
  181 + //设置坐标
  182 + elemView.style.left = left + (position === 'fixed' ? 0 : scrollArea(1)) + 'px';
  183 + elemView.style.top = top + (position === 'fixed' ? 0 : scrollArea()) + 'px';
  184 +
  185 + //防止页面无滚动条时,又因为弹出面板而出现滚动条导致的坐标计算偏差
  186 + if(!lay.hasScrollbar()){
  187 + var rect1 = elemView.getBoundingClientRect();
  188 + //如果弹出面板的溢出窗口底部,则表示将出现滚动条,此时需要重新计算坐标
  189 + if(!obj.SYSTEM_RELOAD && (rect1.bottom + margin) > winArea()){
  190 + obj.SYSTEM_RELOAD = true;
  191 + setTimeout(function(){
  192 + lay.position(elem, elemView, obj);
  193 + }, 50);
  194 + }
  195 + }
  196 + };
  197 +
  198 + //获取元素上的参数配置上
  199 + lay.options = function(elem, attr){
  200 + var othis = lay(elem)
  201 + ,attrName = attr || 'lay-options';
  202 + try {
  203 + return new Function('return '+ (othis.attr(attrName) || '{}'))();
  204 + } catch(ev) {
  205 + hint.error('parseerror:'+ ev, 'error');
  206 + return {};
  207 + }
  208 + };
  209 +
  210 + //元素是否属于顶级元素(document 或 body)
  211 + lay.isTopElem = function(elem){
  212 + var topElems = [document, lay('body')[0]]
  213 + ,matched = false;
  214 + lay.each(topElems, function(index, item){
  215 + if(item === elem){
  216 + return matched = true
  217 + }
  218 + });
  219 + return matched;
  220 + };
  221 +
  222 + //追加字符
  223 + LAY.addStr = function(str, new_str){
  224 + str = str.replace(/\s+/, ' ');
  225 + new_str = new_str.replace(/\s+/, ' ').split(' ');
  226 + lay.each(new_str, function(ii, item){
  227 + if(!new RegExp('\\b'+ item + '\\b').test(str)){
  228 + str = str + ' ' + item;
  229 + }
  230 + });
  231 + return str.replace(/^\s|\s$/, '');
  232 + };
  233 +
  234 + //移除值
  235 + LAY.removeStr = function(str, new_str){
  236 + str = str.replace(/\s+/, ' ');
  237 + new_str = new_str.replace(/\s+/, ' ').split(' ');
  238 + lay.each(new_str, function(ii, item){
  239 + var exp = new RegExp('\\b'+ item + '\\b')
  240 + if(exp.test(str)){
  241 + str = str.replace(exp, '');
  242 + }
  243 + });
  244 + return str.replace(/\s+/, ' ').replace(/^\s|\s$/, '');
  245 + };
  246 +
  247 + //查找子元素
  248 + LAY.prototype.find = function(selector){
  249 + var that = this;
  250 + var index = 0, arr = []
  251 + ,isObject = typeof selector === 'object';
  252 +
  253 + this.each(function(i, item){
  254 + var nativeDOM = isObject ? item.contains(selector) : item.querySelectorAll(selector || null);
  255 + for(; index < nativeDOM.length; index++){
  256 + arr.push(nativeDOM[index]);
  257 + }
  258 + that.shift();
  259 + });
  260 +
  261 + if(!isObject){
  262 + that.selector = (that.selector ? that.selector + ' ' : '') + selector
  263 + }
  264 +
  265 + lay.each(arr, function(i, item){
  266 + that.push(item);
  267 + });
  268 +
  269 + return that;
  270 + };
  271 +
  272 + //DOM遍历
  273 + LAY.prototype.each = function(fn){
  274 + return lay.each.call(this, this, fn);
  275 + };
  276 +
  277 + //添加css类
  278 + LAY.prototype.addClass = function(className, type){
  279 + return this.each(function(index, item){
  280 + item.className = LAY[type ? 'removeStr' : 'addStr'](item.className, className)
  281 + });
  282 + };
  283 +
  284 + //移除 css 类
  285 + LAY.prototype.removeClass = function(className){
  286 + return this.addClass(className, true);
  287 + };
  288 +
  289 + //是否包含 css 类
  290 + LAY.prototype.hasClass = function(className){
  291 + var has = false;
  292 + this.each(function(index, item){
  293 + if(new RegExp('\\b'+ className +'\\b').test(item.className)){
  294 + has = true;
  295 + }
  296 + });
  297 + return has;
  298 + };
  299 +
  300 + //添加或获取 css style
  301 + LAY.prototype.css = function(key, value){
  302 + var that = this
  303 + ,parseValue = function(v){
  304 + return isNaN(v) ? v : (v +'px');
  305 + };
  306 + return (typeof key === 'string' && value === undefined) ? function(){
  307 + if(that.length > 0) return that[0].style[key];
  308 + }() : that.each(function(index, item){
  309 + typeof key === 'object' ? lay.each(key, function(thisKey, thisValue){
  310 + item.style[thisKey] = parseValue(thisValue);
  311 + }) : item.style[key] = parseValue(value);
  312 + });
  313 + };
  314 +
  315 + //添加或获取宽度
  316 + LAY.prototype.width = function(value){
  317 + var that = this;
  318 + return value === undefined ? function(){
  319 + if(that.length > 0) return that[0].offsetWidth; //此处还需做兼容
  320 + }() : that.each(function(index, item){
  321 + that.css('width', value);
  322 + });
  323 + };
  324 +
  325 + //添加或获取高度
  326 + LAY.prototype.height = function(value){
  327 + var that = this;
  328 + return value === undefined ? function(){
  329 + if(that.length > 0) return that[0].offsetHeight; //此处还需做兼容
  330 + }() : that.each(function(index, item){
  331 + that.css('height', value);
  332 + });
  333 + };
  334 +
  335 + //添加或获取属性
  336 + LAY.prototype.attr = function(key, value){
  337 + var that = this;
  338 + return value === undefined ? function(){
  339 + if(that.length > 0) return that[0].getAttribute(key);
  340 + }() : that.each(function(index, item){
  341 + item.setAttribute(key, value);
  342 + });
  343 + };
  344 +
  345 + //移除属性
  346 + LAY.prototype.removeAttr = function(key){
  347 + return this.each(function(index, item){
  348 + item.removeAttribute(key);
  349 + });
  350 + };
  351 +
  352 + //设置或获取 HTML 内容
  353 + LAY.prototype.html = function(html){
  354 + var that = this;
  355 + return html === undefined ? function(){
  356 + if(that.length > 0) return that[0].innerHTML;
  357 + }() : this.each(function(index, item){
  358 + item.innerHTML = html;
  359 + });
  360 + };
  361 +
  362 + //设置或获取值
  363 + LAY.prototype.val = function(value){
  364 + var that = this;
  365 + return value === undefined ? function(){
  366 + if(that.length > 0) return that[0].value;
  367 + }() : this.each(function(index, item){
  368 + item.value = value;
  369 + });
  370 + };
  371 +
  372 + //追加内容
  373 + LAY.prototype.append = function(elem){
  374 + return this.each(function(index, item){
  375 + typeof elem === 'object'
  376 + ? item.appendChild(elem)
  377 + : item.innerHTML = item.innerHTML + elem;
  378 + });
  379 + };
  380 +
  381 + //移除内容
  382 + LAY.prototype.remove = function(elem){
  383 + return this.each(function(index, item){
  384 + elem ? item.removeChild(elem) : item.parentNode.removeChild(item);
  385 + });
  386 + };
  387 +
  388 + //事件绑定
  389 + LAY.prototype.on = function(eventName, fn){
  390 + return this.each(function(index, item){
  391 + item.attachEvent ? item.attachEvent('on' + eventName, function(e){
  392 + e.target = e.srcElement;
  393 + fn.call(item, e);
  394 + }) : item.addEventListener(eventName, fn, false);
  395 + });
  396 + };
  397 +
  398 + //解除事件
  399 + LAY.prototype.off = function(eventName, fn){
  400 + return this.each(function(index, item){
  401 + item.detachEvent
  402 + ? item.detachEvent('on'+ eventName, fn)
  403 + : item.removeEventListener(eventName, fn, false);
  404 + });
  405 + };
  406 +
  407 + //暴露 lay 到全局作用域
  408 + window.lay = lay;
  409 +
  410 + //如果在 layui 体系中
  411 + if(window.layui && layui.define){
  412 + layui.define(function(exports){ //layui 加载
  413 + exports(MOD_NAME, lay);
  414 + });
  415 + }
  416 +
  417 +}(window, window.document);
1 /** layui-v2.5.5 MIT License By https://www.layui.com */ 1 /** layui-v2.5.5 MIT License By https://www.layui.com */
2 - ;!function(e){"use strict";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.5.5"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if("interactive"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),i=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},a="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",transfer:"modules/transfer",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r="function"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return"function"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),!layui["layui.all"]&&layui["layui.mobile"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):"function"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){"jquery"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void("string"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"lay/":/^\{\/\}/.test(y.modules[f])?"":o.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||a?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof n&&(r=n);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(o.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+" timeout"):void(1989===parseInt(a.getStyle(t.getElementById(c),"width"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return"function"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+"css/"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,"function"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,"function"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i("模块名 "+o+" 已被占用"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),o.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||"layui",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o="object"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return"value"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?"windows":/linux/.test(o)?"linux":/iphone|ipod|ipad|ios/.test(o)?"ios":/mac/.test(o)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((o.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:n("micromessenger")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios="ios"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if("function"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;o<e.length&&!t.call(e[o],o,e[o]);o++);return n},n.prototype.sort=function(e,t,o){var n=JSON.parse(JSON.stringify(e||[]));return t?(n.sort(function(e,o){var n=/^-?\d+$/,r=e[t],i=o[t];return n.test(r)&&(r=parseFloat(r)),n.test(i)&&(i=parseFloat(i)),r&&!i?1:!r&&i?-1:r>i?1:r<i?-1:0}),o&&n.reverse(),n):n},n.prototype.stope=function(t){t=t||e.event;try{t.stopPropagation()}catch(o){t.cancelBubble=!0}},n.prototype.onevent=function(e,t,o){return"string"!=typeof e||"function"!=typeof o?this:n.event(e,t,null,o)},n.prototype.event=n.event=function(e,t,n,r){var i=this,a=null,u=t.match(/\((.*)\)$/)||[],l=(e+"."+t).replace(u[0],""),s=u[1]||"",c=function(e,t){var o=t&&t.call(i,n);o===!1&&null===a&&(a=!1)};return r?(o.event[l]=o.event[l]||{},o.event[l][s]=[r],this):(layui.each(o.event[l],function(e,t){return"{*}"===s?void layui.each(t,c):(""===e&&layui.each(t,c),void(s&&e===s&&layui.each(t,c)))}),a)},e.layui=new n}(window);  
  2 + ;!function(e){"use strict";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.5.5"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if("interactive"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),i=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},a="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",transfer:"modules/transfer",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",dropdown:"modules/dropdown",mobile:"modules/mobile","layui.all":"../layui.all"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r="function"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return"function"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),!layui["layui.all"]&&layui["layui.mobile"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):"function"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){"jquery"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void("string"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"lay/":/^\{\/\}/.test(y.modules[f])?"":o.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||a?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof n&&(r=n);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(o.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+" timeout"):void(1989===parseInt(a.getStyle(t.getElementById(c),"width"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return"function"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+"css/"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,"function"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,"function"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i("模块名 "+o+" 已被占用"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),o.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||"layui",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o="object"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return"value"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?"windows":/linux/.test(o)?"linux":/iphone|ipod|ipad|ios/.test(o)?"ios":/mac/.test(o)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((o.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:n("micromessenger")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios="ios"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if("function"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;o<e.length&&!t.call(e[o],o,e[o]);o++);return n},n.prototype.sort=function(e,t,o){var n=JSON.parse(JSON.stringify(e||[]));return t?(n.sort(function(e,o){var n=/^-?\d+$/,r=e[t],i=o[t];return n.test(r)&&(r=parseFloat(r)),n.test(i)&&(i=parseFloat(i)),r&&!i?1:!r&&i?-1:r>i?1:r<i?-1:0}),o&&n.reverse(),n):n},n.prototype.stope=function(t){t=t||e.event;try{t.stopPropagation()}catch(o){t.cancelBubble=!0}},n.prototype.onevent=function(e,t,o){return"string"!=typeof e||"function"!=typeof o?this:n.event(e,t,null,o)},n.prototype.event=n.event=function(e,t,n,r){var i=this,a=null,u=t.match(/\((.*)\)$/)||[],l=(e+"."+t).replace(u[0],""),s=u[1]||"",c=function(e,t){var o=t&&t.call(i,n);o===!1&&null===a&&(a=!1)};return r?(o.event[l]=o.event[l]||{},o.event[l][s]=[r],this):(layui.each(o.event[l],function(e,t){return"{*}"===s?void layui.each(t,c):(""===e&&layui.each(t,c),void(s&&e===s&&layui.each(t,c)))}),a)},e.layui=new n}(window);