diff --git a/SMMS/.settings/org.eclipse.jdt.core.prefs b/SMMS/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 0c68a61..0000000 --- a/SMMS/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/SMMS/.settings/org.eclipse.wst.common.component b/SMMS/.settings/org.eclipse.wst.common.component deleted file mode 100644 index 74fb9d3..0000000 --- a/SMMS/.settings/org.eclipse.wst.common.component +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/SMMS/.settings/org.eclipse.wst.common.project.facet.core.xml b/SMMS/.settings/org.eclipse.wst.common.project.facet.core.xml deleted file mode 100644 index 24124f7..0000000 --- a/SMMS/.settings/org.eclipse.wst.common.project.facet.core.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/SMMS/.settings/org.eclipse.wst.jsdt.ui.superType.container b/SMMS/.settings/org.eclipse.wst.jsdt.ui.superType.container deleted file mode 100644 index 3bd5d0a..0000000 --- a/SMMS/.settings/org.eclipse.wst.jsdt.ui.superType.container +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/SMMS/.settings/org.eclipse.wst.jsdt.ui.superType.name b/SMMS/.settings/org.eclipse.wst.jsdt.ui.superType.name deleted file mode 100644 index 05bd71b..0000000 --- a/SMMS/.settings/org.eclipse.wst.jsdt.ui.superType.name +++ /dev/null @@ -1 +0,0 @@ -Window \ No newline at end of file diff --git a/SMMS/WebContent/404.jsp b/SMMS/WebContent/404.jsp deleted file mode 100644 index 579bae2..0000000 --- a/SMMS/WebContent/404.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" isErrorPage="true" - pageEncoding="UTF-8"%> - - - - -不好意思您访问的页面不存在 - - - - -
-

404

-

不好意思,您访问的页面不存在~

-
- - \ No newline at end of file diff --git a/SMMS/WebContent/500.jsp b/SMMS/WebContent/500.jsp deleted file mode 100644 index 9400884..0000000 --- a/SMMS/WebContent/500.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" isErrorPage="true" - pageEncoding="UTF-8"%> - - - - -服务端错误 - - - - -
-

500

-

不好意思,服务端错误啦~

-
- - \ No newline at end of file diff --git a/SMMS/WebContent/META-INF/MANIFEST.MF b/SMMS/WebContent/META-INF/MANIFEST.MF deleted file mode 100644 index 254272e..0000000 --- a/SMMS/WebContent/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/SMMS/WebContent/WEB-INF/lib/FilelLoad.jar b/SMMS/WebContent/WEB-INF/lib/FilelLoad.jar deleted file mode 100644 index 24b4e5a..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/FilelLoad.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/bcprov-jdk15on-1.70.jar b/SMMS/WebContent/WEB-INF/lib/bcprov-jdk15on-1.70.jar deleted file mode 100644 index 0e4198e..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/bcprov-jdk15on-1.70.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-beanutils-1.8.0.jar b/SMMS/WebContent/WEB-INF/lib/commons-beanutils-1.8.0.jar deleted file mode 100644 index caf7ae3..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-beanutils-1.8.0.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-beanutils-1.8.3.jar b/SMMS/WebContent/WEB-INF/lib/commons-beanutils-1.8.3.jar deleted file mode 100644 index 218510b..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-beanutils-1.8.3.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar b/SMMS/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar deleted file mode 100644 index c35fa1f..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-dbutils-1.8.1.jar b/SMMS/WebContent/WEB-INF/lib/commons-dbutils-1.8.1.jar deleted file mode 100644 index 96e2ca9..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-dbutils-1.8.1.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar b/SMMS/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar deleted file mode 100644 index aa209b3..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-io-1.4.jar b/SMMS/WebContent/WEB-INF/lib/commons-io-1.4.jar deleted file mode 100644 index 133dc6c..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-io-1.4.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-lang-2.5.jar b/SMMS/WebContent/WEB-INF/lib/commons-lang-2.5.jar deleted file mode 100644 index ae491da..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-lang-2.5.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-logging-1.1.1.jar b/SMMS/WebContent/WEB-INF/lib/commons-logging-1.1.1.jar deleted file mode 100644 index 8758a96..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-logging-1.1.1.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/commons-logging.jar b/SMMS/WebContent/WEB-INF/lib/commons-logging.jar deleted file mode 100644 index 8758a96..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/commons-logging.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/druid-1.2.24.jar b/SMMS/WebContent/WEB-INF/lib/druid-1.2.24.jar deleted file mode 100644 index d26c219..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/druid-1.2.24.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/ezmorph-1.0.6.jar b/SMMS/WebContent/WEB-INF/lib/ezmorph-1.0.6.jar deleted file mode 100644 index 30fad12..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/ezmorph-1.0.6.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/json-lib-2.3-jdk15.jar b/SMMS/WebContent/WEB-INF/lib/json-lib-2.3-jdk15.jar deleted file mode 100644 index 29d59b9..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/json-lib-2.3-jdk15.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/jsonplugin-0.34.jar b/SMMS/WebContent/WEB-INF/lib/jsonplugin-0.34.jar deleted file mode 100644 index 7edffda..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/jsonplugin-0.34.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/jstl-1.2.jar b/SMMS/WebContent/WEB-INF/lib/jstl-1.2.jar deleted file mode 100644 index 0fd275e..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/jstl-1.2.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/mysql-connector-j-8.3.0.jar b/SMMS/WebContent/WEB-INF/lib/mysql-connector-j-8.3.0.jar deleted file mode 100644 index 5c720ab..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/mysql-connector-j-8.3.0.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/mysql-connector-java-8.0.30.jar b/SMMS/WebContent/WEB-INF/lib/mysql-connector-java-8.0.30.jar deleted file mode 100644 index 92ebe1b..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/mysql-connector-java-8.0.30.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/pinyin4j-2.5.1.jar b/SMMS/WebContent/WEB-INF/lib/pinyin4j-2.5.1.jar deleted file mode 100644 index 8446c53..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/pinyin4j-2.5.1.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/poi-3.9.jar b/SMMS/WebContent/WEB-INF/lib/poi-3.9.jar deleted file mode 100644 index 0f46288..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/poi-3.9.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/lib/standard.jar b/SMMS/WebContent/WEB-INF/lib/standard.jar deleted file mode 100644 index bc528ac..0000000 Binary files a/SMMS/WebContent/WEB-INF/lib/standard.jar and /dev/null differ diff --git a/SMMS/WebContent/WEB-INF/web.xml b/SMMS/WebContent/WEB-INF/web.xml deleted file mode 100644 index 9c9807b..0000000 --- a/SMMS/WebContent/WEB-INF/web.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - SMMS - - index.jsp - - - 404 - /404.jsp - - - 500 - /500.jsp - - \ No newline at end of file diff --git a/SMMS/WebContent/index.jsp b/SMMS/WebContent/index.jsp deleted file mode 100644 index 5372ce8..0000000 --- a/SMMS/WebContent/index.jsp +++ /dev/null @@ -1,3 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> - - \ No newline at end of file diff --git a/SMMS/WebContent/static/css/login.css b/SMMS/WebContent/static/css/login.css deleted file mode 100644 index 0f4ce50..0000000 --- a/SMMS/WebContent/static/css/login.css +++ /dev/null @@ -1,191 +0,0 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -body { - font-family: 'Microsoft YaHei', sans-serif; - background: url('../img/login-bg.jpg') no-repeat center center; - background-size: cover; - height: 100vh; - display: flex; - justify-content: center; - align-items: center; - overflow: hidden; - position: relative; -} - -body::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: rgba(255, 255, 255, 0.1); - backdrop-filter: blur(3px); -} - -.login-container { - background: rgba(255, 255, 255, 0.9); - padding: 40px; - border-radius: 15px; - box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); - width: 400px; - position: relative; - z-index: 1; - overflow: hidden; - backdrop-filter: blur(10px); - border: 1px solid rgba(255, 255, 255, 0.3); -} - -.login-container::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0)); - z-index: -1; -} - -.login-title { - text-align: center; - color: #2c3e50; - margin-bottom: 30px; - font-size: 28px; - font-weight: 600; - position: relative; - letter-spacing: 1px; -} - -.login-title::after { - content: ''; - position: absolute; - bottom: -10px; - left: 50%; - transform: translateX(-50%); - width: 100px; - height: 3px; - background: linear-gradient(90deg, #3498db, #2ecc71); -} - -.form-group { - margin-bottom: 25px; - position: relative; -} - -.form-group label { - display: block; - margin-bottom: 8px; - color: #2c3e50; - font-size: 14px; - font-weight: 500; -} - -.form-group input { - width: 100%; - padding: 12px 15px; - background: rgba(255, 255, 255, 0.8); - border: 1px solid #e0e0e0; - border-radius: 8px; - font-size: 16px; - color: #2c3e50; - transition: all 0.3s ease; - font-family: 'Microsoft YaHei', sans-serif; -} - -.form-group input:focus { - outline: none; - border-color: #3498db; - box-shadow: 0 0 10px rgba(52, 152, 219, 0.2); - background: #fff; -} - -.form-group input::placeholder { - color: #95a5a6; - font-family: 'Microsoft YaHei', sans-serif; -} - -.remember-me { - display: flex; - align-items: center; - margin-bottom: 20px; - color: #2c3e50; - font-size: 14px; - cursor: pointer; -} - -.remember-me input[type="checkbox"] { - appearance: none; - -webkit-appearance: none; - width: 18px; - height: 18px; - border: 1px solid #e0e0e0; - border-radius: 4px; - margin-right: 10px; - position: relative; - cursor: pointer; - background: #fff; -} - -.remember-me input[type="checkbox"]:checked { - background: #3498db; - border-color: #3498db; -} - -.remember-me input[type="checkbox"]:checked::after { - content: '✓'; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - color: #fff; - font-size: 12px; -} - -.login-btn { - width: 100%; - padding: 14px; - background: linear-gradient(45deg, #3498db, #2ecc71); - color: #fff; - border: none; - border-radius: 8px; - font-size: 16px; - font-weight: 500; - cursor: pointer; - transition: all 0.3s ease; - font-family: 'Microsoft YaHei', sans-serif; - position: relative; - overflow: hidden; -} - -.login-btn:hover { - transform: translateY(-2px); - box-shadow: 0 5px 15px rgba(46, 204, 113, 0.3); -} - -.login-btn::before { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); - transition: 0.5s; -} - -.login-btn:hover::before { - left: 100%; -} - -.error-message { - color: #e74c3c; - font-size: 14px; - margin-top: 5px; - display: none; - font-family: 'Microsoft YaHei', sans-serif; -} \ No newline at end of file diff --git a/SMMS/WebContent/static/easyui/css/default.css b/SMMS/WebContent/static/easyui/css/default.css deleted file mode 100644 index 4a9fcb5..0000000 --- a/SMMS/WebContent/static/easyui/css/default.css +++ /dev/null @@ -1,40 +0,0 @@ -*{font-size:12px; font-family:Tahoma,Verdana,微软雅黑,新宋体} -body{background:#D2E0F2; } -a{ color:Black; text-decoration:none;} -a:hover{ color:Red; text-decoration:underline;} -.textbox03 {border: #878787 1px solid;padding: 4px 3px;font:Verdana, Geneva, sans-serif,宋体;line-height: 14px; background-color: #fff; height: auto; font-size: 14px; font-weight: bold; width: 190px; } - -.txt01{font:Verdana, Geneva, sans-serif,宋体;padding:3px 2px 2px 2px; border-width:1px; border-color:#ddd; color:#000;} -.txt {border: #878787 1px solid;padding: 4px 3px;font:Verdana, Geneva, sans-serif,宋体;line-height: 14px; background-color: #fff; height: auto; font-size: 14px;} -.footer{text-align:center;color:#15428B; margin:0px; padding:0px;line-height:23px; font-weight:bold;} - -.head a{color:White;text-decoration:underline;} - -.easyui-accordion ul{list-style-type:none;margin:0px; padding:10px;} -.easyui-accordion ul li{ padding:0px;} -.easyui-accordion ul li a{line-height:24px;} -.easyui-accordion ul li div{margin:2px 0px;padding-left:10px;padding-top:2px;} -.easyui-accordion ul li div.hover{border:1px dashed #99BBE8; background:#E0ECFF;cursor:pointer;} -.easyui-accordion ul li div.hover a{color:#416AA3;} -.easyui-accordion ul li div.selected{border:1px solid #99BBE8; background:#E0ECFF;cursor:default;} -.easyui-accordion ul li div.selected a{color:#416AA3; font-weight:bold;} - - - -.icon{ background:url(../images/tabicons.png) no-repeat;width:18px; line-height:18px; display:inline-block;} -.icon-sys{ background-position:0px -200px;} -.icon-set{ background-position:-380px -200px;} -.icon-add{background-position: -20px 0px;} -.icon-add1{background:url('icon/edit_add.png') no-repeat;} -.icon-nav{background-position: -100px -20px; } -.icon-users{background-position: -100px -480px;} -.icon-role{background-position: -360px -200px;} -.icon-set{background-position: -380px -200px;} -.icon-log{background-position: -380px -80px;} -.icon-delete16{background:url('icon/delete.gif') no-repeat;width:18px; line-height:18px; display:inline-block;} -.icon-delete{ background-position:-140px -120px;} -.icon-edit{ background-position:-380px -320px;} -.icon-magic{ background-position:0px -500px;} -.icon-database{ background-position:-20px -140px;} -.icon-expand{ background:url('/images/coll2.gif') no-repeat;} -.icon-collapse{ background:url('/images/coll3.gif') no-repeat;} diff --git a/SMMS/WebContent/static/easyui/css/demo.css b/SMMS/WebContent/static/easyui/css/demo.css deleted file mode 100644 index 5c01467..0000000 --- a/SMMS/WebContent/static/easyui/css/demo.css +++ /dev/null @@ -1,21 +0,0 @@ -*{ - font-size:12px; -} -body { - font-family:verdana,helvetica,arial,sans-serif; - padding:20px; - font-size:12px; - margin:0; -} -h2 { - font-size:18px; - font-weight:bold; - margin:0; - margin-bottom:15px; -} -.demo-info{ - padding:0 0 12px 0; -} -.demo-tip{ - display:none; -} diff --git a/SMMS/WebContent/static/easyui/jquery.easyui.min.js b/SMMS/WebContent/static/easyui/jquery.easyui.min.js deleted file mode 100644 index b65353a..0000000 --- a/SMMS/WebContent/static/easyui/jquery.easyui.min.js +++ /dev/null @@ -1,13911 +0,0 @@ -/** - * jQuery EasyUI 1.4.2 - * - * Copyright (c) 2009-2015 www.jeasyui.com. All rights reserved. - * - * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt - * To use it on other terms please contact us at info@jeasyui.com - * - */ -(function($){ -$.parser={auto:true,onComplete:function(_1){ -},plugins:["draggable","droppable","resizable","pagination","tooltip","linkbutton","menu","menubutton","splitbutton","progressbar","tree","textbox","filebox","combo","combobox","combotree","combogrid","numberbox","validatebox","searchbox","spinner","numberspinner","timespinner","datetimespinner","calendar","datebox","datetimebox","slider","layout","panel","datagrid","propertygrid","treegrid","datalist","tabs","accordion","window","dialog","form"],parse:function(_2){ -var aa=[]; -for(var i=0;i<$.parser.plugins.length;i++){ -var _3=$.parser.plugins[i]; -var r=$(".easyui-"+_3,_2); -if(r.length){ -if(r[_3]){ -r[_3](); -}else{ -aa.push({name:_3,jq:r}); -} -} -} -if(aa.length&&window.easyloader){ -var _4=[]; -for(var i=0;i=0){ -v=Math.floor((_8.width()-_9)*v/100); -}else{ -v=Math.floor((_8.height()-_9)*v/100); -} -}else{ -v=parseInt(v)||undefined; -} -return v; -},parseOptions:function(_b,_c){ -var t=$(_b); -var _d={}; -var s=$.trim(t.attr("data-options")); -if(s){ -if(s.substring(0,1)!="{"){ -s="{"+s+"}"; -} -_d=(new Function("return "+s))(); -} -$.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){ -var pv=$.trim(_b.style[p]||""); -if(pv){ -if(pv.indexOf("%")==-1){ -pv=parseInt(pv)||undefined; -} -_d[p]=pv; -} -}); -if(_c){ -var _e={}; -for(var i=0;i<_c.length;i++){ -var pp=_c[i]; -if(typeof pp=="string"){ -_e[pp]=t.attr(pp); -}else{ -for(var _f in pp){ -var _10=pp[_f]; -if(_10=="boolean"){ -_e[_f]=t.attr(_f)?(t.attr(_f)=="true"):undefined; -}else{ -if(_10=="number"){ -_e[_f]=t.attr(_f)=="0"?0:parseFloat(t.attr(_f))||undefined; -} -} -} -} -} -$.extend(_d,_e); -} -return _d; -}}; -$(function(){ -var d=$("
").appendTo("body"); -$._boxModel=d.outerWidth()!=100; -d.remove(); -if(!window.easyloader&&$.parser.auto){ -$.parser.parse(); -} -}); -$.fn._outerWidth=function(_11){ -if(_11==undefined){ -if(this[0]==window){ -return this.width()||document.body.clientWidth; -} -return this.outerWidth()||0; -} -return this._size("width",_11); -}; -$.fn._outerHeight=function(_12){ -if(_12==undefined){ -if(this[0]==window){ -return this.height()||document.body.clientHeight; -} -return this.outerHeight()||0; -} -return this._size("height",_12); -}; -$.fn._scrollLeft=function(_13){ -if(_13==undefined){ -return this.scrollLeft(); -}else{ -return this.each(function(){ -$(this).scrollLeft(_13); -}); -} -}; -$.fn._propAttr=$.fn.prop||$.fn.attr; -$.fn._size=function(_14,_15){ -if(typeof _14=="string"){ -if(_14=="clear"){ -return this.each(function(){ -$(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""}); -}); -}else{ -if(_14=="fit"){ -return this.each(function(){ -_16(this,this.tagName=="BODY"?$("body"):$(this).parent(),true); -}); -}else{ -if(_14=="unfit"){ -return this.each(function(){ -_16(this,$(this).parent(),false); -}); -}else{ -if(_15==undefined){ -return _17(this[0],_14); -}else{ -return this.each(function(){ -_17(this,_14,_15); -}); -} -} -} -} -}else{ -return this.each(function(){ -_15=_15||$(this).parent(); -$.extend(_14,_16(this,_15,_14.fit)||{}); -var r1=_18(this,"width",_15,_14); -var r2=_18(this,"height",_15,_14); -if(r1||r2){ -$(this).addClass("easyui-fluid"); -}else{ -$(this).removeClass("easyui-fluid"); -} -}); -} -function _16(_19,_1a,fit){ -if(!_1a.length){ -return false; -} -var t=$(_19)[0]; -var p=_1a[0]; -var _1b=p.fcount||0; -if(fit){ -if(!t.fitted){ -t.fitted=true; -p.fcount=_1b+1; -$(p).addClass("panel-noscroll"); -if(p.tagName=="BODY"){ -$("html").addClass("panel-fit"); -} -} -return {width:($(p).width()||1),height:($(p).height()||1)}; -}else{ -if(t.fitted){ -t.fitted=false; -p.fcount=_1b-1; -if(p.fcount==0){ -$(p).removeClass("panel-noscroll"); -if(p.tagName=="BODY"){ -$("html").removeClass("panel-fit"); -} -} -} -return false; -} -}; -function _18(_1c,_1d,_1e,_1f){ -var t=$(_1c); -var p=_1d; -var p1=p.substr(0,1).toUpperCase()+p.substr(1); -var min=$.parser.parseValue("min"+p1,_1f["min"+p1],_1e); -var max=$.parser.parseValue("max"+p1,_1f["max"+p1],_1e); -var val=$.parser.parseValue(p,_1f[p],_1e); -var _20=(String(_1f[p]||"").indexOf("%")>=0?true:false); -if(!isNaN(val)){ -var v=Math.min(Math.max(val,min||0),max||99999); -if(!_20){ -_1f[p]=v; -} -t._size("min"+p1,""); -t._size("max"+p1,""); -t._size(p,v); -}else{ -t._size(p,""); -t._size("min"+p1,min); -t._size("max"+p1,max); -} -return _20||_1f.fit; -}; -function _17(_21,_22,_23){ -var t=$(_21); -if(_23==undefined){ -_23=parseInt(_21.style[_22]); -if(isNaN(_23)){ -return undefined; -} -if($._boxModel){ -_23+=_24(); -} -return _23; -}else{ -if(_23===""){ -t.css(_22,""); -}else{ -if($._boxModel){ -_23-=_24(); -if(_23<0){ -_23=0; -} -} -t.css(_22,_23+"px"); -} -} -function _24(){ -if(_22.toLowerCase().indexOf("width")>=0){ -return t.outerWidth()-t.width(); -}else{ -return t.outerHeight()-t.height(); -} -}; -}; -}; -})(jQuery); -(function($){ -var _25=null; -var _26=null; -var _27=false; -function _28(e){ -if(e.touches.length!=1){ -return; -} -if(!_27){ -_27=true; -dblClickTimer=setTimeout(function(){ -_27=false; -},500); -}else{ -clearTimeout(dblClickTimer); -_27=false; -_29(e,"dblclick"); -} -_25=setTimeout(function(){ -_29(e,"contextmenu",3); -},1000); -_29(e,"mousedown"); -if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ -e.preventDefault(); -} -}; -function _2a(e){ -if(e.touches.length!=1){ -return; -} -if(_25){ -clearTimeout(_25); -} -_29(e,"mousemove"); -if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ -e.preventDefault(); -} -}; -function _2b(e){ -if(_25){ -clearTimeout(_25); -} -_29(e,"mouseup"); -if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ -e.preventDefault(); -} -}; -function _29(e,_2c,_2d){ -var _2e=new $.Event(_2c); -_2e.pageX=e.changedTouches[0].pageX; -_2e.pageY=e.changedTouches[0].pageY; -_2e.which=_2d||1; -$(e.target).trigger(_2e); -}; -if(document.addEventListener){ -document.addEventListener("touchstart",_28,true); -document.addEventListener("touchmove",_2a,true); -document.addEventListener("touchend",_2b,true); -} -})(jQuery); -(function($){ -function _2f(e){ -var _30=$.data(e.data.target,"draggable"); -var _31=_30.options; -var _32=_30.proxy; -var _33=e.data; -var _34=_33.startLeft+e.pageX-_33.startX; -var top=_33.startTop+e.pageY-_33.startY; -if(_32){ -if(_32.parent()[0]==document.body){ -if(_31.deltaX!=null&&_31.deltaX!=undefined){ -_34=e.pageX+_31.deltaX; -}else{ -_34=e.pageX-e.data.offsetWidth; -} -if(_31.deltaY!=null&&_31.deltaY!=undefined){ -top=e.pageY+_31.deltaY; -}else{ -top=e.pageY-e.data.offsetHeight; -} -}else{ -if(_31.deltaX!=null&&_31.deltaX!=undefined){ -_34+=e.data.offsetWidth+_31.deltaX; -} -if(_31.deltaY!=null&&_31.deltaY!=undefined){ -top+=e.data.offsetHeight+_31.deltaY; -} -} -} -if(e.data.parent!=document.body){ -_34+=$(e.data.parent).scrollLeft(); -top+=$(e.data.parent).scrollTop(); -} -if(_31.axis=="h"){ -_33.left=_34; -}else{ -if(_31.axis=="v"){ -_33.top=top; -}else{ -_33.left=_34; -_33.top=top; -} -} -}; -function _35(e){ -var _36=$.data(e.data.target,"draggable"); -var _37=_36.options; -var _38=_36.proxy; -if(!_38){ -_38=$(e.data.target); -} -_38.css({left:e.data.left,top:e.data.top}); -$("body").css("cursor",_37.cursor); -}; -function _39(e){ -if(!$.fn.draggable.isDragging){ -return false; -} -var _3a=$.data(e.data.target,"draggable"); -var _3b=_3a.options; -var _3c=$(".droppable").filter(function(){ -return e.data.target!=this; -}).filter(function(){ -var _3d=$.data(this,"droppable").options.accept; -if(_3d){ -return $(_3d).filter(function(){ -return this==e.data.target; -}).length>0; -}else{ -return true; -} -}); -_3a.droppables=_3c; -var _3e=_3a.proxy; -if(!_3e){ -if(_3b.proxy){ -if(_3b.proxy=="clone"){ -_3e=$(e.data.target).clone().insertAfter(e.data.target); -}else{ -_3e=_3b.proxy.call(e.data.target,e.data.target); -} -_3a.proxy=_3e; -}else{ -_3e=$(e.data.target); -} -} -_3e.css("position","absolute"); -_2f(e); -_35(e); -_3b.onStartDrag.call(e.data.target,e); -return false; -}; -function _3f(e){ -if(!$.fn.draggable.isDragging){ -return false; -} -var _40=$.data(e.data.target,"draggable"); -_2f(e); -if(_40.options.onDrag.call(e.data.target,e)!=false){ -_35(e); -} -var _41=e.data.target; -_40.droppables.each(function(){ -var _42=$(this); -if(_42.droppable("options").disabled){ -return; -} -var p2=_42.offset(); -if(e.pageX>p2.left&&e.pageXp2.top&&e.pageYp2.left&&e.pageXp2.top&&e.pageY_58.options.edge; -}; -}); -}; -$.fn.draggable.methods={options:function(jq){ -return $.data(jq[0],"draggable").options; -},proxy:function(jq){ -return $.data(jq[0],"draggable").proxy; -},enable:function(jq){ -return jq.each(function(){ -$(this).draggable({disabled:false}); -}); -},disable:function(jq){ -return jq.each(function(){ -$(this).draggable({disabled:true}); -}); -}}; -$.fn.draggable.parseOptions=function(_5d){ -var t=$(_5d); -return $.extend({},$.parser.parseOptions(_5d,["cursor","handle","axis",{"revert":"boolean","deltaX":"number","deltaY":"number","edge":"number","delay":"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); -}; -$.fn.draggable.defaults={proxy:null,revert:false,cursor:"move",deltaX:null,deltaY:null,handle:null,disabled:false,edge:0,axis:null,delay:100,onBeforeDrag:function(e){ -},onStartDrag:function(e){ -},onDrag:function(e){ -},onStopDrag:function(e){ -}}; -$.fn.draggable.isDragging=false; -})(jQuery); -(function($){ -function _5e(_5f){ -$(_5f).addClass("droppable"); -$(_5f).bind("_dragenter",function(e,_60){ -$.data(_5f,"droppable").options.onDragEnter.apply(_5f,[e,_60]); -}); -$(_5f).bind("_dragleave",function(e,_61){ -$.data(_5f,"droppable").options.onDragLeave.apply(_5f,[e,_61]); -}); -$(_5f).bind("_dragover",function(e,_62){ -$.data(_5f,"droppable").options.onDragOver.apply(_5f,[e,_62]); -}); -$(_5f).bind("_drop",function(e,_63){ -$.data(_5f,"droppable").options.onDrop.apply(_5f,[e,_63]); -}); -}; -$.fn.droppable=function(_64,_65){ -if(typeof _64=="string"){ -return $.fn.droppable.methods[_64](this,_65); -} -_64=_64||{}; -return this.each(function(){ -var _66=$.data(this,"droppable"); -if(_66){ -$.extend(_66.options,_64); -}else{ -_5e(this); -$.data(this,"droppable",{options:$.extend({},$.fn.droppable.defaults,$.fn.droppable.parseOptions(this),_64)}); -} -}); -}; -$.fn.droppable.methods={options:function(jq){ -return $.data(jq[0],"droppable").options; -},enable:function(jq){ -return jq.each(function(){ -$(this).droppable({disabled:false}); -}); -},disable:function(jq){ -return jq.each(function(){ -$(this).droppable({disabled:true}); -}); -}}; -$.fn.droppable.parseOptions=function(_67){ -var t=$(_67); -return $.extend({},$.parser.parseOptions(_67,["accept"]),{disabled:(t.attr("disabled")?true:undefined)}); -}; -$.fn.droppable.defaults={accept:null,disabled:false,onDragEnter:function(e,_68){ -},onDragOver:function(e,_69){ -},onDragLeave:function(e,_6a){ -},onDrop:function(e,_6b){ -}}; -})(jQuery); -(function($){ -$.fn.resizable=function(_6c,_6d){ -if(typeof _6c=="string"){ -return $.fn.resizable.methods[_6c](this,_6d); -} -function _6e(e){ -var _6f=e.data; -var _70=$.data(_6f.target,"resizable").options; -if(_6f.dir.indexOf("e")!=-1){ -var _71=_6f.startWidth+e.pageX-_6f.startX; -_71=Math.min(Math.max(_71,_70.minWidth),_70.maxWidth); -_6f.width=_71; -} -if(_6f.dir.indexOf("s")!=-1){ -var _72=_6f.startHeight+e.pageY-_6f.startY; -_72=Math.min(Math.max(_72,_70.minHeight),_70.maxHeight); -_6f.height=_72; -} -if(_6f.dir.indexOf("w")!=-1){ -var _71=_6f.startWidth-e.pageX+_6f.startX; -_71=Math.min(Math.max(_71,_70.minWidth),_70.maxWidth); -_6f.width=_71; -_6f.left=_6f.startLeft+_6f.startWidth-_6f.width; -} -if(_6f.dir.indexOf("n")!=-1){ -var _72=_6f.startHeight-e.pageY+_6f.startY; -_72=Math.min(Math.max(_72,_70.minHeight),_70.maxHeight); -_6f.height=_72; -_6f.top=_6f.startTop+_6f.startHeight-_6f.height; -} -}; -function _73(e){ -var _74=e.data; -var t=$(_74.target); -t.css({left:_74.left,top:_74.top}); -if(t.outerWidth()!=_74.width){ -t._outerWidth(_74.width); -} -if(t.outerHeight()!=_74.height){ -t._outerHeight(_74.height); -} -}; -function _75(e){ -$.fn.resizable.isResizing=true; -$.data(e.data.target,"resizable").options.onStartResize.call(e.data.target,e); -return false; -}; -function _76(e){ -_6e(e); -if($.data(e.data.target,"resizable").options.onResize.call(e.data.target,e)!=false){ -_73(e); -} -return false; -}; -function _77(e){ -$.fn.resizable.isResizing=false; -_6e(e,true); -_73(e); -$.data(e.data.target,"resizable").options.onStopResize.call(e.data.target,e); -$(document).unbind(".resizable"); -$("body").css("cursor",""); -return false; -}; -return this.each(function(){ -var _78=null; -var _79=$.data(this,"resizable"); -if(_79){ -$(this).unbind(".resizable"); -_78=$.extend(_79.options,_6c||{}); -}else{ -_78=$.extend({},$.fn.resizable.defaults,$.fn.resizable.parseOptions(this),_6c||{}); -$.data(this,"resizable",{options:_78}); -} -if(_78.disabled==true){ -return; -} -$(this).bind("mousemove.resizable",{target:this},function(e){ -if($.fn.resizable.isResizing){ -return; -} -var dir=_7a(e); -if(dir==""){ -$(e.data.target).css("cursor",""); -}else{ -$(e.data.target).css("cursor",dir+"-resize"); -} -}).bind("mouseleave.resizable",{target:this},function(e){ -$(e.data.target).css("cursor",""); -}).bind("mousedown.resizable",{target:this},function(e){ -var dir=_7a(e); -if(dir==""){ -return; -} -function _7b(css){ -var val=parseInt($(e.data.target).css(css)); -if(isNaN(val)){ -return 0; -}else{ -return val; -} -}; -var _7c={target:e.data.target,dir:dir,startLeft:_7b("left"),startTop:_7b("top"),left:_7b("left"),top:_7b("top"),startX:e.pageX,startY:e.pageY,startWidth:$(e.data.target).outerWidth(),startHeight:$(e.data.target).outerHeight(),width:$(e.data.target).outerWidth(),height:$(e.data.target).outerHeight(),deltaWidth:$(e.data.target).outerWidth()-$(e.data.target).width(),deltaHeight:$(e.data.target).outerHeight()-$(e.data.target).height()}; -$(document).bind("mousedown.resizable",_7c,_75); -$(document).bind("mousemove.resizable",_7c,_76); -$(document).bind("mouseup.resizable",_7c,_77); -$("body").css("cursor",dir+"-resize"); -}); -function _7a(e){ -var tt=$(e.data.target); -var dir=""; -var _7d=tt.offset(); -var _7e=tt.outerWidth(); -var _7f=tt.outerHeight(); -var _80=_78.edge; -if(e.pageY>_7d.top&&e.pageY<_7d.top+_80){ -dir+="n"; -}else{ -if(e.pageY<_7d.top+_7f&&e.pageY>_7d.top+_7f-_80){ -dir+="s"; -} -} -if(e.pageX>_7d.left&&e.pageX<_7d.left+_80){ -dir+="w"; -}else{ -if(e.pageX<_7d.left+_7e&&e.pageX>_7d.left+_7e-_80){ -dir+="e"; -} -} -var _81=_78.handles.split(","); -for(var i=0;i<_81.length;i++){ -var _82=_81[i].replace(/(^\s*)|(\s*$)/g,""); -if(_82=="all"||_82==dir){ -return dir; -} -} -return ""; -}; -}); -}; -$.fn.resizable.methods={options:function(jq){ -return $.data(jq[0],"resizable").options; -},enable:function(jq){ -return jq.each(function(){ -$(this).resizable({disabled:false}); -}); -},disable:function(jq){ -return jq.each(function(){ -$(this).resizable({disabled:true}); -}); -}}; -$.fn.resizable.parseOptions=function(_83){ -var t=$(_83); -return $.extend({},$.parser.parseOptions(_83,["handles",{minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number",edge:"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); -}; -$.fn.resizable.defaults={disabled:false,handles:"n, e, s, w, ne, se, sw, nw, all",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){ -},onResize:function(e){ -},onStopResize:function(e){ -}}; -$.fn.resizable.isResizing=false; -})(jQuery); -(function($){ -function _84(_85,_86){ -var _87=$.data(_85,"linkbutton").options; -if(_86){ -$.extend(_87,_86); -} -if(_87.width||_87.height||_87.fit){ -var btn=$(_85); -var _88=btn.parent(); -var _89=btn.is(":visible"); -if(!_89){ -var _8a=$("
").insertBefore(_85); -var _8b={position:btn.css("position"),display:btn.css("display"),left:btn.css("left")}; -btn.appendTo("body"); -btn.css({position:"absolute",display:"inline-block",left:-20000}); -} -btn._size(_87,_88); -var _8c=btn.find(".l-btn-left"); -_8c.css("margin-top",0); -_8c.css("margin-top",parseInt((btn.height()-_8c.height())/2)+"px"); -if(!_89){ -btn.insertAfter(_8a); -btn.css(_8b); -_8a.remove(); -} -} -}; -function _8d(_8e){ -var _8f=$.data(_8e,"linkbutton").options; -var t=$(_8e).empty(); -t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected l-btn-outline"); -t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-"+_8f.size); -if(_8f.plain){ -t.addClass("l-btn-plain"); -} -if(_8f.outline){ -t.addClass("l-btn-outline"); -} -if(_8f.selected){ -t.addClass(_8f.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); -} -t.attr("group",_8f.group||""); -t.attr("id",_8f.id||""); -var _90=$("").appendTo(t); -if(_8f.text){ -$("").html(_8f.text).appendTo(_90); -}else{ -$(" ").appendTo(_90); -} -if(_8f.iconCls){ -$(" ").addClass(_8f.iconCls).appendTo(_90); -_90.addClass("l-btn-icon-"+_8f.iconAlign); -} -t.unbind(".linkbutton").bind("focus.linkbutton",function(){ -if(!_8f.disabled){ -$(this).addClass("l-btn-focus"); -} -}).bind("blur.linkbutton",function(){ -$(this).removeClass("l-btn-focus"); -}).bind("click.linkbutton",function(){ -if(!_8f.disabled){ -if(_8f.toggle){ -if(_8f.selected){ -$(this).linkbutton("unselect"); -}else{ -$(this).linkbutton("select"); -} -} -_8f.onClick.call(this); -} -}); -_91(_8e,_8f.selected); -_92(_8e,_8f.disabled); -}; -function _91(_93,_94){ -var _95=$.data(_93,"linkbutton").options; -if(_94){ -if(_95.group){ -$("a.l-btn[group=\""+_95.group+"\"]").each(function(){ -var o=$(this).linkbutton("options"); -if(o.toggle){ -$(this).removeClass("l-btn-selected l-btn-plain-selected"); -o.selected=false; -} -}); -} -$(_93).addClass(_95.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); -_95.selected=true; -}else{ -if(!_95.group){ -$(_93).removeClass("l-btn-selected l-btn-plain-selected"); -_95.selected=false; -} -} -}; -function _92(_96,_97){ -var _98=$.data(_96,"linkbutton"); -var _99=_98.options; -$(_96).removeClass("l-btn-disabled l-btn-plain-disabled"); -if(_97){ -_99.disabled=true; -var _9a=$(_96).attr("href"); -if(_9a){ -_98.href=_9a; -$(_96).attr("href","javascript:void(0)"); -} -if(_96.onclick){ -_98.onclick=_96.onclick; -_96.onclick=null; -} -_99.plain?$(_96).addClass("l-btn-disabled l-btn-plain-disabled"):$(_96).addClass("l-btn-disabled"); -}else{ -_99.disabled=false; -if(_98.href){ -$(_96).attr("href",_98.href); -} -if(_98.onclick){ -_96.onclick=_98.onclick; -} -} -}; -$.fn.linkbutton=function(_9b,_9c){ -if(typeof _9b=="string"){ -return $.fn.linkbutton.methods[_9b](this,_9c); -} -_9b=_9b||{}; -return this.each(function(){ -var _9d=$.data(this,"linkbutton"); -if(_9d){ -$.extend(_9d.options,_9b); -}else{ -$.data(this,"linkbutton",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_9b)}); -$(this).removeAttr("disabled"); -$(this).bind("_resize",function(e,_9e){ -if($(this).hasClass("easyui-fluid")||_9e){ -_84(this); -} -return false; -}); -} -_8d(this); -_84(this); -}); -}; -$.fn.linkbutton.methods={options:function(jq){ -return $.data(jq[0],"linkbutton").options; -},resize:function(jq,_9f){ -return jq.each(function(){ -_84(this,_9f); -}); -},enable:function(jq){ -return jq.each(function(){ -_92(this,false); -}); -},disable:function(jq){ -return jq.each(function(){ -_92(this,true); -}); -},select:function(jq){ -return jq.each(function(){ -_91(this,true); -}); -},unselect:function(jq){ -return jq.each(function(){ -_91(this,false); -}); -}}; -$.fn.linkbutton.parseOptions=function(_a0){ -var t=$(_a0); -return $.extend({},$.parser.parseOptions(_a0,["id","iconCls","iconAlign","group","size",{plain:"boolean",toggle:"boolean",selected:"boolean",outline:"boolean"}]),{disabled:(t.attr("disabled")?true:undefined),text:$.trim(t.html()),iconCls:(t.attr("icon")||t.attr("iconCls"))}); -}; -$.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,outline:false,group:null,plain:false,text:"",iconCls:null,iconAlign:"left",size:"small",onClick:function(){ -}}; -})(jQuery); -(function($){ -function _a1(_a2){ -var _a3=$.data(_a2,"pagination"); -var _a4=_a3.options; -var bb=_a3.bb={}; -var _a5=$(_a2).addClass("pagination").html("
"); -var tr=_a5.find("tr"); -var aa=$.extend([],_a4.layout); -if(!_a4.showPageList){ -_a6(aa,"list"); -} -if(!_a4.showRefresh){ -_a6(aa,"refresh"); -} -if(aa[0]=="sep"){ -aa.shift(); -} -if(aa[aa.length-1]=="sep"){ -aa.pop(); -} -for(var _a7=0;_a7"); -ps.bind("change",function(){ -_a4.pageSize=parseInt($(this).val()); -_a4.onChangePageSize.call(_a2,_a4.pageSize); -_ae(_a2,_a4.pageNumber); -}); -for(var i=0;i<_a4.pageList.length;i++){ -$("").text(_a4.pageList[i]).appendTo(ps); -} -$("").append(ps).appendTo(tr); -}else{ -if(_a8=="sep"){ -$("
").appendTo(tr); -}else{ -if(_a8=="first"){ -bb.first=_a9("first"); -}else{ -if(_a8=="prev"){ -bb.prev=_a9("prev"); -}else{ -if(_a8=="next"){ -bb.next=_a9("next"); -}else{ -if(_a8=="last"){ -bb.last=_a9("last"); -}else{ -if(_a8=="manual"){ -$("").html(_a4.beforePageText).appendTo(tr).wrap(""); -bb.num=$("").appendTo(tr).wrap(""); -bb.num.unbind(".pagination").bind("keydown.pagination",function(e){ -if(e.keyCode==13){ -var _aa=parseInt($(this).val())||1; -_ae(_a2,_aa); -return false; -} -}); -bb.after=$("").appendTo(tr).wrap(""); -}else{ -if(_a8=="refresh"){ -bb.refresh=_a9("refresh"); -}else{ -if(_a8=="links"){ -$("").appendTo(tr); -} -} -} -} -} -} -} -} -} -} -if(_a4.buttons){ -$("
").appendTo(tr); -if($.isArray(_a4.buttons)){ -for(var i=0;i<_a4.buttons.length;i++){ -var btn=_a4.buttons[i]; -if(btn=="-"){ -$("
").appendTo(tr); -}else{ -var td=$("").appendTo(tr); -var a=$("").appendTo(td); -a[0].onclick=eval(btn.handler||function(){ -}); -a.linkbutton($.extend({},btn,{plain:true})); -} -} -}else{ -var td=$("").appendTo(tr); -$(_a4.buttons).appendTo(td).show(); -} -} -$("
").appendTo(_a5); -$("
").appendTo(_a5); -function _a9(_ab){ -var btn=_a4.nav[_ab]; -var a=$("").appendTo(tr); -a.wrap(""); -a.linkbutton({iconCls:btn.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){ -btn.handler.call(_a2); -}); -return a; -}; -function _a6(aa,_ac){ -var _ad=$.inArray(_ac,aa); -if(_ad>=0){ -aa.splice(_ad,1); -} -return aa; -}; -}; -function _ae(_af,_b0){ -var _b1=$.data(_af,"pagination").options; -_b2(_af,{pageNumber:_b0}); -_b1.onSelectPage.call(_af,_b1.pageNumber,_b1.pageSize); -}; -function _b2(_b3,_b4){ -var _b5=$.data(_b3,"pagination"); -var _b6=_b5.options; -var bb=_b5.bb; -$.extend(_b6,_b4||{}); -var ps=$(_b3).find("select.pagination-page-list"); -if(ps.length){ -ps.val(_b6.pageSize+""); -_b6.pageSize=parseInt(ps.val()); -} -var _b7=Math.ceil(_b6.total/_b6.pageSize)||1; -if(_b6.pageNumber<1){ -_b6.pageNumber=1; -} -if(_b6.pageNumber>_b7){ -_b6.pageNumber=_b7; -} -if(_b6.total==0){ -_b6.pageNumber=0; -_b7=0; -} -if(bb.num){ -bb.num.val(_b6.pageNumber); -} -if(bb.after){ -bb.after.html(_b6.afterPageText.replace(/{pages}/,_b7)); -} -var td=$(_b3).find("td.pagination-links"); -if(td.length){ -td.empty(); -var _b8=_b6.pageNumber-Math.floor(_b6.links/2); -if(_b8<1){ -_b8=1; -} -var _b9=_b8+_b6.links-1; -if(_b9>_b7){ -_b9=_b7; -} -_b8=_b9-_b6.links+1; -if(_b8<1){ -_b8=1; -} -for(var i=_b8;i<=_b9;i++){ -var a=$("").appendTo(td); -a.linkbutton({plain:true,text:i}); -if(i==_b6.pageNumber){ -a.linkbutton("select"); -}else{ -a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){ -_ae(_b3,e.data.pageNumber); -}); -} -} -} -var _ba=_b6.displayMsg; -_ba=_ba.replace(/{from}/,_b6.total==0?0:_b6.pageSize*(_b6.pageNumber-1)+1); -_ba=_ba.replace(/{to}/,Math.min(_b6.pageSize*(_b6.pageNumber),_b6.total)); -_ba=_ba.replace(/{total}/,_b6.total); -$(_b3).find("div.pagination-info").html(_ba); -if(bb.first){ -bb.first.linkbutton({disabled:((!_b6.total)||_b6.pageNumber==1)}); -} -if(bb.prev){ -bb.prev.linkbutton({disabled:((!_b6.total)||_b6.pageNumber==1)}); -} -if(bb.next){ -bb.next.linkbutton({disabled:(_b6.pageNumber==_b7)}); -} -if(bb.last){ -bb.last.linkbutton({disabled:(_b6.pageNumber==_b7)}); -} -_bb(_b3,_b6.loading); -}; -function _bb(_bc,_bd){ -var _be=$.data(_bc,"pagination"); -var _bf=_be.options; -_bf.loading=_bd; -if(_bf.showRefresh&&_be.bb.refresh){ -_be.bb.refresh.linkbutton({iconCls:(_bf.loading?"pagination-loading":"pagination-load")}); -} -}; -$.fn.pagination=function(_c0,_c1){ -if(typeof _c0=="string"){ -return $.fn.pagination.methods[_c0](this,_c1); -} -_c0=_c0||{}; -return this.each(function(){ -var _c2; -var _c3=$.data(this,"pagination"); -if(_c3){ -_c2=$.extend(_c3.options,_c0); -}else{ -_c2=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_c0); -$.data(this,"pagination",{options:_c2}); -} -_a1(this); -_b2(this); -}); -}; -$.fn.pagination.methods={options:function(jq){ -return $.data(jq[0],"pagination").options; -},loading:function(jq){ -return jq.each(function(){ -_bb(this,true); -}); -},loaded:function(jq){ -return jq.each(function(){ -_bb(this,false); -}); -},refresh:function(jq,_c4){ -return jq.each(function(){ -_b2(this,_c4); -}); -},select:function(jq,_c5){ -return jq.each(function(){ -_ae(this,_c5); -}); -}}; -$.fn.pagination.parseOptions=function(_c6){ -var t=$(_c6); -return $.extend({},$.parser.parseOptions(_c6,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)}); -}; -$.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh"],onSelectPage:function(_c7,_c8){ -},onBeforeRefresh:function(_c9,_ca){ -},onRefresh:function(_cb,_cc){ -},onChangePageSize:function(_cd){ -},beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){ -var _ce=$(this).pagination("options"); -if(_ce.pageNumber>1){ -$(this).pagination("select",1); -} -}},prev:{iconCls:"pagination-prev",handler:function(){ -var _cf=$(this).pagination("options"); -if(_cf.pageNumber>1){ -$(this).pagination("select",_cf.pageNumber-1); -} -}},next:{iconCls:"pagination-next",handler:function(){ -var _d0=$(this).pagination("options"); -var _d1=Math.ceil(_d0.total/_d0.pageSize); -if(_d0.pageNumber<_d1){ -$(this).pagination("select",_d0.pageNumber+1); -} -}},last:{iconCls:"pagination-last",handler:function(){ -var _d2=$(this).pagination("options"); -var _d3=Math.ceil(_d2.total/_d2.pageSize); -if(_d2.pageNumber<_d3){ -$(this).pagination("select",_d3); -} -}},refresh:{iconCls:"pagination-refresh",handler:function(){ -var _d4=$(this).pagination("options"); -if(_d4.onBeforeRefresh.call(this,_d4.pageNumber,_d4.pageSize)!=false){ -$(this).pagination("select",_d4.pageNumber); -_d4.onRefresh.call(this,_d4.pageNumber,_d4.pageSize); -} -}}}}; -})(jQuery); -(function($){ -function _d5(_d6){ -var _d7=$(_d6); -_d7.addClass("tree"); -return _d7; -}; -function _d8(_d9){ -var _da=$.data(_d9,"tree").options; -$(_d9).unbind().bind("mouseover",function(e){ -var tt=$(e.target); -var _db=tt.closest("div.tree-node"); -if(!_db.length){ -return; -} -_db.addClass("tree-node-hover"); -if(tt.hasClass("tree-hit")){ -if(tt.hasClass("tree-expanded")){ -tt.addClass("tree-expanded-hover"); -}else{ -tt.addClass("tree-collapsed-hover"); -} -} -e.stopPropagation(); -}).bind("mouseout",function(e){ -var tt=$(e.target); -var _dc=tt.closest("div.tree-node"); -if(!_dc.length){ -return; -} -_dc.removeClass("tree-node-hover"); -if(tt.hasClass("tree-hit")){ -if(tt.hasClass("tree-expanded")){ -tt.removeClass("tree-expanded-hover"); -}else{ -tt.removeClass("tree-collapsed-hover"); -} -} -e.stopPropagation(); -}).bind("click",function(e){ -var tt=$(e.target); -var _dd=tt.closest("div.tree-node"); -if(!_dd.length){ -return; -} -if(tt.hasClass("tree-hit")){ -_144(_d9,_dd[0]); -return false; -}else{ -if(tt.hasClass("tree-checkbox")){ -_104(_d9,_dd[0]); -return false; -}else{ -_18a(_d9,_dd[0]); -_da.onClick.call(_d9,_e0(_d9,_dd[0])); -} -} -e.stopPropagation(); -}).bind("dblclick",function(e){ -var _de=$(e.target).closest("div.tree-node"); -if(!_de.length){ -return; -} -_18a(_d9,_de[0]); -_da.onDblClick.call(_d9,_e0(_d9,_de[0])); -e.stopPropagation(); -}).bind("contextmenu",function(e){ -var _df=$(e.target).closest("div.tree-node"); -if(!_df.length){ -return; -} -_da.onContextMenu.call(_d9,e,_e0(_d9,_df[0])); -e.stopPropagation(); -}); -}; -function _e1(_e2){ -var _e3=$.data(_e2,"tree").options; -_e3.dnd=false; -var _e4=$(_e2).find("div.tree-node"); -_e4.draggable("disable"); -_e4.css("cursor","pointer"); -}; -function _e5(_e6){ -var _e7=$.data(_e6,"tree"); -var _e8=_e7.options; -var _e9=_e7.tree; -_e7.disabledNodes=[]; -_e8.dnd=true; -_e9.find("div.tree-node").draggable({disabled:false,revert:true,cursor:"pointer",proxy:function(_ea){ -var p=$("
").appendTo("body"); -p.html(" "+$(_ea).find(".tree-title").html()); -p.hide(); -return p; -},deltaX:15,deltaY:15,onBeforeDrag:function(e){ -if(_e8.onBeforeDrag.call(_e6,_e0(_e6,this))==false){ -return false; -} -if($(e.target).hasClass("tree-hit")||$(e.target).hasClass("tree-checkbox")){ -return false; -} -if(e.which!=1){ -return false; -} -$(this).next("ul").find("div.tree-node").droppable({accept:"no-accept"}); -var _eb=$(this).find("span.tree-indent"); -if(_eb.length){ -e.data.offsetWidth-=_eb.length*_eb.width(); -} -},onStartDrag:function(){ -$(this).draggable("proxy").css({left:-10000,top:-10000}); -_e8.onStartDrag.call(_e6,_e0(_e6,this)); -var _ec=_e0(_e6,this); -if(_ec.id==undefined){ -_ec.id="easyui_tree_node_id_temp"; -_127(_e6,_ec); -} -_e7.draggingNodeId=_ec.id; -},onDrag:function(e){ -var x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY; -var d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); -if(d>3){ -$(this).draggable("proxy").show(); -} -this.pageY=e.pageY; -},onStopDrag:function(){ -$(this).next("ul").find("div.tree-node").droppable({accept:"div.tree-node"}); -for(var i=0;i<_e7.disabledNodes.length;i++){ -$(_e7.disabledNodes[i]).droppable("enable"); -} -_e7.disabledNodes=[]; -var _ed=_182(_e6,_e7.draggingNodeId); -if(_ed&&_ed.id=="easyui_tree_node_id_temp"){ -_ed.id=""; -_127(_e6,_ed); -} -_e8.onStopDrag.call(_e6,_ed); -}}).droppable({accept:"div.tree-node",onDragEnter:function(e,_ee){ -if(_e8.onDragEnter.call(_e6,this,_ef(_ee))==false){ -_f0(_ee,false); -$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); -$(this).droppable("disable"); -_e7.disabledNodes.push(this); -} -},onDragOver:function(e,_f1){ -if($(this).droppable("options").disabled){ -return; -} -var _f2=_f1.pageY; -var top=$(this).offset().top; -var _f3=top+$(this).outerHeight(); -_f0(_f1,true); -$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); -if(_f2>top+(_f3-top)/2){ -if(_f3-_f2<5){ -$(this).addClass("tree-node-bottom"); -}else{ -$(this).addClass("tree-node-append"); -} -}else{ -if(_f2-top<5){ -$(this).addClass("tree-node-top"); -}else{ -$(this).addClass("tree-node-append"); -} -} -if(_e8.onDragOver.call(_e6,this,_ef(_f1))==false){ -_f0(_f1,false); -$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); -$(this).droppable("disable"); -_e7.disabledNodes.push(this); -} -},onDragLeave:function(e,_f4){ -_f0(_f4,false); -$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); -_e8.onDragLeave.call(_e6,this,_ef(_f4)); -},onDrop:function(e,_f5){ -var _f6=this; -var _f7,_f8; -if($(this).hasClass("tree-node-append")){ -_f7=_f9; -_f8="append"; -}else{ -_f7=_fa; -_f8=$(this).hasClass("tree-node-top")?"top":"bottom"; -} -if(_e8.onBeforeDrop.call(_e6,_f6,_ef(_f5),_f8)==false){ -$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); -return; -} -_f7(_f5,_f6,_f8); -$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); -}}); -function _ef(_fb,pop){ -return $(_fb).closest("ul.tree").tree(pop?"pop":"getData",_fb); -}; -function _f0(_fc,_fd){ -var _fe=$(_fc).draggable("proxy").find("span.tree-dnd-icon"); -_fe.removeClass("tree-dnd-yes tree-dnd-no").addClass(_fd?"tree-dnd-yes":"tree-dnd-no"); -}; -function _f9(_ff,dest){ -if(_e0(_e6,dest).state=="closed"){ -_13c(_e6,dest,function(){ -_100(); -}); -}else{ -_100(); -} -function _100(){ -var node=_ef(_ff,true); -$(_e6).tree("append",{parent:dest,data:[node]}); -_e8.onDrop.call(_e6,dest,node,"append"); -}; -}; -function _fa(_101,dest,_102){ -var _103={}; -if(_102=="top"){ -_103.before=dest; -}else{ -_103.after=dest; -} -var node=_ef(_101,true); -_103.data=node; -$(_e6).tree("insert",_103); -_e8.onDrop.call(_e6,dest,node,_102); -}; -}; -function _104(_105,_106,_107){ -var _108=$.data(_105,"tree"); -var opts=_108.options; -if(!opts.checkbox){ -return; -} -var _109=_e0(_105,_106); -if(_107==undefined){ -var ck=$(_106).find(".tree-checkbox"); -if(ck.hasClass("tree-checkbox1")){ -_107=false; -}else{ -if(ck.hasClass("tree-checkbox0")){ -_107=true; -}else{ -if(_109._checked==undefined){ -_109._checked=$(_106).find(".tree-checkbox").hasClass("tree-checkbox1"); -} -_107=!_109._checked; -} -} -} -_109._checked=_107; -if(opts.onBeforeCheck.call(_105,_109,_107)==false){ -return; -} -if(opts.cascadeCheck){ -_10a(_109,_107); -_10b(_109,_107); -}else{ -_10c($(_109.target),_107?"1":"0"); -} -opts.onCheck.call(_105,_109,_107); -function _10c(node,flag){ -var ck=node.find(".tree-checkbox"); -ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); -ck.addClass("tree-checkbox"+flag); -}; -function _10a(_10d,_10e){ -if(opts.deepCheck){ -var node=$("#"+_10d.domId); -var flag=_10e?"1":"0"; -_10c(node,flag); -_10c(node.next(),flag); -}else{ -_10f(_10d,_10e); -_12a(_10d.children||[],function(n){ -_10f(n,_10e); -}); -} -}; -function _10f(_110,_111){ -if(_110.hidden){ -return; -} -var cls="tree-checkbox"+(_111?"1":"0"); -var node=$("#"+_110.domId); -_10c(node,_111?"1":"0"); -if(_110.children){ -for(var i=0;i<_110.children.length;i++){ -if(_110.children[i].hidden){ -if(!$("#"+_110.children[i].domId).find("."+cls).length){ -_10c(node,"2"); -var _112=_14f(_105,node[0]); -while(_112){ -_10c($(_112.target),"2"); -_112=_14f(_105,_112[0]); -} -return; -} -} -} -} -}; -function _10b(_113,_114){ -var node=$("#"+_113.domId); -var _115=_14f(_105,node[0]); -if(_115){ -var flag=""; -if(_116(node,true)){ -flag="1"; -}else{ -if(_116(node,false)){ -flag="0"; -}else{ -flag="2"; -} -} -_10c($(_115.target),flag); -_10b(_115,_114); -} -}; -function _116(node,_117){ -var cls="tree-checkbox"+(_117?"1":"0"); -var ck=node.find(".tree-checkbox"); -if(!ck.hasClass(cls)){ -return false; -} -var b=true; -node.parent().siblings().each(function(){ -var ck=$(this).children("div.tree-node").children(".tree-checkbox"); -if(ck.length&&!ck.hasClass(cls)){ -b=false; -return false; -} -}); -return b; -}; -}; -function _118(_119,_11a){ -var opts=$.data(_119,"tree").options; -if(!opts.checkbox){ -return; -} -var node=$(_11a); -if(_11b(_119,_11a)){ -var ck=node.find(".tree-checkbox"); -if(ck.length){ -if(ck.hasClass("tree-checkbox1")){ -_104(_119,_11a,true); -}else{ -_104(_119,_11a,false); -} -}else{ -if(opts.onlyLeafCheck){ -$("").insertBefore(node.find(".tree-title")); -} -} -}else{ -var ck=node.find(".tree-checkbox"); -if(opts.onlyLeafCheck){ -ck.remove(); -}else{ -if(ck.hasClass("tree-checkbox1")){ -_104(_119,_11a,true); -}else{ -if(ck.hasClass("tree-checkbox2")){ -var _11c=true; -var _11d=true; -var _11e=_11f(_119,_11a); -for(var i=0;i<_11e.length;i++){ -if(_11e[i].checked){ -_11d=false; -}else{ -_11c=false; -} -} -if(_11c){ -_104(_119,_11a,true); -} -if(_11d){ -_104(_119,_11a,false); -} -} -} -} -} -}; -function _120(_121,ul,data,_122){ -var _123=$.data(_121,"tree"); -var opts=_123.options; -var _124=$(ul).prevAll("div.tree-node:first"); -data=opts.loadFilter.call(_121,data,_124[0]); -var _125=_126(_121,"domId",_124.attr("id")); -if(!_122){ -_125?_125.children=data:_123.data=data; -$(ul).empty(); -}else{ -if(_125){ -_125.children?_125.children=_125.children.concat(data):_125.children=data; -}else{ -_123.data=_123.data.concat(data); -} -} -opts.view.render.call(opts.view,_121,ul,data); -if(opts.dnd){ -_e5(_121); -} -if(_125){ -_127(_121,_125); -} -var _128=[]; -var _129=[]; -for(var i=0;i1){ -$(_12f[0].target).addClass("tree-root-first"); -}else{ -if(_12f.length==1){ -$(_12f[0].target).addClass("tree-root-one"); -} -} -} -$(ul).children("li").each(function(){ -var node=$(this).children("div.tree-node"); -var ul=node.next("ul"); -if(ul.length){ -if($(this).next().length){ -_130(node); -} -_12c(_12d,ul,_12e); -}else{ -_131(node); -} -}); -var _132=$(ul).children("li:last").children("div.tree-node").addClass("tree-node-last"); -_132.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom"); -function _131(node,_133){ -var icon=node.find("span.tree-icon"); -icon.prev("span.tree-indent").addClass("tree-join"); -}; -function _130(node){ -var _134=node.find("span.tree-indent, span.tree-hit").length; -node.next().find("div.tree-node").each(function(){ -$(this).children("span:eq("+(_134-1)+")").addClass("tree-line"); -}); -}; -}; -function _135(_136,ul,_137,_138){ -var opts=$.data(_136,"tree").options; -_137=$.extend({},opts.queryParams,_137||{}); -var _139=null; -if(_136!=ul){ -var node=$(ul).prev(); -_139=_e0(_136,node[0]); -} -if(opts.onBeforeLoad.call(_136,_139,_137)==false){ -return; -} -var _13a=$(ul).prev().children("span.tree-folder"); -_13a.addClass("tree-loading"); -var _13b=opts.loader.call(_136,_137,function(data){ -_13a.removeClass("tree-loading"); -_120(_136,ul,data); -if(_138){ -_138(); -} -},function(){ -_13a.removeClass("tree-loading"); -opts.onLoadError.apply(_136,arguments); -if(_138){ -_138(); -} -}); -if(_13b==false){ -_13a.removeClass("tree-loading"); -} -}; -function _13c(_13d,_13e,_13f){ -var opts=$.data(_13d,"tree").options; -var hit=$(_13e).children("span.tree-hit"); -if(hit.length==0){ -return; -} -if(hit.hasClass("tree-expanded")){ -return; -} -var node=_e0(_13d,_13e); -if(opts.onBeforeExpand.call(_13d,node)==false){ -return; -} -hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); -hit.next().addClass("tree-folder-open"); -var ul=$(_13e).next(); -if(ul.length){ -if(opts.animate){ -ul.slideDown("normal",function(){ -node.state="open"; -opts.onExpand.call(_13d,node); -if(_13f){ -_13f(); -} -}); -}else{ -ul.css("display","block"); -node.state="open"; -opts.onExpand.call(_13d,node); -if(_13f){ -_13f(); -} -} -}else{ -var _140=$("
    ").insertAfter(_13e); -_135(_13d,_140[0],{id:node.id},function(){ -if(_140.is(":empty")){ -_140.remove(); -} -if(opts.animate){ -_140.slideDown("normal",function(){ -node.state="open"; -opts.onExpand.call(_13d,node); -if(_13f){ -_13f(); -} -}); -}else{ -_140.css("display","block"); -node.state="open"; -opts.onExpand.call(_13d,node); -if(_13f){ -_13f(); -} -} -}); -} -}; -function _141(_142,_143){ -var opts=$.data(_142,"tree").options; -var hit=$(_143).children("span.tree-hit"); -if(hit.length==0){ -return; -} -if(hit.hasClass("tree-collapsed")){ -return; -} -var node=_e0(_142,_143); -if(opts.onBeforeCollapse.call(_142,node)==false){ -return; -} -hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); -hit.next().removeClass("tree-folder-open"); -var ul=$(_143).next(); -if(opts.animate){ -ul.slideUp("normal",function(){ -node.state="closed"; -opts.onCollapse.call(_142,node); -}); -}else{ -ul.css("display","none"); -node.state="closed"; -opts.onCollapse.call(_142,node); -} -}; -function _144(_145,_146){ -var hit=$(_146).children("span.tree-hit"); -if(hit.length==0){ -return; -} -if(hit.hasClass("tree-expanded")){ -_141(_145,_146); -}else{ -_13c(_145,_146); -} -}; -function _147(_148,_149){ -var _14a=_11f(_148,_149); -if(_149){ -_14a.unshift(_e0(_148,_149)); -} -for(var i=0;i<_14a.length;i++){ -_13c(_148,_14a[i].target); -} -}; -function _14b(_14c,_14d){ -var _14e=[]; -var p=_14f(_14c,_14d); -while(p){ -_14e.unshift(p); -p=_14f(_14c,p.target); -} -for(var i=0;i<_14e.length;i++){ -_13c(_14c,_14e[i].target); -} -}; -function _150(_151,_152){ -var c=$(_151).parent(); -while(c[0].tagName!="BODY"&&c.css("overflow-y")!="auto"){ -c=c.parent(); -} -var n=$(_152); -var ntop=n.offset().top; -if(c[0].tagName!="BODY"){ -var ctop=c.offset().top; -if(ntopctop+c.outerHeight()-18){ -c.scrollTop(c.scrollTop()+ntop+n.outerHeight()-ctop-c.outerHeight()+18); -} -} -}else{ -c.scrollTop(ntop); -} -}; -function _153(_154,_155){ -var _156=_11f(_154,_155); -if(_155){ -_156.unshift(_e0(_154,_155)); -} -for(var i=0;i<_156.length;i++){ -_141(_154,_156[i].target); -} -}; -function _157(_158,_159){ -var node=$(_159.parent); -var data=_159.data; -if(!data){ -return; -} -data=$.isArray(data)?data:[data]; -if(!data.length){ -return; -} -var ul; -if(node.length==0){ -ul=$(_158); -}else{ -if(_11b(_158,node[0])){ -var _15a=node.find("span.tree-icon"); -_15a.removeClass("tree-file").addClass("tree-folder tree-folder-open"); -var hit=$("").insertBefore(_15a); -if(hit.prev().length){ -hit.prev().remove(); -} -} -ul=node.next(); -if(!ul.length){ -ul=$("
      ").insertAfter(node); -} -} -_120(_158,ul[0],data,true); -_118(_158,ul.prev()); -}; -function _15b(_15c,_15d){ -var ref=_15d.before||_15d.after; -var _15e=_14f(_15c,ref); -var data=_15d.data; -if(!data){ -return; -} -data=$.isArray(data)?data:[data]; -if(!data.length){ -return; -} -_157(_15c,{parent:(_15e?_15e.target:null),data:data}); -var _15f=_15e?_15e.children:$(_15c).tree("getRoots"); -for(var i=0;i<_15f.length;i++){ -if(_15f[i].domId==$(ref).attr("id")){ -for(var j=data.length-1;j>=0;j--){ -_15f.splice((_15d.before?i:(i+1)),0,data[j]); -} -_15f.splice(_15f.length-data.length,data.length); -break; -} -} -var li=$(); -for(var i=0;i").prependTo(node); -node.next().remove(); -} -_127(_161,_163); -_118(_161,_163.target); -} -_12c(_161,_161); -function del(_164){ -var id=$(_164).attr("id"); -var _165=_14f(_161,_164); -var cc=_165?_165.children:$.data(_161,"tree").data; -for(var i=0;i=0;i--){ -_189.unshift(node.children[i]); -} -} -} -}; -function _18a(_18b,_18c){ -var opts=$.data(_18b,"tree").options; -var node=_e0(_18b,_18c); -if(opts.onBeforeSelect.call(_18b,node)==false){ -return; -} -$(_18b).find("div.tree-node-selected").removeClass("tree-node-selected"); -$(_18c).addClass("tree-node-selected"); -opts.onSelect.call(_18b,node); -}; -function _11b(_18d,_18e){ -return $(_18e).children("span.tree-hit").length==0; -}; -function _18f(_190,_191){ -var opts=$.data(_190,"tree").options; -var node=_e0(_190,_191); -if(opts.onBeforeEdit.call(_190,node)==false){ -return; -} -$(_191).css("position","relative"); -var nt=$(_191).find(".tree-title"); -var _192=nt.outerWidth(); -nt.empty(); -var _193=$("").appendTo(nt); -_193.val(node.text).focus(); -_193.width(_192+20); -_193.height(document.compatMode=="CSS1Compat"?(18-(_193.outerHeight()-_193.height())):18); -_193.bind("click",function(e){ -return false; -}).bind("mousedown",function(e){ -e.stopPropagation(); -}).bind("mousemove",function(e){ -e.stopPropagation(); -}).bind("keydown",function(e){ -if(e.keyCode==13){ -_194(_190,_191); -return false; -}else{ -if(e.keyCode==27){ -_198(_190,_191); -return false; -} -} -}).bind("blur",function(e){ -e.stopPropagation(); -_194(_190,_191); -}); -}; -function _194(_195,_196){ -var opts=$.data(_195,"tree").options; -$(_196).css("position",""); -var _197=$(_196).find("input.tree-editor"); -var val=_197.val(); -_197.remove(); -var node=_e0(_195,_196); -node.text=val; -_127(_195,node); -opts.onAfterEdit.call(_195,node); -}; -function _198(_199,_19a){ -var opts=$.data(_199,"tree").options; -$(_19a).css("position",""); -$(_19a).find("input.tree-editor").remove(); -var node=_e0(_199,_19a); -_127(_199,node); -opts.onCancelEdit.call(_199,node); -}; -function _19b(_19c,q){ -var _19d=$.data(_19c,"tree"); -var opts=_19d.options; -var ids={}; -_12a(_19d.data,function(node){ -if(opts.filter.call(_19c,q,node)){ -$("#"+node.domId).removeClass("tree-node-hidden"); -ids[node.domId]=1; -node.hidden=false; -}else{ -$("#"+node.domId).addClass("tree-node-hidden"); -node.hidden=true; -} -}); -for(var id in ids){ -_19e(id); -} -function _19e(_19f){ -var p=$(_19c).tree("getParent",$("#"+_19f)[0]); -while(p){ -$(p.target).removeClass("tree-node-hidden"); -p.hidden=false; -p=$(_19c).tree("getParent",p.target); -} -}; -}; -$.fn.tree=function(_1a0,_1a1){ -if(typeof _1a0=="string"){ -return $.fn.tree.methods[_1a0](this,_1a1); -} -var _1a0=_1a0||{}; -return this.each(function(){ -var _1a2=$.data(this,"tree"); -var opts; -if(_1a2){ -opts=$.extend(_1a2.options,_1a0); -_1a2.options=opts; -}else{ -opts=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_1a0); -$.data(this,"tree",{options:opts,tree:_d5(this),data:[]}); -var data=$.fn.tree.parseData(this); -if(data.length){ -_120(this,this,data); -} -} -_d8(this); -if(opts.data){ -_120(this,this,$.extend(true,[],opts.data)); -} -_135(this,this); -}); -}; -$.fn.tree.methods={options:function(jq){ -return $.data(jq[0],"tree").options; -},loadData:function(jq,data){ -return jq.each(function(){ -_120(this,this,data); -}); -},getNode:function(jq,_1a3){ -return _e0(jq[0],_1a3); -},getData:function(jq,_1a4){ -return _17d(jq[0],_1a4); -},reload:function(jq,_1a5){ -return jq.each(function(){ -if(_1a5){ -var node=$(_1a5); -var hit=node.children("span.tree-hit"); -hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); -node.next().remove(); -_13c(this,_1a5); -}else{ -$(this).empty(); -_135(this,this); -} -}); -},getRoot:function(jq,_1a6){ -return _169(jq[0],_1a6); -},getRoots:function(jq){ -return _16d(jq[0]); -},getParent:function(jq,_1a7){ -return _14f(jq[0],_1a7); -},getChildren:function(jq,_1a8){ -return _11f(jq[0],_1a8); -},getChecked:function(jq,_1a9){ -return _176(jq[0],_1a9); -},getSelected:function(jq){ -return _17b(jq[0]); -},isLeaf:function(jq,_1aa){ -return _11b(jq[0],_1aa); -},find:function(jq,id){ -return _182(jq[0],id); -},select:function(jq,_1ab){ -return jq.each(function(){ -_18a(this,_1ab); -}); -},check:function(jq,_1ac){ -return jq.each(function(){ -_104(this,_1ac,true); -}); -},uncheck:function(jq,_1ad){ -return jq.each(function(){ -_104(this,_1ad,false); -}); -},collapse:function(jq,_1ae){ -return jq.each(function(){ -_141(this,_1ae); -}); -},expand:function(jq,_1af){ -return jq.each(function(){ -_13c(this,_1af); -}); -},collapseAll:function(jq,_1b0){ -return jq.each(function(){ -_153(this,_1b0); -}); -},expandAll:function(jq,_1b1){ -return jq.each(function(){ -_147(this,_1b1); -}); -},expandTo:function(jq,_1b2){ -return jq.each(function(){ -_14b(this,_1b2); -}); -},scrollTo:function(jq,_1b3){ -return jq.each(function(){ -_150(this,_1b3); -}); -},toggle:function(jq,_1b4){ -return jq.each(function(){ -_144(this,_1b4); -}); -},append:function(jq,_1b5){ -return jq.each(function(){ -_157(this,_1b5); -}); -},insert:function(jq,_1b6){ -return jq.each(function(){ -_15b(this,_1b6); -}); -},remove:function(jq,_1b7){ -return jq.each(function(){ -_160(this,_1b7); -}); -},pop:function(jq,_1b8){ -var node=jq.tree("getData",_1b8); -jq.tree("remove",_1b8); -return node; -},update:function(jq,_1b9){ -return jq.each(function(){ -_127(this,_1b9); -}); -},enableDnd:function(jq){ -return jq.each(function(){ -_e5(this); -}); -},disableDnd:function(jq){ -return jq.each(function(){ -_e1(this); -}); -},beginEdit:function(jq,_1ba){ -return jq.each(function(){ -_18f(this,_1ba); -}); -},endEdit:function(jq,_1bb){ -return jq.each(function(){ -_194(this,_1bb); -}); -},cancelEdit:function(jq,_1bc){ -return jq.each(function(){ -_198(this,_1bc); -}); -},doFilter:function(jq,q){ -return jq.each(function(){ -_19b(this,q); -}); -}}; -$.fn.tree.parseOptions=function(_1bd){ -var t=$(_1bd); -return $.extend({},$.parser.parseOptions(_1bd,["url","method",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean",lines:"boolean",dnd:"boolean"}])); -}; -$.fn.tree.parseData=function(_1be){ -var data=[]; -_1bf(data,$(_1be)); -return data; -function _1bf(aa,tree){ -tree.children("li").each(function(){ -var node=$(this); -var item=$.extend({},$.parser.parseOptions(this,["id","iconCls","state"]),{checked:(node.attr("checked")?true:undefined)}); -item.text=node.children("span").html(); -if(!item.text){ -item.text=node.html(); -} -var _1c0=node.children("ul"); -if(_1c0.length){ -item.children=[]; -_1bf(item.children,_1c0); -} -aa.push(item); -}); -}; -}; -var _1c1=1; -var _1c2={render:function(_1c3,ul,data){ -var opts=$.data(_1c3,"tree").options; -var _1c4=$(ul).prev("div.tree-node").find("span.tree-indent, span.tree-hit").length; -var cc=_1c5(_1c4,data); -$(ul).append(cc.join("")); -function _1c5(_1c6,_1c7){ -var cc=[]; -for(var i=0;i<_1c7.length;i++){ -var item=_1c7[i]; -if(item.state!="open"&&item.state!="closed"){ -item.state="open"; -} -item.domId="_easyui_tree_"+_1c1++; -cc.push("
    • "); -cc.push("
      "); -for(var j=0;j<_1c6;j++){ -cc.push(""); -} -var _1c8=false; -if(item.state=="closed"){ -cc.push(""); -cc.push(""); -}else{ -if(item.children&&item.children.length){ -cc.push(""); -cc.push(""); -}else{ -cc.push(""); -cc.push(""); -_1c8=true; -} -} -if(opts.checkbox){ -if((!opts.onlyLeafCheck)||_1c8){ -cc.push(""); -} -} -cc.push(""+opts.formatter.call(_1c3,item)+""); -cc.push("
      "); -if(item.children&&item.children.length){ -var tmp=_1c5(_1c6+1,item.children); -cc.push("
        "); -cc=cc.concat(tmp); -cc.push("
      "); -} -cc.push("
    • "); -} -return cc; -}; -}}; -$.fn.tree.defaults={url:null,method:"post",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,data:null,queryParams:{},formatter:function(node){ -return node.text; -},filter:function(q,node){ -return node.text.toLowerCase().indexOf(q.toLowerCase())>=0; -},loader:function(_1c9,_1ca,_1cb){ -var opts=$(this).tree("options"); -if(!opts.url){ -return false; -} -$.ajax({type:opts.method,url:opts.url,data:_1c9,dataType:"json",success:function(data){ -_1ca(data); -},error:function(){ -_1cb.apply(this,arguments); -}}); -},loadFilter:function(data,_1cc){ -return data; -},view:_1c2,onBeforeLoad:function(node,_1cd){ -},onLoadSuccess:function(node,data){ -},onLoadError:function(){ -},onClick:function(node){ -},onDblClick:function(node){ -},onBeforeExpand:function(node){ -},onExpand:function(node){ -},onBeforeCollapse:function(node){ -},onCollapse:function(node){ -},onBeforeCheck:function(node,_1ce){ -},onCheck:function(node,_1cf){ -},onBeforeSelect:function(node){ -},onSelect:function(node){ -},onContextMenu:function(e,node){ -},onBeforeDrag:function(node){ -},onStartDrag:function(node){ -},onStopDrag:function(node){ -},onDragEnter:function(_1d0,_1d1){ -},onDragOver:function(_1d2,_1d3){ -},onDragLeave:function(_1d4,_1d5){ -},onBeforeDrop:function(_1d6,_1d7,_1d8){ -},onDrop:function(_1d9,_1da,_1db){ -},onBeforeEdit:function(node){ -},onAfterEdit:function(node){ -},onCancelEdit:function(node){ -}}; -})(jQuery); -(function($){ -function init(_1dc){ -$(_1dc).addClass("progressbar"); -$(_1dc).html("
      "); -$(_1dc).bind("_resize",function(e,_1dd){ -if($(this).hasClass("easyui-fluid")||_1dd){ -_1de(_1dc); -} -return false; -}); -return $(_1dc); -}; -function _1de(_1df,_1e0){ -var opts=$.data(_1df,"progressbar").options; -var bar=$.data(_1df,"progressbar").bar; -if(_1e0){ -opts.width=_1e0; -} -bar._size(opts); -bar.find("div.progressbar-text").css("width",bar.width()); -bar.find("div.progressbar-text,div.progressbar-value").css({height:bar.height()+"px",lineHeight:bar.height()+"px"}); -}; -$.fn.progressbar=function(_1e1,_1e2){ -if(typeof _1e1=="string"){ -var _1e3=$.fn.progressbar.methods[_1e1]; -if(_1e3){ -return _1e3(this,_1e2); -} -} -_1e1=_1e1||{}; -return this.each(function(){ -var _1e4=$.data(this,"progressbar"); -if(_1e4){ -$.extend(_1e4.options,_1e1); -}else{ -_1e4=$.data(this,"progressbar",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_1e1),bar:init(this)}); -} -$(this).progressbar("setValue",_1e4.options.value); -_1de(this); -}); -}; -$.fn.progressbar.methods={options:function(jq){ -return $.data(jq[0],"progressbar").options; -},resize:function(jq,_1e5){ -return jq.each(function(){ -_1de(this,_1e5); -}); -},getValue:function(jq){ -return $.data(jq[0],"progressbar").options.value; -},setValue:function(jq,_1e6){ -if(_1e6<0){ -_1e6=0; -} -if(_1e6>100){ -_1e6=100; -} -return jq.each(function(){ -var opts=$.data(this,"progressbar").options; -var text=opts.text.replace(/{value}/,_1e6); -var _1e7=opts.value; -opts.value=_1e6; -$(this).find("div.progressbar-value").width(_1e6+"%"); -$(this).find("div.progressbar-text").html(text); -if(_1e7!=_1e6){ -opts.onChange.call(this,_1e6,_1e7); -} -}); -}}; -$.fn.progressbar.parseOptions=function(_1e8){ -return $.extend({},$.parser.parseOptions(_1e8,["width","height","text",{value:"number"}])); -}; -$.fn.progressbar.defaults={width:"auto",height:22,value:0,text:"{value}%",onChange:function(_1e9,_1ea){ -}}; -})(jQuery); -(function($){ -function init(_1eb){ -$(_1eb).addClass("tooltip-f"); -}; -function _1ec(_1ed){ -var opts=$.data(_1ed,"tooltip").options; -$(_1ed).unbind(".tooltip").bind(opts.showEvent+".tooltip",function(e){ -$(_1ed).tooltip("show",e); -}).bind(opts.hideEvent+".tooltip",function(e){ -$(_1ed).tooltip("hide",e); -}).bind("mousemove.tooltip",function(e){ -if(opts.trackMouse){ -opts.trackMouseX=e.pageX; -opts.trackMouseY=e.pageY; -$(_1ed).tooltip("reposition"); -} -}); -}; -function _1ee(_1ef){ -var _1f0=$.data(_1ef,"tooltip"); -if(_1f0.showTimer){ -clearTimeout(_1f0.showTimer); -_1f0.showTimer=null; -} -if(_1f0.hideTimer){ -clearTimeout(_1f0.hideTimer); -_1f0.hideTimer=null; -} -}; -function _1f1(_1f2){ -var _1f3=$.data(_1f2,"tooltip"); -if(!_1f3||!_1f3.tip){ -return; -} -var opts=_1f3.options; -var tip=_1f3.tip; -var pos={left:-100000,top:-100000}; -if($(_1f2).is(":visible")){ -pos=_1f4(opts.position); -if(opts.position=="top"&&pos.top<0){ -pos=_1f4("bottom"); -}else{ -if((opts.position=="bottom")&&(pos.top+tip._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){ -pos=_1f4("top"); -} -} -if(pos.left<0){ -if(opts.position=="left"){ -pos=_1f4("right"); -}else{ -$(_1f2).tooltip("arrow").css("left",tip._outerWidth()/2+pos.left); -pos.left=0; -} -}else{ -if(pos.left+tip._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ -if(opts.position=="right"){ -pos=_1f4("left"); -}else{ -var left=pos.left; -pos.left=$(window)._outerWidth()+$(document)._scrollLeft()-tip._outerWidth(); -$(_1f2).tooltip("arrow").css("left",tip._outerWidth()/2-(pos.left-left)); -} -} -} -} -tip.css({left:pos.left,top:pos.top,zIndex:(opts.zIndex!=undefined?opts.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:""))}); -opts.onPosition.call(_1f2,pos.left,pos.top); -function _1f4(_1f5){ -opts.position=_1f5||"bottom"; -tip.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-"+opts.position); -var left,top; -if(opts.trackMouse){ -t=$(); -left=opts.trackMouseX+opts.deltaX; -top=opts.trackMouseY+opts.deltaY; -}else{ -var t=$(_1f2); -left=t.offset().left+opts.deltaX; -top=t.offset().top+opts.deltaY; -} -switch(opts.position){ -case "right": -left+=t._outerWidth()+12+(opts.trackMouse?12:0); -top-=(tip._outerHeight()-t._outerHeight())/2; -break; -case "left": -left-=tip._outerWidth()+12+(opts.trackMouse?12:0); -top-=(tip._outerHeight()-t._outerHeight())/2; -break; -case "top": -left-=(tip._outerWidth()-t._outerWidth())/2; -top-=tip._outerHeight()+12+(opts.trackMouse?12:0); -break; -case "bottom": -left-=(tip._outerWidth()-t._outerWidth())/2; -top+=t._outerHeight()+12+(opts.trackMouse?12:0); -break; -} -return {left:left,top:top}; -}; -}; -function _1f6(_1f7,e){ -var _1f8=$.data(_1f7,"tooltip"); -var opts=_1f8.options; -var tip=_1f8.tip; -if(!tip){ -tip=$("
      "+"
      "+"
      "+"
      "+"
      ").appendTo("body"); -_1f8.tip=tip; -_1f9(_1f7); -} -_1ee(_1f7); -_1f8.showTimer=setTimeout(function(){ -$(_1f7).tooltip("reposition"); -tip.show(); -opts.onShow.call(_1f7,e); -var _1fa=tip.children(".tooltip-arrow-outer"); -var _1fb=tip.children(".tooltip-arrow"); -var bc="border-"+opts.position+"-color"; -_1fa.add(_1fb).css({borderTopColor:"",borderBottomColor:"",borderLeftColor:"",borderRightColor:""}); -_1fa.css(bc,tip.css(bc)); -_1fb.css(bc,tip.css("backgroundColor")); -},opts.showDelay); -}; -function _1fc(_1fd,e){ -var _1fe=$.data(_1fd,"tooltip"); -if(_1fe&&_1fe.tip){ -_1ee(_1fd); -_1fe.hideTimer=setTimeout(function(){ -_1fe.tip.hide(); -_1fe.options.onHide.call(_1fd,e); -},_1fe.options.hideDelay); -} -}; -function _1f9(_1ff,_200){ -var _201=$.data(_1ff,"tooltip"); -var opts=_201.options; -if(_200){ -opts.content=_200; -} -if(!_201.tip){ -return; -} -var cc=typeof opts.content=="function"?opts.content.call(_1ff):opts.content; -_201.tip.children(".tooltip-content").html(cc); -opts.onUpdate.call(_1ff,cc); -}; -function _202(_203){ -var _204=$.data(_203,"tooltip"); -if(_204){ -_1ee(_203); -var opts=_204.options; -if(_204.tip){ -_204.tip.remove(); -} -if(opts._title){ -$(_203).attr("title",opts._title); -} -$.removeData(_203,"tooltip"); -$(_203).unbind(".tooltip").removeClass("tooltip-f"); -opts.onDestroy.call(_203); -} -}; -$.fn.tooltip=function(_205,_206){ -if(typeof _205=="string"){ -return $.fn.tooltip.methods[_205](this,_206); -} -_205=_205||{}; -return this.each(function(){ -var _207=$.data(this,"tooltip"); -if(_207){ -$.extend(_207.options,_205); -}else{ -$.data(this,"tooltip",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_205)}); -init(this); -} -_1ec(this); -_1f9(this); -}); -}; -$.fn.tooltip.methods={options:function(jq){ -return $.data(jq[0],"tooltip").options; -},tip:function(jq){ -return $.data(jq[0],"tooltip").tip; -},arrow:function(jq){ -return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow"); -},show:function(jq,e){ -return jq.each(function(){ -_1f6(this,e); -}); -},hide:function(jq,e){ -return jq.each(function(){ -_1fc(this,e); -}); -},update:function(jq,_208){ -return jq.each(function(){ -_1f9(this,_208); -}); -},reposition:function(jq){ -return jq.each(function(){ -_1f1(this); -}); -},destroy:function(jq){ -return jq.each(function(){ -_202(this); -}); -}}; -$.fn.tooltip.parseOptions=function(_209){ -var t=$(_209); -var opts=$.extend({},$.parser.parseOptions(_209,["position","showEvent","hideEvent","content",{trackMouse:"boolean",deltaX:"number",deltaY:"number",showDelay:"number",hideDelay:"number"}]),{_title:t.attr("title")}); -t.attr("title",""); -if(!opts.content){ -opts.content=opts._title; -} -return opts; -}; -$.fn.tooltip.defaults={position:"bottom",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:"mouseenter",hideEvent:"mouseleave",showDelay:200,hideDelay:100,onShow:function(e){ -},onHide:function(e){ -},onUpdate:function(_20a){ -},onPosition:function(left,top){ -},onDestroy:function(){ -}}; -})(jQuery); -(function($){ -$.fn._remove=function(){ -return this.each(function(){ -$(this).remove(); -try{ -this.outerHTML=""; -} -catch(err){ -} -}); -}; -function _20b(node){ -node._remove(); -}; -function _20c(_20d,_20e){ -var _20f=$.data(_20d,"panel"); -var opts=_20f.options; -var _210=_20f.panel; -var _211=_210.children(".panel-header"); -var _212=_210.children(".panel-body"); -var _213=_210.children(".panel-footer"); -if(_20e){ -$.extend(opts,{width:_20e.width,height:_20e.height,minWidth:_20e.minWidth,maxWidth:_20e.maxWidth,minHeight:_20e.minHeight,maxHeight:_20e.maxHeight,left:_20e.left,top:_20e.top}); -} -_210._size(opts); -_211.add(_212)._outerWidth(_210.width()); -if(!isNaN(parseInt(opts.height))){ -_212._outerHeight(_210.height()-_211._outerHeight()-_213._outerHeight()); -}else{ -_212.css("height",""); -var min=$.parser.parseValue("minHeight",opts.minHeight,_210.parent()); -var max=$.parser.parseValue("maxHeight",opts.maxHeight,_210.parent()); -var _214=_211._outerHeight()+_213._outerHeight()+_210._outerHeight()-_210.height(); -_212._size("minHeight",min?(min-_214):""); -_212._size("maxHeight",max?(max-_214):""); -} -_210.css({height:"",minHeight:"",maxHeight:"",left:opts.left,top:opts.top}); -opts.onResize.apply(_20d,[opts.width,opts.height]); -$(_20d).panel("doLayout"); -}; -function _215(_216,_217){ -var opts=$.data(_216,"panel").options; -var _218=$.data(_216,"panel").panel; -if(_217){ -if(_217.left!=null){ -opts.left=_217.left; -} -if(_217.top!=null){ -opts.top=_217.top; -} -} -_218.css({left:opts.left,top:opts.top}); -opts.onMove.apply(_216,[opts.left,opts.top]); -}; -function _219(_21a){ -$(_21a).addClass("panel-body")._size("clear"); -var _21b=$("
      ").insertBefore(_21a); -_21b[0].appendChild(_21a); -_21b.bind("_resize",function(e,_21c){ -if($(this).hasClass("easyui-fluid")||_21c){ -_20c(_21a); -} -return false; -}); -return _21b; -}; -function _21d(_21e){ -var _21f=$.data(_21e,"panel"); -var opts=_21f.options; -var _220=_21f.panel; -_220.css(opts.style); -_220.addClass(opts.cls); -_221(); -_222(); -var _223=$(_21e).panel("header"); -var body=$(_21e).panel("body"); -var _224=$(_21e).siblings(".panel-footer"); -if(opts.border){ -_223.removeClass("panel-header-noborder"); -body.removeClass("panel-body-noborder"); -_224.removeClass("panel-footer-noborder"); -}else{ -_223.addClass("panel-header-noborder"); -body.addClass("panel-body-noborder"); -_224.addClass("panel-footer-noborder"); -} -_223.addClass(opts.headerCls); -body.addClass(opts.bodyCls); -$(_21e).attr("id",opts.id||""); -if(opts.content){ -$(_21e).panel("clear"); -$(_21e).html(opts.content); -$.parser.parse($(_21e)); -} -function _221(){ -if(opts.noheader||(!opts.title&&!opts.header)){ -_20b(_220.children(".panel-header")); -_220.children(".panel-body").addClass("panel-body-noheader"); -}else{ -if(opts.header){ -$(opts.header).addClass("panel-header").prependTo(_220); -}else{ -var _225=_220.children(".panel-header"); -if(!_225.length){ -_225=$("
      ").prependTo(_220); -} -if(!$.isArray(opts.tools)){ -_225.find("div.panel-tool .panel-tool-a").appendTo(opts.tools); -} -_225.empty(); -var _226=$("
      ").html(opts.title).appendTo(_225); -if(opts.iconCls){ -_226.addClass("panel-with-icon"); -$("
      ").addClass(opts.iconCls).appendTo(_225); -} -var tool=$("
      ").appendTo(_225); -tool.bind("click",function(e){ -e.stopPropagation(); -}); -if(opts.tools){ -if($.isArray(opts.tools)){ -$.map(opts.tools,function(t){ -_227(tool,t.iconCls,eval(t.handler)); -}); -}else{ -$(opts.tools).children().each(function(){ -$(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(tool); -}); -} -} -if(opts.collapsible){ -_227(tool,"panel-tool-collapse",function(){ -if(opts.collapsed==true){ -_245(_21e,true); -}else{ -_238(_21e,true); -} -}); -} -if(opts.minimizable){ -_227(tool,"panel-tool-min",function(){ -_24b(_21e); -}); -} -if(opts.maximizable){ -_227(tool,"panel-tool-max",function(){ -if(opts.maximized==true){ -_24e(_21e); -}else{ -_237(_21e); -} -}); -} -if(opts.closable){ -_227(tool,"panel-tool-close",function(){ -_239(_21e); -}); -} -} -_220.children("div.panel-body").removeClass("panel-body-noheader"); -} -}; -function _227(c,icon,_228){ -var a=$("").addClass(icon).appendTo(c); -a.bind("click",_228); -}; -function _222(){ -if(opts.footer){ -$(opts.footer).addClass("panel-footer").appendTo(_220); -$(_21e).addClass("panel-body-nobottom"); -}else{ -_220.children(".panel-footer").remove(); -$(_21e).removeClass("panel-body-nobottom"); -} -}; -}; -function _229(_22a,_22b){ -var _22c=$.data(_22a,"panel"); -var opts=_22c.options; -if(_22d){ -opts.queryParams=_22b; -} -if(!opts.href){ -return; -} -if(!_22c.isLoaded||!opts.cache){ -var _22d=$.extend({},opts.queryParams); -if(opts.onBeforeLoad.call(_22a,_22d)==false){ -return; -} -_22c.isLoaded=false; -$(_22a).panel("clear"); -if(opts.loadingMessage){ -$(_22a).html($("
      ").html(opts.loadingMessage)); -} -opts.loader.call(_22a,_22d,function(data){ -var _22e=opts.extractor.call(_22a,data); -$(_22a).html(_22e); -$.parser.parse($(_22a)); -opts.onLoad.apply(_22a,arguments); -_22c.isLoaded=true; -},function(){ -opts.onLoadError.apply(_22a,arguments); -}); -} -}; -function _22f(_230){ -var t=$(_230); -t.find(".combo-f").each(function(){ -$(this).combo("destroy"); -}); -t.find(".m-btn").each(function(){ -$(this).menubutton("destroy"); -}); -t.find(".s-btn").each(function(){ -$(this).splitbutton("destroy"); -}); -t.find(".tooltip-f").each(function(){ -$(this).tooltip("destroy"); -}); -t.children("div").each(function(){ -$(this)._size("unfit"); -}); -t.empty(); -}; -function _231(_232){ -$(_232).panel("doLayout",true); -}; -function _233(_234,_235){ -var opts=$.data(_234,"panel").options; -var _236=$.data(_234,"panel").panel; -if(_235!=true){ -if(opts.onBeforeOpen.call(_234)==false){ -return; -} -} -_236.stop(true,true); -if($.isFunction(opts.openAnimation)){ -opts.openAnimation.call(_234,cb); -}else{ -switch(opts.openAnimation){ -case "slide": -_236.slideDown(opts.openDuration,cb); -break; -case "fade": -_236.fadeIn(opts.openDuration,cb); -break; -case "show": -_236.show(opts.openDuration,cb); -break; -default: -_236.show(); -cb(); -} -} -function cb(){ -opts.closed=false; -opts.minimized=false; -var tool=_236.children(".panel-header").find("a.panel-tool-restore"); -if(tool.length){ -opts.maximized=true; -} -opts.onOpen.call(_234); -if(opts.maximized==true){ -opts.maximized=false; -_237(_234); -} -if(opts.collapsed==true){ -opts.collapsed=false; -_238(_234); -} -if(!opts.collapsed){ -_229(_234); -_231(_234); -} -}; -}; -function _239(_23a,_23b){ -var opts=$.data(_23a,"panel").options; -var _23c=$.data(_23a,"panel").panel; -if(_23b!=true){ -if(opts.onBeforeClose.call(_23a)==false){ -return; -} -} -_23c.stop(true,true); -_23c._size("unfit"); -if($.isFunction(opts.closeAnimation)){ -opts.closeAnimation.call(_23a,cb); -}else{ -switch(opts.closeAnimation){ -case "slide": -_23c.slideUp(opts.closeDuration,cb); -break; -case "fade": -_23c.fadeOut(opts.closeDuration,cb); -break; -case "hide": -_23c.hide(opts.closeDuration,cb); -break; -default: -_23c.hide(); -cb(); -} -} -function cb(){ -opts.closed=true; -opts.onClose.call(_23a); -}; -}; -function _23d(_23e,_23f){ -var _240=$.data(_23e,"panel"); -var opts=_240.options; -var _241=_240.panel; -if(_23f!=true){ -if(opts.onBeforeDestroy.call(_23e)==false){ -return; -} -} -$(_23e).panel("clear").panel("clear","footer"); -_20b(_241); -opts.onDestroy.call(_23e); -}; -function _238(_242,_243){ -var opts=$.data(_242,"panel").options; -var _244=$.data(_242,"panel").panel; -var body=_244.children(".panel-body"); -var tool=_244.children(".panel-header").find("a.panel-tool-collapse"); -if(opts.collapsed==true){ -return; -} -body.stop(true,true); -if(opts.onBeforeCollapse.call(_242)==false){ -return; -} -tool.addClass("panel-tool-expand"); -if(_243==true){ -body.slideUp("normal",function(){ -opts.collapsed=true; -opts.onCollapse.call(_242); -}); -}else{ -body.hide(); -opts.collapsed=true; -opts.onCollapse.call(_242); -} -}; -function _245(_246,_247){ -var opts=$.data(_246,"panel").options; -var _248=$.data(_246,"panel").panel; -var body=_248.children(".panel-body"); -var tool=_248.children(".panel-header").find("a.panel-tool-collapse"); -if(opts.collapsed==false){ -return; -} -body.stop(true,true); -if(opts.onBeforeExpand.call(_246)==false){ -return; -} -tool.removeClass("panel-tool-expand"); -if(_247==true){ -body.slideDown("normal",function(){ -opts.collapsed=false; -opts.onExpand.call(_246); -_229(_246); -_231(_246); -}); -}else{ -body.show(); -opts.collapsed=false; -opts.onExpand.call(_246); -_229(_246); -_231(_246); -} -}; -function _237(_249){ -var opts=$.data(_249,"panel").options; -var _24a=$.data(_249,"panel").panel; -var tool=_24a.children(".panel-header").find("a.panel-tool-max"); -if(opts.maximized==true){ -return; -} -tool.addClass("panel-tool-restore"); -if(!$.data(_249,"panel").original){ -$.data(_249,"panel").original={width:opts.width,height:opts.height,left:opts.left,top:opts.top,fit:opts.fit}; -} -opts.left=0; -opts.top=0; -opts.fit=true; -_20c(_249); -opts.minimized=false; -opts.maximized=true; -opts.onMaximize.call(_249); -}; -function _24b(_24c){ -var opts=$.data(_24c,"panel").options; -var _24d=$.data(_24c,"panel").panel; -_24d._size("unfit"); -_24d.hide(); -opts.minimized=true; -opts.maximized=false; -opts.onMinimize.call(_24c); -}; -function _24e(_24f){ -var opts=$.data(_24f,"panel").options; -var _250=$.data(_24f,"panel").panel; -var tool=_250.children(".panel-header").find("a.panel-tool-max"); -if(opts.maximized==false){ -return; -} -_250.show(); -tool.removeClass("panel-tool-restore"); -$.extend(opts,$.data(_24f,"panel").original); -_20c(_24f); -opts.minimized=false; -opts.maximized=false; -$.data(_24f,"panel").original=null; -opts.onRestore.call(_24f); -}; -function _251(_252,_253){ -$.data(_252,"panel").options.title=_253; -$(_252).panel("header").find("div.panel-title").html(_253); -}; -var _254=null; -$(window).unbind(".panel").bind("resize.panel",function(){ -if(_254){ -clearTimeout(_254); -} -_254=setTimeout(function(){ -var _255=$("body.layout"); -if(_255.length){ -_255.layout("resize"); -$("body").children(".easyui-fluid:visible").each(function(){ -$(this).triggerHandler("_resize"); -}); -}else{ -$("body").panel("doLayout"); -} -_254=null; -},100); -}); -$.fn.panel=function(_256,_257){ -if(typeof _256=="string"){ -return $.fn.panel.methods[_256](this,_257); -} -_256=_256||{}; -return this.each(function(){ -var _258=$.data(this,"panel"); -var opts; -if(_258){ -opts=$.extend(_258.options,_256); -_258.isLoaded=false; -}else{ -opts=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_256); -$(this).attr("title",""); -_258=$.data(this,"panel",{options:opts,panel:_219(this),isLoaded:false}); -} -_21d(this); -if(opts.doSize==true){ -_258.panel.css("display","block"); -_20c(this); -} -if(opts.closed==true||opts.minimized==true){ -_258.panel.hide(); -}else{ -_233(this); -} -}); -}; -$.fn.panel.methods={options:function(jq){ -return $.data(jq[0],"panel").options; -},panel:function(jq){ -return $.data(jq[0],"panel").panel; -},header:function(jq){ -return $.data(jq[0],"panel").panel.children(".panel-header"); -},footer:function(jq){ -return jq.panel("panel").children(".panel-footer"); -},body:function(jq){ -return $.data(jq[0],"panel").panel.children(".panel-body"); -},setTitle:function(jq,_259){ -return jq.each(function(){ -_251(this,_259); -}); -},open:function(jq,_25a){ -return jq.each(function(){ -_233(this,_25a); -}); -},close:function(jq,_25b){ -return jq.each(function(){ -_239(this,_25b); -}); -},destroy:function(jq,_25c){ -return jq.each(function(){ -_23d(this,_25c); -}); -},clear:function(jq,type){ -return jq.each(function(){ -_22f(type=="footer"?$(this).panel("footer"):this); -}); -},refresh:function(jq,href){ -return jq.each(function(){ -var _25d=$.data(this,"panel"); -_25d.isLoaded=false; -if(href){ -if(typeof href=="string"){ -_25d.options.href=href; -}else{ -_25d.options.queryParams=href; -} -} -_229(this); -}); -},resize:function(jq,_25e){ -return jq.each(function(){ -_20c(this,_25e); -}); -},doLayout:function(jq,all){ -return jq.each(function(){ -_25f(this,"body"); -_25f($(this).siblings(".panel-footer")[0],"footer"); -function _25f(_260,type){ -if(!_260){ -return; -} -var _261=_260==$("body")[0]; -var s=$(_260).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_262,el){ -var p=$(el).parents(".panel-"+type+":first"); -return _261?p.length==0:p[0]==_260; -}); -s.each(function(){ -$(this).triggerHandler("_resize",[all||false]); -}); -}; -}); -},move:function(jq,_263){ -return jq.each(function(){ -_215(this,_263); -}); -},maximize:function(jq){ -return jq.each(function(){ -_237(this); -}); -},minimize:function(jq){ -return jq.each(function(){ -_24b(this); -}); -},restore:function(jq){ -return jq.each(function(){ -_24e(this); -}); -},collapse:function(jq,_264){ -return jq.each(function(){ -_238(this,_264); -}); -},expand:function(jq,_265){ -return jq.each(function(){ -_245(this,_265); -}); -}}; -$.fn.panel.parseOptions=function(_266){ -var t=$(_266); -var hh=t.children(".panel-header,header"); -var ff=t.children(".panel-footer,footer"); -return $.extend({},$.parser.parseOptions(_266,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method","header","footer",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"},"openAnimation","closeAnimation",{openDuration:"number",closeDuration:"number"},]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined),header:(hh.length?hh.removeClass("panel-header"):undefined),footer:(ff.length?ff.removeClass("panel-footer"):undefined)}); -}; -$.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,header:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_267,_268,_269){ -var opts=$(this).panel("options"); -if(!opts.href){ -return false; -} -$.ajax({type:opts.method,url:opts.href,cache:false,data:_267,dataType:"html",success:function(data){ -_268(data); -},error:function(){ -_269.apply(this,arguments); -}}); -},extractor:function(data){ -var _26a=/]*>((.|[\n\r])*)<\/body>/im; -var _26b=_26a.exec(data); -if(_26b){ -return _26b[1]; -}else{ -return data; -} -},onBeforeLoad:function(_26c){ -},onLoad:function(){ -},onLoadError:function(){ -},onBeforeOpen:function(){ -},onOpen:function(){ -},onBeforeClose:function(){ -},onClose:function(){ -},onBeforeDestroy:function(){ -},onDestroy:function(){ -},onResize:function(_26d,_26e){ -},onMove:function(left,top){ -},onMaximize:function(){ -},onRestore:function(){ -},onMinimize:function(){ -},onBeforeCollapse:function(){ -},onBeforeExpand:function(){ -},onCollapse:function(){ -},onExpand:function(){ -}}; -})(jQuery); -(function($){ -function _26f(_270,_271){ -var _272=$.data(_270,"window"); -if(_271){ -if(_271.left!=null){ -_272.options.left=_271.left; -} -if(_271.top!=null){ -_272.options.top=_271.top; -} -} -$(_270).panel("move",_272.options); -if(_272.shadow){ -_272.shadow.css({left:_272.options.left,top:_272.options.top}); -} -}; -function _273(_274,_275){ -var opts=$.data(_274,"window").options; -var pp=$(_274).window("panel"); -var _276=pp._outerWidth(); -if(opts.inline){ -var _277=pp.parent(); -opts.left=Math.ceil((_277.width()-_276)/2+_277.scrollLeft()); -}else{ -opts.left=Math.ceil(($(window)._outerWidth()-_276)/2+$(document).scrollLeft()); -} -if(_275){ -_26f(_274); -} -}; -function _278(_279,_27a){ -var opts=$.data(_279,"window").options; -var pp=$(_279).window("panel"); -var _27b=pp._outerHeight(); -if(opts.inline){ -var _27c=pp.parent(); -opts.top=Math.ceil((_27c.height()-_27b)/2+_27c.scrollTop()); -}else{ -opts.top=Math.ceil(($(window)._outerHeight()-_27b)/2+$(document).scrollTop()); -} -if(_27a){ -_26f(_279); -} -}; -function _27d(_27e){ -var _27f=$.data(_27e,"window"); -var opts=_27f.options; -var win=$(_27e).panel($.extend({},_27f.options,{border:false,doSize:true,closed:true,cls:"window",headerCls:"window-header",bodyCls:"window-body "+(opts.noheader?"window-body-noheader":""),onBeforeDestroy:function(){ -if(opts.onBeforeDestroy.call(_27e)==false){ -return false; -} -if(_27f.shadow){ -_27f.shadow.remove(); -} -if(_27f.mask){ -_27f.mask.remove(); -} -},onClose:function(){ -if(_27f.shadow){ -_27f.shadow.hide(); -} -if(_27f.mask){ -_27f.mask.hide(); -} -opts.onClose.call(_27e); -},onOpen:function(){ -if(_27f.mask){ -_27f.mask.css({display:"block",zIndex:$.fn.window.defaults.zIndex++}); -} -if(_27f.shadow){ -_27f.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:opts.left,top:opts.top,width:_27f.window._outerWidth(),height:_27f.window._outerHeight()}); -} -_27f.window.css("z-index",$.fn.window.defaults.zIndex++); -opts.onOpen.call(_27e); -},onResize:function(_280,_281){ -var _282=$(this).panel("options"); -$.extend(opts,{width:_282.width,height:_282.height,left:_282.left,top:_282.top}); -if(_27f.shadow){ -_27f.shadow.css({left:opts.left,top:opts.top,width:_27f.window._outerWidth(),height:_27f.window._outerHeight()}); -} -opts.onResize.call(_27e,_280,_281); -},onMinimize:function(){ -if(_27f.shadow){ -_27f.shadow.hide(); -} -if(_27f.mask){ -_27f.mask.hide(); -} -_27f.options.onMinimize.call(_27e); -},onBeforeCollapse:function(){ -if(opts.onBeforeCollapse.call(_27e)==false){ -return false; -} -if(_27f.shadow){ -_27f.shadow.hide(); -} -},onExpand:function(){ -if(_27f.shadow){ -_27f.shadow.show(); -} -opts.onExpand.call(_27e); -}})); -_27f.window=win.panel("panel"); -if(_27f.mask){ -_27f.mask.remove(); -} -if(opts.modal==true){ -_27f.mask=$("
      ").insertAfter(_27f.window); -_27f.mask.css({width:(opts.inline?_27f.mask.parent().width():_283().width),height:(opts.inline?_27f.mask.parent().height():_283().height),display:"none"}); -} -if(_27f.shadow){ -_27f.shadow.remove(); -} -if(opts.shadow==true){ -_27f.shadow=$("
      ").insertAfter(_27f.window); -_27f.shadow.css({display:"none"}); -} -if(opts.left==null){ -_273(_27e); -} -if(opts.top==null){ -_278(_27e); -} -_26f(_27e); -if(!opts.closed){ -win.window("open"); -} -}; -function _284(_285){ -var _286=$.data(_285,"window"); -_286.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_286.options.draggable==false,onStartDrag:function(e){ -if(_286.mask){ -_286.mask.css("z-index",$.fn.window.defaults.zIndex++); -} -if(_286.shadow){ -_286.shadow.css("z-index",$.fn.window.defaults.zIndex++); -} -_286.window.css("z-index",$.fn.window.defaults.zIndex++); -if(!_286.proxy){ -_286.proxy=$("
      ").insertAfter(_286.window); -} -_286.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); -_286.proxy._outerWidth(_286.window._outerWidth()); -_286.proxy._outerHeight(_286.window._outerHeight()); -setTimeout(function(){ -if(_286.proxy){ -_286.proxy.show(); -} -},500); -},onDrag:function(e){ -_286.proxy.css({display:"block",left:e.data.left,top:e.data.top}); -return false; -},onStopDrag:function(e){ -_286.options.left=e.data.left; -_286.options.top=e.data.top; -$(_285).window("move"); -_286.proxy.remove(); -_286.proxy=null; -}}); -_286.window.resizable({disabled:_286.options.resizable==false,onStartResize:function(e){ -if(_286.pmask){ -_286.pmask.remove(); -} -_286.pmask=$("
      ").insertAfter(_286.window); -_286.pmask.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_286.window._outerWidth(),height:_286.window._outerHeight()}); -if(_286.proxy){ -_286.proxy.remove(); -} -_286.proxy=$("
      ").insertAfter(_286.window); -_286.proxy.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); -_286.proxy._outerWidth(e.data.width)._outerHeight(e.data.height); -},onResize:function(e){ -_286.proxy.css({left:e.data.left,top:e.data.top}); -_286.proxy._outerWidth(e.data.width); -_286.proxy._outerHeight(e.data.height); -return false; -},onStopResize:function(e){ -$(_285).window("resize",e.data); -_286.pmask.remove(); -_286.pmask=null; -_286.proxy.remove(); -_286.proxy=null; -}}); -}; -function _283(){ -if(document.compatMode=="BackCompat"){ -return {width:Math.max(document.body.scrollWidth,document.body.clientWidth),height:Math.max(document.body.scrollHeight,document.body.clientHeight)}; -}else{ -return {width:Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth),height:Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight)}; -} -}; -$(window).resize(function(){ -$("body>div.window-mask").css({width:$(window)._outerWidth(),height:$(window)._outerHeight()}); -setTimeout(function(){ -$("body>div.window-mask").css({width:_283().width,height:_283().height}); -},50); -}); -$.fn.window=function(_287,_288){ -if(typeof _287=="string"){ -var _289=$.fn.window.methods[_287]; -if(_289){ -return _289(this,_288); -}else{ -return this.panel(_287,_288); -} -} -_287=_287||{}; -return this.each(function(){ -var _28a=$.data(this,"window"); -if(_28a){ -$.extend(_28a.options,_287); -}else{ -_28a=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_287)}); -if(!_28a.options.inline){ -document.body.appendChild(this); -} -} -_27d(this); -_284(this); -}); -}; -$.fn.window.methods={options:function(jq){ -var _28b=jq.panel("options"); -var _28c=$.data(jq[0],"window").options; -return $.extend(_28c,{closed:_28b.closed,collapsed:_28b.collapsed,minimized:_28b.minimized,maximized:_28b.maximized}); -},window:function(jq){ -return $.data(jq[0],"window").window; -},move:function(jq,_28d){ -return jq.each(function(){ -_26f(this,_28d); -}); -},hcenter:function(jq){ -return jq.each(function(){ -_273(this,true); -}); -},vcenter:function(jq){ -return jq.each(function(){ -_278(this,true); -}); -},center:function(jq){ -return jq.each(function(){ -_273(this); -_278(this); -_26f(this); -}); -}}; -$.fn.window.parseOptions=function(_28e){ -return $.extend({},$.fn.panel.parseOptions(_28e),$.parser.parseOptions(_28e,[{draggable:"boolean",resizable:"boolean",shadow:"boolean",modal:"boolean",inline:"boolean"}])); -}; -$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false}); -})(jQuery); -(function($){ -function _28f(_290){ -var opts=$.data(_290,"dialog").options; -opts.inited=false; -$(_290).window($.extend({},opts,{onResize:function(w,h){ -if(opts.inited){ -_295(this); -opts.onResize.call(this,w,h); -} -}})); -var win=$(_290).window("window"); -if(opts.toolbar){ -if($.isArray(opts.toolbar)){ -$(_290).siblings("div.dialog-toolbar").remove(); -var _291=$("
      ").appendTo(win); -var tr=_291.find("tr"); -for(var i=0;i
      ").appendTo(tr); -}else{ -var td=$("").appendTo(tr); -var tool=$("").appendTo(td); -tool[0].onclick=eval(btn.handler||function(){ -}); -tool.linkbutton($.extend({},btn,{plain:true})); -} -} -}else{ -$(opts.toolbar).addClass("dialog-toolbar").appendTo(win); -$(opts.toolbar).show(); -} -}else{ -$(_290).siblings("div.dialog-toolbar").remove(); -} -if(opts.buttons){ -if($.isArray(opts.buttons)){ -$(_290).siblings("div.dialog-button").remove(); -var _292=$("
      ").appendTo(win); -for(var i=0;i").appendTo(_292); -if(p.handler){ -_293[0].onclick=p.handler; -} -_293.linkbutton(p); -} -}else{ -$(opts.buttons).addClass("dialog-button").appendTo(win); -$(opts.buttons).show(); -} -}else{ -$(_290).siblings("div.dialog-button").remove(); -} -opts.inited=true; -var _294=opts.closed; -win.show(); -$(_290).window("resize"); -if(_294){ -win.hide(); -} -}; -function _295(_296,_297){ -var t=$(_296); -var opts=t.dialog("options"); -var _298=opts.noheader; -var tb=t.siblings(".dialog-toolbar"); -var bb=t.siblings(".dialog-button"); -tb.insertBefore(_296).css({position:"relative",borderTopWidth:(_298?1:0),top:(_298?tb.length:0)}); -bb.insertAfter(_296).css({position:"relative",top:-1}); -tb.add(bb)._outerWidth(t._outerWidth()).find(".easyui-fluid:visible").each(function(){ -$(this).triggerHandler("_resize"); -}); -if(!isNaN(parseInt(opts.height))){ -t._outerHeight(t._outerHeight()-tb._outerHeight()-bb._outerHeight()); -} -var _299=$.data(_296,"window").shadow; -if(_299){ -var cc=t.panel("panel"); -_299.css({width:cc._outerWidth(),height:cc._outerHeight()}); -} -}; -$.fn.dialog=function(_29a,_29b){ -if(typeof _29a=="string"){ -var _29c=$.fn.dialog.methods[_29a]; -if(_29c){ -return _29c(this,_29b); -}else{ -return this.window(_29a,_29b); -} -} -_29a=_29a||{}; -return this.each(function(){ -var _29d=$.data(this,"dialog"); -if(_29d){ -$.extend(_29d.options,_29a); -}else{ -$.data(this,"dialog",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_29a)}); -} -_28f(this); -}); -}; -$.fn.dialog.methods={options:function(jq){ -var _29e=$.data(jq[0],"dialog").options; -var _29f=jq.panel("options"); -$.extend(_29e,{width:_29f.width,height:_29f.height,left:_29f.left,top:_29f.top,closed:_29f.closed,collapsed:_29f.collapsed,minimized:_29f.minimized,maximized:_29f.maximized}); -return _29e; -},dialog:function(jq){ -return jq.window("window"); -}}; -$.fn.dialog.parseOptions=function(_2a0){ -var t=$(_2a0); -return $.extend({},$.fn.window.parseOptions(_2a0),$.parser.parseOptions(_2a0,["toolbar","buttons"]),{toolbar:(t.children(".dialog-toolbar").length?t.children(".dialog-toolbar").removeClass("dialog-toolbar"):undefined),buttons:(t.children(".dialog-button").length?t.children(".dialog-button").removeClass("dialog-button"):undefined)}); -}; -$.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:"New Dialog",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null}); -})(jQuery); -(function($){ -function _2a1(){ -$(document).unbind(".messager").bind("keydown.messager",function(e){ -if(e.keyCode==27){ -$("body").children("div.messager-window").children("div.messager-body").each(function(){ -$(this).window("close"); -}); -}else{ -if(e.keyCode==9){ -var win=$("body").children("div.messager-window").children("div.messager-body"); -if(!win.length){ -return; -} -var _2a2=win.find(".messager-input,.messager-button .l-btn"); -for(var i=0;i<_2a2.length;i++){ -if($(_2a2[i]).is(":focus")){ -$(_2a2[i>=_2a2.length-1?0:i+1]).focus(); -return false; -} -} -} -} -}); -}; -function _2a3(){ -$(document).unbind(".messager"); -}; -function _2a4(_2a5){ -var opts=$.extend({},$.messager.defaults,{modal:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},title:"",width:250,height:100,showType:"slide",showSpeed:600,msg:"",timeout:4000},_2a5); -var win=$("
      ").html(opts.msg).appendTo("body"); -win.window($.extend({},opts,{openAnimation:(opts.showType),closeAnimation:(opts.showType=="show"?"hide":opts.showType),openDuration:opts.showSpeed,closeDuration:opts.showSpeed,onOpen:function(){ -win.window("window").hover(function(){ -if(opts.timer){ -clearTimeout(opts.timer); -} -},function(){ -_2a6(); -}); -_2a6(); -function _2a6(){ -if(opts.timeout>0){ -opts.timer=setTimeout(function(){ -if(win.length&&win.data("window")){ -win.window("close"); -} -},opts.timeout); -} -}; -if(_2a5.onOpen){ -_2a5.onOpen.call(this); -}else{ -opts.onOpen.call(this); -} -},onClose:function(){ -if(opts.timer){ -clearTimeout(opts.timer); -} -if(_2a5.onClose){ -_2a5.onClose.call(this); -}else{ -opts.onClose.call(this); -} -win.window("destroy"); -}})); -win.window("window").css(opts.style); -win.window("open"); -return win; -}; -function _2a7(_2a8){ -_2a1(); -var win=$("
      ").appendTo("body"); -win.window($.extend({},_2a8,{doSize:false,noheader:(_2a8.title?false:true),onClose:function(){ -_2a3(); -if(_2a8.onClose){ -_2a8.onClose.call(this); -} -setTimeout(function(){ -win.window("destroy"); -},100); -}})); -if(_2a8.buttons&&_2a8.buttons.length){ -var tb=$("
      ").appendTo(win); -$.map(_2a8.buttons,function(btn){ -$("").appendTo(tb).linkbutton(btn); -}); -} -win.window("window").addClass("messager-window"); -win.window("resize"); -win.children("div.messager-button").children("a:first").focus(); -return win; -}; -$.messager={show:function(_2a9){ -return _2a4(_2a9); -},alert:function(_2aa,msg,icon,fn){ -var opts=typeof _2aa=="object"?_2aa:{title:_2aa,msg:msg,icon:icon,fn:fn}; -var cls=opts.icon?"messager-icon messager-"+opts.icon:""; -opts=$.extend({},$.messager.defaults,{content:"
      "+"
      "+opts.msg+"
      "+"
      ",buttons:[{text:$.messager.defaults.ok,onClick:function(){ -win.window("close"); -opts.fn(); -}}]},opts); -var win=_2a7(opts); -return win; -},confirm:function(_2ab,msg,fn){ -var opts=typeof _2ab=="object"?_2ab:{title:_2ab,msg:msg,fn:fn}; -opts=$.extend({},$.messager.defaults,{content:"
      "+"
      "+opts.msg+"
      "+"
      ",buttons:[{text:$.messager.defaults.ok,onClick:function(){ -win.window("close"); -opts.fn(true); -}},{text:$.messager.defaults.cancel,onClick:function(){ -win.window("close"); -opts.fn(false); -}}]},opts); -var win=_2a7(opts); -return win; -},prompt:function(_2ac,msg,fn){ -var opts=typeof _2ac=="object"?_2ac:{title:_2ac,msg:msg,fn:fn}; -opts=$.extend({},$.messager.defaults,{content:"
      "+"
      "+opts.msg+"
      "+"
      "+"
      "+"
      ",buttons:[{text:$.messager.defaults.ok,onClick:function(){ -win.window("close"); -opts.fn(win.find(".messager-input").val()); -}},{text:$.messager.defaults.cancel,onClick:function(){ -win.window("close"); -opts.fn(); -}}]},opts); -var win=_2a7(opts); -win.find("input.messager-input").focus(); -return win; -},progress:function(_2ad){ -var _2ae={bar:function(){ -return $("body>div.messager-window").find("div.messager-p-bar"); -},close:function(){ -var win=$("body>div.messager-window>div.messager-body:has(div.messager-progress)"); -if(win.length){ -win.window("close"); -} -}}; -if(typeof _2ad=="string"){ -var _2af=_2ae[_2ad]; -return _2af(); -} -var opts=$.extend({},{title:"",content:undefined,msg:"",text:undefined,interval:300},_2ad||{}); -var win=_2a7($.extend({},$.messager.defaults,{content:"
      "+opts.msg+"
      ",closable:false,doSize:false},opts,{onClose:function(){ -if(this.timer){ -clearInterval(this.timer); -} -if(_2ad.onClose){ -_2ad.onClose.call(this); -}else{ -$.messager.defaults.onClose.call(this); -} -}})); -var bar=win.find("div.messager-p-bar"); -bar.progressbar({text:opts.text}); -win.window("resize"); -if(opts.interval){ -win[0].timer=setInterval(function(){ -var v=bar.progressbar("getValue"); -v+=10; -if(v>100){ -v=0; -} -bar.progressbar("setValue",v); -},opts.interval); -} -return win; -}}; -$.messager.defaults=$.extend({},$.fn.window.defaults,{ok:"Ok",cancel:"Cancel",width:300,height:"auto",modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,fn:function(){ -}}); -})(jQuery); -(function($){ -function _2b0(_2b1,_2b2){ -var _2b3=$.data(_2b1,"accordion"); -var opts=_2b3.options; -var _2b4=_2b3.panels; -var cc=$(_2b1); -if(_2b2){ -$.extend(opts,{width:_2b2.width,height:_2b2.height}); -} -cc._size(opts); -var _2b5=0; -var _2b6="auto"; -var _2b7=cc.find(">.panel>.accordion-header"); -if(_2b7.length){ -_2b5=$(_2b7[0]).css("height","")._outerHeight(); -} -if(!isNaN(parseInt(opts.height))){ -_2b6=cc.height()-_2b5*_2b7.length; -} -_2b8(true,_2b6-_2b8(false)+1); -function _2b8(_2b9,_2ba){ -var _2bb=0; -for(var i=0;i<_2b4.length;i++){ -var p=_2b4[i]; -var h=p.panel("header")._outerHeight(_2b5); -if(p.panel("options").collapsible==_2b9){ -var _2bc=isNaN(_2ba)?undefined:(_2ba+_2b5*h.length); -p.panel("resize",{width:cc.width(),height:(_2b9?_2bc:undefined)}); -_2bb+=p.panel("panel").outerHeight()-_2b5*h.length; -} -} -return _2bb; -}; -}; -function _2bd(_2be,_2bf,_2c0,all){ -var _2c1=$.data(_2be,"accordion").panels; -var pp=[]; -for(var i=0;i<_2c1.length;i++){ -var p=_2c1[i]; -if(_2bf){ -if(p.panel("options")[_2bf]==_2c0){ -pp.push(p); -} -}else{ -if(p[0]==$(_2c0)[0]){ -return i; -} -} -} -if(_2bf){ -return all?pp:(pp.length?pp[0]:null); -}else{ -return -1; -} -}; -function _2c2(_2c3){ -return _2bd(_2c3,"collapsed",false,true); -}; -function _2c4(_2c5){ -var pp=_2c2(_2c5); -return pp.length?pp[0]:null; -}; -function _2c6(_2c7,_2c8){ -return _2bd(_2c7,null,_2c8); -}; -function _2c9(_2ca,_2cb){ -var _2cc=$.data(_2ca,"accordion").panels; -if(typeof _2cb=="number"){ -if(_2cb<0||_2cb>=_2cc.length){ -return null; -}else{ -return _2cc[_2cb]; -} -} -return _2bd(_2ca,"title",_2cb); -}; -function _2cd(_2ce){ -var opts=$.data(_2ce,"accordion").options; -var cc=$(_2ce); -if(opts.border){ -cc.removeClass("accordion-noborder"); -}else{ -cc.addClass("accordion-noborder"); -} -}; -function init(_2cf){ -var _2d0=$.data(_2cf,"accordion"); -var cc=$(_2cf); -cc.addClass("accordion"); -_2d0.panels=[]; -cc.children("div").each(function(){ -var opts=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); -var pp=$(this); -_2d0.panels.push(pp); -_2d2(_2cf,pp,opts); -}); -cc.bind("_resize",function(e,_2d1){ -if($(this).hasClass("easyui-fluid")||_2d1){ -_2b0(_2cf); -} -return false; -}); -}; -function _2d2(_2d3,pp,_2d4){ -var opts=$.data(_2d3,"accordion").options; -pp.panel($.extend({},{collapsible:true,minimizable:false,maximizable:false,closable:false,doSize:false,collapsed:true,headerCls:"accordion-header",bodyCls:"accordion-body"},_2d4,{onBeforeExpand:function(){ -if(_2d4.onBeforeExpand){ -if(_2d4.onBeforeExpand.call(this)==false){ -return false; -} -} -if(!opts.multiple){ -var all=$.grep(_2c2(_2d3),function(p){ -return p.panel("options").collapsible; -}); -for(var i=0;i").addClass("accordion-collapse accordion-expand").appendTo(tool); -t.bind("click",function(){ -_2d8(pp); -return false; -}); -pp.panel("options").collapsible?t.show():t.hide(); -_2d7.click(function(){ -_2d8(pp); -return false; -}); -function _2d8(p){ -var _2d9=p.panel("options"); -if(_2d9.collapsible){ -var _2da=_2c6(_2d3,p); -if(_2d9.collapsed){ -_2db(_2d3,_2da); -}else{ -_2dc(_2d3,_2da); -} -} -}; -}; -function _2db(_2dd,_2de){ -var p=_2c9(_2dd,_2de); -if(!p){ -return; -} -_2df(_2dd); -var opts=$.data(_2dd,"accordion").options; -p.panel("expand",opts.animate); -}; -function _2dc(_2e0,_2e1){ -var p=_2c9(_2e0,_2e1); -if(!p){ -return; -} -_2df(_2e0); -var opts=$.data(_2e0,"accordion").options; -p.panel("collapse",opts.animate); -}; -function _2e2(_2e3){ -var opts=$.data(_2e3,"accordion").options; -var p=_2bd(_2e3,"selected",true); -if(p){ -_2e4(_2c6(_2e3,p)); -}else{ -_2e4(opts.selected); -} -function _2e4(_2e5){ -var _2e6=opts.animate; -opts.animate=false; -_2db(_2e3,_2e5); -opts.animate=_2e6; -}; -}; -function _2df(_2e7){ -var _2e8=$.data(_2e7,"accordion").panels; -for(var i=0;i<_2e8.length;i++){ -_2e8[i].stop(true,true); -} -}; -function add(_2e9,_2ea){ -var _2eb=$.data(_2e9,"accordion"); -var opts=_2eb.options; -var _2ec=_2eb.panels; -if(_2ea.selected==undefined){ -_2ea.selected=true; -} -_2df(_2e9); -var pp=$("
      ").appendTo(_2e9); -_2ec.push(pp); -_2d2(_2e9,pp,_2ea); -_2b0(_2e9); -opts.onAdd.call(_2e9,_2ea.title,_2ec.length-1); -if(_2ea.selected){ -_2db(_2e9,_2ec.length-1); -} -}; -function _2ed(_2ee,_2ef){ -var _2f0=$.data(_2ee,"accordion"); -var opts=_2f0.options; -var _2f1=_2f0.panels; -_2df(_2ee); -var _2f2=_2c9(_2ee,_2ef); -var _2f3=_2f2.panel("options").title; -var _2f4=_2c6(_2ee,_2f2); -if(!_2f2){ -return; -} -if(opts.onBeforeRemove.call(_2ee,_2f3,_2f4)==false){ -return; -} -_2f1.splice(_2f4,1); -_2f2.panel("destroy"); -if(_2f1.length){ -_2b0(_2ee); -var curr=_2c4(_2ee); -if(!curr){ -_2db(_2ee,0); -} -} -opts.onRemove.call(_2ee,_2f3,_2f4); -}; -$.fn.accordion=function(_2f5,_2f6){ -if(typeof _2f5=="string"){ -return $.fn.accordion.methods[_2f5](this,_2f6); -} -_2f5=_2f5||{}; -return this.each(function(){ -var _2f7=$.data(this,"accordion"); -if(_2f7){ -$.extend(_2f7.options,_2f5); -}else{ -$.data(this,"accordion",{options:$.extend({},$.fn.accordion.defaults,$.fn.accordion.parseOptions(this),_2f5),accordion:$(this).addClass("accordion"),panels:[]}); -init(this); -} -_2cd(this); -_2b0(this); -_2e2(this); -}); -}; -$.fn.accordion.methods={options:function(jq){ -return $.data(jq[0],"accordion").options; -},panels:function(jq){ -return $.data(jq[0],"accordion").panels; -},resize:function(jq,_2f8){ -return jq.each(function(){ -_2b0(this,_2f8); -}); -},getSelections:function(jq){ -return _2c2(jq[0]); -},getSelected:function(jq){ -return _2c4(jq[0]); -},getPanel:function(jq,_2f9){ -return _2c9(jq[0],_2f9); -},getPanelIndex:function(jq,_2fa){ -return _2c6(jq[0],_2fa); -},select:function(jq,_2fb){ -return jq.each(function(){ -_2db(this,_2fb); -}); -},unselect:function(jq,_2fc){ -return jq.each(function(){ -_2dc(this,_2fc); -}); -},add:function(jq,_2fd){ -return jq.each(function(){ -add(this,_2fd); -}); -},remove:function(jq,_2fe){ -return jq.each(function(){ -_2ed(this,_2fe); -}); -}}; -$.fn.accordion.parseOptions=function(_2ff){ -var t=$(_2ff); -return $.extend({},$.parser.parseOptions(_2ff,["width","height",{fit:"boolean",border:"boolean",animate:"boolean",multiple:"boolean",selected:"number"}])); -}; -$.fn.accordion.defaults={width:"auto",height:"auto",fit:false,border:true,animate:true,multiple:false,selected:0,onSelect:function(_300,_301){ -},onUnselect:function(_302,_303){ -},onAdd:function(_304,_305){ -},onBeforeRemove:function(_306,_307){ -},onRemove:function(_308,_309){ -}}; -})(jQuery); -(function($){ -function _30a(c){ -var w=0; -$(c).children().each(function(){ -w+=$(this).outerWidth(true); -}); -return w; -}; -function _30b(_30c){ -var opts=$.data(_30c,"tabs").options; -if(opts.tabPosition=="left"||opts.tabPosition=="right"||!opts.showHeader){ -return; -} -var _30d=$(_30c).children("div.tabs-header"); -var tool=_30d.children("div.tabs-tool"); -var _30e=_30d.children("div.tabs-scroller-left"); -var _30f=_30d.children("div.tabs-scroller-right"); -var wrap=_30d.children("div.tabs-wrap"); -var _310=_30d.outerHeight(); -if(opts.plain){ -_310-=_310-_30d.height(); -} -tool._outerHeight(_310); -var _311=_30a(_30d.find("ul.tabs")); -var _312=_30d.width()-tool._outerWidth(); -if(_311>_312){ -_30e.add(_30f).show()._outerHeight(_310); -if(opts.toolPosition=="left"){ -tool.css({left:_30e.outerWidth(),right:""}); -wrap.css({marginLeft:_30e.outerWidth()+tool._outerWidth(),marginRight:_30f._outerWidth(),width:_312-_30e.outerWidth()-_30f.outerWidth()}); -}else{ -tool.css({left:"",right:_30f.outerWidth()}); -wrap.css({marginLeft:_30e.outerWidth(),marginRight:_30f.outerWidth()+tool._outerWidth(),width:_312-_30e.outerWidth()-_30f.outerWidth()}); -} -}else{ -_30e.add(_30f).hide(); -if(opts.toolPosition=="left"){ -tool.css({left:0,right:""}); -wrap.css({marginLeft:tool._outerWidth(),marginRight:0,width:_312}); -}else{ -tool.css({left:"",right:0}); -wrap.css({marginLeft:0,marginRight:tool._outerWidth(),width:_312}); -} -} -}; -function _313(_314){ -var opts=$.data(_314,"tabs").options; -var _315=$(_314).children("div.tabs-header"); -if(opts.tools){ -if(typeof opts.tools=="string"){ -$(opts.tools).addClass("tabs-tool").appendTo(_315); -$(opts.tools).show(); -}else{ -_315.children("div.tabs-tool").remove(); -var _316=$("
      ").appendTo(_315); -var tr=_316.find("tr"); -for(var i=0;i").appendTo(tr); -var tool=$("").appendTo(td); -tool[0].onclick=eval(opts.tools[i].handler||function(){ -}); -tool.linkbutton($.extend({},opts.tools[i],{plain:true})); -} -} -}else{ -_315.children("div.tabs-tool").remove(); -} -}; -function _317(_318,_319){ -var _31a=$.data(_318,"tabs"); -var opts=_31a.options; -var cc=$(_318); -if(!opts.doSize){ -return; -} -if(_319){ -$.extend(opts,{width:_319.width,height:_319.height}); -} -cc._size(opts); -var _31b=cc.children("div.tabs-header"); -var _31c=cc.children("div.tabs-panels"); -var wrap=_31b.find("div.tabs-wrap"); -var ul=wrap.find(".tabs"); -ul.children("li").removeClass("tabs-first tabs-last"); -ul.children("li:first").addClass("tabs-first"); -ul.children("li:last").addClass("tabs-last"); -if(opts.tabPosition=="left"||opts.tabPosition=="right"){ -_31b._outerWidth(opts.showHeader?opts.headerWidth:0); -_31c._outerWidth(cc.width()-_31b.outerWidth()); -_31b.add(_31c)._outerHeight(opts.height); -wrap._outerWidth(_31b.width()); -ul._outerWidth(wrap.width()).css("height",""); -}else{ -_31b.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool").css("display",opts.showHeader?"block":"none"); -_31b._outerWidth(cc.width()).css("height",""); -if(opts.showHeader){ -_31b.css("background-color",""); -wrap.css("height",""); -}else{ -_31b.css("background-color","transparent"); -_31b._outerHeight(0); -wrap._outerHeight(0); -} -ul._outerHeight(opts.tabHeight).css("width",""); -ul._outerHeight(ul.outerHeight()-ul.height()-1+opts.tabHeight).css("width",""); -_31c._size("height",isNaN(opts.height)?"":(opts.height-_31b.outerHeight())); -_31c._size("width",isNaN(opts.width)?"":opts.width); -} -if(_31a.tabs.length){ -var d1=ul.outerWidth(true)-ul.width(); -var li=ul.children("li:first"); -var d2=li.outerWidth(true)-li.width(); -var _31d=_31b.width()-_31b.children(".tabs-tool")._outerWidth(); -var _31e=Math.floor((_31d-d1-d2*_31a.tabs.length)/_31a.tabs.length); -$.map(_31a.tabs,function(p){ -_31f(p,(opts.justified&&$.inArray(opts.tabPosition,["top","bottom"])>=0)?_31e:undefined); -}); -if(opts.justified&&$.inArray(opts.tabPosition,["top","bottom"])>=0){ -var _320=_31d-d1-_30a(ul); -_31f(_31a.tabs[_31a.tabs.length-1],_31e+_320); -} -} -_30b(_318); -function _31f(p,_321){ -var _322=p.panel("options"); -var p_t=_322.tab.find("a.tabs-inner"); -var _321=_321?_321:(parseInt(_322.tabWidth||opts.tabWidth||undefined)); -if(_321){ -p_t._outerWidth(_321); -}else{ -p_t.css("width",""); -} -p_t._outerHeight(opts.tabHeight); -p_t.css("lineHeight",p_t.height()+"px"); -p_t.find(".easyui-fluid:visible").triggerHandler("_resize"); -}; -}; -function _323(_324){ -var opts=$.data(_324,"tabs").options; -var tab=_325(_324); -if(tab){ -var _326=$(_324).children("div.tabs-panels"); -var _327=opts.width=="auto"?"auto":_326.width(); -var _328=opts.height=="auto"?"auto":_326.height(); -tab.panel("resize",{width:_327,height:_328}); -} -}; -function _329(_32a){ -var tabs=$.data(_32a,"tabs").tabs; -var cc=$(_32a).addClass("tabs-container"); -var _32b=$("
      ").insertBefore(cc); -cc.children("div").each(function(){ -_32b[0].appendChild(this); -}); -cc[0].appendChild(_32b[0]); -$("
      "+"
      "+"
      "+"
      "+"
        "+"
        "+"
        ").prependTo(_32a); -cc.children("div.tabs-panels").children("div").each(function(i){ -var opts=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); -_338(_32a,opts,$(this)); -}); -cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){ -$(this).addClass("tabs-scroller-over"); -},function(){ -$(this).removeClass("tabs-scroller-over"); -}); -cc.bind("_resize",function(e,_32c){ -if($(this).hasClass("easyui-fluid")||_32c){ -_317(_32a); -_323(_32a); -} -return false; -}); -}; -function _32d(_32e){ -var _32f=$.data(_32e,"tabs"); -var opts=_32f.options; -$(_32e).children("div.tabs-header").unbind().bind("click",function(e){ -if($(e.target).hasClass("tabs-scroller-left")){ -$(_32e).tabs("scrollBy",-opts.scrollIncrement); -}else{ -if($(e.target).hasClass("tabs-scroller-right")){ -$(_32e).tabs("scrollBy",opts.scrollIncrement); -}else{ -var li=$(e.target).closest("li"); -if(li.hasClass("tabs-disabled")){ -return false; -} -var a=$(e.target).closest("a.tabs-close"); -if(a.length){ -_351(_32e,_330(li)); -}else{ -if(li.length){ -var _331=_330(li); -var _332=_32f.tabs[_331].panel("options"); -if(_332.collapsible){ -_332.closed?_348(_32e,_331):_365(_32e,_331); -}else{ -_348(_32e,_331); -} -} -} -return false; -} -} -}).bind("contextmenu",function(e){ -var li=$(e.target).closest("li"); -if(li.hasClass("tabs-disabled")){ -return; -} -if(li.length){ -opts.onContextMenu.call(_32e,e,li.find("span.tabs-title").html(),_330(li)); -} -}); -function _330(li){ -var _333=0; -li.parent().children("li").each(function(i){ -if(li[0]==this){ -_333=i; -return false; -} -}); -return _333; -}; -}; -function _334(_335){ -var opts=$.data(_335,"tabs").options; -var _336=$(_335).children("div.tabs-header"); -var _337=$(_335).children("div.tabs-panels"); -_336.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right"); -_337.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right"); -if(opts.tabPosition=="top"){ -_336.insertBefore(_337); -}else{ -if(opts.tabPosition=="bottom"){ -_336.insertAfter(_337); -_336.addClass("tabs-header-bottom"); -_337.addClass("tabs-panels-top"); -}else{ -if(opts.tabPosition=="left"){ -_336.addClass("tabs-header-left"); -_337.addClass("tabs-panels-right"); -}else{ -if(opts.tabPosition=="right"){ -_336.addClass("tabs-header-right"); -_337.addClass("tabs-panels-left"); -} -} -} -} -if(opts.plain==true){ -_336.addClass("tabs-header-plain"); -}else{ -_336.removeClass("tabs-header-plain"); -} -_336.removeClass("tabs-header-narrow").addClass(opts.narrow?"tabs-header-narrow":""); -var tabs=_336.find(".tabs"); -tabs.removeClass("tabs-pill").addClass(opts.pill?"tabs-pill":""); -tabs.removeClass("tabs-narrow").addClass(opts.narrow?"tabs-narrow":""); -tabs.removeClass("tabs-justified").addClass(opts.justified?"tabs-justified":""); -if(opts.border==true){ -_336.removeClass("tabs-header-noborder"); -_337.removeClass("tabs-panels-noborder"); -}else{ -_336.addClass("tabs-header-noborder"); -_337.addClass("tabs-panels-noborder"); -} -opts.doSize=true; -}; -function _338(_339,_33a,pp){ -_33a=_33a||{}; -var _33b=$.data(_339,"tabs"); -var tabs=_33b.tabs; -if(_33a.index==undefined||_33a.index>tabs.length){ -_33a.index=tabs.length; -} -if(_33a.index<0){ -_33a.index=0; -} -var ul=$(_339).children("div.tabs-header").find("ul.tabs"); -var _33c=$(_339).children("div.tabs-panels"); -var tab=$("
      • "+""+""+""+""+"
      • "); -if(!pp){ -pp=$("
        "); -} -if(_33a.index>=tabs.length){ -tab.appendTo(ul); -pp.appendTo(_33c); -tabs.push(pp); -}else{ -tab.insertBefore(ul.children("li:eq("+_33a.index+")")); -pp.insertBefore(_33c.children("div.panel:eq("+_33a.index+")")); -tabs.splice(_33a.index,0,pp); -} -pp.panel($.extend({},_33a,{tab:tab,border:false,noheader:true,closed:true,doSize:false,iconCls:(_33a.icon?_33a.icon:undefined),onLoad:function(){ -if(_33a.onLoad){ -_33a.onLoad.call(this,arguments); -} -_33b.options.onLoad.call(_339,$(this)); -},onBeforeOpen:function(){ -if(_33a.onBeforeOpen){ -if(_33a.onBeforeOpen.call(this)==false){ -return false; -} -} -var p=$(_339).tabs("getSelected"); -if(p){ -if(p[0]!=this){ -$(_339).tabs("unselect",_343(_339,p)); -p=$(_339).tabs("getSelected"); -if(p){ -return false; -} -}else{ -_323(_339); -return false; -} -} -var _33d=$(this).panel("options"); -_33d.tab.addClass("tabs-selected"); -var wrap=$(_339).find(">div.tabs-header>div.tabs-wrap"); -var left=_33d.tab.position().left; -var _33e=left+_33d.tab.outerWidth(); -if(left<0||_33e>wrap.width()){ -var _33f=left-(wrap.width()-_33d.tab.width())/2; -$(_339).tabs("scrollBy",_33f); -}else{ -$(_339).tabs("scrollBy",0); -} -var _340=$(this).panel("panel"); -_340.css("display","block"); -_323(_339); -_340.css("display","none"); -},onOpen:function(){ -if(_33a.onOpen){ -_33a.onOpen.call(this); -} -var _341=$(this).panel("options"); -_33b.selectHis.push(_341.title); -_33b.options.onSelect.call(_339,_341.title,_343(_339,this)); -},onBeforeClose:function(){ -if(_33a.onBeforeClose){ -if(_33a.onBeforeClose.call(this)==false){ -return false; -} -} -$(this).panel("options").tab.removeClass("tabs-selected"); -},onClose:function(){ -if(_33a.onClose){ -_33a.onClose.call(this); -} -var _342=$(this).panel("options"); -_33b.options.onUnselect.call(_339,_342.title,_343(_339,this)); -}})); -$(_339).tabs("update",{tab:pp,options:pp.panel("options"),type:"header"}); -}; -function _344(_345,_346){ -var _347=$.data(_345,"tabs"); -var opts=_347.options; -if(_346.selected==undefined){ -_346.selected=true; -} -_338(_345,_346); -opts.onAdd.call(_345,_346.title,_346.index); -if(_346.selected){ -_348(_345,_346.index); -} -}; -function _349(_34a,_34b){ -_34b.type=_34b.type||"all"; -var _34c=$.data(_34a,"tabs").selectHis; -var pp=_34b.tab; -var _34d=pp.panel("options").title; -if(_34b.type=="all"||_34b=="body"){ -pp.panel($.extend({},_34b.options,{iconCls:(_34b.options.icon?_34b.options.icon:undefined)})); -} -if(_34b.type=="all"||_34b.type=="header"){ -var opts=pp.panel("options"); -var tab=opts.tab; -if(opts.header){ -tab.find(".tabs-inner").html($(opts.header)); -}else{ -var _34e=tab.find("span.tabs-title"); -var _34f=tab.find("span.tabs-icon"); -_34e.html(opts.title); -_34f.attr("class","tabs-icon"); -tab.find("a.tabs-close").remove(); -if(opts.closable){ -_34e.addClass("tabs-closable"); -$("").appendTo(tab); -}else{ -_34e.removeClass("tabs-closable"); -} -if(opts.iconCls){ -_34e.addClass("tabs-with-icon"); -_34f.addClass(opts.iconCls); -}else{ -_34e.removeClass("tabs-with-icon"); -} -if(opts.tools){ -var _350=tab.find("span.tabs-p-tool"); -if(!_350.length){ -var _350=$("").insertAfter(tab.find("a.tabs-inner")); -} -if($.isArray(opts.tools)){ -for(var i=0;i").appendTo(_350); -t.addClass(opts.tools[i].iconCls); -if(opts.tools[i].handler){ -t.bind("click",{handler:opts.tools[i].handler},function(e){ -if($(this).parents("li").hasClass("tabs-disabled")){ -return; -} -e.data.handler.call(this); -}); -} -} -}else{ -$(opts.tools).children().appendTo(_350); -} -var pr=_350.children().length*12; -if(opts.closable){ -pr+=8; -}else{ -pr-=3; -_350.css("right","5px"); -} -_34e.css("padding-right",pr+"px"); -}else{ -tab.find("span.tabs-p-tool").remove(); -_34e.css("padding-right",""); -} -} -if(_34d!=opts.title){ -for(var i=0;i<_34c.length;i++){ -if(_34c[i]==_34d){ -_34c[i]=opts.title; -} -} -} -} -_317(_34a); -$.data(_34a,"tabs").options.onUpdate.call(_34a,opts.title,_343(_34a,pp)); -}; -function _351(_352,_353){ -var opts=$.data(_352,"tabs").options; -var tabs=$.data(_352,"tabs").tabs; -var _354=$.data(_352,"tabs").selectHis; -if(!_355(_352,_353)){ -return; -} -var tab=_356(_352,_353); -var _357=tab.panel("options").title; -var _358=_343(_352,tab); -if(opts.onBeforeClose.call(_352,_357,_358)==false){ -return; -} -var tab=_356(_352,_353,true); -tab.panel("options").tab.remove(); -tab.panel("destroy"); -opts.onClose.call(_352,_357,_358); -_317(_352); -for(var i=0;i<_354.length;i++){ -if(_354[i]==_357){ -_354.splice(i,1); -i--; -} -} -var _359=_354.pop(); -if(_359){ -_348(_352,_359); -}else{ -if(tabs.length){ -_348(_352,0); -} -} -}; -function _356(_35a,_35b,_35c){ -var tabs=$.data(_35a,"tabs").tabs; -if(typeof _35b=="number"){ -if(_35b<0||_35b>=tabs.length){ -return null; -}else{ -var tab=tabs[_35b]; -if(_35c){ -tabs.splice(_35b,1); -} -return tab; -} -} -for(var i=0;idiv.tabs-header>div.tabs-wrap"); -var pos=Math.min(wrap._scrollLeft()+_37b,_37c()); -wrap.animate({scrollLeft:pos},opts.scrollDuration); -function _37c(){ -var w=0; -var ul=wrap.children("ul"); -ul.children("li").each(function(){ -w+=$(this).outerWidth(true); -}); -return w-wrap.width()+(ul.outerWidth()-ul.width()); -}; -}); -}}; -$.fn.tabs.parseOptions=function(_37d){ -return $.extend({},$.parser.parseOptions(_37d,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean"},{headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number"},{showHeader:"boolean",justified:"boolean",narrow:"boolean",pill:"boolean"}])); -}; -$.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:27,selected:0,showHeader:true,plain:false,fit:false,border:true,justified:false,narrow:false,pill:false,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_37e){ -},onSelect:function(_37f,_380){ -},onUnselect:function(_381,_382){ -},onBeforeClose:function(_383,_384){ -},onClose:function(_385,_386){ -},onAdd:function(_387,_388){ -},onUpdate:function(_389,_38a){ -},onContextMenu:function(e,_38b,_38c){ -}}; -})(jQuery); -(function($){ -var _38d=false; -function _38e(_38f,_390){ -var _391=$.data(_38f,"layout"); -var opts=_391.options; -var _392=_391.panels; -var cc=$(_38f); -if(_390){ -$.extend(opts,{width:_390.width,height:_390.height}); -} -if(_38f.tagName.toLowerCase()=="body"){ -cc._size("fit"); -}else{ -cc._size(opts); -} -var cpos={top:0,left:0,width:cc.width(),height:cc.height()}; -_393(_394(_392.expandNorth)?_392.expandNorth:_392.north,"n"); -_393(_394(_392.expandSouth)?_392.expandSouth:_392.south,"s"); -_395(_394(_392.expandEast)?_392.expandEast:_392.east,"e"); -_395(_394(_392.expandWest)?_392.expandWest:_392.west,"w"); -_392.center.panel("resize",cpos); -function _393(pp,type){ -if(!pp.length||!_394(pp)){ -return; -} -var opts=pp.panel("options"); -pp.panel("resize",{width:cc.width(),height:opts.height}); -var _396=pp.panel("panel").outerHeight(); -pp.panel("move",{left:0,top:(type=="n"?0:cc.height()-_396)}); -cpos.height-=_396; -if(type=="n"){ -cpos.top+=_396; -if(!opts.split&&opts.border){ -cpos.top--; -} -} -if(!opts.split&&opts.border){ -cpos.height++; -} -}; -function _395(pp,type){ -if(!pp.length||!_394(pp)){ -return; -} -var opts=pp.panel("options"); -pp.panel("resize",{width:opts.width,height:cpos.height}); -var _397=pp.panel("panel").outerWidth(); -pp.panel("move",{left:(type=="e"?cc.width()-_397:0),top:cpos.top}); -cpos.width-=_397; -if(type=="w"){ -cpos.left+=_397; -if(!opts.split&&opts.border){ -cpos.left--; -} -} -if(!opts.split&&opts.border){ -cpos.width++; -} -}; -}; -function init(_398){ -var cc=$(_398); -cc.addClass("layout"); -function _399(cc){ -cc.children("div").each(function(){ -var opts=$.fn.layout.parsePanelOptions(this); -if("north,south,east,west,center".indexOf(opts.region)>=0){ -_39b(_398,opts,this); -} -}); -}; -cc.children("form").length?_399(cc.children("form")):_399(cc); -cc.append("
        "); -cc.bind("_resize",function(e,_39a){ -if($(this).hasClass("easyui-fluid")||_39a){ -_38e(_398); -} -return false; -}); -}; -function _39b(_39c,_39d,el){ -_39d.region=_39d.region||"center"; -var _39e=$.data(_39c,"layout").panels; -var cc=$(_39c); -var dir=_39d.region; -if(_39e[dir].length){ -return; -} -var pp=$(el); -if(!pp.length){ -pp=$("
        ").appendTo(cc); -} -var _39f=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():"auto"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():"auto"),doSize:false,collapsible:true,cls:("layout-panel layout-panel-"+dir),bodyCls:"layout-body",onOpen:function(){ -var tool=$(this).panel("header").children("div.panel-tool"); -tool.children("a.panel-tool-collapse").hide(); -var _3a0={north:"up",south:"down",east:"right",west:"left"}; -if(!_3a0[dir]){ -return; -} -var _3a1="layout-button-"+_3a0[dir]; -var t=tool.children("a."+_3a1); -if(!t.length){ -t=$("").addClass(_3a1).appendTo(tool); -t.bind("click",{dir:dir},function(e){ -_3ad(_39c,e.data.dir); -return false; -}); -} -$(this).panel("options").collapsible?t.show():t.hide(); -}},_39d); -pp.panel(_39f); -_39e[dir]=pp; -var _3a2={north:"s",south:"n",east:"w",west:"e"}; -var _3a3=pp.panel("panel"); -if(pp.panel("options").split){ -_3a3.addClass("layout-split-"+dir); -} -_3a3.resizable($.extend({},{handles:(_3a2[dir]||""),disabled:(!pp.panel("options").split),onStartResize:function(e){ -_38d=true; -if(dir=="north"||dir=="south"){ -var _3a4=$(">div.layout-split-proxy-v",_39c); -}else{ -var _3a4=$(">div.layout-split-proxy-h",_39c); -} -var top=0,left=0,_3a5=0,_3a6=0; -var pos={display:"block"}; -if(dir=="north"){ -pos.top=parseInt(_3a3.css("top"))+_3a3.outerHeight()-_3a4.height(); -pos.left=parseInt(_3a3.css("left")); -pos.width=_3a3.outerWidth(); -pos.height=_3a4.height(); -}else{ -if(dir=="south"){ -pos.top=parseInt(_3a3.css("top")); -pos.left=parseInt(_3a3.css("left")); -pos.width=_3a3.outerWidth(); -pos.height=_3a4.height(); -}else{ -if(dir=="east"){ -pos.top=parseInt(_3a3.css("top"))||0; -pos.left=parseInt(_3a3.css("left"))||0; -pos.width=_3a4.width(); -pos.height=_3a3.outerHeight(); -}else{ -if(dir=="west"){ -pos.top=parseInt(_3a3.css("top"))||0; -pos.left=_3a3.outerWidth()-_3a4.width(); -pos.width=_3a4.width(); -pos.height=_3a3.outerHeight(); -} -} -} -} -_3a4.css(pos); -$("
        ").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc); -},onResize:function(e){ -if(dir=="north"||dir=="south"){ -var _3a7=$(">div.layout-split-proxy-v",_39c); -_3a7.css("top",e.pageY-$(_39c).offset().top-_3a7.height()/2); -}else{ -var _3a7=$(">div.layout-split-proxy-h",_39c); -_3a7.css("left",e.pageX-$(_39c).offset().left-_3a7.width()/2); -} -return false; -},onStopResize:function(e){ -cc.children("div.layout-split-proxy-v,div.layout-split-proxy-h").hide(); -pp.panel("resize",e.data); -_38e(_39c); -_38d=false; -cc.find(">div.layout-mask").remove(); -}},_39d)); -}; -function _3a8(_3a9,_3aa){ -var _3ab=$.data(_3a9,"layout").panels; -if(_3ab[_3aa].length){ -_3ab[_3aa].panel("destroy"); -_3ab[_3aa]=$(); -var _3ac="expand"+_3aa.substring(0,1).toUpperCase()+_3aa.substring(1); -if(_3ab[_3ac]){ -_3ab[_3ac].panel("destroy"); -_3ab[_3ac]=undefined; -} -} -}; -function _3ad(_3ae,_3af,_3b0){ -if(_3b0==undefined){ -_3b0="normal"; -} -var _3b1=$.data(_3ae,"layout").panels; -var p=_3b1[_3af]; -var _3b2=p.panel("options"); -if(_3b2.onBeforeCollapse.call(p)==false){ -return; -} -var _3b3="expand"+_3af.substring(0,1).toUpperCase()+_3af.substring(1); -if(!_3b1[_3b3]){ -_3b1[_3b3]=_3b4(_3af); -_3b1[_3b3].panel("panel").bind("click",function(){ -p.panel("expand",false).panel("open"); -var _3b5=_3b6(); -p.panel("resize",_3b5.collapse); -p.panel("panel").animate(_3b5.expand,function(){ -$(this).unbind(".layout").bind("mouseleave.layout",{region:_3af},function(e){ -if(_38d==true){ -return; -} -if($("body>div.combo-p>div.combo-panel:visible").length){ -return; -} -_3ad(_3ae,e.data.region); -}); -}); -return false; -}); -} -var _3b7=_3b6(); -if(!_394(_3b1[_3b3])){ -_3b1.center.panel("resize",_3b7.resizeC); -} -p.panel("panel").animate(_3b7.collapse,_3b0,function(){ -p.panel("collapse",false).panel("close"); -_3b1[_3b3].panel("open").panel("resize",_3b7.expandP); -$(this).unbind(".layout"); -}); -function _3b4(dir){ -var icon; -if(dir=="east"){ -icon="layout-button-left"; -}else{ -if(dir=="west"){ -icon="layout-button-right"; -}else{ -if(dir=="north"){ -icon="layout-button-down"; -}else{ -if(dir=="south"){ -icon="layout-button-up"; -} -} -} -} -var p=$("
        ").appendTo(_3ae); -p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:" ",closed:true,minWidth:0,minHeight:0,doSize:false,tools:[{iconCls:icon,handler:function(){ -_3bd(_3ae,_3af); -return false; -}}]})); -p.panel("panel").hover(function(){ -$(this).addClass("layout-expand-over"); -},function(){ -$(this).removeClass("layout-expand-over"); -}); -return p; -}; -function _3b6(){ -var cc=$(_3ae); -var _3b8=_3b1.center.panel("options"); -var _3b9=_3b2.collapsedSize; -if(_3af=="east"){ -var _3ba=p.panel("panel")._outerWidth(); -var _3bb=_3b8.width+_3ba-_3b9; -if(_3b2.split||!_3b2.border){ -_3bb++; -} -return {resizeC:{width:_3bb},expand:{left:cc.width()-_3ba},expandP:{top:_3b8.top,left:cc.width()-_3b9,width:_3b9,height:_3b8.height},collapse:{left:cc.width(),top:_3b8.top,height:_3b8.height}}; -}else{ -if(_3af=="west"){ -var _3ba=p.panel("panel")._outerWidth(); -var _3bb=_3b8.width+_3ba-_3b9; -if(_3b2.split||!_3b2.border){ -_3bb++; -} -return {resizeC:{width:_3bb,left:_3b9-1},expand:{left:0},expandP:{left:0,top:_3b8.top,width:_3b9,height:_3b8.height},collapse:{left:-_3ba,top:_3b8.top,height:_3b8.height}}; -}else{ -if(_3af=="north"){ -var _3bc=p.panel("panel")._outerHeight(); -var hh=_3b8.height; -if(!_394(_3b1.expandNorth)){ -hh+=_3bc-_3b9+((_3b2.split||!_3b2.border)?1:0); -} -_3b1.east.add(_3b1.west).add(_3b1.expandEast).add(_3b1.expandWest).panel("resize",{top:_3b9-1,height:hh}); -return {resizeC:{top:_3b9-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_3b9},collapse:{top:-_3bc,width:cc.width()}}; -}else{ -if(_3af=="south"){ -var _3bc=p.panel("panel")._outerHeight(); -var hh=_3b8.height; -if(!_394(_3b1.expandSouth)){ -hh+=_3bc-_3b9+((_3b2.split||!_3b2.border)?1:0); -} -_3b1.east.add(_3b1.west).add(_3b1.expandEast).add(_3b1.expandWest).panel("resize",{height:hh}); -return {resizeC:{height:hh},expand:{top:cc.height()-_3bc},expandP:{top:cc.height()-_3b9,left:0,width:cc.width(),height:_3b9},collapse:{top:cc.height(),width:cc.width()}}; -} -} -} -} -}; -}; -function _3bd(_3be,_3bf){ -var _3c0=$.data(_3be,"layout").panels; -var p=_3c0[_3bf]; -var _3c1=p.panel("options"); -if(_3c1.onBeforeExpand.call(p)==false){ -return; -} -var _3c2="expand"+_3bf.substring(0,1).toUpperCase()+_3bf.substring(1); -if(_3c0[_3c2]){ -_3c0[_3c2].panel("close"); -p.panel("panel").stop(true,true); -p.panel("expand",false).panel("open"); -var _3c3=_3c4(); -p.panel("resize",_3c3.collapse); -p.panel("panel").animate(_3c3.expand,function(){ -_38e(_3be); -}); -} -function _3c4(){ -var cc=$(_3be); -var _3c5=_3c0.center.panel("options"); -if(_3bf=="east"&&_3c0.expandEast){ -return {collapse:{left:cc.width(),top:_3c5.top,height:_3c5.height},expand:{left:cc.width()-p.panel("panel")._outerWidth()}}; -}else{ -if(_3bf=="west"&&_3c0.expandWest){ -return {collapse:{left:-p.panel("panel")._outerWidth(),top:_3c5.top,height:_3c5.height},expand:{left:0}}; -}else{ -if(_3bf=="north"&&_3c0.expandNorth){ -return {collapse:{top:-p.panel("panel")._outerHeight(),width:cc.width()},expand:{top:0}}; -}else{ -if(_3bf=="south"&&_3c0.expandSouth){ -return {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel("panel")._outerHeight()}}; -} -} -} -} -}; -}; -function _394(pp){ -if(!pp){ -return false; -} -if(pp.length){ -return pp.panel("panel").is(":visible"); -}else{ -return false; -} -}; -function _3c6(_3c7){ -var _3c8=$.data(_3c7,"layout").panels; -_3c9("east"); -_3c9("west"); -_3c9("north"); -_3c9("south"); -function _3c9(_3ca){ -var p=_3c8[_3ca]; -if(p.length&&p.panel("options").collapsed){ -_3ad(_3c7,_3ca,0); -} -}; -}; -function _3cb(_3cc,_3cd,_3ce){ -var p=$(_3cc).layout("panel",_3cd); -p.panel("options").split=_3ce; -var cls="layout-split-"+_3cd; -var _3cf=p.panel("panel").removeClass(cls); -if(_3ce){ -_3cf.addClass(cls); -} -_3cf.resizable({disabled:(!_3ce)}); -_38e(_3cc); -}; -$.fn.layout=function(_3d0,_3d1){ -if(typeof _3d0=="string"){ -return $.fn.layout.methods[_3d0](this,_3d1); -} -_3d0=_3d0||{}; -return this.each(function(){ -var _3d2=$.data(this,"layout"); -if(_3d2){ -$.extend(_3d2.options,_3d0); -}else{ -var opts=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_3d0); -$.data(this,"layout",{options:opts,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}}); -init(this); -} -_38e(this); -_3c6(this); -}); -}; -$.fn.layout.methods={options:function(jq){ -return $.data(jq[0],"layout").options; -},resize:function(jq,_3d3){ -return jq.each(function(){ -_38e(this,_3d3); -}); -},panel:function(jq,_3d4){ -return $.data(jq[0],"layout").panels[_3d4]; -},collapse:function(jq,_3d5){ -return jq.each(function(){ -_3ad(this,_3d5); -}); -},expand:function(jq,_3d6){ -return jq.each(function(){ -_3bd(this,_3d6); -}); -},add:function(jq,_3d7){ -return jq.each(function(){ -_39b(this,_3d7); -_38e(this); -if($(this).layout("panel",_3d7.region).panel("options").collapsed){ -_3ad(this,_3d7.region,0); -} -}); -},remove:function(jq,_3d8){ -return jq.each(function(){ -_3a8(this,_3d8); -_38e(this); -}); -},split:function(jq,_3d9){ -return jq.each(function(){ -_3cb(this,_3d9,true); -}); -},unsplit:function(jq,_3da){ -return jq.each(function(){ -_3cb(this,_3da,false); -}); -}}; -$.fn.layout.parseOptions=function(_3db){ -return $.extend({},$.parser.parseOptions(_3db,[{fit:"boolean"}])); -}; -$.fn.layout.defaults={fit:false}; -$.fn.layout.parsePanelOptions=function(_3dc){ -var t=$(_3dc); -return $.extend({},$.fn.panel.parseOptions(_3dc),$.parser.parseOptions(_3dc,["region",{split:"boolean",collpasedSize:"number",minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number"}])); -}; -$.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:28,minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000}); -})(jQuery); -(function($){ -$(function(){ -$(document).unbind(".menu").bind("mousedown.menu",function(e){ -var m=$(e.target).closest("div.menu,div.combo-p"); -if(m.length){ -return; -} -$("body>div.menu-top:visible").not(".menu-inline").menu("hide"); -_3dd($("body>div.menu:visible").not(".menu-inline")); -}); -}); -function init(_3de){ -var opts=$.data(_3de,"menu").options; -$(_3de).addClass("menu-top"); -opts.inline?$(_3de).addClass("menu-inline"):$(_3de).appendTo("body"); -$(_3de).bind("_resize",function(e,_3df){ -if($(this).hasClass("easyui-fluid")||_3df){ -$(_3de).menu("resize",_3de); -} -return false; -}); -var _3e0=_3e1($(_3de)); -for(var i=0;i<_3e0.length;i++){ -_3e2(_3e0[i]); -} -function _3e1(menu){ -var _3e3=[]; -menu.addClass("menu"); -_3e3.push(menu); -if(!menu.hasClass("menu-content")){ -menu.children("div").each(function(){ -var _3e4=$(this).children("div"); -if(_3e4.length){ -_3e4.appendTo("body"); -this.submenu=_3e4; -var mm=_3e1(_3e4); -_3e3=_3e3.concat(mm); -} -}); -} -return _3e3; -}; -function _3e2(menu){ -var wh=$.parser.parseOptions(menu[0],["width","height"]); -menu[0].originalHeight=wh.height||0; -if(menu.hasClass("menu-content")){ -menu[0].originalWidth=wh.width||menu._outerWidth(); -}else{ -menu[0].originalWidth=wh.width||0; -menu.children("div").each(function(){ -var item=$(this); -var _3e5=$.extend({},$.parser.parseOptions(this,["name","iconCls","href",{separator:"boolean"}]),{disabled:(item.attr("disabled")?true:undefined)}); -if(_3e5.separator){ -item.addClass("menu-sep"); -} -if(!item.hasClass("menu-sep")){ -item[0].itemName=_3e5.name||""; -item[0].itemHref=_3e5.href||""; -var text=item.addClass("menu-item").html(); -item.empty().append($("
        ").html(text)); -if(_3e5.iconCls){ -$("
        ").addClass(_3e5.iconCls).appendTo(item); -} -if(_3e5.disabled){ -_3e6(_3de,item[0],true); -} -if(item[0].submenu){ -$("
        ").appendTo(item); -} -_3e7(_3de,item); -} -}); -$("
        ").prependTo(menu); -} -_3e8(_3de,menu); -if(!menu.hasClass("menu-inline")){ -menu.hide(); -} -_3e9(_3de,menu); -}; -}; -function _3e8(_3ea,menu){ -var opts=$.data(_3ea,"menu").options; -var _3eb=menu.attr("style")||""; -menu.css({display:"block",left:-10000,height:"auto",overflow:"hidden"}); -menu.find(".menu-item").each(function(){ -$(this)._outerHeight(opts.itemHeight); -$(this).find(".menu-text").css({height:(opts.itemHeight-2)+"px",lineHeight:(opts.itemHeight-2)+"px"}); -}); -menu.removeClass("menu-noline").addClass(opts.noline?"menu-noline":""); -var _3ec=menu[0].originalWidth||"auto"; -if(isNaN(parseInt(_3ec))){ -_3ec=0; -menu.find("div.menu-text").each(function(){ -if(_3ec<$(this)._outerWidth()){ -_3ec=$(this)._outerWidth(); -} -}); -_3ec+=40; -} -var _3ed=menu.outerHeight(); -var _3ee=menu[0].originalHeight||"auto"; -if(isNaN(parseInt(_3ee))){ -_3ee=_3ed; -if(menu.hasClass("menu-top")&&opts.alignTo){ -var at=$(opts.alignTo); -var h1=at.offset().top-$(document).scrollTop(); -var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight(); -_3ee=Math.min(_3ee,Math.max(h1,h2)); -}else{ -if(_3ee>$(window)._outerHeight()){ -_3ee=$(window).height(); -} -} -} -menu.attr("style",_3eb); -menu._size({fit:(menu[0]==_3ea?opts.fit:false),width:_3ec,minWidth:opts.minWidth,height:_3ee}); -menu.css("overflow",menu.outerHeight()<_3ed?"auto":"hidden"); -menu.children("div.menu-line")._outerHeight(_3ed-2); -}; -function _3e9(_3ef,menu){ -if(menu.hasClass("menu-inline")){ -return; -} -var _3f0=$.data(_3ef,"menu"); -menu.unbind(".menu").bind("mouseenter.menu",function(){ -if(_3f0.timer){ -clearTimeout(_3f0.timer); -_3f0.timer=null; -} -}).bind("mouseleave.menu",function(){ -if(_3f0.options.hideOnUnhover){ -_3f0.timer=setTimeout(function(){ -_3f1(_3ef,$(_3ef).hasClass("menu-inline")); -},_3f0.options.duration); -} -}); -}; -function _3e7(_3f2,item){ -if(!item.hasClass("menu-item")){ -return; -} -item.unbind(".menu"); -item.bind("click.menu",function(){ -if($(this).hasClass("menu-item-disabled")){ -return; -} -if(!this.submenu){ -_3f1(_3f2,$(_3f2).hasClass("menu-inline")); -var href=this.itemHref; -if(href){ -location.href=href; -} -} -$(this).trigger("mouseenter"); -var item=$(_3f2).menu("getItem",this); -$.data(_3f2,"menu").options.onClick.call(_3f2,item); -}).bind("mouseenter.menu",function(e){ -item.siblings().each(function(){ -if(this.submenu){ -_3dd(this.submenu); -} -$(this).removeClass("menu-active"); -}); -item.addClass("menu-active"); -if($(this).hasClass("menu-item-disabled")){ -item.addClass("menu-active-disabled"); -return; -} -var _3f3=item[0].submenu; -if(_3f3){ -$(_3f2).menu("show",{menu:_3f3,parent:item}); -} -}).bind("mouseleave.menu",function(e){ -item.removeClass("menu-active menu-active-disabled"); -var _3f4=item[0].submenu; -if(_3f4){ -if(e.pageX>=parseInt(_3f4.css("left"))){ -item.addClass("menu-active"); -}else{ -_3dd(_3f4); -} -}else{ -item.removeClass("menu-active"); -} -}); -}; -function _3f1(_3f5,_3f6){ -var _3f7=$.data(_3f5,"menu"); -if(_3f7){ -if($(_3f5).is(":visible")){ -_3dd($(_3f5)); -if(_3f6){ -$(_3f5).show(); -}else{ -_3f7.options.onHide.call(_3f5); -} -} -} -return false; -}; -function _3f8(_3f9,_3fa){ -var left,top; -_3fa=_3fa||{}; -var menu=$(_3fa.menu||_3f9); -$(_3f9).menu("resize",menu[0]); -if(menu.hasClass("menu-top")){ -var opts=$.data(_3f9,"menu").options; -$.extend(opts,_3fa); -left=opts.left; -top=opts.top; -if(opts.alignTo){ -var at=$(opts.alignTo); -left=at.offset().left; -top=at.offset().top+at._outerHeight(); -if(opts.align=="right"){ -left+=at.outerWidth()-menu.outerWidth(); -} -} -if(left+menu.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ -left=$(window)._outerWidth()+$(document).scrollLeft()-menu.outerWidth()-5; -} -if(left<0){ -left=0; -} -top=_3fb(top,opts.alignTo); -}else{ -var _3fc=_3fa.parent; -left=_3fc.offset().left+_3fc.outerWidth()-2; -if(left+menu.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){ -left=_3fc.offset().left-menu.outerWidth()+2; -} -top=_3fb(_3fc.offset().top-3); -} -function _3fb(top,_3fd){ -if(top+menu.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ -if(_3fd){ -top=$(_3fd).offset().top-menu._outerHeight(); -}else{ -top=$(window)._outerHeight()+$(document).scrollTop()-menu.outerHeight(); -} -} -if(top<0){ -top=0; -} -return top; -}; -menu.css({left:left,top:top}); -menu.show(0,function(){ -if(!menu[0].shadow){ -menu[0].shadow=$("
        ").insertAfter(menu); -} -menu[0].shadow.css({display:(menu.hasClass("menu-inline")?"none":"block"),zIndex:$.fn.menu.defaults.zIndex++,left:menu.css("left"),top:menu.css("top"),width:menu.outerWidth(),height:menu.outerHeight()}); -menu.css("z-index",$.fn.menu.defaults.zIndex++); -if(menu.hasClass("menu-top")){ -$.data(menu[0],"menu").options.onShow.call(menu[0]); -} -}); -}; -function _3dd(menu){ -if(menu&&menu.length){ -_3fe(menu); -menu.find("div.menu-item").each(function(){ -if(this.submenu){ -_3dd(this.submenu); -} -$(this).removeClass("menu-active"); -}); -} -function _3fe(m){ -m.stop(true,true); -if(m[0].shadow){ -m[0].shadow.hide(); -} -m.hide(); -}; -}; -function _3ff(_400,text){ -var _401=null; -var tmp=$("
        "); -function find(menu){ -menu.children("div.menu-item").each(function(){ -var item=$(_400).menu("getItem",this); -var s=tmp.empty().html(item.text).text(); -if(text==$.trim(s)){ -_401=item; -}else{ -if(this.submenu&&!_401){ -find(this.submenu); -} -} -}); -}; -find($(_400)); -tmp.remove(); -return _401; -}; -function _3e6(_402,_403,_404){ -var t=$(_403); -if(!t.hasClass("menu-item")){ -return; -} -if(_404){ -t.addClass("menu-item-disabled"); -if(_403.onclick){ -_403.onclick1=_403.onclick; -_403.onclick=null; -} -}else{ -t.removeClass("menu-item-disabled"); -if(_403.onclick1){ -_403.onclick=_403.onclick1; -_403.onclick1=null; -} -} -}; -function _405(_406,_407){ -var opts=$.data(_406,"menu").options; -var menu=$(_406); -if(_407.parent){ -if(!_407.parent.submenu){ -var _408=$("
        ").appendTo("body"); -_408.hide(); -_407.parent.submenu=_408; -$("
        ").appendTo(_407.parent); -} -menu=_407.parent.submenu; -} -if(_407.separator){ -var item=$("
        ").appendTo(menu); -}else{ -var item=$("
        ").appendTo(menu); -$("
        ").html(_407.text).appendTo(item); -} -if(_407.iconCls){ -$("
        ").addClass(_407.iconCls).appendTo(item); -} -if(_407.id){ -item.attr("id",_407.id); -} -if(_407.name){ -item[0].itemName=_407.name; -} -if(_407.href){ -item[0].itemHref=_407.href; -} -if(_407.onclick){ -if(typeof _407.onclick=="string"){ -item.attr("onclick",_407.onclick); -}else{ -item[0].onclick=eval(_407.onclick); -} -} -if(_407.handler){ -item[0].onclick=eval(_407.handler); -} -if(_407.disabled){ -_3e6(_406,item[0],true); -} -_3e7(_406,item); -_3e9(_406,menu); -_3e8(_406,menu); -}; -function _409(_40a,_40b){ -function _40c(el){ -if(el.submenu){ -el.submenu.children("div.menu-item").each(function(){ -_40c(this); -}); -var _40d=el.submenu[0].shadow; -if(_40d){ -_40d.remove(); -} -el.submenu.remove(); -} -$(el).remove(); -}; -var menu=$(_40b).parent(); -_40c(_40b); -_3e8(_40a,menu); -}; -function _40e(_40f,_410,_411){ -var menu=$(_410).parent(); -if(_411){ -$(_410).show(); -}else{ -$(_410).hide(); -} -_3e8(_40f,menu); -}; -function _412(_413){ -$(_413).children("div.menu-item").each(function(){ -_409(_413,this); -}); -if(_413.shadow){ -_413.shadow.remove(); -} -$(_413).remove(); -}; -$.fn.menu=function(_414,_415){ -if(typeof _414=="string"){ -return $.fn.menu.methods[_414](this,_415); -} -_414=_414||{}; -return this.each(function(){ -var _416=$.data(this,"menu"); -if(_416){ -$.extend(_416.options,_414); -}else{ -_416=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_414)}); -init(this); -} -$(this).css({left:_416.options.left,top:_416.options.top}); -}); -}; -$.fn.menu.methods={options:function(jq){ -return $.data(jq[0],"menu").options; -},show:function(jq,pos){ -return jq.each(function(){ -_3f8(this,pos); -}); -},hide:function(jq){ -return jq.each(function(){ -_3f1(this); -}); -},destroy:function(jq){ -return jq.each(function(){ -_412(this); -}); -},setText:function(jq,_417){ -return jq.each(function(){ -$(_417.target).children("div.menu-text").html(_417.text); -}); -},setIcon:function(jq,_418){ -return jq.each(function(){ -$(_418.target).children("div.menu-icon").remove(); -if(_418.iconCls){ -$("
        ").addClass(_418.iconCls).appendTo(_418.target); -} -}); -},getItem:function(jq,_419){ -var t=$(_419); -var item={target:_419,id:t.attr("id"),text:$.trim(t.children("div.menu-text").html()),disabled:t.hasClass("menu-item-disabled"),name:_419.itemName,href:_419.itemHref,onclick:_419.onclick}; -var icon=t.children("div.menu-icon"); -if(icon.length){ -var cc=[]; -var aa=icon.attr("class").split(" "); -for(var i=0;i").addClass(opts.cls.arrow).appendTo(_423); -$("").addClass("m-btn-line").appendTo(_423); -} -$(_422).menubutton("resize"); -if(opts.menu){ -$(opts.menu).menu({duration:opts.duration}); -var _424=$(opts.menu).menu("options"); -var _425=_424.onShow; -var _426=_424.onHide; -$.extend(_424,{onShow:function(){ -var _427=$(this).menu("options"); -var btn=$(_427.alignTo); -var opts=btn.menubutton("options"); -btn.addClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1); -_425.call(this); -},onHide:function(){ -var _428=$(this).menu("options"); -var btn=$(_428.alignTo); -var opts=btn.menubutton("options"); -btn.removeClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1); -_426.call(this); -}}); -} -}; -function _429(_42a){ -var opts=$.data(_42a,"menubutton").options; -var btn=$(_42a); -var t=btn.find("."+opts.cls.trigger); -if(!t.length){ -t=btn; -} -t.unbind(".menubutton"); -var _42b=null; -t.bind("click.menubutton",function(){ -if(!_42c()){ -_42d(_42a); -return false; -} -}).bind("mouseenter.menubutton",function(){ -if(!_42c()){ -_42b=setTimeout(function(){ -_42d(_42a); -},opts.duration); -return false; -} -}).bind("mouseleave.menubutton",function(){ -if(_42b){ -clearTimeout(_42b); -} -$(opts.menu).triggerHandler("mouseleave"); -}); -function _42c(){ -return $(_42a).linkbutton("options").disabled; -}; -}; -function _42d(_42e){ -var opts=$(_42e).menubutton("options"); -if(opts.disabled||!opts.menu){ -return; -} -$("body>div.menu-top").menu("hide"); -var btn=$(_42e); -var mm=$(opts.menu); -if(mm.length){ -mm.menu("options").alignTo=btn; -mm.menu("show",{alignTo:btn,align:opts.menuAlign}); -} -btn.blur(); -}; -$.fn.menubutton=function(_42f,_430){ -if(typeof _42f=="string"){ -var _431=$.fn.menubutton.methods[_42f]; -if(_431){ -return _431(this,_430); -}else{ -return this.linkbutton(_42f,_430); -} -} -_42f=_42f||{}; -return this.each(function(){ -var _432=$.data(this,"menubutton"); -if(_432){ -$.extend(_432.options,_42f); -}else{ -$.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_42f)}); -$(this).removeAttr("disabled"); -} -init(this); -_429(this); -}); -}; -$.fn.menubutton.methods={options:function(jq){ -var _433=jq.linkbutton("options"); -return $.extend($.data(jq[0],"menubutton").options,{toggle:_433.toggle,selected:_433.selected,disabled:_433.disabled}); -},destroy:function(jq){ -return jq.each(function(){ -var opts=$(this).menubutton("options"); -if(opts.menu){ -$(opts.menu).menu("destroy"); -} -$(this).remove(); -}); -}}; -$.fn.menubutton.parseOptions=function(_434){ -var t=$(_434); -return $.extend({},$.fn.linkbutton.parseOptions(_434),$.parser.parseOptions(_434,["menu",{plain:"boolean",hasDownArrow:"boolean",duration:"number"}])); -}; -$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,hasDownArrow:true,menu:null,menuAlign:"left",duration:100,cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}}); -})(jQuery); -(function($){ -function init(_435){ -var opts=$.data(_435,"splitbutton").options; -$(_435).menubutton(opts); -$(_435).addClass("s-btn"); -}; -$.fn.splitbutton=function(_436,_437){ -if(typeof _436=="string"){ -var _438=$.fn.splitbutton.methods[_436]; -if(_438){ -return _438(this,_437); -}else{ -return this.menubutton(_436,_437); -} -} -_436=_436||{}; -return this.each(function(){ -var _439=$.data(this,"splitbutton"); -if(_439){ -$.extend(_439.options,_436); -}else{ -$.data(this,"splitbutton",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_436)}); -$(this).removeAttr("disabled"); -} -init(this); -}); -}; -$.fn.splitbutton.methods={options:function(jq){ -var _43a=jq.menubutton("options"); -var _43b=$.data(jq[0],"splitbutton").options; -$.extend(_43b,{disabled:_43a.disabled,toggle:_43a.toggle,selected:_43a.selected}); -return _43b; -}}; -$.fn.splitbutton.parseOptions=function(_43c){ -var t=$(_43c); -return $.extend({},$.fn.linkbutton.parseOptions(_43c),$.parser.parseOptions(_43c,["menu",{plain:"boolean",duration:"number"}])); -}; -$.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active s-btn-active",btn2:"m-btn-plain-active s-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn-line"}}); -})(jQuery); -(function($){ -function init(_43d){ -$(_43d).addClass("validatebox-text"); -}; -function _43e(_43f){ -var _440=$.data(_43f,"validatebox"); -_440.validating=false; -if(_440.timer){ -clearTimeout(_440.timer); -} -$(_43f).tooltip("destroy"); -$(_43f).unbind(); -$(_43f).remove(); -}; -function _441(_442){ -var opts=$.data(_442,"validatebox").options; -var box=$(_442); -box.unbind(".validatebox"); -if(opts.novalidate||box.is(":disabled")){ -return; -} -for(var _443 in opts.events){ -$(_442).bind(_443+".validatebox",{target:_442},opts.events[_443]); -} -}; -function _444(e){ -var _445=e.data.target; -var _446=$.data(_445,"validatebox"); -var box=$(_445); -if($(_445).attr("readonly")){ -return; -} -_446.validating=true; -_446.value=undefined; -(function(){ -if(_446.validating){ -if(_446.value!=box.val()){ -_446.value=box.val(); -if(_446.timer){ -clearTimeout(_446.timer); -} -_446.timer=setTimeout(function(){ -$(_445).validatebox("validate"); -},_446.options.delay); -}else{ -_447(_445); -} -setTimeout(arguments.callee,200); -} -})(); -}; -function _448(e){ -var _449=e.data.target; -var _44a=$.data(_449,"validatebox"); -if(_44a.timer){ -clearTimeout(_44a.timer); -_44a.timer=undefined; -} -_44a.validating=false; -_44b(_449); -}; -function _44c(e){ -var _44d=e.data.target; -if($(_44d).hasClass("validatebox-invalid")){ -_44e(_44d); -} -}; -function _44f(e){ -var _450=e.data.target; -var _451=$.data(_450,"validatebox"); -if(!_451.validating){ -_44b(_450); -} -}; -function _44e(_452){ -var _453=$.data(_452,"validatebox"); -var opts=_453.options; -$(_452).tooltip($.extend({},opts.tipOptions,{content:_453.message,position:opts.tipPosition,deltaX:opts.deltaX})).tooltip("show"); -_453.tip=true; -}; -function _447(_454){ -var _455=$.data(_454,"validatebox"); -if(_455&&_455.tip){ -$(_454).tooltip("reposition"); -} -}; -function _44b(_456){ -var _457=$.data(_456,"validatebox"); -_457.tip=false; -$(_456).tooltip("hide"); -}; -function _458(_459){ -var _45a=$.data(_459,"validatebox"); -var opts=_45a.options; -var box=$(_459); -opts.onBeforeValidate.call(_459); -var _45b=_45c(); -opts.onValidate.call(_459,_45b); -return _45b; -function _45d(msg){ -_45a.message=msg; -}; -function _45e(_45f,_460){ -var _461=box.val(); -var _462=/([a-zA-Z_]+)(.*)/.exec(_45f); -var rule=opts.rules[_462[1]]; -if(rule&&_461){ -var _463=_460||opts.validParams||eval(_462[2]); -if(!rule["validator"].call(_459,_461,_463)){ -box.addClass("validatebox-invalid"); -var _464=rule["message"]; -if(_463){ -for(var i=0;i<_463.length;i++){ -_464=_464.replace(new RegExp("\\{"+i+"\\}","g"),_463[i]); -} -} -_45d(opts.invalidMessage||_464); -if(_45a.validating){ -_44e(_459); -} -return false; -} -} -return true; -}; -function _45c(){ -box.removeClass("validatebox-invalid"); -_44b(_459); -if(opts.novalidate||box.is(":disabled")){ -return true; -} -if(opts.required){ -if(box.val()==""){ -box.addClass("validatebox-invalid"); -_45d(opts.missingMessage); -if(_45a.validating){ -_44e(_459); -} -return false; -} -} -if(opts.validType){ -if($.isArray(opts.validType)){ -for(var i=0;i=_471[0]&&len<=_471[1]; -},message:"Please enter a value between {0} and {1}."},remote:{validator:function(_472,_473){ -var data={}; -data[_473[1]]=_472; -var _474=$.ajax({url:_473[0],dataType:"json",data:data,async:true,cache:false,type:"post"}).responseText; -return _474=="true"; -},message:"Please fix this field."}},onBeforeValidate:function(){ -},onValidate:function(_475){ -}}; -})(jQuery); -(function($){ -function init(_476){ -$(_476).addClass("textbox-f").hide(); -var span=$(""+""+""+"").insertAfter(_476); -var name=$(_476).attr("name"); -if(name){ -span.find("input.textbox-value").attr("name",name); -$(_476).removeAttr("name").attr("textboxName",name); -} -return span; -}; -function _477(_478){ -var _479=$.data(_478,"textbox"); -var opts=_479.options; -var tb=_479.textbox; -tb.find(".textbox-text").remove(); -if(opts.multiline){ -$("").prependTo(tb); -}else{ -$("").prependTo(tb); -} -tb.find(".textbox-addon").remove(); -var bb=opts.icons?$.extend(true,[],opts.icons):[]; -if(opts.iconCls){ -bb.push({iconCls:opts.iconCls,disabled:true}); -} -if(bb.length){ -var bc=$("").prependTo(tb); -bc.addClass("textbox-addon-"+opts.iconAlign); -for(var i=0;i"); -} -} -tb.find(".textbox-button").remove(); -if(opts.buttonText||opts.buttonIcon){ -var btn=$("").prependTo(tb); -btn.addClass("textbox-button-"+opts.buttonAlign).linkbutton({text:opts.buttonText,iconCls:opts.buttonIcon}); -} -_47a(_478,opts.disabled); -_47b(_478,opts.readonly); -}; -function _47c(_47d){ -var tb=$.data(_47d,"textbox").textbox; -tb.find(".textbox-text").validatebox("destroy"); -tb.remove(); -$(_47d).remove(); -}; -function _47e(_47f,_480){ -var _481=$.data(_47f,"textbox"); -var opts=_481.options; -var tb=_481.textbox; -var _482=tb.parent(); -if(_480){ -opts.width=_480; -} -if(isNaN(parseInt(opts.width))){ -var c=$(_47f).clone(); -c.css("visibility","hidden"); -c.insertAfter(_47f); -opts.width=c.outerWidth(); -c.remove(); -} -var _483=tb.is(":visible"); -if(!_483){ -tb.appendTo("body"); -} -var _484=tb.find(".textbox-text"); -var btn=tb.find(".textbox-button"); -var _485=tb.find(".textbox-addon"); -var _486=_485.find(".textbox-icon"); -tb._size(opts,_482); -btn.linkbutton("resize",{height:tb.height()}); -btn.css({left:(opts.buttonAlign=="left"?0:""),right:(opts.buttonAlign=="right"?0:"")}); -_485.css({left:(opts.iconAlign=="left"?(opts.buttonAlign=="left"?btn._outerWidth():0):""),right:(opts.iconAlign=="right"?(opts.buttonAlign=="right"?btn._outerWidth():0):"")}); -_486.css({width:opts.iconWidth+"px",height:tb.height()+"px"}); -_484.css({paddingLeft:(_47f.style.paddingLeft||""),paddingRight:(_47f.style.paddingRight||""),marginLeft:_487("left"),marginRight:_487("right")}); -if(opts.multiline){ -_484.css({paddingTop:(_47f.style.paddingTop||""),paddingBottom:(_47f.style.paddingBottom||"")}); -_484._outerHeight(tb.height()); -}else{ -var _488=Math.floor((tb.height()-_484.height())/2); -_484.css({paddingTop:_488+"px",paddingBottom:_488+"px"}); -} -_484._outerWidth(tb.width()-_486.length*opts.iconWidth-btn._outerWidth()); -if(!_483){ -tb.insertAfter(_47f); -} -opts.onResize.call(_47f,opts.width,opts.height); -function _487(_489){ -return (opts.iconAlign==_489?_485._outerWidth():0)+(opts.buttonAlign==_489?btn._outerWidth():0); -}; -}; -function _48a(_48b){ -var opts=$(_48b).textbox("options"); -var _48c=$(_48b).textbox("textbox"); -_48c.validatebox($.extend({},opts,{deltaX:$(_48b).textbox("getTipX"),onBeforeValidate:function(){ -var box=$(this); -if(!box.is(":focus")){ -opts.oldInputValue=box.val(); -box.val(opts.value); -} -},onValidate:function(_48d){ -var box=$(this); -if(opts.oldInputValue!=undefined){ -box.val(opts.oldInputValue); -opts.oldInputValue=undefined; -} -var tb=box.parent(); -if(_48d){ -tb.removeClass("textbox-invalid"); -}else{ -tb.addClass("textbox-invalid"); -} -}})); -}; -function _48e(_48f){ -var _490=$.data(_48f,"textbox"); -var opts=_490.options; -var tb=_490.textbox; -var _491=tb.find(".textbox-text"); -_491.attr("placeholder",opts.prompt); -_491.unbind(".textbox"); -if(!opts.disabled&&!opts.readonly){ -_491.bind("blur.textbox",function(e){ -if(!tb.hasClass("textbox-focused")){ -return; -} -opts.value=$(this).val(); -if(opts.value==""){ -$(this).val(opts.prompt).addClass("textbox-prompt"); -}else{ -$(this).removeClass("textbox-prompt"); -} -tb.removeClass("textbox-focused"); -}).bind("focus.textbox",function(e){ -if(tb.hasClass("textbox-focused")){ -return; -} -if($(this).val()!=opts.value){ -$(this).val(opts.value); -} -$(this).removeClass("textbox-prompt"); -tb.addClass("textbox-focused"); -}); -for(var _492 in opts.inputEvents){ -_491.bind(_492+".textbox",{target:_48f},opts.inputEvents[_492]); -} -} -var _493=tb.find(".textbox-addon"); -_493.unbind().bind("click",{target:_48f},function(e){ -var icon=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)"); -if(icon.length){ -var _494=parseInt(icon.attr("icon-index")); -var conf=opts.icons[_494]; -if(conf&&conf.handler){ -conf.handler.call(icon[0],e); -opts.onClickIcon.call(_48f,_494); -} -} -}); -_493.find(".textbox-icon").each(function(_495){ -var conf=opts.icons[_495]; -var icon=$(this); -if(!conf||conf.disabled||opts.disabled||opts.readonly){ -icon.addClass("textbox-icon-disabled"); -}else{ -icon.removeClass("textbox-icon-disabled"); -} -}); -var btn=tb.find(".textbox-button"); -btn.unbind(".textbox").bind("click.textbox",function(){ -if(!btn.linkbutton("options").disabled){ -opts.onClickButton.call(_48f); -} -}); -btn.linkbutton((opts.disabled||opts.readonly)?"disable":"enable"); -tb.unbind(".textbox").bind("_resize.textbox",function(e,_496){ -if($(this).hasClass("easyui-fluid")||_496){ -_47e(_48f); -} -return false; -}); -}; -function _47a(_497,_498){ -var _499=$.data(_497,"textbox"); -var opts=_499.options; -var tb=_499.textbox; -if(_498){ -opts.disabled=true; -$(_497).attr("disabled","disabled"); -tb.addClass("textbox-disabled"); -tb.find(".textbox-text,.textbox-value").attr("disabled","disabled"); -}else{ -opts.disabled=false; -tb.removeClass("textbox-disabled"); -$(_497).removeAttr("disabled"); -tb.find(".textbox-text,.textbox-value").removeAttr("disabled"); -} -}; -function _47b(_49a,mode){ -var _49b=$.data(_49a,"textbox"); -var opts=_49b.options; -opts.readonly=mode==undefined?true:mode; -_49b.textbox.removeClass("textbox-readonly").addClass(opts.readonly?"textbox-readonly":""); -var _49c=_49b.textbox.find(".textbox-text"); -_49c.removeAttr("readonly"); -if(opts.readonly||!opts.editable){ -_49c.attr("readonly","readonly"); -} -}; -$.fn.textbox=function(_49d,_49e){ -if(typeof _49d=="string"){ -var _49f=$.fn.textbox.methods[_49d]; -if(_49f){ -return _49f(this,_49e); -}else{ -return this.each(function(){ -var _4a0=$(this).textbox("textbox"); -_4a0.validatebox(_49d,_49e); -}); -} -} -_49d=_49d||{}; -return this.each(function(){ -var _4a1=$.data(this,"textbox"); -if(_4a1){ -$.extend(_4a1.options,_49d); -if(_49d.value!=undefined){ -_4a1.options.originalValue=_49d.value; -} -}else{ -_4a1=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_49d),textbox:init(this)}); -_4a1.options.originalValue=_4a1.options.value; -} -_477(this); -_48e(this); -_47e(this); -_48a(this); -$(this).textbox("initValue",_4a1.options.value); -}); -}; -$.fn.textbox.methods={options:function(jq){ -return $.data(jq[0],"textbox").options; -},cloneFrom:function(jq,from){ -return jq.each(function(){ -var t=$(this); -if(t.data("textbox")){ -return; -} -if(!$(from).data("textbox")){ -$(from).textbox(); -} -var name=t.attr("name")||""; -t.addClass("textbox-f").hide(); -t.removeAttr("name").attr("textboxName",name); -var span=$(from).next().clone().insertAfter(t); -span.find("input.textbox-value").attr("name",name); -$.data(this,"textbox",{options:$.extend(true,{},$(from).textbox("options")),textbox:span}); -var _4a2=$(from).textbox("button"); -if(_4a2.length){ -t.textbox("button").linkbutton($.extend(true,{},_4a2.linkbutton("options"))); -} -_48e(this); -_48a(this); -}); -},textbox:function(jq){ -return $.data(jq[0],"textbox").textbox.find(".textbox-text"); -},button:function(jq){ -return $.data(jq[0],"textbox").textbox.find(".textbox-button"); -},destroy:function(jq){ -return jq.each(function(){ -_47c(this); -}); -},resize:function(jq,_4a3){ -return jq.each(function(){ -_47e(this,_4a3); -}); -},disable:function(jq){ -return jq.each(function(){ -_47a(this,true); -_48e(this); -}); -},enable:function(jq){ -return jq.each(function(){ -_47a(this,false); -_48e(this); -}); -},readonly:function(jq,mode){ -return jq.each(function(){ -_47b(this,mode); -_48e(this); -}); -},isValid:function(jq){ -return jq.textbox("textbox").validatebox("isValid"); -},clear:function(jq){ -return jq.each(function(){ -$(this).textbox("setValue",""); -}); -},setText:function(jq,_4a4){ -return jq.each(function(){ -var opts=$(this).textbox("options"); -var _4a5=$(this).textbox("textbox"); -if($(this).textbox("getText")!=_4a4){ -opts.value=_4a4; -_4a5.val(_4a4); -} -if(!_4a5.is(":focus")){ -if(_4a4){ -_4a5.removeClass("textbox-prompt"); -}else{ -_4a5.val(opts.prompt).addClass("textbox-prompt"); -} -} -$(this).textbox("validate"); -}); -},initValue:function(jq,_4a6){ -return jq.each(function(){ -var _4a7=$.data(this,"textbox"); -_4a7.options.value=""; -$(this).textbox("setText",_4a6); -_4a7.textbox.find(".textbox-value").val(_4a6); -$(this).val(_4a6); -}); -},setValue:function(jq,_4a8){ -return jq.each(function(){ -var opts=$.data(this,"textbox").options; -var _4a9=$(this).textbox("getValue"); -$(this).textbox("initValue",_4a8); -if(_4a9!=_4a8){ -opts.onChange.call(this,_4a8,_4a9); -$(this).closest("form").trigger("_change",[this]); -} -}); -},getText:function(jq){ -var _4aa=jq.textbox("textbox"); -if(_4aa.is(":focus")){ -return _4aa.val(); -}else{ -return jq.textbox("options").value; -} -},getValue:function(jq){ -return jq.data("textbox").textbox.find(".textbox-value").val(); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).textbox("options"); -$(this).textbox("setValue",opts.originalValue); -}); -},getIcon:function(jq,_4ab){ -return jq.data("textbox").textbox.find(".textbox-icon:eq("+_4ab+")"); -},getTipX:function(jq){ -var _4ac=jq.data("textbox"); -var opts=_4ac.options; -var tb=_4ac.textbox; -var _4ad=tb.find(".textbox-text"); -var _4ae=tb.find(".textbox-addon")._outerWidth(); -var _4af=tb.find(".textbox-button")._outerWidth(); -if(opts.tipPosition=="right"){ -return (opts.iconAlign=="right"?_4ae:0)+(opts.buttonAlign=="right"?_4af:0)+1; -}else{ -if(opts.tipPosition=="left"){ -return (opts.iconAlign=="left"?-_4ae:0)+(opts.buttonAlign=="left"?-_4af:0)-1; -}else{ -return _4ae/2*(opts.iconAlign=="right"?1:-1); -} -} -}}; -$.fn.textbox.parseOptions=function(_4b0){ -var t=$(_4b0); -return $.extend({},$.fn.validatebox.parseOptions(_4b0),$.parser.parseOptions(_4b0,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign",{multiline:"boolean",editable:"boolean",iconWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)}); -}; -$.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{width:"auto",height:22,prompt:"",value:"",type:"text",multiline:false,editable:true,disabled:false,readonly:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:18,buttonText:"",buttonIcon:null,buttonAlign:"right",inputEvents:{blur:function(e){ -var t=$(e.data.target); -var opts=t.textbox("options"); -t.textbox("setValue",opts.value); -},keydown:function(e){ -if(e.keyCode==13){ -var t=$(e.data.target); -t.textbox("setValue",t.textbox("getText")); -} -}},onChange:function(_4b1,_4b2){ -},onResize:function(_4b3,_4b4){ -},onClickButton:function(){ -},onClickIcon:function(_4b5){ -}}); -})(jQuery); -(function($){ -var _4b6=0; -function _4b7(_4b8){ -var _4b9=$.data(_4b8,"filebox"); -var opts=_4b9.options; -var id="filebox_file_id_"+(++_4b6); -$(_4b8).addClass("filebox-f").textbox(opts); -$(_4b8).textbox("textbox").attr("readonly","readonly"); -_4b9.filebox=$(_4b8).next().addClass("filebox"); -_4b9.filebox.find(".textbox-value").remove(); -opts.oldValue=""; -var file=$("").appendTo(_4b9.filebox); -file.attr("id",id).attr("name",$(_4b8).attr("textboxName")||""); -file.change(function(){ -$(_4b8).filebox("setText",this.value); -opts.onChange.call(_4b8,this.value,opts.oldValue); -opts.oldValue=this.value; -}); -var btn=$(_4b8).filebox("button"); -if(btn.length){ -$("").appendTo(btn); -if(btn.linkbutton("options").disabled){ -file.attr("disabled","disabled"); -}else{ -file.removeAttr("disabled"); -} -} -}; -$.fn.filebox=function(_4ba,_4bb){ -if(typeof _4ba=="string"){ -var _4bc=$.fn.filebox.methods[_4ba]; -if(_4bc){ -return _4bc(this,_4bb); -}else{ -return this.textbox(_4ba,_4bb); -} -} -_4ba=_4ba||{}; -return this.each(function(){ -var _4bd=$.data(this,"filebox"); -if(_4bd){ -$.extend(_4bd.options,_4ba); -}else{ -$.data(this,"filebox",{options:$.extend({},$.fn.filebox.defaults,$.fn.filebox.parseOptions(this),_4ba)}); -} -_4b7(this); -}); -}; -$.fn.filebox.methods={options:function(jq){ -var opts=jq.textbox("options"); -return $.extend($.data(jq[0],"filebox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -}}; -$.fn.filebox.parseOptions=function(_4be){ -return $.extend({},$.fn.textbox.parseOptions(_4be),{}); -}; -$.fn.filebox.defaults=$.extend({},$.fn.textbox.defaults,{buttonIcon:null,buttonText:"Choose File",buttonAlign:"right",inputEvents:{}}); -})(jQuery); -(function($){ -function _4bf(_4c0){ -var _4c1=$.data(_4c0,"searchbox"); -var opts=_4c1.options; -var _4c2=$.extend(true,[],opts.icons); -_4c2.push({iconCls:"searchbox-button",handler:function(e){ -var t=$(e.data.target); -var opts=t.searchbox("options"); -opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); -}}); -_4c3(); -var _4c4=_4c5(); -$(_4c0).addClass("searchbox-f").textbox($.extend({},opts,{icons:_4c2,buttonText:(_4c4?_4c4.text:"")})); -$(_4c0).attr("searchboxName",$(_4c0).attr("textboxName")); -_4c1.searchbox=$(_4c0).next(); -_4c1.searchbox.addClass("searchbox"); -_4c6(_4c4); -function _4c3(){ -if(opts.menu){ -_4c1.menu=$(opts.menu).menu(); -var _4c7=_4c1.menu.menu("options"); -var _4c8=_4c7.onClick; -_4c7.onClick=function(item){ -_4c6(item); -_4c8.call(this,item); -}; -}else{ -if(_4c1.menu){ -_4c1.menu.menu("destroy"); -} -_4c1.menu=null; -} -}; -function _4c5(){ -if(_4c1.menu){ -var item=_4c1.menu.children("div.menu-item:first"); -_4c1.menu.children("div.menu-item").each(function(){ -var _4c9=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); -if(_4c9.selected){ -item=$(this); -return false; -} -}); -return _4c1.menu.menu("getItem",item[0]); -}else{ -return null; -} -}; -function _4c6(item){ -if(!item){ -return; -} -$(_4c0).textbox("button").menubutton({text:item.text,iconCls:(item.iconCls||null),menu:_4c1.menu,menuAlign:opts.buttonAlign,plain:false}); -_4c1.searchbox.find("input.textbox-value").attr("name",item.name||item.text); -$(_4c0).searchbox("resize"); -}; -}; -$.fn.searchbox=function(_4ca,_4cb){ -if(typeof _4ca=="string"){ -var _4cc=$.fn.searchbox.methods[_4ca]; -if(_4cc){ -return _4cc(this,_4cb); -}else{ -return this.textbox(_4ca,_4cb); -} -} -_4ca=_4ca||{}; -return this.each(function(){ -var _4cd=$.data(this,"searchbox"); -if(_4cd){ -$.extend(_4cd.options,_4ca); -}else{ -$.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_4ca)}); -} -_4bf(this); -}); -}; -$.fn.searchbox.methods={options:function(jq){ -var opts=jq.textbox("options"); -return $.extend($.data(jq[0],"searchbox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -},menu:function(jq){ -return $.data(jq[0],"searchbox").menu; -},getName:function(jq){ -return $.data(jq[0],"searchbox").searchbox.find("input.textbox-value").attr("name"); -},selectName:function(jq,name){ -return jq.each(function(){ -var menu=$.data(this,"searchbox").menu; -if(menu){ -menu.children("div.menu-item").each(function(){ -var item=menu.menu("getItem",this); -if(item.name==name){ -$(this).triggerHandler("click"); -return false; -} -}); -} -}); -},destroy:function(jq){ -return jq.each(function(){ -var menu=$(this).searchbox("menu"); -if(menu){ -menu.menu("destroy"); -} -$(this).textbox("destroy"); -}); -}}; -$.fn.searchbox.parseOptions=function(_4ce){ -var t=$(_4ce); -return $.extend({},$.fn.textbox.parseOptions(_4ce),$.parser.parseOptions(_4ce,["menu"]),{searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)}); -}; -$.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){ -if(e.keyCode==13){ -e.preventDefault(); -var t=$(e.data.target); -var opts=t.searchbox("options"); -t.searchbox("setValue",$(this).val()); -opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); -return false; -} -}}),buttonAlign:"left",menu:null,searcher:function(_4cf,name){ -}}); -})(jQuery); -(function($){ -function _4d0(_4d1,_4d2){ -var opts=$.data(_4d1,"form").options; -$.extend(opts,_4d2||{}); -var _4d3=$.extend({},opts.queryParams); -if(opts.onSubmit.call(_4d1,_4d3)==false){ -return; -} -$(_4d1).find(".textbox-text:focus").blur(); -var _4d4="easyui_frame_"+(new Date().getTime()); -var _4d5=$("").appendTo("body"); -_4d5.attr("src",window.ActiveXObject?"javascript:false":"about:blank"); -_4d5.css({position:"absolute",top:-1000,left:-1000}); -_4d5.bind("load",cb); -_4d6(_4d3); -function _4d6(_4d7){ -var form=$(_4d1); -if(opts.url){ -form.attr("action",opts.url); -} -var t=form.attr("target"),a=form.attr("action"); -form.attr("target",_4d4); -var _4d8=$(); -try{ -for(var n in _4d7){ -var _4d9=$("").val(_4d7[n]).appendTo(form); -_4d8=_4d8.add(_4d9); -} -_4da(); -form[0].submit(); -} -finally{ -form.attr("action",a); -t?form.attr("target",t):form.removeAttr("target"); -_4d8.remove(); -} -}; -function _4da(){ -var f=$("#"+_4d4); -if(!f.length){ -return; -} -try{ -var s=f.contents()[0].readyState; -if(s&&s.toLowerCase()=="uninitialized"){ -setTimeout(_4da,100); -} -} -catch(e){ -cb(); -} -}; -var _4db=10; -function cb(){ -var f=$("#"+_4d4); -if(!f.length){ -return; -} -f.unbind(); -var data=""; -try{ -var body=f.contents().find("body"); -data=body.html(); -if(data==""){ -if(--_4db){ -setTimeout(cb,100); -return; -} -} -var ta=body.find(">textarea"); -if(ta.length){ -data=ta.val(); -}else{ -var pre=body.find(">pre"); -if(pre.length){ -data=pre.html(); -} -} -} -catch(e){ -} -opts.success(data); -setTimeout(function(){ -f.unbind(); -f.remove(); -},100); -}; -}; -function load(_4dc,data){ -var opts=$.data(_4dc,"form").options; -if(typeof data=="string"){ -var _4dd={}; -if(opts.onBeforeLoad.call(_4dc,_4dd)==false){ -return; -} -$.ajax({url:data,data:_4dd,dataType:"json",success:function(data){ -_4de(data); -},error:function(){ -opts.onLoadError.apply(_4dc,arguments); -}}); -}else{ -_4de(data); -} -function _4de(data){ -var form=$(_4dc); -for(var name in data){ -var val=data[name]; -if(!_4df(name,val)){ -if(!_4e0(name,val)){ -form.find("input[name=\""+name+"\"]").val(val); -form.find("textarea[name=\""+name+"\"]").val(val); -form.find("select[name=\""+name+"\"]").val(val); -} -} -} -opts.onLoadSuccess.call(_4dc,data); -form.form("validate"); -}; -function _4df(name,val){ -var cc=$(_4dc).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]"); -if(cc.length){ -cc._propAttr("checked",false); -cc.each(function(){ -var f=$(this); -if(f.val()==String(val)||$.inArray(f.val(),$.isArray(val)?val:[val])>=0){ -f._propAttr("checked",true); -} -}); -return true; -} -return false; -}; -function _4e0(name,val){ -var _4e1=$(_4dc).find("[textboxName=\""+name+"\"],[sliderName=\""+name+"\"]"); -if(_4e1.length){ -for(var i=0;i=0;i--){ -var type=opts.fieldTypes[i]; -var _4e6=form.find("."+type+"-f"); -if(_4e6.length&&_4e6[type]){ -_4e6[type]("clear"); -} -} -form.form("validate"); -}; -function _4e7(_4e8){ -_4e8.reset(); -var form=$(_4e8); -var opts=$.data(_4e8,"form").options; -for(var i=opts.fieldTypes.length-1;i>=0;i--){ -var type=opts.fieldTypes[i]; -var _4e9=form.find("."+type+"-f"); -if(_4e9.length&&_4e9[type]){ -_4e9[type]("reset"); -} -} -form.form("validate"); -}; -function _4ea(_4eb){ -var _4ec=$.data(_4eb,"form").options; -$(_4eb).unbind(".form"); -if(_4ec.ajax){ -$(_4eb).bind("submit.form",function(){ -setTimeout(function(){ -_4d0(_4eb,_4ec); -},0); -return false; -}); -} -$(_4eb).bind("_change.form",function(e,t){ -_4ec.onChange.call(this,t); -}).bind("change.form",function(e){ -var t=e.target; -if(!$(t).hasClass("textbox-text")){ -_4ec.onChange.call(this,t); -} -}); -_4ed(_4eb,_4ec.novalidate); -}; -function _4ee(_4ef,_4f0){ -_4f0=_4f0||{}; -var _4f1=$.data(_4ef,"form"); -if(_4f1){ -$.extend(_4f1.options,_4f0); -}else{ -$.data(_4ef,"form",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_4ef),_4f0)}); -} -}; -function _4f2(_4f3){ -if($.fn.validatebox){ -var t=$(_4f3); -t.find(".validatebox-text:not(:disabled)").validatebox("validate"); -var _4f4=t.find(".validatebox-invalid"); -_4f4.filter(":not(:disabled):first").focus(); -return _4f4.length==0; -} -return true; -}; -function _4ed(_4f5,_4f6){ -var opts=$.data(_4f5,"form").options; -opts.novalidate=_4f6; -$(_4f5).find(".validatebox-text:not(:disabled)").validatebox(_4f6?"disableValidation":"enableValidation"); -}; -$.fn.form=function(_4f7,_4f8){ -if(typeof _4f7=="string"){ -this.each(function(){ -_4ee(this); -}); -return $.fn.form.methods[_4f7](this,_4f8); -} -return this.each(function(){ -_4ee(this,_4f7); -_4ea(this); -}); -}; -$.fn.form.methods={options:function(jq){ -return $.data(jq[0],"form").options; -},submit:function(jq,_4f9){ -return jq.each(function(){ -_4d0(this,_4f9); -}); -},load:function(jq,data){ -return jq.each(function(){ -load(this,data); -}); -},clear:function(jq){ -return jq.each(function(){ -_4e3(this); -}); -},reset:function(jq){ -return jq.each(function(){ -_4e7(this); -}); -},validate:function(jq){ -return _4f2(jq[0]); -},disableValidation:function(jq){ -return jq.each(function(){ -_4ed(this,true); -}); -},enableValidation:function(jq){ -return jq.each(function(){ -_4ed(this,false); -}); -}}; -$.fn.form.parseOptions=function(_4fa){ -var t=$(_4fa); -return $.extend({},$.parser.parseOptions(_4fa,[{ajax:"boolean"}]),{url:(t.attr("action")?t.attr("action"):undefined)}); -}; -$.fn.form.defaults={fieldTypes:["combobox","combotree","combogrid","datetimebox","datebox","combo","datetimespinner","timespinner","numberspinner","spinner","slider","searchbox","numberbox","textbox"],novalidate:false,ajax:true,url:null,queryParams:{},onSubmit:function(_4fb){ -return $(this).form("validate"); -},success:function(data){ -},onBeforeLoad:function(_4fc){ -},onLoadSuccess:function(data){ -},onLoadError:function(){ -},onChange:function(_4fd){ -}}; -})(jQuery); -(function($){ -function _4fe(_4ff){ -var _500=$.data(_4ff,"numberbox"); -var opts=_500.options; -$(_4ff).addClass("numberbox-f").textbox(opts); -$(_4ff).textbox("textbox").css({imeMode:"disabled"}); -$(_4ff).attr("numberboxName",$(_4ff).attr("textboxName")); -_500.numberbox=$(_4ff).next(); -_500.numberbox.addClass("numberbox"); -var _501=opts.parser.call(_4ff,opts.value); -var _502=opts.formatter.call(_4ff,_501); -$(_4ff).numberbox("initValue",_501).numberbox("setText",_502); -}; -function _503(_504,_505){ -var _506=$.data(_504,"numberbox"); -var opts=_506.options; -var _505=opts.parser.call(_504,_505); -var text=opts.formatter.call(_504,_505); -opts.value=_505; -$(_504).textbox("setText",text).textbox("setValue",_505); -text=opts.formatter.call(_504,$(_504).textbox("getValue")); -$(_504).textbox("setText",text); -}; -$.fn.numberbox=function(_507,_508){ -if(typeof _507=="string"){ -var _509=$.fn.numberbox.methods[_507]; -if(_509){ -return _509(this,_508); -}else{ -return this.textbox(_507,_508); -} -} -_507=_507||{}; -return this.each(function(){ -var _50a=$.data(this,"numberbox"); -if(_50a){ -$.extend(_50a.options,_507); -}else{ -_50a=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_507)}); -} -_4fe(this); -}); -}; -$.fn.numberbox.methods={options:function(jq){ -var opts=jq.data("textbox")?jq.textbox("options"):{}; -return $.extend($.data(jq[0],"numberbox").options,{width:opts.width,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -},fix:function(jq){ -return jq.each(function(){ -$(this).numberbox("setValue",$(this).numberbox("getText")); -}); -},setValue:function(jq,_50b){ -return jq.each(function(){ -_503(this,_50b); -}); -},clear:function(jq){ -return jq.each(function(){ -$(this).textbox("clear"); -$(this).numberbox("options").value=""; -}); -},reset:function(jq){ -return jq.each(function(){ -$(this).textbox("reset"); -$(this).numberbox("setValue",$(this).numberbox("getValue")); -}); -}}; -$.fn.numberbox.parseOptions=function(_50c){ -var t=$(_50c); -return $.extend({},$.fn.textbox.parseOptions(_50c),$.parser.parseOptions(_50c,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)}); -}; -$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){ -var _50d=e.data.target; -var opts=$(_50d).numberbox("options"); -return opts.filter.call(_50d,e); -},blur:function(e){ -var _50e=e.data.target; -$(_50e).numberbox("setValue",$(_50e).numberbox("getText")); -},keydown:function(e){ -if(e.keyCode==13){ -var _50f=e.data.target; -$(_50f).numberbox("setValue",$(_50f).numberbox("getText")); -} -}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){ -var opts=$(this).numberbox("options"); -var s=$(this).numberbox("getText"); -if(e.which==13){ -return true; -} -if(e.which==45){ -return (s.indexOf("-")==-1?true:false); -} -var c=String.fromCharCode(e.which); -if(c==opts.decimalSeparator){ -return (s.indexOf(c)==-1?true:false); -}else{ -if(c==opts.groupSeparator){ -return true; -}else{ -if((e.which>=48&&e.which<=57&&e.ctrlKey==false&&e.shiftKey==false)||e.which==0||e.which==8){ -return true; -}else{ -if(e.ctrlKey==true&&(e.which==99||e.which==118)){ -return true; -}else{ -return false; -} -} -} -} -},formatter:function(_510){ -if(!_510){ -return _510; -} -_510=_510+""; -var opts=$(this).numberbox("options"); -var s1=_510,s2=""; -var dpos=_510.indexOf("."); -if(dpos>=0){ -s1=_510.substring(0,dpos); -s2=_510.substring(dpos+1,_510.length); -} -if(opts.groupSeparator){ -var p=/(\d+)(\d{3})/; -while(p.test(s1)){ -s1=s1.replace(p,"$1"+opts.groupSeparator+"$2"); -} -} -if(s2){ -return opts.prefix+s1+opts.decimalSeparator+s2+opts.suffix; -}else{ -return opts.prefix+s1+opts.suffix; -} -},parser:function(s){ -s=s+""; -var opts=$(this).numberbox("options"); -if(parseFloat(s)!=s){ -if(opts.prefix){ -s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.prefix),"g"),"")); -} -if(opts.suffix){ -s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.suffix),"g"),"")); -} -if(opts.groupSeparator){ -s=$.trim(s.replace(new RegExp("\\"+opts.groupSeparator,"g"),"")); -} -if(opts.decimalSeparator){ -s=$.trim(s.replace(new RegExp("\\"+opts.decimalSeparator,"g"),".")); -} -s=s.replace(/\s/g,""); -} -var val=parseFloat(s).toFixed(opts.precision); -if(isNaN(val)){ -val=""; -}else{ -if(typeof (opts.min)=="number"&&valopts.max){ -val=opts.max.toFixed(opts.precision); -} -} -} -return val; -}}); -})(jQuery); -(function($){ -function _511(_512,_513){ -var opts=$.data(_512,"calendar").options; -var t=$(_512); -if(_513){ -$.extend(opts,{width:_513.width,height:_513.height}); -} -t._size(opts,t.parent()); -t.find(".calendar-body")._outerHeight(t.height()-t.find(".calendar-header")._outerHeight()); -if(t.find(".calendar-menu").is(":visible")){ -_514(_512); -} -}; -function init(_515){ -$(_515).addClass("calendar").html("
        "+"
        "+"
        "+"
        "+"
        "+"
        "+""+"
        "+"
        "+"
        "+"
        "+"
        "+""+""+""+"
        "+"
        "+"
        "+"
        "+"
        "); -$(_515).bind("_resize",function(e,_516){ -if($(this).hasClass("easyui-fluid")||_516){ -_511(_515); -} -return false; -}); -}; -function _517(_518){ -var opts=$.data(_518,"calendar").options; -var menu=$(_518).find(".calendar-menu"); -menu.find(".calendar-menu-year").unbind(".calendar").bind("keypress.calendar",function(e){ -if(e.keyCode==13){ -_519(true); -} -}); -$(_518).unbind(".calendar").bind("mouseover.calendar",function(e){ -var t=_51a(e.target); -if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ -t.addClass("calendar-nav-hover"); -} -}).bind("mouseout.calendar",function(e){ -var t=_51a(e.target); -if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ -t.removeClass("calendar-nav-hover"); -} -}).bind("click.calendar",function(e){ -var t=_51a(e.target); -if(t.hasClass("calendar-menu-next")||t.hasClass("calendar-nextyear")){ -_51b(1); -}else{ -if(t.hasClass("calendar-menu-prev")||t.hasClass("calendar-prevyear")){ -_51b(-1); -}else{ -if(t.hasClass("calendar-menu-month")){ -menu.find(".calendar-selected").removeClass("calendar-selected"); -t.addClass("calendar-selected"); -_519(true); -}else{ -if(t.hasClass("calendar-prevmonth")){ -_51c(-1); -}else{ -if(t.hasClass("calendar-nextmonth")){ -_51c(1); -}else{ -if(t.hasClass("calendar-text")){ -if(menu.is(":visible")){ -menu.hide(); -}else{ -_514(_518); -} -}else{ -if(t.hasClass("calendar-day")){ -if(t.hasClass("calendar-disabled")){ -return; -} -var _51d=opts.current; -t.closest("div.calendar-body").find(".calendar-selected").removeClass("calendar-selected"); -t.addClass("calendar-selected"); -var _51e=t.attr("abbr").split(","); -var y=parseInt(_51e[0]); -var m=parseInt(_51e[1]); -var d=parseInt(_51e[2]); -opts.current=new Date(y,m-1,d); -opts.onSelect.call(_518,opts.current); -if(!_51d||_51d.getTime()!=opts.current.getTime()){ -opts.onChange.call(_518,opts.current,_51d); -} -if(opts.year!=y||opts.month!=m){ -opts.year=y; -opts.month=m; -show(_518); -} -} -} -} -} -} -} -} -}); -function _51a(t){ -var day=$(t).closest(".calendar-day"); -if(day.length){ -return day; -}else{ -return $(t); -} -}; -function _519(_51f){ -var menu=$(_518).find(".calendar-menu"); -var year=menu.find(".calendar-menu-year").val(); -var _520=menu.find(".calendar-selected").attr("abbr"); -if(!isNaN(year)){ -opts.year=parseInt(year); -opts.month=parseInt(_520); -show(_518); -} -if(_51f){ -menu.hide(); -} -}; -function _51b(_521){ -opts.year+=_521; -show(_518); -menu.find(".calendar-menu-year").val(opts.year); -}; -function _51c(_522){ -opts.month+=_522; -if(opts.month>12){ -opts.year++; -opts.month=1; -}else{ -if(opts.month<1){ -opts.year--; -opts.month=12; -} -} -show(_518); -menu.find("td.calendar-selected").removeClass("calendar-selected"); -menu.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); -}; -}; -function _514(_523){ -var opts=$.data(_523,"calendar").options; -$(_523).find(".calendar-menu").show(); -if($(_523).find(".calendar-menu-month-inner").is(":empty")){ -$(_523).find(".calendar-menu-month-inner").empty(); -var t=$("
        ").appendTo($(_523).find(".calendar-menu-month-inner")); -var idx=0; -for(var i=0;i<3;i++){ -var tr=$("").appendTo(t); -for(var j=0;j<4;j++){ -$("").html(opts.months[idx++]).attr("abbr",idx).appendTo(tr); -} -} -} -var body=$(_523).find(".calendar-body"); -var sele=$(_523).find(".calendar-menu"); -var _524=sele.find(".calendar-menu-year-inner"); -var _525=sele.find(".calendar-menu-month-inner"); -_524.find("input").val(opts.year).focus(); -_525.find("td.calendar-selected").removeClass("calendar-selected"); -_525.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); -sele._outerWidth(body._outerWidth()); -sele._outerHeight(body._outerHeight()); -_525._outerHeight(sele.height()-_524._outerHeight()); -}; -function _526(_527,year,_528){ -var opts=$.data(_527,"calendar").options; -var _529=[]; -var _52a=new Date(year,_528,0).getDate(); -for(var i=1;i<=_52a;i++){ -_529.push([year,_528,i]); -} -var _52b=[],week=[]; -var _52c=-1; -while(_529.length>0){ -var date=_529.shift(); -week.push(date); -var day=new Date(date[0],date[1]-1,date[2]).getDay(); -if(_52c==day){ -day=0; -}else{ -if(day==(opts.firstDay==0?7:opts.firstDay)-1){ -_52b.push(week); -week=[]; -} -} -_52c=day; -} -if(week.length){ -_52b.push(week); -} -var _52d=_52b[0]; -if(_52d.length<7){ -while(_52d.length<7){ -var _52e=_52d[0]; -var date=new Date(_52e[0],_52e[1]-1,_52e[2]-1); -_52d.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); -} -}else{ -var _52e=_52d[0]; -var week=[]; -for(var i=1;i<=7;i++){ -var date=new Date(_52e[0],_52e[1]-1,_52e[2]-i); -week.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); -} -_52b.unshift(week); -} -var _52f=_52b[_52b.length-1]; -while(_52f.length<7){ -var _530=_52f[_52f.length-1]; -var date=new Date(_530[0],_530[1]-1,_530[2]+1); -_52f.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); -} -if(_52b.length<6){ -var _530=_52f[_52f.length-1]; -var week=[]; -for(var i=1;i<=7;i++){ -var date=new Date(_530[0],_530[1]-1,_530[2]+i); -week.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); -} -_52b.push(week); -} -return _52b; -}; -function show(_531){ -var opts=$.data(_531,"calendar").options; -if(opts.current&&!opts.validator.call(_531,opts.current)){ -opts.current=null; -} -var now=new Date(); -var _532=now.getFullYear()+","+(now.getMonth()+1)+","+now.getDate(); -var _533=opts.current?(opts.current.getFullYear()+","+(opts.current.getMonth()+1)+","+opts.current.getDate()):""; -var _534=6-opts.firstDay; -var _535=_534+1; -if(_534>=7){ -_534-=7; -} -if(_535>=7){ -_535-=7; -} -$(_531).find(".calendar-title span").html(opts.months[opts.month-1]+" "+opts.year); -var body=$(_531).find("div.calendar-body"); -body.children("table").remove(); -var data=[""]; -data.push(""); -for(var i=opts.firstDay;i"+opts.weeks[i]+""); -} -for(var i=0;i"+opts.weeks[i]+""); -} -data.push(""); -data.push(""); -var _536=_526(_531,opts.year,opts.month); -for(var i=0;i<_536.length;i++){ -var week=_536[i]; -var cls=""; -if(i==0){ -cls="calendar-first"; -}else{ -if(i==_536.length-1){ -cls="calendar-last"; -} -} -data.push(""); -for(var j=0;j"+d+""); -} -data.push(""); -} -data.push(""); -data.push("
        "); -body.append(data.join("")); -body.children("table.calendar-dtable").prependTo(body); -opts.onNavigate.call(_531,opts.year,opts.month); -}; -$.fn.calendar=function(_53a,_53b){ -if(typeof _53a=="string"){ -return $.fn.calendar.methods[_53a](this,_53b); -} -_53a=_53a||{}; -return this.each(function(){ -var _53c=$.data(this,"calendar"); -if(_53c){ -$.extend(_53c.options,_53a); -}else{ -_53c=$.data(this,"calendar",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_53a)}); -init(this); -} -if(_53c.options.border==false){ -$(this).addClass("calendar-noborder"); -} -_511(this); -_517(this); -show(this); -$(this).find("div.calendar-menu").hide(); -}); -}; -$.fn.calendar.methods={options:function(jq){ -return $.data(jq[0],"calendar").options; -},resize:function(jq,_53d){ -return jq.each(function(){ -_511(this,_53d); -}); -},moveTo:function(jq,date){ -return jq.each(function(){ -if(!date){ -var now=new Date(); -$(this).calendar({year:now.getFullYear(),month:now.getMonth()+1,current:date}); -return; -} -var opts=$(this).calendar("options"); -if(opts.validator.call(this,date)){ -var _53e=opts.current; -$(this).calendar({year:date.getFullYear(),month:date.getMonth()+1,current:date}); -if(!_53e||_53e.getTime()!=date.getTime()){ -opts.onChange.call(this,opts.current,_53e); -} -} -}); -}}; -$.fn.calendar.parseOptions=function(_53f){ -var t=$(_53f); -return $.extend({},$.parser.parseOptions(_53f,[{firstDay:"number",fit:"boolean",border:"boolean"}])); -}; -$.fn.calendar.defaults={width:180,height:180,fit:false,border:true,firstDay:0,weeks:["S","M","T","W","T","F","S"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:(function(){ -var d=new Date(); -return new Date(d.getFullYear(),d.getMonth(),d.getDate()); -})(),formatter:function(date){ -return date.getDate(); -},styler:function(date){ -return ""; -},validator:function(date){ -return true; -},onSelect:function(date){ -},onChange:function(_540,_541){ -},onNavigate:function(year,_542){ -}}; -})(jQuery); -(function($){ -function _543(_544){ -var _545=$.data(_544,"spinner"); -var opts=_545.options; -var _546=$.extend(true,[],opts.icons); -_546.push({iconCls:"spinner-arrow",handler:function(e){ -_547(e); -}}); -$(_544).addClass("spinner-f").textbox($.extend({},opts,{icons:_546})); -var _548=$(_544).textbox("getIcon",_546.length-1); -_548.append(""); -_548.append(""); -$(_544).attr("spinnerName",$(_544).attr("textboxName")); -_545.spinner=$(_544).next(); -_545.spinner.addClass("spinner"); -}; -function _547(e){ -var _549=e.data.target; -var opts=$(_549).spinner("options"); -var up=$(e.target).closest("a.spinner-arrow-up"); -if(up.length){ -opts.spin.call(_549,false); -opts.onSpinUp.call(_549); -$(_549).spinner("validate"); -} -var down=$(e.target).closest("a.spinner-arrow-down"); -if(down.length){ -opts.spin.call(_549,true); -opts.onSpinDown.call(_549); -$(_549).spinner("validate"); -} -}; -$.fn.spinner=function(_54a,_54b){ -if(typeof _54a=="string"){ -var _54c=$.fn.spinner.methods[_54a]; -if(_54c){ -return _54c(this,_54b); -}else{ -return this.textbox(_54a,_54b); -} -} -_54a=_54a||{}; -return this.each(function(){ -var _54d=$.data(this,"spinner"); -if(_54d){ -$.extend(_54d.options,_54a); -}else{ -_54d=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_54a)}); -} -_543(this); -}); -}; -$.fn.spinner.methods={options:function(jq){ -var opts=jq.textbox("options"); -return $.extend($.data(jq[0],"spinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -}}; -$.fn.spinner.parseOptions=function(_54e){ -return $.extend({},$.fn.textbox.parseOptions(_54e),$.parser.parseOptions(_54e,["min","max",{increment:"number"}])); -}; -$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spin:function(down){ -},onSpinUp:function(){ -},onSpinDown:function(){ -}}); -})(jQuery); -(function($){ -function _54f(_550){ -$(_550).addClass("numberspinner-f"); -var opts=$.data(_550,"numberspinner").options; -$(_550).numberbox(opts).spinner(opts); -$(_550).numberbox("setValue",opts.value); -}; -function _551(_552,down){ -var opts=$.data(_552,"numberspinner").options; -var v=parseFloat($(_552).numberbox("getValue")||opts.value)||0; -if(down){ -v-=opts.increment; -}else{ -v+=opts.increment; -} -$(_552).numberbox("setValue",v); -}; -$.fn.numberspinner=function(_553,_554){ -if(typeof _553=="string"){ -var _555=$.fn.numberspinner.methods[_553]; -if(_555){ -return _555(this,_554); -}else{ -return this.numberbox(_553,_554); -} -} -_553=_553||{}; -return this.each(function(){ -var _556=$.data(this,"numberspinner"); -if(_556){ -$.extend(_556.options,_553); -}else{ -$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_553)}); -} -_54f(this); -}); -}; -$.fn.numberspinner.methods={options:function(jq){ -var opts=jq.numberbox("options"); -return $.extend($.data(jq[0],"numberspinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -}}; -$.fn.numberspinner.parseOptions=function(_557){ -return $.extend({},$.fn.spinner.parseOptions(_557),$.fn.numberbox.parseOptions(_557),{}); -}; -$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(down){ -_551(this,down); -}}); -})(jQuery); -(function($){ -function _558(_559){ -var _55a=0; -if(_559.selectionStart){ -_55a=_559.selectionStart; -}else{ -if(_559.createTextRange){ -var _55b=_559.createTextRange(); -var s=document.selection.createRange(); -s.setEndPoint("StartToStart",_55b); -_55a=s.text.length; -} -} -return _55a; -}; -function _55c(_55d,_55e,end){ -if(_55d.selectionStart){ -_55d.setSelectionRange(_55e,end); -}else{ -if(_55d.createTextRange){ -var _55f=_55d.createTextRange(); -_55f.collapse(); -_55f.moveEnd("character",end); -_55f.moveStart("character",_55e); -_55f.select(); -} -} -}; -function _560(_561){ -var opts=$.data(_561,"timespinner").options; -$(_561).addClass("timespinner-f").spinner(opts); -var _562=opts.formatter.call(_561,opts.parser.call(_561,opts.value)); -$(_561).timespinner("initValue",_562); -}; -function _563(e){ -var _564=e.data.target; -var opts=$.data(_564,"timespinner").options; -var _565=_558(this); -for(var i=0;i=_566[0]&&_565<=_566[1]){ -_567(_564,i); -return; -} -} -}; -function _567(_568,_569){ -var opts=$.data(_568,"timespinner").options; -if(_569!=undefined){ -opts.highlight=_569; -} -var _56a=opts.selections[opts.highlight]; -if(_56a){ -var tb=$(_568).timespinner("textbox"); -_55c(tb[0],_56a[0],_56a[1]); -tb.focus(); -} -}; -function _56b(_56c,_56d){ -var opts=$.data(_56c,"timespinner").options; -var _56d=opts.parser.call(_56c,_56d); -var text=opts.formatter.call(_56c,_56d); -$(_56c).spinner("setValue",text); -}; -function _56e(_56f,down){ -var opts=$.data(_56f,"timespinner").options; -var s=$(_56f).timespinner("getValue"); -var _570=opts.selections[opts.highlight]; -var s1=s.substring(0,_570[0]); -var s2=s.substring(_570[0],_570[1]); -var s3=s.substring(_570[1]); -var v=s1+((parseInt(s2)||0)+opts.increment*(down?-1:1))+s3; -$(_56f).timespinner("setValue",v); -_567(_56f); -}; -$.fn.timespinner=function(_571,_572){ -if(typeof _571=="string"){ -var _573=$.fn.timespinner.methods[_571]; -if(_573){ -return _573(this,_572); -}else{ -return this.spinner(_571,_572); -} -} -_571=_571||{}; -return this.each(function(){ -var _574=$.data(this,"timespinner"); -if(_574){ -$.extend(_574.options,_571); -}else{ -$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_571)}); -} -_560(this); -}); -}; -$.fn.timespinner.methods={options:function(jq){ -var opts=jq.data("spinner")?jq.spinner("options"):{}; -return $.extend($.data(jq[0],"timespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); -},setValue:function(jq,_575){ -return jq.each(function(){ -_56b(this,_575); -}); -},getHours:function(jq){ -var opts=$.data(jq[0],"timespinner").options; -var vv=jq.timespinner("getValue").split(opts.separator); -return parseInt(vv[0],10); -},getMinutes:function(jq){ -var opts=$.data(jq[0],"timespinner").options; -var vv=jq.timespinner("getValue").split(opts.separator); -return parseInt(vv[1],10); -},getSeconds:function(jq){ -var opts=$.data(jq[0],"timespinner").options; -var vv=jq.timespinner("getValue").split(opts.separator); -return parseInt(vv[2],10)||0; -}}; -$.fn.timespinner.parseOptions=function(_576){ -return $.extend({},$.fn.spinner.parseOptions(_576),$.parser.parseOptions(_576,["separator",{showSeconds:"boolean",highlight:"number"}])); -}; -$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){ -_563.call(this,e); -},blur:function(e){ -var t=$(e.data.target); -t.timespinner("setValue",t.timespinner("getText")); -},keydown:function(e){ -if(e.keyCode==13){ -var t=$(e.data.target); -t.timespinner("setValue",t.timespinner("getText")); -} -}}),formatter:function(date){ -if(!date){ -return ""; -} -var opts=$(this).timespinner("options"); -var tt=[_577(date.getHours()),_577(date.getMinutes())]; -if(opts.showSeconds){ -tt.push(_577(date.getSeconds())); -} -return tt.join(opts.separator); -function _577(_578){ -return (_578<10?"0":"")+_578; -}; -},parser:function(s){ -var opts=$(this).timespinner("options"); -var date=_579(s); -if(date){ -var min=_579(opts.min); -var max=_579(opts.max); -if(min&&min>date){ -date=min; -} -if(max&&max"]; -for(var i=0;i<_58f.length;i++){ -_58e.cache[_58f[i][0]]={width:_58f[i][1]}; -} -var _590=0; -for(var s in _58e.cache){ -var item=_58e.cache[s]; -item.index=_590++; -ss.push(s+"{width:"+item.width+"}"); -} -ss.push(""); -$(ss.join("\n")).appendTo(cc); -cc.children("style[easyui]:not(:last)").remove(); -},getRule:function(_591){ -var _592=cc.children("style[easyui]:last")[0]; -var _593=_592.styleSheet?_592.styleSheet:(_592.sheet||document.styleSheets[document.styleSheets.length-1]); -var _594=_593.cssRules||_593.rules; -return _594[_591]; -},set:function(_595,_596){ -var item=_58e.cache[_595]; -if(item){ -item.width=_596; -var rule=this.getRule(item.index); -if(rule){ -rule.style["width"]=_596; -} -} -},remove:function(_597){ -var tmp=[]; -for(var s in _58e.cache){ -if(s.indexOf(_597)==-1){ -tmp.push([s,_58e.cache[s].width]); -} -} -_58e.cache={}; -this.add(tmp); -},dirty:function(_598){ -if(_598){ -_58e.dirty.push(_598); -} -},clean:function(){ -for(var i=0;i<_58e.dirty.length;i++){ -this.remove(_58e.dirty[i]); -} -_58e.dirty=[]; -}}; -}; -function _599(_59a,_59b){ -var _59c=$.data(_59a,"datagrid"); -var opts=_59c.options; -var _59d=_59c.panel; -if(_59b){ -$.extend(opts,_59b); -} -if(opts.fit==true){ -var p=_59d.panel("panel").parent(); -opts.width=p.width(); -opts.height=p.height(); -} -_59d.panel("resize",opts); -}; -function _59e(_59f){ -var _5a0=$.data(_59f,"datagrid"); -var opts=_5a0.options; -var dc=_5a0.dc; -var wrap=_5a0.panel; -var _5a1=wrap.width(); -var _5a2=wrap.height(); -var view=dc.view; -var _5a3=dc.view1; -var _5a4=dc.view2; -var _5a5=_5a3.children("div.datagrid-header"); -var _5a6=_5a4.children("div.datagrid-header"); -var _5a7=_5a5.find("table"); -var _5a8=_5a6.find("table"); -view.width(_5a1); -var _5a9=_5a5.children("div.datagrid-header-inner").show(); -_5a3.width(_5a9.find("table").width()); -if(!opts.showHeader){ -_5a9.hide(); -} -_5a4.width(_5a1-_5a3._outerWidth()); -_5a3.children()._outerWidth(_5a3.width()); -_5a4.children()._outerWidth(_5a4.width()); -var all=_5a5.add(_5a6).add(_5a7).add(_5a8); -all.css("height",""); -var hh=Math.max(_5a7.height(),_5a8.height()); -all._outerHeight(hh); -dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({position:"absolute",top:dc.header2._outerHeight()}); -var _5aa=dc.body2.children("table.datagrid-btable-frozen")._outerHeight(); -var _5ab=_5aa+_5a6._outerHeight()+_5a4.children(".datagrid-footer")._outerHeight(); -wrap.children(":not(.datagrid-view)").each(function(){ -_5ab+=$(this)._outerHeight(); -}); -var _5ac=wrap.outerHeight()-wrap.height(); -var _5ad=wrap._size("minHeight")||""; -var _5ae=wrap._size("maxHeight")||""; -_5a3.add(_5a4).children("div.datagrid-body").css({marginTop:_5aa,height:(isNaN(parseInt(opts.height))?"":(_5a2-_5ab)),minHeight:(_5ad?_5ad-_5ac-_5ab:""),maxHeight:(_5ae?_5ae-_5ac-_5ab:"")}); -view.height(_5a4.height()); -}; -function _5af(_5b0,_5b1,_5b2){ -var rows=$.data(_5b0,"datagrid").data.rows; -var opts=$.data(_5b0,"datagrid").options; -var dc=$.data(_5b0,"datagrid").dc; -if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight||_5b2)){ -if(_5b1!=undefined){ -var tr1=opts.finder.getTr(_5b0,_5b1,"body",1); -var tr2=opts.finder.getTr(_5b0,_5b1,"body",2); -_5b3(tr1,tr2); -}else{ -var tr1=opts.finder.getTr(_5b0,0,"allbody",1); -var tr2=opts.finder.getTr(_5b0,0,"allbody",2); -_5b3(tr1,tr2); -if(opts.showFooter){ -var tr1=opts.finder.getTr(_5b0,0,"allfooter",1); -var tr2=opts.finder.getTr(_5b0,0,"allfooter",2); -_5b3(tr1,tr2); -} -} -} -_59e(_5b0); -if(opts.height=="auto"){ -var _5b4=dc.body1.parent(); -var _5b5=dc.body2; -var _5b6=_5b7(_5b5); -var _5b8=_5b6.height; -if(_5b6.width>_5b5.width()){ -_5b8+=18; -} -_5b8-=parseInt(_5b5.css("marginTop"))||0; -_5b4.height(_5b8); -_5b5.height(_5b8); -dc.view.height(dc.view2.height()); -} -dc.body2.triggerHandler("scroll"); -function _5b3(trs1,trs2){ -for(var i=0;i"); -} -_5c0(true); -_5c0(false); -_59e(_5bd); -function _5c0(_5c1){ -var _5c2=_5c1?1:2; -var tr=opts.finder.getTr(_5bd,_5be,"body",_5c2); -(_5c1?dc.body1:dc.body2).children("table.datagrid-btable-frozen").append(tr); -}; -}; -function _5c3(_5c4,_5c5){ -function _5c6(){ -var _5c7=[]; -var _5c8=[]; -$(_5c4).children("thead").each(function(){ -var opt=$.parser.parseOptions(this,[{frozen:"boolean"}]); -$(this).find("tr").each(function(){ -var cols=[]; -$(this).find("th").each(function(){ -var th=$(this); -var col=$.extend({},$.parser.parseOptions(this,["field","align","halign","order","width",{sortable:"boolean",checkbox:"boolean",resizable:"boolean",fixed:"boolean"},{rowspan:"number",colspan:"number"}]),{title:(th.html()||undefined),hidden:(th.attr("hidden")?true:undefined),formatter:(th.attr("formatter")?eval(th.attr("formatter")):undefined),styler:(th.attr("styler")?eval(th.attr("styler")):undefined),sorter:(th.attr("sorter")?eval(th.attr("sorter")):undefined)}); -if(col.width&&String(col.width).indexOf("%")==-1){ -col.width=parseInt(col.width); -} -if(th.attr("editor")){ -var s=$.trim(th.attr("editor")); -if(s.substr(0,1)=="{"){ -col.editor=eval("("+s+")"); -}else{ -col.editor=s; -} -} -cols.push(col); -}); -opt.frozen?_5c7.push(cols):_5c8.push(cols); -}); -}); -return [_5c7,_5c8]; -}; -var _5c9=$("
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+""+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+""+"
        "+"
        "+"
        "+"
        ").insertAfter(_5c4); -_5c9.panel({doSize:false,cls:"datagrid"}); -$(_5c4).addClass("datagrid-f").hide().appendTo(_5c9.children("div.datagrid-view")); -var cc=_5c6(); -var view=_5c9.children("div.datagrid-view"); -var _5ca=view.children("div.datagrid-view1"); -var _5cb=view.children("div.datagrid-view2"); -return {panel:_5c9,frozenColumns:cc[0],columns:cc[1],dc:{view:view,view1:_5ca,view2:_5cb,header1:_5ca.children("div.datagrid-header").children("div.datagrid-header-inner"),header2:_5cb.children("div.datagrid-header").children("div.datagrid-header-inner"),body1:_5ca.children("div.datagrid-body").children("div.datagrid-body-inner"),body2:_5cb.children("div.datagrid-body"),footer1:_5ca.children("div.datagrid-footer").children("div.datagrid-footer-inner"),footer2:_5cb.children("div.datagrid-footer").children("div.datagrid-footer-inner")}}; -}; -function _5cc(_5cd){ -var _5ce=$.data(_5cd,"datagrid"); -var opts=_5ce.options; -var dc=_5ce.dc; -var _5cf=_5ce.panel; -_5ce.ss=$(_5cd).datagrid("createStyleSheet"); -_5cf.panel($.extend({},opts,{id:null,doSize:false,onResize:function(_5d0,_5d1){ -if($.data(_5cd,"datagrid")){ -_59e(_5cd); -$(_5cd).datagrid("fitColumns"); -opts.onResize.call(_5cf,_5d0,_5d1); -} -},onExpand:function(){ -_5af(_5cd); -opts.onExpand.call(_5cf); -}})); -_5ce.rowIdPrefix="datagrid-row-r"+(++_583); -_5ce.cellClassPrefix="datagrid-cell-c"+_583; -_5d2(dc.header1,opts.frozenColumns,true); -_5d2(dc.header2,opts.columns,false); -_5d3(); -dc.header1.add(dc.header2).css("display",opts.showHeader?"block":"none"); -dc.footer1.add(dc.footer2).css("display",opts.showFooter?"block":"none"); -if(opts.toolbar){ -if($.isArray(opts.toolbar)){ -$("div.datagrid-toolbar",_5cf).remove(); -var tb=$("
        ").prependTo(_5cf); -var tr=tb.find("tr"); -for(var i=0;i
        ").appendTo(tr); -}else{ -var td=$("").appendTo(tr); -var tool=$("").appendTo(td); -tool[0].onclick=eval(btn.handler||function(){ -}); -tool.linkbutton($.extend({},btn,{plain:true})); -} -} -}else{ -$(opts.toolbar).addClass("datagrid-toolbar").prependTo(_5cf); -$(opts.toolbar).show(); -} -}else{ -$("div.datagrid-toolbar",_5cf).remove(); -} -$("div.datagrid-pager",_5cf).remove(); -if(opts.pagination){ -var _5d4=$("
        "); -if(opts.pagePosition=="bottom"){ -_5d4.appendTo(_5cf); -}else{ -if(opts.pagePosition=="top"){ -_5d4.addClass("datagrid-pager-top").prependTo(_5cf); -}else{ -var ptop=$("
        ").prependTo(_5cf); -_5d4.appendTo(_5cf); -_5d4=_5d4.add(ptop); -} -} -_5d4.pagination({total:(opts.pageNumber*opts.pageSize),pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_5d5,_5d6){ -opts.pageNumber=_5d5||1; -opts.pageSize=_5d6; -_5d4.pagination("refresh",{pageNumber:_5d5,pageSize:_5d6}); -_611(_5cd); -}}); -opts.pageSize=_5d4.pagination("options").pageSize; -} -function _5d2(_5d7,_5d8,_5d9){ -if(!_5d8){ -return; -} -$(_5d7).show(); -$(_5d7).empty(); -var _5da=[]; -var _5db=[]; -if(opts.sortName){ -_5da=opts.sortName.split(","); -_5db=opts.sortOrder.split(","); -} -var t=$("
        ").appendTo(_5d7); -for(var i=0;i<_5d8.length;i++){ -var tr=$("").appendTo($("tbody",t)); -var cols=_5d8[i]; -for(var j=0;j").appendTo(tr); -if(col.checkbox){ -td.attr("field",col.field); -$("
        ").html("").appendTo(td); -}else{ -if(col.field){ -td.attr("field",col.field); -td.append("
        "); -$("span",td).html(col.title); -$("span.datagrid-sort-icon",td).html(" "); -var cell=td.find("div.datagrid-cell"); -var pos=_584(_5da,col.field); -if(pos>=0){ -cell.addClass("datagrid-sort-"+_5db[pos]); -} -if(col.resizable==false){ -cell.attr("resizable","false"); -} -if(col.width){ -var _5dc=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize); -cell._outerWidth(_5dc-1); -col.boxWidth=parseInt(cell[0].style.width); -col.deltaWidth=_5dc-col.boxWidth; -}else{ -col.auto=true; -} -cell.css("text-align",(col.halign||col.align||"")); -col.cellClass=_5ce.cellClassPrefix+"-"+col.field.replace(/[\.|\s]/g,"-"); -cell.addClass(col.cellClass).css("width",""); -}else{ -$("
        ").html(col.title).appendTo(td); -} -} -if(col.hidden){ -td.hide(); -} -} -} -if(_5d9&&opts.rownumbers){ -var td=$("
        "); -if($("tr",t).length==0){ -td.wrap("").parent().appendTo($("tbody",t)); -}else{ -td.prependTo($("tr:first",t)); -} -} -}; -function _5d3(){ -var _5dd=[]; -var _5de=_5df(_5cd,true).concat(_5df(_5cd)); -for(var i=0;i<_5de.length;i++){ -var col=_5e0(_5cd,_5de[i]); -if(col&&!col.checkbox){ -_5dd.push(["."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto"]); -} -} -_5ce.ss.add(_5dd); -_5ce.ss.dirty(_5ce.cellSelectorPrefix); -_5ce.cellSelectorPrefix="."+_5ce.cellClassPrefix; -}; -}; -function _5e1(_5e2){ -var _5e3=$.data(_5e2,"datagrid"); -var _5e4=_5e3.panel; -var opts=_5e3.options; -var dc=_5e3.dc; -var _5e5=dc.header1.add(dc.header2); -_5e5.find("input[type=checkbox]").unbind(".datagrid").bind("click.datagrid",function(e){ -if(opts.singleSelect&&opts.selectOnCheck){ -return false; -} -if($(this).is(":checked")){ -_67b(_5e2); -}else{ -_681(_5e2); -} -e.stopPropagation(); -}); -var _5e6=_5e5.find("div.datagrid-cell"); -_5e6.closest("td").unbind(".datagrid").bind("mouseenter.datagrid",function(){ -if(_5e3.resizing){ -return; -} -$(this).addClass("datagrid-header-over"); -}).bind("mouseleave.datagrid",function(){ -$(this).removeClass("datagrid-header-over"); -}).bind("contextmenu.datagrid",function(e){ -var _5e7=$(this).attr("field"); -opts.onHeaderContextMenu.call(_5e2,e,_5e7); -}); -_5e6.unbind(".datagrid").bind("click.datagrid",function(e){ -var p1=$(this).offset().left+5; -var p2=$(this).offset().left+$(this)._outerWidth()-5; -if(e.pageXp1){ -_606(_5e2,$(this).parent().attr("field")); -} -}).bind("dblclick.datagrid",function(e){ -var p1=$(this).offset().left+5; -var p2=$(this).offset().left+$(this)._outerWidth()-5; -var cond=opts.resizeHandle=="right"?(e.pageX>p2):(opts.resizeHandle=="left"?(e.pageXp2)); -if(cond){ -var _5e8=$(this).parent().attr("field"); -var col=_5e0(_5e2,_5e8); -if(col.resizable==false){ -return; -} -$(_5e2).datagrid("autoSizeColumn",_5e8); -col.auto=false; -} -}); -var _5e9=opts.resizeHandle=="right"?"e":(opts.resizeHandle=="left"?"w":"e,w"); -_5e6.each(function(){ -$(this).resizable({handles:_5e9,disabled:($(this).attr("resizable")?$(this).attr("resizable")=="false":false),minWidth:25,onStartResize:function(e){ -_5e3.resizing=true; -_5e5.css("cursor",$("body").css("cursor")); -if(!_5e3.proxy){ -_5e3.proxy=$("
        ").appendTo(dc.view); -} -_5e3.proxy.css({left:e.pageX-$(_5e4).offset().left-1,display:"none"}); -setTimeout(function(){ -if(_5e3.proxy){ -_5e3.proxy.show(); -} -},500); -},onResize:function(e){ -_5e3.proxy.css({left:e.pageX-$(_5e4).offset().left-1,display:"block"}); -return false; -},onStopResize:function(e){ -_5e5.css("cursor",""); -$(this).css("height",""); -var _5ea=$(this).parent().attr("field"); -var col=_5e0(_5e2,_5ea); -col.width=$(this)._outerWidth(); -col.boxWidth=col.width-col.deltaWidth; -col.auto=undefined; -$(this).css("width",""); -$(_5e2).datagrid("fixColumnSize",_5ea); -_5e3.proxy.remove(); -_5e3.proxy=null; -if($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")){ -_59e(_5e2); -} -$(_5e2).datagrid("fitColumns"); -opts.onResizeColumn.call(_5e2,_5ea,col.width); -setTimeout(function(){ -_5e3.resizing=false; -},0); -}}); -}); -var bb=dc.body1.add(dc.body2); -bb.unbind(); -for(var _5eb in opts.rowEvents){ -bb.bind(_5eb,opts.rowEvents[_5eb]); -} -dc.body1.bind("mousewheel DOMMouseScroll",function(e){ -var e1=e.originalEvent||window.event; -var _5ec=e1.wheelDelta||e1.detail*(-1); -var dg=$(e.target).closest("div.datagrid-view").children(".datagrid-f"); -var dc=dg.data("datagrid").dc; -dc.body2.scrollTop(dc.body2.scrollTop()-_5ec); -}); -dc.body2.bind("scroll",function(){ -var b1=dc.view1.children("div.datagrid-body"); -b1.scrollTop($(this).scrollTop()); -var c1=dc.body1.children(":first"); -var c2=dc.body2.children(":first"); -if(c1.length&&c2.length){ -var top1=c1.offset().top; -var top2=c2.offset().top; -if(top1!=top2){ -b1.scrollTop(b1.scrollTop()+top1-top2); -} -} -dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft()); -dc.body2.children("table.datagrid-btable-frozen").css("left",-$(this)._scrollLeft()); -}); -}; -function _5ed(_5ee){ -return function(e){ -var tr=_5ef(e.target); -if(!tr){ -return; -} -var _5f0=_5f1(tr); -if($.data(_5f0,"datagrid").resizing){ -return; -} -var _5f2=_5f3(tr); -if(_5ee){ -_5f4(_5f0,_5f2); -}else{ -var opts=$.data(_5f0,"datagrid").options; -opts.finder.getTr(_5f0,_5f2).removeClass("datagrid-row-over"); -} -}; -}; -function _5f5(e){ -var tr=_5ef(e.target); -if(!tr){ -return; -} -var _5f6=_5f1(tr); -var opts=$.data(_5f6,"datagrid").options; -var _5f7=_5f3(tr); -var tt=$(e.target); -if(tt.parent().hasClass("datagrid-cell-check")){ -if(opts.singleSelect&&opts.selectOnCheck){ -tt._propAttr("checked",!tt.is(":checked")); -_5f8(_5f6,_5f7); -}else{ -if(tt.is(":checked")){ -tt._propAttr("checked",false); -_5f8(_5f6,_5f7); -}else{ -tt._propAttr("checked",true); -_5f9(_5f6,_5f7); -} -} -}else{ -var row=opts.finder.getRow(_5f6,_5f7); -var td=tt.closest("td[field]",tr); -if(td.length){ -var _5fa=td.attr("field"); -opts.onClickCell.call(_5f6,_5f7,_5fa,row[_5fa]); -} -if(opts.singleSelect==true){ -_5fb(_5f6,_5f7); -}else{ -if(opts.ctrlSelect){ -if(e.ctrlKey){ -if(tr.hasClass("datagrid-row-selected")){ -_5fc(_5f6,_5f7); -}else{ -_5fb(_5f6,_5f7); -} -}else{ -if(e.shiftKey){ -$(_5f6).datagrid("clearSelections"); -var _5fd=Math.min(opts.lastSelectedIndex||0,_5f7); -var _5fe=Math.max(opts.lastSelectedIndex||0,_5f7); -for(var i=_5fd;i<=_5fe;i++){ -_5fb(_5f6,i); -} -}else{ -$(_5f6).datagrid("clearSelections"); -_5fb(_5f6,_5f7); -opts.lastSelectedIndex=_5f7; -} -} -}else{ -if(tr.hasClass("datagrid-row-selected")){ -_5fc(_5f6,_5f7); -}else{ -_5fb(_5f6,_5f7); -} -} -} -opts.onClickRow.apply(_5f6,_588(_5f6,[_5f7,row])); -} -}; -function _5ff(e){ -var tr=_5ef(e.target); -if(!tr){ -return; -} -var _600=_5f1(tr); -var opts=$.data(_600,"datagrid").options; -var _601=_5f3(tr); -var row=opts.finder.getRow(_600,_601); -var td=$(e.target).closest("td[field]",tr); -if(td.length){ -var _602=td.attr("field"); -opts.onDblClickCell.call(_600,_601,_602,row[_602]); -} -opts.onDblClickRow.apply(_600,_588(_600,[_601,row])); -}; -function _603(e){ -var tr=_5ef(e.target); -if(!tr){ -return; -} -var _604=_5f1(tr); -var opts=$.data(_604,"datagrid").options; -var _605=_5f3(tr); -var row=opts.finder.getRow(_604,_605); -opts.onRowContextMenu.call(_604,e,_605,row); -}; -function _5f1(t){ -return $(t).closest("div.datagrid-view").children(".datagrid-f")[0]; -}; -function _5ef(t){ -var tr=$(t).closest("tr.datagrid-row"); -if(tr.length&&tr.parent().length){ -return tr; -}else{ -return undefined; -} -}; -function _5f3(tr){ -if(tr.attr("datagrid-row-index")){ -return parseInt(tr.attr("datagrid-row-index")); -}else{ -return tr.attr("node-id"); -} -}; -function _606(_607,_608){ -var _609=$.data(_607,"datagrid"); -var opts=_609.options; -_608=_608||{}; -var _60a={sortName:opts.sortName,sortOrder:opts.sortOrder}; -if(typeof _608=="object"){ -$.extend(_60a,_608); -} -var _60b=[]; -var _60c=[]; -if(_60a.sortName){ -_60b=_60a.sortName.split(","); -_60c=_60a.sortOrder.split(","); -} -if(typeof _608=="string"){ -var _60d=_608; -var col=_5e0(_607,_60d); -if(!col.sortable||_609.resizing){ -return; -} -var _60e=col.order||"asc"; -var pos=_584(_60b,_60d); -if(pos>=0){ -var _60f=_60c[pos]=="asc"?"desc":"asc"; -if(opts.multiSort&&_60f==_60e){ -_60b.splice(pos,1); -_60c.splice(pos,1); -}else{ -_60c[pos]=_60f; -} -}else{ -if(opts.multiSort){ -_60b.push(_60d); -_60c.push(_60e); -}else{ -_60b=[_60d]; -_60c=[_60e]; -} -} -_60a.sortName=_60b.join(","); -_60a.sortOrder=_60c.join(","); -} -if(opts.onBeforeSortColumn.call(_607,_60a.sortName,_60a.sortOrder)==false){ -return; -} -$.extend(opts,_60a); -var dc=_609.dc; -var _610=dc.header1.add(dc.header2); -_610.find("div.datagrid-cell").removeClass("datagrid-sort-asc datagrid-sort-desc"); -for(var i=0;i<_60b.length;i++){ -var col=_5e0(_607,_60b[i]); -_610.find("div."+col.cellClass).addClass("datagrid-sort-"+_60c[i]); -} -if(opts.remoteSort){ -_611(_607); -}else{ -_612(_607,$(_607).datagrid("getData")); -} -opts.onSortColumn.call(_607,opts.sortName,opts.sortOrder); -}; -function _613(_614){ -var _615=$.data(_614,"datagrid"); -var opts=_615.options; -var dc=_615.dc; -var _616=dc.view2.children("div.datagrid-header"); -dc.body2.css("overflow-x",""); -_617(); -_618(); -_619(); -_617(true); -if(_616.width()>=_616.find("table").width()){ -dc.body2.css("overflow-x","hidden"); -} -function _619(){ -if(!opts.fitColumns){ -return; -} -if(!_615.leftWidth){ -_615.leftWidth=0; -} -var _61a=0; -var cc=[]; -var _61b=_5df(_614,false); -for(var i=0;i<_61b.length;i++){ -var col=_5e0(_614,_61b[i]); -if(_61c(col)){ -_61a+=col.width; -cc.push({field:col.field,col:col,addingWidth:0}); -} -} -if(!_61a){ -return; -} -cc[cc.length-1].addingWidth-=_615.leftWidth; -var _61d=_616.children("div.datagrid-header-inner").show(); -var _61e=_616.width()-_616.find("table").width()-opts.scrollbarSize+_615.leftWidth; -var rate=_61e/_61a; -if(!opts.showHeader){ -_61d.hide(); -} -for(var i=0;i0){ -c.col.boxWidth+=c.addingWidth; -c.col.width+=c.addingWidth; -} -} -_615.leftWidth=_61e; -$(_614).datagrid("fixColumnSize"); -}; -function _618(){ -var _620=false; -var _621=_5df(_614,true).concat(_5df(_614,false)); -$.map(_621,function(_622){ -var col=_5e0(_614,_622); -if(String(col.width||"").indexOf("%")>=0){ -var _623=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize)-col.deltaWidth; -if(_623>0){ -col.boxWidth=_623; -_620=true; -} -} -}); -if(_620){ -$(_614).datagrid("fixColumnSize"); -} -}; -function _617(fit){ -var _624=dc.header1.add(dc.header2).find(".datagrid-cell-group"); -if(_624.length){ -_624.each(function(){ -$(this)._outerWidth(fit?$(this).parent().width():10); -}); -if(fit){ -_59e(_614); -} -} -}; -function _61c(col){ -if(String(col.width||"").indexOf("%")>=0){ -return false; -} -if(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){ -return true; -} -}; -}; -function _625(_626,_627){ -var _628=$.data(_626,"datagrid"); -var opts=_628.options; -var dc=_628.dc; -var tmp=$("
        ").appendTo("body"); -if(_627){ -_599(_627); -if(opts.fitColumns){ -_59e(_626); -$(_626).datagrid("fitColumns"); -} -}else{ -var _629=false; -var _62a=_5df(_626,true).concat(_5df(_626,false)); -for(var i=0;i<_62a.length;i++){ -var _627=_62a[i]; -var col=_5e0(_626,_627); -if(col.auto){ -_599(_627); -_629=true; -} -} -if(_629&&opts.fitColumns){ -_59e(_626); -$(_626).datagrid("fitColumns"); -} -} -tmp.remove(); -function _599(_62b){ -var _62c=dc.view.find("div.datagrid-header td[field=\""+_62b+"\"] div.datagrid-cell"); -_62c.css("width",""); -var col=$(_626).datagrid("getColumnOption",_62b); -col.width=undefined; -col.boxWidth=undefined; -col.auto=true; -$(_626).datagrid("fixColumnSize",_62b); -var _62d=Math.max(_62e("header"),_62e("allbody"),_62e("allfooter"))+1; -_62c._outerWidth(_62d-1); -col.width=_62d; -col.boxWidth=parseInt(_62c[0].style.width); -col.deltaWidth=_62d-col.boxWidth; -_62c.css("width",""); -$(_626).datagrid("fixColumnSize",_62b); -opts.onResizeColumn.call(_626,_62b,col.width); -function _62e(type){ -var _62f=0; -if(type=="header"){ -_62f=_630(_62c); -}else{ -opts.finder.getTr(_626,0,type).find("td[field=\""+_62b+"\"] div.datagrid-cell").each(function(){ -var w=_630($(this)); -if(_62f=0){ -var _649=col.field||""; -for(var c=0;c<(col.colspan||1);c++){ -for(var r=0;r<(col.rowspan||1);r++){ -aa[_646+r][_647]=_649; -} -_647++; -} -} -}); -} -return aa[aa.length-1]; -function _645(){ -var _64a=0; -$.map(_643[0],function(col){ -_64a+=col.colspan||1; -}); -return _64a; -}; -function _648(a){ -for(var i=0;ib?1:-1); -}; -r=_64f(r1[sn],r2[sn])*(so=="asc"?1:-1); -if(r!=0){ -return r; -} -} -return r; -}); -} -if(opts.view.onBeforeRender){ -opts.view.onBeforeRender.call(opts.view,_64b,data.rows); -} -opts.view.render.call(opts.view,_64b,dc.body2,false); -opts.view.render.call(opts.view,_64b,dc.body1,true); -if(opts.showFooter){ -opts.view.renderFooter.call(opts.view,_64b,dc.footer2,false); -opts.view.renderFooter.call(opts.view,_64b,dc.footer1,true); -} -if(opts.view.onAfterRender){ -opts.view.onAfterRender.call(opts.view,_64b); -} -_64c.ss.clean(); -var _650=$(_64b).datagrid("getPager"); -if(_650.length){ -var _651=_650.pagination("options"); -if(_651.total!=data.total){ -_650.pagination("refresh",{total:data.total}); -if(opts.pageNumber!=_651.pageNumber&&_651.pageNumber>0){ -opts.pageNumber=_651.pageNumber; -_611(_64b); -} -} -} -_5af(_64b); -dc.body2.triggerHandler("scroll"); -$(_64b).datagrid("setSelectionState"); -$(_64b).datagrid("autoSizeColumn"); -opts.onLoadSuccess.call(_64b,data); -}; -function _652(_653){ -var _654=$.data(_653,"datagrid"); -var opts=_654.options; -var dc=_654.dc; -dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",false); -if(opts.idField){ -var _655=$.data(_653,"treegrid")?true:false; -var _656=opts.onSelect; -var _657=opts.onCheck; -opts.onSelect=opts.onCheck=function(){ -}; -var rows=opts.finder.getRows(_653); -for(var i=0;i_668.height()-18){ -_668.scrollTop(_668.scrollTop()+top+tr._outerHeight()-_668.height()+18); -} -} -} -}; -function _5f4(_66a,_66b){ -var _66c=$.data(_66a,"datagrid"); -var opts=_66c.options; -opts.finder.getTr(_66a,_66c.highlightIndex).removeClass("datagrid-row-over"); -opts.finder.getTr(_66a,_66b).addClass("datagrid-row-over"); -_66c.highlightIndex=_66b; -}; -function _5fb(_66d,_66e,_66f){ -var _670=$.data(_66d,"datagrid"); -var opts=_670.options; -var row=opts.finder.getRow(_66d,_66e); -if(opts.onBeforeSelect.apply(_66d,_588(_66d,[_66e,row]))==false){ -return; -} -if(opts.singleSelect){ -_671(_66d,true); -_670.selectedRows=[]; -} -if(!_66f&&opts.checkOnSelect){ -_5f8(_66d,_66e,true); -} -if(opts.idField){ -_587(_670.selectedRows,opts.idField,row); -} -opts.finder.getTr(_66d,_66e).addClass("datagrid-row-selected"); -opts.onSelect.apply(_66d,_588(_66d,[_66e,row])); -_663(_66d,_66e); -}; -function _5fc(_672,_673,_674){ -var _675=$.data(_672,"datagrid"); -var dc=_675.dc; -var opts=_675.options; -var row=opts.finder.getRow(_672,_673); -if(opts.onBeforeUnselect.apply(_672,_588(_672,[_673,row]))==false){ -return; -} -if(!_674&&opts.checkOnSelect){ -_5f9(_672,_673,true); -} -opts.finder.getTr(_672,_673).removeClass("datagrid-row-selected"); -if(opts.idField){ -_585(_675.selectedRows,opts.idField,row[opts.idField]); -} -opts.onUnselect.apply(_672,_588(_672,[_673,row])); -}; -function _676(_677,_678){ -var _679=$.data(_677,"datagrid"); -var opts=_679.options; -var rows=opts.finder.getRows(_677); -var _67a=$.data(_677,"datagrid").selectedRows; -if(!_678&&opts.checkOnSelect){ -_67b(_677,true); -} -opts.finder.getTr(_677,"","allbody").addClass("datagrid-row-selected"); -if(opts.idField){ -for(var _67c=0;_67c"); -cell.children("table").bind("click dblclick contextmenu",function(e){ -e.stopPropagation(); -}); -$.data(cell[0],"datagrid.editor",{actions:_6b2,target:_6b2.init(cell.find("td"),_6b1),field:_6af,type:_6b0,oldHtml:_6b3}); -} -} -}); -_5af(_6ad,_6ae,true); -}; -function _6a4(_6b5,_6b6){ -var opts=$.data(_6b5,"datagrid").options; -var tr=opts.finder.getTr(_6b5,_6b6); -tr.children("td").each(function(){ -var cell=$(this).find("div.datagrid-editable"); -if(cell.length){ -var ed=$.data(cell[0],"datagrid.editor"); -if(ed.actions.destroy){ -ed.actions.destroy(ed.target); -} -cell.html(ed.oldHtml); -$.removeData(cell[0],"datagrid.editor"); -cell.removeClass("datagrid-editable"); -cell.css("width",""); -} -}); -}; -function _697(_6b7,_6b8){ -var tr=$.data(_6b7,"datagrid").options.finder.getTr(_6b7,_6b8); -if(!tr.hasClass("datagrid-row-editing")){ -return true; -} -var vbox=tr.find(".validatebox-text"); -vbox.validatebox("validate"); -vbox.trigger("mouseleave"); -var _6b9=tr.find(".validatebox-invalid"); -return _6b9.length==0; -}; -function _6ba(_6bb,_6bc){ -var _6bd=$.data(_6bb,"datagrid").insertedRows; -var _6be=$.data(_6bb,"datagrid").deletedRows; -var _6bf=$.data(_6bb,"datagrid").updatedRows; -if(!_6bc){ -var rows=[]; -rows=rows.concat(_6bd); -rows=rows.concat(_6be); -rows=rows.concat(_6bf); -return rows; -}else{ -if(_6bc=="inserted"){ -return _6bd; -}else{ -if(_6bc=="deleted"){ -return _6be; -}else{ -if(_6bc=="updated"){ -return _6bf; -} -} -} -} -return []; -}; -function _6c0(_6c1,_6c2){ -var _6c3=$.data(_6c1,"datagrid"); -var opts=_6c3.options; -var data=_6c3.data; -var _6c4=_6c3.insertedRows; -var _6c5=_6c3.deletedRows; -$(_6c1).datagrid("cancelEdit",_6c2); -var row=opts.finder.getRow(_6c1,_6c2); -if(_584(_6c4,row)>=0){ -_585(_6c4,row); -}else{ -_6c5.push(row); -} -_585(_6c3.selectedRows,opts.idField,row[opts.idField]); -_585(_6c3.checkedRows,opts.idField,row[opts.idField]); -opts.view.deleteRow.call(opts.view,_6c1,_6c2); -if(opts.height=="auto"){ -_5af(_6c1); -} -$(_6c1).datagrid("getPager").pagination("refresh",{total:data.total}); -}; -function _6c6(_6c7,_6c8){ -var data=$.data(_6c7,"datagrid").data; -var view=$.data(_6c7,"datagrid").options.view; -var _6c9=$.data(_6c7,"datagrid").insertedRows; -view.insertRow.call(view,_6c7,_6c8.index,_6c8.row); -_6c9.push(_6c8.row); -$(_6c7).datagrid("getPager").pagination("refresh",{total:data.total}); -}; -function _6ca(_6cb,row){ -var data=$.data(_6cb,"datagrid").data; -var view=$.data(_6cb,"datagrid").options.view; -var _6cc=$.data(_6cb,"datagrid").insertedRows; -view.insertRow.call(view,_6cb,null,row); -_6cc.push(row); -$(_6cb).datagrid("getPager").pagination("refresh",{total:data.total}); -}; -function _6cd(_6ce){ -var _6cf=$.data(_6ce,"datagrid"); -var data=_6cf.data; -var rows=data.rows; -var _6d0=[]; -for(var i=0;i=0){ -(_6dd=="s"?_5fb:_5f8)(_6d4,_6de,true); -} -} -}; -for(var i=0;i0){ -_612(this,data); -_6cd(this); -}else{ -opts.view.renderEmptyRow(this); -} -} -_611(this); -}); -}; -function _6ee(_6ef){ -var _6f0={}; -$.map(_6ef,function(name){ -_6f0[name]=_6f1(name); -}); -return _6f0; -function _6f1(name){ -function isA(_6f2){ -return $.data($(_6f2)[0],name)!=undefined; -}; -return {init:function(_6f3,_6f4){ -var _6f5=$("").appendTo(_6f3); -if(_6f5[name]&&name!="text"){ -return _6f5[name](_6f4); -}else{ -return _6f5; -} -},destroy:function(_6f6){ -if(isA(_6f6,name)){ -$(_6f6)[name]("destroy"); -} -},getValue:function(_6f7){ -if(isA(_6f7,name)){ -var opts=$(_6f7)[name]("options"); -if(opts.multiple){ -return $(_6f7)[name]("getValues").join(opts.separator); -}else{ -return $(_6f7)[name]("getValue"); -} -}else{ -return $(_6f7).val(); -} -},setValue:function(_6f8,_6f9){ -if(isA(_6f8,name)){ -var opts=$(_6f8)[name]("options"); -if(opts.multiple){ -if(_6f9){ -$(_6f8)[name]("setValues",_6f9.split(opts.separator)); -}else{ -$(_6f8)[name]("clear"); -} -}else{ -$(_6f8)[name]("setValue",_6f9); -} -}else{ -$(_6f8).val(_6f9); -} -},resize:function(_6fa,_6fb){ -if(isA(_6fa,name)){ -$(_6fa)[name]("resize",_6fb); -}else{ -$(_6fa)._outerWidth(_6fb)._outerHeight(22); -} -}}; -}; -}; -var _6fc=$.extend({},_6ee(["text","textbox","numberbox","numberspinner","combobox","combotree","combogrid","datebox","datetimebox","timespinner","datetimespinner"]),{textarea:{init:function(_6fd,_6fe){ -var _6ff=$("").appendTo(_6fd); -return _6ff; -},getValue:function(_700){ -return $(_700).val(); -},setValue:function(_701,_702){ -$(_701).val(_702); -},resize:function(_703,_704){ -$(_703)._outerWidth(_704); -}},checkbox:{init:function(_705,_706){ -var _707=$("").appendTo(_705); -_707.val(_706.on); -_707.attr("offval",_706.off); -return _707; -},getValue:function(_708){ -if($(_708).is(":checked")){ -return $(_708).val(); -}else{ -return $(_708).attr("offval"); -} -},setValue:function(_709,_70a){ -var _70b=false; -if($(_709).val()==_70a){ -_70b=true; -} -$(_709)._propAttr("checked",_70b); -}},validatebox:{init:function(_70c,_70d){ -var _70e=$("").appendTo(_70c); -_70e.validatebox(_70d); -return _70e; -},destroy:function(_70f){ -$(_70f).validatebox("destroy"); -},getValue:function(_710){ -return $(_710).val(); -},setValue:function(_711,_712){ -$(_711).val(_712); -},resize:function(_713,_714){ -$(_713)._outerWidth(_714)._outerHeight(22); -}}}); -$.fn.datagrid.methods={options:function(jq){ -var _715=$.data(jq[0],"datagrid").options; -var _716=$.data(jq[0],"datagrid").panel.panel("options"); -var opts=$.extend(_715,{width:_716.width,height:_716.height,closed:_716.closed,collapsed:_716.collapsed,minimized:_716.minimized,maximized:_716.maximized}); -return opts; -},setSelectionState:function(jq){ -return jq.each(function(){ -_652(this); -}); -},createStyleSheet:function(jq){ -return _58a(jq[0]); -},getPanel:function(jq){ -return $.data(jq[0],"datagrid").panel; -},getPager:function(jq){ -return $.data(jq[0],"datagrid").panel.children("div.datagrid-pager"); -},getColumnFields:function(jq,_717){ -return _5df(jq[0],_717); -},getColumnOption:function(jq,_718){ -return _5e0(jq[0],_718); -},resize:function(jq,_719){ -return jq.each(function(){ -_599(this,_719); -}); -},load:function(jq,_71a){ -return jq.each(function(){ -var opts=$(this).datagrid("options"); -if(typeof _71a=="string"){ -opts.url=_71a; -_71a=null; -} -opts.pageNumber=1; -var _71b=$(this).datagrid("getPager"); -_71b.pagination("refresh",{pageNumber:1}); -_611(this,_71a); -}); -},reload:function(jq,_71c){ -return jq.each(function(){ -var opts=$(this).datagrid("options"); -if(typeof _71c=="string"){ -opts.url=_71c; -_71c=null; -} -_611(this,_71c); -}); -},reloadFooter:function(jq,_71d){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -var dc=$.data(this,"datagrid").dc; -if(_71d){ -$.data(this,"datagrid").footer=_71d; -} -if(opts.showFooter){ -opts.view.renderFooter.call(opts.view,this,dc.footer2,false); -opts.view.renderFooter.call(opts.view,this,dc.footer1,true); -if(opts.view.onAfterRender){ -opts.view.onAfterRender.call(opts.view,this); -} -$(this).datagrid("fixRowHeight"); -} -}); -},loading:function(jq){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -$(this).datagrid("getPager").pagination("loading"); -if(opts.loadMsg){ -var _71e=$(this).datagrid("getPanel"); -if(!_71e.children("div.datagrid-mask").length){ -$("
        ").appendTo(_71e); -var msg=$("
        ").html(opts.loadMsg).appendTo(_71e); -msg._outerHeight(40); -msg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+"px")}); -} -} -}); -},loaded:function(jq){ -return jq.each(function(){ -$(this).datagrid("getPager").pagination("loaded"); -var _71f=$(this).datagrid("getPanel"); -_71f.children("div.datagrid-mask-msg").remove(); -_71f.children("div.datagrid-mask").remove(); -}); -},fitColumns:function(jq){ -return jq.each(function(){ -_613(this); -}); -},fixColumnSize:function(jq,_720){ -return jq.each(function(){ -_631(this,_720); -}); -},fixRowHeight:function(jq,_721){ -return jq.each(function(){ -_5af(this,_721); -}); -},freezeRow:function(jq,_722){ -return jq.each(function(){ -_5bc(this,_722); -}); -},autoSizeColumn:function(jq,_723){ -return jq.each(function(){ -_625(this,_723); -}); -},loadData:function(jq,data){ -return jq.each(function(){ -_612(this,data); -_6cd(this); -}); -},getData:function(jq){ -return $.data(jq[0],"datagrid").data; -},getRows:function(jq){ -return $.data(jq[0],"datagrid").data.rows; -},getFooterRows:function(jq){ -return $.data(jq[0],"datagrid").footer; -},getRowIndex:function(jq,id){ -return _65a(jq[0],id); -},getChecked:function(jq){ -return _660(jq[0]); -},getSelected:function(jq){ -var rows=_65d(jq[0]); -return rows.length>0?rows[0]:null; -},getSelections:function(jq){ -return _65d(jq[0]); -},clearSelections:function(jq){ -return jq.each(function(){ -var _724=$.data(this,"datagrid"); -var _725=_724.selectedRows; -var _726=_724.checkedRows; -_725.splice(0,_725.length); -_671(this); -if(_724.options.checkOnSelect){ -_726.splice(0,_726.length); -} -}); -},clearChecked:function(jq){ -return jq.each(function(){ -var _727=$.data(this,"datagrid"); -var _728=_727.selectedRows; -var _729=_727.checkedRows; -_729.splice(0,_729.length); -_681(this); -if(_727.options.selectOnCheck){ -_728.splice(0,_728.length); -} -}); -},scrollTo:function(jq,_72a){ -return jq.each(function(){ -_663(this,_72a); -}); -},highlightRow:function(jq,_72b){ -return jq.each(function(){ -_5f4(this,_72b); -_663(this,_72b); -}); -},selectAll:function(jq){ -return jq.each(function(){ -_676(this); -}); -},unselectAll:function(jq){ -return jq.each(function(){ -_671(this); -}); -},selectRow:function(jq,_72c){ -return jq.each(function(){ -_5fb(this,_72c); -}); -},selectRecord:function(jq,id){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -if(opts.idField){ -var _72d=_65a(this,id); -if(_72d>=0){ -$(this).datagrid("selectRow",_72d); -} -} -}); -},unselectRow:function(jq,_72e){ -return jq.each(function(){ -_5fc(this,_72e); -}); -},checkRow:function(jq,_72f){ -return jq.each(function(){ -_5f8(this,_72f); -}); -},uncheckRow:function(jq,_730){ -return jq.each(function(){ -_5f9(this,_730); -}); -},checkAll:function(jq){ -return jq.each(function(){ -_67b(this); -}); -},uncheckAll:function(jq){ -return jq.each(function(){ -_681(this); -}); -},beginEdit:function(jq,_731){ -return jq.each(function(){ -_692(this,_731); -}); -},endEdit:function(jq,_732){ -return jq.each(function(){ -_698(this,_732,false); -}); -},cancelEdit:function(jq,_733){ -return jq.each(function(){ -_698(this,_733,true); -}); -},getEditors:function(jq,_734){ -return _6a5(jq[0],_734); -},getEditor:function(jq,_735){ -return _6a9(jq[0],_735); -},refreshRow:function(jq,_736){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -opts.view.refreshRow.call(opts.view,this,_736); -}); -},validateRow:function(jq,_737){ -return _697(jq[0],_737); -},updateRow:function(jq,_738){ -return jq.each(function(){ -var opts=$.data(this,"datagrid").options; -opts.view.updateRow.call(opts.view,this,_738.index,_738.row); -}); -},appendRow:function(jq,row){ -return jq.each(function(){ -_6ca(this,row); -}); -},insertRow:function(jq,_739){ -return jq.each(function(){ -_6c6(this,_739); -}); -},deleteRow:function(jq,_73a){ -return jq.each(function(){ -_6c0(this,_73a); -}); -},getChanges:function(jq,_73b){ -return _6ba(jq[0],_73b); -},acceptChanges:function(jq){ -return jq.each(function(){ -_6d1(this); -}); -},rejectChanges:function(jq){ -return jq.each(function(){ -_6d3(this); -}); -},mergeCells:function(jq,_73c){ -return jq.each(function(){ -_6e5(this,_73c); -}); -},showColumn:function(jq,_73d){ -return jq.each(function(){ -var _73e=$(this).datagrid("getPanel"); -_73e.find("td[field=\""+_73d+"\"]").show(); -$(this).datagrid("getColumnOption",_73d).hidden=false; -$(this).datagrid("fitColumns"); -}); -},hideColumn:function(jq,_73f){ -return jq.each(function(){ -var _740=$(this).datagrid("getPanel"); -_740.find("td[field=\""+_73f+"\"]").hide(); -$(this).datagrid("getColumnOption",_73f).hidden=true; -$(this).datagrid("fitColumns"); -}); -},sort:function(jq,_741){ -return jq.each(function(){ -_606(this,_741); -}); -}}; -$.fn.datagrid.parseOptions=function(_742){ -var t=$(_742); -return $.extend({},$.fn.panel.parseOptions(_742),$.parser.parseOptions(_742,["url","toolbar","idField","sortName","sortOrder","pagePosition","resizeHandle",{sharedStyleSheet:"boolean",fitColumns:"boolean",autoRowHeight:"boolean",striped:"boolean",nowrap:"boolean"},{rownumbers:"boolean",singleSelect:"boolean",ctrlSelect:"boolean",checkOnSelect:"boolean",selectOnCheck:"boolean"},{pagination:"boolean",pageSize:"number",pageNumber:"number"},{multiSort:"boolean",remoteSort:"boolean",showHeader:"boolean",showFooter:"boolean"},{scrollbarSize:"number"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined),loadMsg:(t.attr("loadMsg")!=undefined?t.attr("loadMsg"):undefined),rowStyler:(t.attr("rowStyler")?eval(t.attr("rowStyler")):undefined)}); -}; -$.fn.datagrid.parseData=function(_743){ -var t=$(_743); -var data={total:0,rows:[]}; -var _744=t.datagrid("getColumnFields",true).concat(t.datagrid("getColumnFields",false)); -t.find("tbody tr").each(function(){ -data.total++; -var row={}; -$.extend(row,$.parser.parseOptions(this,["iconCls","state"])); -for(var i=0;i<_744.length;i++){ -row[_744[i]]=$(this).find("td:eq("+i+")").html(); -} -data.rows.push(row); -}); -return data; -}; -var _745={render:function(_746,_747,_748){ -var rows=$(_746).datagrid("getRows"); -$(_747).html(this.renderTable(_746,0,rows,_748)); -},renderFooter:function(_749,_74a,_74b){ -var opts=$.data(_749,"datagrid").options; -var rows=$.data(_749,"datagrid").footer||[]; -var _74c=$(_749).datagrid("getColumnFields",_74b); -var _74d=[""]; -for(var i=0;i"); -_74d.push(this.renderRow.call(this,_749,_74c,_74b,i,rows[i])); -_74d.push(""); -} -_74d.push("
        "); -$(_74a).html(_74d.join("")); -},renderTable:function(_74e,_74f,rows,_750){ -var _751=$.data(_74e,"datagrid"); -var opts=_751.options; -if(_750){ -if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ -return ""; -} -} -var _752=$(_74e).datagrid("getColumnFields",_750); -var _753=[""]; -for(var i=0;i"); -_753.push(this.renderRow.call(this,_74e,_752,_750,_74f,row)); -_753.push(""); -_74f++; -} -_753.push("
        "); -return _753.join(""); -},renderRow:function(_758,_759,_75a,_75b,_75c){ -var opts=$.data(_758,"datagrid").options; -var cc=[]; -if(_75a&&opts.rownumbers){ -var _75d=_75b+1; -if(opts.pagination){ -_75d+=(opts.pageNumber-1)*opts.pageSize; -} -cc.push("
        "+_75d+"
        "); -} -for(var i=0;i<_759.length;i++){ -var _75e=_759[i]; -var col=$(_758).datagrid("getColumnOption",_75e); -if(col){ -var _75f=_75c[_75e]; -var css=col.styler?(col.styler(_75f,_75c,_75b)||""):""; -var _760=""; -var _761=""; -if(typeof css=="string"){ -_761=css; -}else{ -if(css){ -_760=css["class"]||""; -_761=css["style"]||""; -} -} -var cls=_760?"class=\""+_760+"\"":""; -var _762=col.hidden?"style=\"display:none;"+_761+"\"":(_761?"style=\""+_761+"\"":""); -cc.push(""); -var _762=""; -if(!col.checkbox){ -if(col.align){ -_762+="text-align:"+col.align+";"; -} -if(!opts.nowrap){ -_762+="white-space:normal;height:auto;"; -}else{ -if(opts.autoRowHeight){ -_762+="height:auto;"; -} -} -} -cc.push("
        "); -if(col.checkbox){ -cc.push(""); -}else{ -if(col.formatter){ -cc.push(col.formatter(_75f,_75c,_75b)); -}else{ -cc.push(_75f); -} -} -cc.push("
        "); -cc.push(""); -} -} -return cc.join(""); -},refreshRow:function(_763,_764){ -this.updateRow.call(this,_763,_764,{}); -},updateRow:function(_765,_766,row){ -var opts=$.data(_765,"datagrid").options; -var rows=$(_765).datagrid("getRows"); -var _767=_768(_766); -$.extend(rows[_766],row); -var _769=_768(_766); -var _76a=_767.c; -var _76b=_769.s; -var _76c="datagrid-row "+(_766%2&&opts.striped?"datagrid-row-alt ":" ")+_769.c; -function _768(_76d){ -var css=opts.rowStyler?opts.rowStyler.call(_765,_76d,rows[_76d]):""; -var _76e=""; -var _76f=""; -if(typeof css=="string"){ -_76f=css; -}else{ -if(css){ -_76e=css["class"]||""; -_76f=css["style"]||""; -} -} -return {c:_76e,s:_76f}; -}; -function _770(_771){ -var _772=$(_765).datagrid("getColumnFields",_771); -var tr=opts.finder.getTr(_765,_766,"body",(_771?1:2)); -var _773=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); -tr.html(this.renderRow.call(this,_765,_772,_771,_766,rows[_766])); -tr.attr("style",_76b).removeClass(_76a).addClass(_76c); -if(_773){ -tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); -} -}; -_770.call(this,true); -_770.call(this,false); -$(_765).datagrid("fixRowHeight",_766); -},insertRow:function(_774,_775,row){ -var _776=$.data(_774,"datagrid"); -var opts=_776.options; -var dc=_776.dc; -var data=_776.data; -if(_775==undefined||_775==null){ -_775=data.rows.length; -} -if(_775>data.rows.length){ -_775=data.rows.length; -} -function _777(_778){ -var _779=_778?1:2; -for(var i=data.rows.length-1;i>=_775;i--){ -var tr=opts.finder.getTr(_774,i,"body",_779); -tr.attr("datagrid-row-index",i+1); -tr.attr("id",_776.rowIdPrefix+"-"+_779+"-"+(i+1)); -if(_778&&opts.rownumbers){ -var _77a=i+2; -if(opts.pagination){ -_77a+=(opts.pageNumber-1)*opts.pageSize; -} -tr.find("div.datagrid-cell-rownumber").html(_77a); -} -if(opts.striped){ -tr.removeClass("datagrid-row-alt").addClass((i+1)%2?"datagrid-row-alt":""); -} -} -}; -function _77b(_77c){ -var _77d=_77c?1:2; -var _77e=$(_774).datagrid("getColumnFields",_77c); -var _77f=_776.rowIdPrefix+"-"+_77d+"-"+_775; -var tr=""; -if(_775>=data.rows.length){ -if(data.rows.length){ -opts.finder.getTr(_774,"","last",_77d).after(tr); -}else{ -var cc=_77c?dc.body1:dc.body2; -cc.html(""+tr+"
        "); -} -}else{ -opts.finder.getTr(_774,_775+1,"body",_77d).before(tr); -} -}; -_777.call(this,true); -_777.call(this,false); -_77b.call(this,true); -_77b.call(this,false); -data.total+=1; -data.rows.splice(_775,0,row); -this.refreshRow.call(this,_774,_775); -},deleteRow:function(_780,_781){ -var _782=$.data(_780,"datagrid"); -var opts=_782.options; -var data=_782.data; -function _783(_784){ -var _785=_784?1:2; -for(var i=_781+1;itable>tbody>tr[datagrid-row-index="+_792+"]"); -} -return tr; -}else{ -if(type=="footer"){ -return (_793==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index="+_792+"]"); -}else{ -if(type=="selected"){ -return (_793==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-selected"); -}else{ -if(type=="highlight"){ -return (_793==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-over"); -}else{ -if(type=="checked"){ -return (_793==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked"); -}else{ -if(type=="editing"){ -return (_793==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-editing"); -}else{ -if(type=="last"){ -return (_793==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]:last"); -}else{ -if(type=="allbody"){ -return (_793==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]"); -}else{ -if(type=="allfooter"){ -return (_793==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index]"); -} -} -} -} -} -} -} -} -} -} -},getRow:function(_795,p){ -var _796=(typeof p=="object")?p.attr("datagrid-row-index"):p; -return $.data(_795,"datagrid").data.rows[parseInt(_796)]; -},getRows:function(_797){ -return $(_797).datagrid("getRows"); -}},view:_745,onBeforeLoad:function(_798){ -},onLoadSuccess:function(){ -},onLoadError:function(){ -},onClickRow:function(_799,_79a){ -},onDblClickRow:function(_79b,_79c){ -},onClickCell:function(_79d,_79e,_79f){ -},onDblClickCell:function(_7a0,_7a1,_7a2){ -},onBeforeSortColumn:function(sort,_7a3){ -},onSortColumn:function(sort,_7a4){ -},onResizeColumn:function(_7a5,_7a6){ -},onBeforeSelect:function(_7a7,_7a8){ -},onSelect:function(_7a9,_7aa){ -},onBeforeUnselect:function(_7ab,_7ac){ -},onUnselect:function(_7ad,_7ae){ -},onSelectAll:function(rows){ -},onUnselectAll:function(rows){ -},onBeforeCheck:function(_7af,_7b0){ -},onCheck:function(_7b1,_7b2){ -},onBeforeUncheck:function(_7b3,_7b4){ -},onUncheck:function(_7b5,_7b6){ -},onCheckAll:function(rows){ -},onUncheckAll:function(rows){ -},onBeforeEdit:function(_7b7,_7b8){ -},onBeginEdit:function(_7b9,_7ba){ -},onEndEdit:function(_7bb,_7bc,_7bd){ -},onAfterEdit:function(_7be,_7bf,_7c0){ -},onCancelEdit:function(_7c1,_7c2){ -},onHeaderContextMenu:function(e,_7c3){ -},onRowContextMenu:function(e,_7c4,_7c5){ -}}); -})(jQuery); -(function($){ -var _7c6; -$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ -var p=$(e.target).closest("div.datagrid-view,div.combo-panel"); -if(p.length){ -return; -} -_7c7(_7c6); -_7c6=undefined; -}); -function _7c8(_7c9){ -var _7ca=$.data(_7c9,"propertygrid"); -var opts=$.data(_7c9,"propertygrid").options; -$(_7c9).datagrid($.extend({},opts,{cls:"propertygrid",view:(opts.showGroup?opts.groupView:opts.view),onBeforeEdit:function(_7cb,row){ -if(opts.onBeforeEdit.call(_7c9,_7cb,row)==false){ -return false; -} -var dg=$(this); -var row=dg.datagrid("getRows")[_7cb]; -var col=dg.datagrid("getColumnOption","value"); -col.editor=row.editor; -},onClickCell:function(_7cc,_7cd,_7ce){ -if(_7c6!=this){ -_7c7(_7c6); -_7c6=this; -} -if(opts.editIndex!=_7cc){ -_7c7(_7c6); -$(this).datagrid("beginEdit",_7cc); -var ed=$(this).datagrid("getEditor",{index:_7cc,field:_7cd}); -if(!ed){ -ed=$(this).datagrid("getEditor",{index:_7cc,field:"value"}); -} -if(ed){ -var t=$(ed.target); -var _7cf=t.data("textbox")?t.textbox("textbox"):t; -_7cf.focus(); -opts.editIndex=_7cc; -} -} -opts.onClickCell.call(_7c9,_7cc,_7cd,_7ce); -},loadFilter:function(data){ -_7c7(this); -return opts.loadFilter.call(this,data); -}})); -}; -function _7c7(_7d0){ -var t=$(_7d0); -if(!t.length){ -return; -} -var opts=$.data(_7d0,"propertygrid").options; -opts.finder.getTr(_7d0,null,"editing").each(function(){ -var _7d1=parseInt($(this).attr("datagrid-row-index")); -if(t.datagrid("validateRow",_7d1)){ -t.datagrid("endEdit",_7d1); -}else{ -t.datagrid("cancelEdit",_7d1); -} -}); -opts.editIndex=undefined; -}; -$.fn.propertygrid=function(_7d2,_7d3){ -if(typeof _7d2=="string"){ -var _7d4=$.fn.propertygrid.methods[_7d2]; -if(_7d4){ -return _7d4(this,_7d3); -}else{ -return this.datagrid(_7d2,_7d3); -} -} -_7d2=_7d2||{}; -return this.each(function(){ -var _7d5=$.data(this,"propertygrid"); -if(_7d5){ -$.extend(_7d5.options,_7d2); -}else{ -var opts=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_7d2); -opts.frozenColumns=$.extend(true,[],opts.frozenColumns); -opts.columns=$.extend(true,[],opts.columns); -$.data(this,"propertygrid",{options:opts}); -} -_7c8(this); -}); -}; -$.fn.propertygrid.methods={options:function(jq){ -return $.data(jq[0],"propertygrid").options; -}}; -$.fn.propertygrid.parseOptions=function(_7d6){ -return $.extend({},$.fn.datagrid.parseOptions(_7d6),$.parser.parseOptions(_7d6,[{showGroup:"boolean"}])); -}; -var _7d7=$.extend({},$.fn.datagrid.defaults.view,{render:function(_7d8,_7d9,_7da){ -var _7db=[]; -var _7dc=this.groups; -for(var i=0;i<_7dc.length;i++){ -_7db.push(this.renderGroup.call(this,_7d8,i,_7dc[i],_7da)); -} -$(_7d9).html(_7db.join("")); -},renderGroup:function(_7dd,_7de,_7df,_7e0){ -var _7e1=$.data(_7dd,"datagrid"); -var opts=_7e1.options; -var _7e2=$(_7dd).datagrid("getColumnFields",_7e0); -var _7e3=[]; -_7e3.push("
        "); -_7e3.push(""); -_7e3.push(""); -if((_7e0&&(opts.rownumbers||opts.frozenColumns.length))||(!_7e0&&!(opts.rownumbers||opts.frozenColumns.length))){ -_7e3.push(""); -} -_7e3.push(""); -_7e3.push(""); -_7e3.push("
         "); -if(!_7e0){ -_7e3.push(""); -_7e3.push(opts.groupFormatter.call(_7dd,_7df.value,_7df.rows)); -_7e3.push(""); -} -_7e3.push("
        "); -_7e3.push("
        "); -_7e3.push(""); -var _7e4=_7df.startIndex; -for(var j=0;j<_7df.rows.length;j++){ -var css=opts.rowStyler?opts.rowStyler.call(_7dd,_7e4,_7df.rows[j]):""; -var _7e5=""; -var _7e6=""; -if(typeof css=="string"){ -_7e6=css; -}else{ -if(css){ -_7e5=css["class"]||""; -_7e6=css["style"]||""; -} -} -var cls="class=\"datagrid-row "+(_7e4%2&&opts.striped?"datagrid-row-alt ":" ")+_7e5+"\""; -var _7e7=_7e6?"style=\""+_7e6+"\"":""; -var _7e8=_7e1.rowIdPrefix+"-"+(_7e0?1:2)+"-"+_7e4; -_7e3.push(""); -_7e3.push(this.renderRow.call(this,_7dd,_7e2,_7e0,_7e4,_7df.rows[j])); -_7e3.push(""); -_7e4++; -} -_7e3.push("
        "); -return _7e3.join(""); -},bindEvents:function(_7e9){ -var _7ea=$.data(_7e9,"datagrid"); -var dc=_7ea.dc; -var body=dc.body1.add(dc.body2); -var _7eb=($.data(body[0],"events")||$._data(body[0],"events")).click[0].handler; -body.unbind("click").bind("click",function(e){ -var tt=$(e.target); -var _7ec=tt.closest("span.datagrid-row-expander"); -if(_7ec.length){ -var _7ed=_7ec.closest("div.datagrid-group").attr("group-index"); -if(_7ec.hasClass("datagrid-row-collapse")){ -$(_7e9).datagrid("collapseGroup",_7ed); -}else{ -$(_7e9).datagrid("expandGroup",_7ed); -} -}else{ -_7eb(e); -} -e.stopPropagation(); -}); -},onBeforeRender:function(_7ee,rows){ -var _7ef=$.data(_7ee,"datagrid"); -var opts=_7ef.options; -_7f0(); -var _7f1=[]; -for(var i=0;i"+".datagrid-group{height:25px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}"+""); -} -}; -}}); -$.extend($.fn.datagrid.methods,{expandGroup:function(jq,_7f8){ -return jq.each(function(){ -var view=$.data(this,"datagrid").dc.view; -var _7f9=view.find(_7f8!=undefined?"div.datagrid-group[group-index=\""+_7f8+"\"]":"div.datagrid-group"); -var _7fa=_7f9.find("span.datagrid-row-expander"); -if(_7fa.hasClass("datagrid-row-expand")){ -_7fa.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); -_7f9.next("table").show(); -} -$(this).datagrid("fixRowHeight"); -}); -},collapseGroup:function(jq,_7fb){ -return jq.each(function(){ -var view=$.data(this,"datagrid").dc.view; -var _7fc=view.find(_7fb!=undefined?"div.datagrid-group[group-index=\""+_7fb+"\"]":"div.datagrid-group"); -var _7fd=_7fc.find("span.datagrid-row-expander"); -if(_7fd.hasClass("datagrid-row-collapse")){ -_7fd.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); -_7fc.next("table").hide(); -} -$(this).datagrid("fixRowHeight"); -}); -}}); -$.extend(_7d7,{refreshGroupTitle:function(_7fe,_7ff){ -var _800=$.data(_7fe,"datagrid"); -var opts=_800.options; -var dc=_800.dc; -var _801=this.groups[_7ff]; -var span=dc.body2.children("div.datagrid-group[group-index="+_7ff+"]").find("span.datagrid-group-title"); -span.html(opts.groupFormatter.call(_7fe,_801.value,_801.rows)); -},insertRow:function(_802,_803,row){ -var _804=$.data(_802,"datagrid"); -var opts=_804.options; -var dc=_804.dc; -var _805=null; -var _806; -for(var i=0;i_805.startIndex+_805.rows.length){ -_803=_805.startIndex+_805.rows.length; -} -} -$.fn.datagrid.defaults.view.insertRow.call(this,_802,_803,row); -if(_803>=_805.startIndex+_805.rows.length){ -_807(_803,true); -_807(_803,false); -} -_805.rows.splice(_803-_805.startIndex,0,row); -}else{ -_805={value:row[opts.groupField],rows:[row],startIndex:_804.data.rows.length}; -_806=this.groups.length; -dc.body1.append(this.renderGroup.call(this,_802,_806,_805,true)); -dc.body2.append(this.renderGroup.call(this,_802,_806,_805,false)); -this.groups.push(_805); -_804.data.rows.push(row); -} -this.refreshGroupTitle(_802,_806); -function _807(_808,_809){ -var _80a=_809?1:2; -var _80b=opts.finder.getTr(_802,_808-1,"body",_80a); -var tr=opts.finder.getTr(_802,_808,"body",_80a); -tr.insertAfter(_80b); -}; -},updateRow:function(_80c,_80d,row){ -var opts=$.data(_80c,"datagrid").options; -$.fn.datagrid.defaults.view.updateRow.call(this,_80c,_80d,row); -var tb=opts.finder.getTr(_80c,_80d,"body",2).closest("table.datagrid-btable"); -var _80e=parseInt(tb.prev().attr("group-index")); -this.refreshGroupTitle(_80c,_80e); -},deleteRow:function(_80f,_810){ -var _811=$.data(_80f,"datagrid"); -var opts=_811.options; -var dc=_811.dc; -var body=dc.body1.add(dc.body2); -var tb=opts.finder.getTr(_80f,_810,"body",2).closest("table.datagrid-btable"); -var _812=parseInt(tb.prev().attr("group-index")); -$.fn.datagrid.defaults.view.deleteRow.call(this,_80f,_810); -var _813=this.groups[_812]; -if(_813.rows.length>1){ -_813.rows.splice(_810-_813.startIndex,1); -this.refreshGroupTitle(_80f,_812); -}else{ -body.children("div.datagrid-group[group-index="+_812+"]").remove(); -for(var i=_812+1;i"+""+"
        "+""+"").insertAfter(tr); -}; -}; -function _83c(_83d,_83e,data,_83f){ -var _840=$.data(_83d,"treegrid"); -var opts=_840.options; -var dc=_840.dc; -data=opts.loadFilter.call(_83d,data,_83e); -var node=find(_83d,_83e); -if(node){ -var _841=opts.finder.getTr(_83d,_83e,"body",1); -var _842=opts.finder.getTr(_83d,_83e,"body",2); -var cc1=_841.next("tr.treegrid-tr-tree").children("td").children("div"); -var cc2=_842.next("tr.treegrid-tr-tree").children("td").children("div"); -if(!_83f){ -node.children=[]; -} -}else{ -var cc1=dc.body1; -var cc2=dc.body2; -if(!_83f){ -_840.data=[]; -} -} -if(!_83f){ -cc1.empty(); -cc2.empty(); -} -if(opts.view.onBeforeRender){ -opts.view.onBeforeRender.call(opts.view,_83d,_83e,data); -} -opts.view.render.call(opts.view,_83d,cc1,true); -opts.view.render.call(opts.view,_83d,cc2,false); -if(opts.showFooter){ -opts.view.renderFooter.call(opts.view,_83d,dc.footer1,true); -opts.view.renderFooter.call(opts.view,_83d,dc.footer2,false); -} -if(opts.view.onAfterRender){ -opts.view.onAfterRender.call(opts.view,_83d); -} -if(!_83e&&opts.pagination){ -var _843=$.data(_83d,"treegrid").total; -var _844=$(_83d).datagrid("getPager"); -if(_844.pagination("options").total!=_843){ -_844.pagination({total:_843}); -} -} -_826(_83d); -_82e(_83d); -$(_83d).treegrid("showLines"); -$(_83d).treegrid("setSelectionState"); -$(_83d).treegrid("autoSizeColumn"); -opts.onLoadSuccess.call(_83d,node,data); -}; -function _825(_845,_846,_847,_848,_849){ -var opts=$.data(_845,"treegrid").options; -var body=$(_845).datagrid("getPanel").find("div.datagrid-body"); -if(_847){ -opts.queryParams=_847; -} -var _84a=$.extend({},opts.queryParams); -if(opts.pagination){ -$.extend(_84a,{page:opts.pageNumber,rows:opts.pageSize}); -} -if(opts.sortName){ -$.extend(_84a,{sort:opts.sortName,order:opts.sortOrder}); -} -var row=find(_845,_846); -if(opts.onBeforeLoad.call(_845,row,_84a)==false){ -return; -} -var _84b=body.find("tr[node-id=\""+_846+"\"] span.tree-folder"); -_84b.addClass("tree-loading"); -$(_845).treegrid("loading"); -var _84c=opts.loader.call(_845,_84a,function(data){ -_84b.removeClass("tree-loading"); -$(_845).treegrid("loaded"); -_83c(_845,_846,data,_848); -if(_849){ -_849(); -} -},function(){ -_84b.removeClass("tree-loading"); -$(_845).treegrid("loaded"); -opts.onLoadError.apply(_845,arguments); -if(_849){ -_849(); -} -}); -if(_84c==false){ -_84b.removeClass("tree-loading"); -$(_845).treegrid("loaded"); -} -}; -function _84d(_84e){ -var rows=_84f(_84e); -if(rows.length){ -return rows[0]; -}else{ -return null; -} -}; -function _84f(_850){ -return $.data(_850,"treegrid").data; -}; -function _851(_852,_853){ -var row=find(_852,_853); -if(row._parentId){ -return find(_852,row._parentId); -}else{ -return null; -} -}; -function _82a(_854,_855){ -var opts=$.data(_854,"treegrid").options; -var body=$(_854).datagrid("getPanel").find("div.datagrid-view2 div.datagrid-body"); -var _856=[]; -if(_855){ -_857(_855); -}else{ -var _858=_84f(_854); -for(var i=0;i<_858.length;i++){ -_856.push(_858[i]); -_857(_858[i][opts.idField]); -} -} -function _857(_859){ -var _85a=find(_854,_859); -if(_85a&&_85a.children){ -for(var i=0,len=_85a.children.length;i").insertBefore(_87a); -if(hit.prev().length){ -hit.prev().remove(); -} -} -} -_83c(_878,_879.parent,_879.data,true); -}; -function _87b(_87c,_87d){ -var ref=_87d.before||_87d.after; -var opts=$.data(_87c,"treegrid").options; -var _87e=_851(_87c,ref); -_877(_87c,{parent:(_87e?_87e[opts.idField]:null),data:[_87d.data]}); -var _87f=_87e?_87e.children:$(_87c).treegrid("getRoots"); -for(var i=0;i<_87f.length;i++){ -if(_87f[i][opts.idField]==ref){ -var _880=_87f[_87f.length-1]; -_87f.splice(_87d.before?i:(i+1),0,_880); -_87f.splice(_87f.length-1,1); -break; -} -} -_881(true); -_881(false); -_82e(_87c); -$(_87c).treegrid("showLines"); -function _881(_882){ -var _883=_882?1:2; -var tr=opts.finder.getTr(_87c,_87d.data[opts.idField],"body",_883); -var _884=tr.closest("table.datagrid-btable"); -tr=tr.parent().children(); -var dest=opts.finder.getTr(_87c,ref,"body",_883); -if(_87d.before){ -tr.insertBefore(dest); -}else{ -var sub=dest.next("tr.treegrid-tr-tree"); -tr.insertAfter(sub.length?sub:dest); -} -_884.remove(); -}; -}; -function _885(_886,_887){ -var _888=$.data(_886,"treegrid"); -$(_886).datagrid("deleteRow",_887); -_82e(_886); -_888.total-=1; -$(_886).datagrid("getPager").pagination("refresh",{total:_888.total}); -$(_886).treegrid("showLines"); -}; -function _889(_88a){ -var t=$(_88a); -var opts=t.treegrid("options"); -if(opts.lines){ -t.treegrid("getPanel").addClass("tree-lines"); -}else{ -t.treegrid("getPanel").removeClass("tree-lines"); -return; -} -t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); -t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one"); -var _88b=t.treegrid("getRoots"); -if(_88b.length>1){ -_88c(_88b[0]).addClass("tree-root-first"); -}else{ -if(_88b.length==1){ -_88c(_88b[0]).addClass("tree-root-one"); -} -} -_88d(_88b); -_88e(_88b); -function _88d(_88f){ -$.map(_88f,function(node){ -if(node.children&&node.children.length){ -_88d(node.children); -}else{ -var cell=_88c(node); -cell.find(".tree-icon").prev().addClass("tree-join"); -} -}); -if(_88f.length){ -var cell=_88c(_88f[_88f.length-1]); -cell.addClass("tree-node-last"); -cell.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); -} -}; -function _88e(_890){ -$.map(_890,function(node){ -if(node.children&&node.children.length){ -_88e(node.children); -} -}); -for(var i=0;i<_890.length-1;i++){ -var node=_890[i]; -var _891=t.treegrid("getLevel",node[opts.idField]); -var tr=opts.finder.getTr(_88a,node[opts.idField]); -var cc=tr.next().find("tr.datagrid-row td[field=\""+opts.treeField+"\"] div.datagrid-cell"); -cc.find("span:eq("+(_891-1)+")").addClass("tree-line"); -} -}; -function _88c(node){ -var tr=opts.finder.getTr(_88a,node[opts.idField]); -var cell=tr.find("td[field=\""+opts.treeField+"\"] div.datagrid-cell"); -return cell; -}; -}; -$.fn.treegrid=function(_892,_893){ -if(typeof _892=="string"){ -var _894=$.fn.treegrid.methods[_892]; -if(_894){ -return _894(this,_893); -}else{ -return this.datagrid(_892,_893); -} -} -_892=_892||{}; -return this.each(function(){ -var _895=$.data(this,"treegrid"); -if(_895){ -$.extend(_895.options,_892); -}else{ -_895=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_892),data:[]}); -} -_815(this); -if(_895.options.data){ -$(this).treegrid("loadData",_895.options.data); -} -_825(this); -}); -}; -$.fn.treegrid.methods={options:function(jq){ -return $.data(jq[0],"treegrid").options; -},resize:function(jq,_896){ -return jq.each(function(){ -$(this).datagrid("resize",_896); -}); -},fixRowHeight:function(jq,_897){ -return jq.each(function(){ -_826(this,_897); -}); -},loadData:function(jq,data){ -return jq.each(function(){ -_83c(this,data.parent,data); -}); -},load:function(jq,_898){ -return jq.each(function(){ -$(this).treegrid("options").pageNumber=1; -$(this).treegrid("getPager").pagination({pageNumber:1}); -$(this).treegrid("reload",_898); -}); -},reload:function(jq,id){ -return jq.each(function(){ -var opts=$(this).treegrid("options"); -var _899={}; -if(typeof id=="object"){ -_899=id; -}else{ -_899=$.extend({},opts.queryParams); -_899.id=id; -} -if(_899.id){ -var node=$(this).treegrid("find",_899.id); -if(node.children){ -node.children.splice(0,node.children.length); -} -opts.queryParams=_899; -var tr=opts.finder.getTr(this,_899.id); -tr.next("tr.treegrid-tr-tree").remove(); -tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); -_864(this,_899.id); -}else{ -_825(this,null,_899); -} -}); -},reloadFooter:function(jq,_89a){ -return jq.each(function(){ -var opts=$.data(this,"treegrid").options; -var dc=$.data(this,"datagrid").dc; -if(_89a){ -$.data(this,"treegrid").footer=_89a; -} -if(opts.showFooter){ -opts.view.renderFooter.call(opts.view,this,dc.footer1,true); -opts.view.renderFooter.call(opts.view,this,dc.footer2,false); -if(opts.view.onAfterRender){ -opts.view.onAfterRender.call(opts.view,this); -} -$(this).treegrid("fixRowHeight"); -} -}); -},getData:function(jq){ -return $.data(jq[0],"treegrid").data; -},getFooterRows:function(jq){ -return $.data(jq[0],"treegrid").footer; -},getRoot:function(jq){ -return _84d(jq[0]); -},getRoots:function(jq){ -return _84f(jq[0]); -},getParent:function(jq,id){ -return _851(jq[0],id); -},getChildren:function(jq,id){ -return _82a(jq[0],id); -},getLevel:function(jq,id){ -return _85c(jq[0],id); -},find:function(jq,id){ -return find(jq[0],id); -},isLeaf:function(jq,id){ -var opts=$.data(jq[0],"treegrid").options; -var tr=opts.finder.getTr(jq[0],id); -var hit=tr.find("span.tree-hit"); -return hit.length==0; -},select:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("selectRow",id); -}); -},unselect:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("unselectRow",id); -}); -},collapse:function(jq,id){ -return jq.each(function(){ -_861(this,id); -}); -},expand:function(jq,id){ -return jq.each(function(){ -_864(this,id); -}); -},toggle:function(jq,id){ -return jq.each(function(){ -_834(this,id); -}); -},collapseAll:function(jq,id){ -return jq.each(function(){ -_86c(this,id); -}); -},expandAll:function(jq,id){ -return jq.each(function(){ -_870(this,id); -}); -},expandTo:function(jq,id){ -return jq.each(function(){ -_874(this,id); -}); -},append:function(jq,_89b){ -return jq.each(function(){ -_877(this,_89b); -}); -},insert:function(jq,_89c){ -return jq.each(function(){ -_87b(this,_89c); -}); -},remove:function(jq,id){ -return jq.each(function(){ -_885(this,id); -}); -},pop:function(jq,id){ -var row=jq.treegrid("find",id); -jq.treegrid("remove",id); -return row; -},refresh:function(jq,id){ -return jq.each(function(){ -var opts=$.data(this,"treegrid").options; -opts.view.refreshRow.call(opts.view,this,id); -}); -},update:function(jq,_89d){ -return jq.each(function(){ -var opts=$.data(this,"treegrid").options; -opts.view.updateRow.call(opts.view,this,_89d.id,_89d.row); -}); -},beginEdit:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("beginEdit",id); -$(this).treegrid("fixRowHeight",id); -}); -},endEdit:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("endEdit",id); -}); -},cancelEdit:function(jq,id){ -return jq.each(function(){ -$(this).datagrid("cancelEdit",id); -}); -},showLines:function(jq){ -return jq.each(function(){ -_889(this); -}); -}}; -$.fn.treegrid.parseOptions=function(_89e){ -return $.extend({},$.fn.datagrid.parseOptions(_89e),$.parser.parseOptions(_89e,["treeField",{animate:"boolean"}])); -}; -var _89f=$.extend({},$.fn.datagrid.defaults.view,{render:function(_8a0,_8a1,_8a2){ -var opts=$.data(_8a0,"treegrid").options; -var _8a3=$(_8a0).datagrid("getColumnFields",_8a2); -var _8a4=$.data(_8a0,"datagrid").rowIdPrefix; -if(_8a2){ -if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ -return; -} -} -var view=this; -if(this.treeNodes&&this.treeNodes.length){ -var _8a5=_8a6(_8a2,this.treeLevel,this.treeNodes); -$(_8a1).append(_8a5.join("")); -} -function _8a6(_8a7,_8a8,_8a9){ -var _8aa=$(_8a0).treegrid("getParent",_8a9[0][opts.idField]); -var _8ab=(_8aa?_8aa.children.length:$(_8a0).treegrid("getRoots").length)-_8a9.length; -var _8ac=[""]; -for(var i=0;i<_8a9.length;i++){ -var row=_8a9[i]; -if(row.state!="open"&&row.state!="closed"){ -row.state="open"; -} -var css=opts.rowStyler?opts.rowStyler.call(_8a0,row):""; -var _8ad=""; -var _8ae=""; -if(typeof css=="string"){ -_8ae=css; -}else{ -if(css){ -_8ad=css["class"]||""; -_8ae=css["style"]||""; -} -} -var cls="class=\"datagrid-row "+(_8ab++%2&&opts.striped?"datagrid-row-alt ":" ")+_8ad+"\""; -var _8af=_8ae?"style=\""+_8ae+"\"":""; -var _8b0=_8a4+"-"+(_8a7?1:2)+"-"+row[opts.idField]; -_8ac.push(""); -_8ac=_8ac.concat(view.renderRow.call(view,_8a0,_8a3,_8a7,_8a8,row)); -_8ac.push(""); -if(row.children&&row.children.length){ -var tt=_8a6(_8a7,_8a8+1,row.children); -var v=row.state=="closed"?"none":"block"; -_8ac.push(""); -} -} -_8ac.push("
        "); -_8ac=_8ac.concat(tt); -_8ac.push("
        "); -return _8ac; -}; -},renderFooter:function(_8b1,_8b2,_8b3){ -var opts=$.data(_8b1,"treegrid").options; -var rows=$.data(_8b1,"treegrid").footer||[]; -var _8b4=$(_8b1).datagrid("getColumnFields",_8b3); -var _8b5=[""]; -for(var i=0;i"); -_8b5.push(this.renderRow.call(this,_8b1,_8b4,_8b3,0,row)); -_8b5.push(""); -} -_8b5.push("
        "); -$(_8b2).html(_8b5.join("")); -},renderRow:function(_8b6,_8b7,_8b8,_8b9,row){ -var opts=$.data(_8b6,"treegrid").options; -var cc=[]; -if(_8b8&&opts.rownumbers){ -cc.push("
        0
        "); -} -for(var i=0;i<_8b7.length;i++){ -var _8ba=_8b7[i]; -var col=$(_8b6).datagrid("getColumnOption",_8ba); -if(col){ -var css=col.styler?(col.styler(row[_8ba],row)||""):""; -var _8bb=""; -var _8bc=""; -if(typeof css=="string"){ -_8bc=css; -}else{ -if(cc){ -_8bb=css["class"]||""; -_8bc=css["style"]||""; -} -} -var cls=_8bb?"class=\""+_8bb+"\"":""; -var _8bd=col.hidden?"style=\"display:none;"+_8bc+"\"":(_8bc?"style=\""+_8bc+"\"":""); -cc.push(""); -var _8bd=""; -if(!col.checkbox){ -if(col.align){ -_8bd+="text-align:"+col.align+";"; -} -if(!opts.nowrap){ -_8bd+="white-space:normal;height:auto;"; -}else{ -if(opts.autoRowHeight){ -_8bd+="height:auto;"; -} -} -} -cc.push("
        "); -if(col.checkbox){ -if(row.checked){ -cc.push(""); -}else{ -var val=null; -if(col.formatter){ -val=col.formatter(row[_8ba],row); -}else{ -val=row[_8ba]; -} -if(_8ba==opts.treeField){ -for(var j=0;j<_8b9;j++){ -cc.push(""); -} -if(row.state=="closed"){ -cc.push(""); -cc.push(""); -}else{ -if(row.children&&row.children.length){ -cc.push(""); -cc.push(""); -}else{ -cc.push(""); -cc.push(""); -} -} -cc.push(""+val+""); -}else{ -cc.push(val); -} -} -cc.push("
        "); -cc.push(""); -} -} -return cc.join(""); -},refreshRow:function(_8be,id){ -this.updateRow.call(this,_8be,id,{}); -},updateRow:function(_8bf,id,row){ -var opts=$.data(_8bf,"treegrid").options; -var _8c0=$(_8bf).treegrid("find",id); -$.extend(_8c0,row); -var _8c1=$(_8bf).treegrid("getLevel",id)-1; -var _8c2=opts.rowStyler?opts.rowStyler.call(_8bf,_8c0):""; -var _8c3=$.data(_8bf,"datagrid").rowIdPrefix; -var _8c4=_8c0[opts.idField]; -function _8c5(_8c6){ -var _8c7=$(_8bf).treegrid("getColumnFields",_8c6); -var tr=opts.finder.getTr(_8bf,id,"body",(_8c6?1:2)); -var _8c8=tr.find("div.datagrid-cell-rownumber").html(); -var _8c9=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); -tr.html(this.renderRow(_8bf,_8c7,_8c6,_8c1,_8c0)); -tr.attr("style",_8c2||""); -tr.find("div.datagrid-cell-rownumber").html(_8c8); -if(_8c9){ -tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); -} -if(_8c4!=id){ -tr.attr("id",_8c3+"-"+(_8c6?1:2)+"-"+_8c4); -tr.attr("node-id",_8c4); -} -}; -_8c5.call(this,true); -_8c5.call(this,false); -$(_8bf).treegrid("fixRowHeight",id); -},deleteRow:function(_8ca,id){ -var opts=$.data(_8ca,"treegrid").options; -var tr=opts.finder.getTr(_8ca,id); -tr.next("tr.treegrid-tr-tree").remove(); -tr.remove(); -var _8cb=del(id); -if(_8cb){ -if(_8cb.children.length==0){ -tr=opts.finder.getTr(_8ca,_8cb[opts.idField]); -tr.next("tr.treegrid-tr-tree").remove(); -var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell"); -cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); -cell.find(".tree-hit").remove(); -$("").prependTo(cell); -} -} -function del(id){ -var cc; -var _8cc=$(_8ca).treegrid("getParent",id); -if(_8cc){ -cc=_8cc.children; -}else{ -cc=$(_8ca).treegrid("getData"); -} -for(var i=0;ib?1:-1); -}; -r=_8d7(r1[sn],r2[sn])*(so=="asc"?1:-1); -if(r!=0){ -return r; -} -} -return r; -}); -for(var i=0;i"); -if(!_8f5){ -_8f8.push(""); -_8f8.push(opts.groupFormatter.call(_8f2,_8f4.value,_8f4.rows)); -_8f8.push(""); -} -_8f8.push("
        "); -_8f8.push(this.renderTable(_8f2,_8f4.startIndex,_8f4.rows,_8f5)); -return _8f8.join(""); -},groupRows:function(_8f9,rows){ -var _8fa=$.data(_8f9,"datagrid"); -var opts=_8fa.options; -var _8fb=[]; -for(var i=0;idiv.combo-p>div.combo-panel:visible").panel("close"); -}); -}); -function _90b(_90c){ -var _90d=$.data(_90c,"combo"); -var opts=_90d.options; -if(!_90d.panel){ -_90d.panel=$("
        ").appendTo("body"); -_90d.panel.panel({minWidth:opts.panelMinWidth,maxWidth:opts.panelMaxWidth,minHeight:opts.panelMinHeight,maxHeight:opts.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){ -var _90e=$(this).panel("options").comboTarget; -var _90f=$.data(_90e,"combo"); -if(_90f){ -_90f.options.onShowPanel.call(_90e); -} -},onBeforeClose:function(){ -_90a(this); -},onClose:function(){ -var _910=$(this).panel("options").comboTarget; -var _911=$(_910).data("combo"); -if(_911){ -_911.options.onHidePanel.call(_910); -} -}}); -} -var _912=$.extend(true,[],opts.icons); -if(opts.hasDownArrow){ -_912.push({iconCls:"combo-arrow",handler:function(e){ -_916(e.data.target); -}}); -} -$(_90c).addClass("combo-f").textbox($.extend({},opts,{icons:_912,onChange:function(){ -}})); -$(_90c).attr("comboName",$(_90c).attr("textboxName")); -_90d.combo=$(_90c).next(); -_90d.combo.addClass("combo"); -}; -function _913(_914){ -var _915=$.data(_914,"combo"); -var opts=_915.options; -var p=_915.panel; -if(p.is(":visible")){ -p.panel("close"); -} -if(!opts.cloned){ -p.panel("destroy"); -} -$(_914).textbox("destroy"); -}; -function _916(_917){ -var _918=$.data(_917,"combo").panel; -if(_918.is(":visible")){ -_919(_917); -}else{ -var p=$(_917).closest("div.combo-panel"); -$("div.combo-panel:visible").not(_918).not(p).panel("close"); -$(_917).combo("showPanel"); -} -$(_917).combo("textbox").focus(); -}; -function _90a(_91a){ -$(_91a).find(".combo-f").each(function(){ -var p=$(this).combo("panel"); -if(p.is(":visible")){ -p.panel("close"); -} -}); -}; -function _91b(e){ -var _91c=e.data.target; -var _91d=$.data(_91c,"combo"); -var opts=_91d.options; -var _91e=_91d.panel; -if(!opts.editable){ -_916(_91c); -}else{ -var p=$(_91c).closest("div.combo-panel"); -$("div.combo-panel:visible").not(_91e).not(p).panel("close"); -} -}; -function _91f(e){ -var _920=e.data.target; -var t=$(_920); -var _921=t.data("combo"); -var opts=t.combo("options"); -switch(e.keyCode){ -case 38: -opts.keyHandler.up.call(_920,e); -break; -case 40: -opts.keyHandler.down.call(_920,e); -break; -case 37: -opts.keyHandler.left.call(_920,e); -break; -case 39: -opts.keyHandler.right.call(_920,e); -break; -case 13: -e.preventDefault(); -opts.keyHandler.enter.call(_920,e); -return false; -case 9: -case 27: -_919(_920); -break; -default: -if(opts.editable){ -if(_921.timer){ -clearTimeout(_921.timer); -} -_921.timer=setTimeout(function(){ -var q=t.combo("getText"); -if(_921.previousText!=q){ -_921.previousText=q; -t.combo("showPanel"); -opts.keyHandler.query.call(_920,q,e); -t.combo("validate"); -} -},opts.delay); -} -} -}; -function _922(_923){ -var _924=$.data(_923,"combo"); -var _925=_924.combo; -var _926=_924.panel; -var opts=$(_923).combo("options"); -var _927=_926.panel("options"); -_927.comboTarget=_923; -if(_927.closed){ -_926.panel("panel").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:$.fn.window.defaults.zIndex++),left:-999999}); -_926.panel("resize",{width:(opts.panelWidth?opts.panelWidth:_925._outerWidth()),height:opts.panelHeight}); -_926.panel("panel").hide(); -_926.panel("open"); -} -(function(){ -if(_926.is(":visible")){ -_926.panel("move",{left:_928(),top:_929()}); -setTimeout(arguments.callee,200); -} -})(); -function _928(){ -var left=_925.offset().left; -if(opts.panelAlign=="right"){ -left+=_925._outerWidth()-_926._outerWidth(); -} -if(left+_926._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){ -left=$(window)._outerWidth()+$(document).scrollLeft()-_926._outerWidth(); -} -if(left<0){ -left=0; -} -return left; -}; -function _929(){ -var top=_925.offset().top+_925._outerHeight(); -if(top+_926._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ -top=_925.offset().top-_926._outerHeight(); -} -if(top<$(document).scrollTop()){ -top=_925.offset().top+_925._outerHeight(); -} -return top; -}; -}; -function _919(_92a){ -var _92b=$.data(_92a,"combo").panel; -_92b.panel("close"); -}; -function _92c(_92d,text){ -var _92e=$.data(_92d,"combo"); -var _92f=$(_92d).textbox("getText"); -if(_92f!=text){ -$(_92d).textbox("setText",text); -_92e.previousText=text; -} -}; -function _930(_931){ -var _932=[]; -var _933=$.data(_931,"combo").combo; -_933.find(".textbox-value").each(function(){ -_932.push($(this).val()); -}); -return _932; -}; -function _934(_935,_936){ -var _937=$.data(_935,"combo"); -var opts=_937.options; -var _938=_937.combo; -if(!$.isArray(_936)){ -_936=_936.split(opts.separator); -} -var _939=_930(_935); -_938.find(".textbox-value").remove(); -var name=$(_935).attr("textboxName")||""; -for(var i=0;i<_936.length;i++){ -var _93a=$("").appendTo(_938); -_93a.attr("name",name); -if(opts.disabled){ -_93a.attr("disabled","disabled"); -} -_93a.val(_936[i]); -} -var _93b=(function(){ -if(_939.length!=_936.length){ -return true; -} -var a1=$.extend(true,[],_939); -var a2=$.extend(true,[],_936); -a1.sort(); -a2.sort(); -for(var i=0;i_956.height()){ -var h=_956.scrollTop()+item.position().top+item.outerHeight()-_956.height(); -_956.scrollTop(h); -} -} -} -}; -function nav(_957,dir){ -var opts=$.data(_957,"combobox").options; -var _958=$(_957).combobox("panel"); -var item=_958.children("div.combobox-item-hover"); -if(!item.length){ -item=_958.children("div.combobox-item-selected"); -} -item.removeClass("combobox-item-hover"); -var _959="div.combobox-item:visible:not(.combobox-item-disabled):first"; -var _95a="div.combobox-item:visible:not(.combobox-item-disabled):last"; -if(!item.length){ -item=_958.children(dir=="next"?_959:_95a); -}else{ -if(dir=="next"){ -item=item.nextAll(_959); -if(!item.length){ -item=_958.children(_959); -} -}else{ -item=item.prevAll(_959); -if(!item.length){ -item=_958.children(_95a); -} -} -} -if(item.length){ -item.addClass("combobox-item-hover"); -var row=opts.finder.getRow(_957,item); -if(row){ -_953(_957,row[opts.valueField]); -if(opts.selectOnNavigation){ -_95b(_957,row[opts.valueField]); -} -} -} -}; -function _95b(_95c,_95d){ -var opts=$.data(_95c,"combobox").options; -var _95e=$(_95c).combo("getValues"); -if($.inArray(_95d+"",_95e)==-1){ -if(opts.multiple){ -_95e.push(_95d); -}else{ -_95e=[_95d]; -} -_95f(_95c,_95e); -opts.onSelect.call(_95c,opts.finder.getRow(_95c,_95d)); -} -}; -function _960(_961,_962){ -var opts=$.data(_961,"combobox").options; -var _963=$(_961).combo("getValues"); -var _964=$.inArray(_962+"",_963); -if(_964>=0){ -_963.splice(_964,1); -_95f(_961,_963); -opts.onUnselect.call(_961,opts.finder.getRow(_961,_962)); -} -}; -function _95f(_965,_966,_967){ -var opts=$.data(_965,"combobox").options; -var _968=$(_965).combo("panel"); -if(!$.isArray(_966)){ -_966=_966.split(opts.separator); -} -_968.find("div.combobox-item-selected").removeClass("combobox-item-selected"); -var vv=[],ss=[]; -for(var i=0;i<_966.length;i++){ -var v=_966[i]; -var s=v; -opts.finder.getEl(_965,v).addClass("combobox-item-selected"); -var row=opts.finder.getRow(_965,v); -if(row){ -s=row[opts.textField]; -} -vv.push(v); -ss.push(s); -} -if(!_967){ -$(_965).combo("setText",ss.join(opts.separator)); -} -$(_965).combo("setValues",vv); -}; -function _969(_96a,data,_96b){ -var _96c=$.data(_96a,"combobox"); -var opts=_96c.options; -_96c.data=opts.loadFilter.call(_96a,data); -_96c.groups=[]; -data=_96c.data; -var _96d=$(_96a).combobox("getValues"); -var dd=[]; -var _96e=undefined; -for(var i=0;i"); -dd.push(opts.groupFormatter?opts.groupFormatter.call(_96a,g):g); -dd.push("
        "); -} -}else{ -_96e=undefined; -} -var cls="combobox-item"+(row.disabled?" combobox-item-disabled":"")+(g?" combobox-gitem":""); -dd.push("
        "); -dd.push(opts.formatter?opts.formatter.call(_96a,row):s); -dd.push("
        "); -if(row["selected"]&&$.inArray(v,_96d)==-1){ -_96d.push(v); -} -} -$(_96a).combo("panel").html(dd.join("")); -if(opts.multiple){ -_95f(_96a,_96d,_96b); -}else{ -_95f(_96a,_96d.length?[_96d[_96d.length-1]]:[],_96b); -} -opts.onLoadSuccess.call(_96a,data); -}; -function _96f(_970,url,_971,_972){ -var opts=$.data(_970,"combobox").options; -if(url){ -opts.url=url; -} -_971=$.extend({},opts.queryParams,_971||{}); -if(opts.onBeforeLoad.call(_970,_971)==false){ -return; -} -opts.loader.call(_970,_971,function(data){ -_969(_970,data,_972); -},function(){ -opts.onLoadError.apply(this,arguments); -}); -}; -function _973(_974,q){ -var _975=$.data(_974,"combobox"); -var opts=_975.options; -var qq=opts.multiple?q.split(opts.separator):[q]; -if(opts.mode=="remote"){ -_976(qq); -_96f(_974,null,{q:q},true); -}else{ -var _977=$(_974).combo("panel"); -_977.find("div.combobox-item-selected,div.combobox-item-hover").removeClass("combobox-item-selected combobox-item-hover"); -_977.find("div.combobox-item,div.combobox-group").hide(); -var data=_975.data; -var vv=[]; -$.map(qq,function(q){ -q=$.trim(q); -var _978=q; -var _979=undefined; -for(var i=0;i=0){ -vv.push(v); -} -}); -t.combobox("setValues",vv); -if(!opts.multiple){ -t.combobox("hidePanel"); -} -}; -function _97e(_97f){ -var _980=$.data(_97f,"combobox"); -var opts=_980.options; -_94e++; -_980.itemIdPrefix="_easyui_combobox_i"+_94e; -_980.groupIdPrefix="_easyui_combobox_g"+_94e; -$(_97f).addClass("combobox-f"); -$(_97f).combo($.extend({},opts,{onShowPanel:function(){ -$(_97f).combo("panel").find("div.combobox-item,div.combobox-group").show(); -_953(_97f,$(_97f).combobox("getValue")); -opts.onShowPanel.call(_97f); -}})); -$(_97f).combo("panel").unbind().bind("mouseover",function(e){ -$(this).children("div.combobox-item-hover").removeClass("combobox-item-hover"); -var item=$(e.target).closest("div.combobox-item"); -if(!item.hasClass("combobox-item-disabled")){ -item.addClass("combobox-item-hover"); -} -e.stopPropagation(); -}).bind("mouseout",function(e){ -$(e.target).closest("div.combobox-item").removeClass("combobox-item-hover"); -e.stopPropagation(); -}).bind("click",function(e){ -var item=$(e.target).closest("div.combobox-item"); -if(!item.length||item.hasClass("combobox-item-disabled")){ -return; -} -var row=opts.finder.getRow(_97f,item); -if(!row){ -return; -} -var _981=row[opts.valueField]; -if(opts.multiple){ -if(item.hasClass("combobox-item-selected")){ -_960(_97f,_981); -}else{ -_95b(_97f,_981); -} -}else{ -_95b(_97f,_981); -$(_97f).combo("hidePanel"); -} -e.stopPropagation(); -}); -}; -$.fn.combobox=function(_982,_983){ -if(typeof _982=="string"){ -var _984=$.fn.combobox.methods[_982]; -if(_984){ -return _984(this,_983); -}else{ -return this.combo(_982,_983); -} -} -_982=_982||{}; -return this.each(function(){ -var _985=$.data(this,"combobox"); -if(_985){ -$.extend(_985.options,_982); -_97e(this); -}else{ -_985=$.data(this,"combobox",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_982),data:[]}); -_97e(this); -var data=$.fn.combobox.parseData(this); -if(data.length){ -_969(this,data); -} -} -if(_985.options.data){ -_969(this,_985.options.data); -} -_96f(this); -}); -}; -$.fn.combobox.methods={options:function(jq){ -var _986=jq.combo("options"); -return $.extend($.data(jq[0],"combobox").options,{width:_986.width,height:_986.height,originalValue:_986.originalValue,disabled:_986.disabled,readonly:_986.readonly}); -},getData:function(jq){ -return $.data(jq[0],"combobox").data; -},setValues:function(jq,_987){ -return jq.each(function(){ -_95f(this,_987); -}); -},setValue:function(jq,_988){ -return jq.each(function(){ -_95f(this,[_988]); -}); -},clear:function(jq){ -return jq.each(function(){ -$(this).combo("clear"); -var _989=$(this).combo("panel"); -_989.find("div.combobox-item-selected").removeClass("combobox-item-selected"); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).combobox("options"); -if(opts.multiple){ -$(this).combobox("setValues",opts.originalValue); -}else{ -$(this).combobox("setValue",opts.originalValue); -} -}); -},loadData:function(jq,data){ -return jq.each(function(){ -_969(this,data); -}); -},reload:function(jq,url){ -return jq.each(function(){ -if(typeof url=="string"){ -_96f(this,url); -}else{ -if(url){ -var opts=$(this).combobox("options"); -opts.queryParams=url; -} -_96f(this); -} -}); -},select:function(jq,_98a){ -return jq.each(function(){ -_95b(this,_98a); -}); -},unselect:function(jq,_98b){ -return jq.each(function(){ -_960(this,_98b); -}); -}}; -$.fn.combobox.parseOptions=function(_98c){ -var t=$(_98c); -return $.extend({},$.fn.combo.parseOptions(_98c),$.parser.parseOptions(_98c,["valueField","textField","groupField","mode","method","url"])); -}; -$.fn.combobox.parseData=function(_98d){ -var data=[]; -var opts=$(_98d).combobox("options"); -$(_98d).children().each(function(){ -if(this.tagName.toLowerCase()=="optgroup"){ -var _98e=$(this).attr("label"); -$(this).children().each(function(){ -_98f(this,_98e); -}); -}else{ -_98f(this); -} -}); -return data; -function _98f(el,_990){ -var t=$(el); -var row={}; -row[opts.valueField]=t.attr("value")!=undefined?t.attr("value"):t.text(); -row[opts.textField]=t.text(); -row["selected"]=t.is(":selected"); -row["disabled"]=t.is(":disabled"); -if(_990){ -opts.groupField=opts.groupField||"group"; -row[opts.groupField]=_990; -} -data.push(row); -}; -}; -$.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:"value",textField:"text",groupField:null,groupFormatter:function(_991){ -return _991; -},mode:"local",method:"post",url:null,data:null,queryParams:{},keyHandler:{up:function(e){ -nav(this,"prev"); -e.preventDefault(); -},down:function(e){ -nav(this,"next"); -e.preventDefault(); -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_97a(this); -},query:function(q,e){ -_973(this,q); -}},filter:function(q,row){ -var opts=$(this).combobox("options"); -return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())==0; -},formatter:function(row){ -var opts=$(this).combobox("options"); -return row[opts.textField]; -},loader:function(_992,_993,_994){ -var opts=$(this).combobox("options"); -if(!opts.url){ -return false; -} -$.ajax({type:opts.method,url:opts.url,data:_992,dataType:"json",success:function(data){ -_993(data); -},error:function(){ -_994.apply(this,arguments); -}}); -},loadFilter:function(data){ -return data; -},finder:{getEl:function(_995,_996){ -var _997=_94f(_995,_996); -var id=$.data(_995,"combobox").itemIdPrefix+"_"+_997; -return $("#"+id); -},getRow:function(_998,p){ -var _999=$.data(_998,"combobox"); -var _99a=(p instanceof jQuery)?p.attr("id").substr(_999.itemIdPrefix.length+1):_94f(_998,p); -return _999.data[parseInt(_99a)]; -}},onBeforeLoad:function(_99b){ -},onLoadSuccess:function(){ -},onLoadError:function(){ -},onSelect:function(_99c){ -},onUnselect:function(_99d){ -}}); -})(jQuery); -(function($){ -function _99e(_99f){ -var _9a0=$.data(_99f,"combotree"); -var opts=_9a0.options; -var tree=_9a0.tree; -$(_99f).addClass("combotree-f"); -$(_99f).combo(opts); -var _9a1=$(_99f).combo("panel"); -if(!tree){ -tree=$("
          ").appendTo(_9a1); -$.data(_99f,"combotree").tree=tree; -} -tree.tree($.extend({},opts,{checkbox:opts.multiple,onLoadSuccess:function(node,data){ -var _9a2=$(_99f).combotree("getValues"); -if(opts.multiple){ -var _9a3=tree.tree("getChecked"); -for(var i=0;i<_9a3.length;i++){ -var id=_9a3[i].id; -(function(){ -for(var i=0;i<_9a2.length;i++){ -if(id==_9a2[i]){ -return; -} -} -_9a2.push(id); -})(); -} -} -$(_99f).combotree("setValues",_9a2); -opts.onLoadSuccess.call(this,node,data); -},onClick:function(node){ -if(opts.multiple){ -$(this).tree(node.checked?"uncheck":"check",node.target); -}else{ -$(_99f).combo("hidePanel"); -} -_9a5(_99f); -opts.onClick.call(this,node); -},onCheck:function(node,_9a4){ -_9a5(_99f); -opts.onCheck.call(this,node,_9a4); -}})); -}; -function _9a5(_9a6){ -var _9a7=$.data(_9a6,"combotree"); -var opts=_9a7.options; -var tree=_9a7.tree; -var vv=[],ss=[]; -if(opts.multiple){ -var _9a8=tree.tree("getChecked"); -for(var i=0;i<_9a8.length;i++){ -vv.push(_9a8[i].id); -ss.push(_9a8[i].text); -} -}else{ -var node=tree.tree("getSelected"); -if(node){ -vv.push(node.id); -ss.push(node.text); -} -} -$(_9a6).combo("setText",ss.join(opts.separator)).combo("setValues",opts.multiple?vv:(vv.length?vv:[""])); -}; -function _9a9(_9aa,_9ab){ -var _9ac=$.data(_9aa,"combotree"); -var opts=_9ac.options; -var tree=_9ac.tree; -var _9ad=tree.tree("options"); -var _9ae=_9ad.onCheck; -var _9af=_9ad.onSelect; -_9ad.onCheck=_9ad.onSelect=function(){ -}; -tree.find("span.tree-checkbox").addClass("tree-checkbox0").removeClass("tree-checkbox1 tree-checkbox2"); -if(!$.isArray(_9ab)){ -_9ab=_9ab.split(opts.separator); -} -var vv=$.map(_9ab,function(_9b0){ -return String(_9b0); -}); -var ss=[]; -$.map(vv,function(v){ -var node=tree.tree("find",v); -if(node){ -tree.tree("check",node.target).tree("select",node.target); -ss.push(node.text); -}else{ -ss.push(v); -} -}); -if(opts.multiple){ -var _9b1=tree.tree("getChecked"); -$.map(_9b1,function(node){ -var id=String(node.id); -if($.inArray(id,vv)==-1){ -vv.push(id); -ss.push(node.text); -} -}); -} -_9ad.onCheck=_9ae; -_9ad.onSelect=_9af; -$(_9aa).combo("setText",ss.join(opts.separator)).combo("setValues",opts.multiple?vv:(vv.length?vv:[""])); -}; -$.fn.combotree=function(_9b2,_9b3){ -if(typeof _9b2=="string"){ -var _9b4=$.fn.combotree.methods[_9b2]; -if(_9b4){ -return _9b4(this,_9b3); -}else{ -return this.combo(_9b2,_9b3); -} -} -_9b2=_9b2||{}; -return this.each(function(){ -var _9b5=$.data(this,"combotree"); -if(_9b5){ -$.extend(_9b5.options,_9b2); -}else{ -$.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_9b2)}); -} -_99e(this); -}); -}; -$.fn.combotree.methods={options:function(jq){ -var _9b6=jq.combo("options"); -return $.extend($.data(jq[0],"combotree").options,{width:_9b6.width,height:_9b6.height,originalValue:_9b6.originalValue,disabled:_9b6.disabled,readonly:_9b6.readonly}); -},clone:function(jq,_9b7){ -var t=jq.combo("clone",_9b7); -t.data("combotree",{options:$.extend(true,{},jq.combotree("options")),tree:jq.combotree("tree")}); -return t; -},tree:function(jq){ -return $.data(jq[0],"combotree").tree; -},loadData:function(jq,data){ -return jq.each(function(){ -var opts=$.data(this,"combotree").options; -opts.data=data; -var tree=$.data(this,"combotree").tree; -tree.tree("loadData",data); -}); -},reload:function(jq,url){ -return jq.each(function(){ -var opts=$.data(this,"combotree").options; -var tree=$.data(this,"combotree").tree; -if(url){ -opts.url=url; -} -tree.tree({url:opts.url}); -}); -},setValues:function(jq,_9b8){ -return jq.each(function(){ -_9a9(this,_9b8); -}); -},setValue:function(jq,_9b9){ -return jq.each(function(){ -_9a9(this,[_9b9]); -}); -},clear:function(jq){ -return jq.each(function(){ -var tree=$.data(this,"combotree").tree; -tree.find("div.tree-node-selected").removeClass("tree-node-selected"); -var cc=tree.tree("getChecked"); -for(var i=0;i").appendTo(_9c1); -_9bd.grid=grid; -} -grid.datagrid($.extend({},opts,{border:false,singleSelect:(!opts.multiple),onLoadSuccess:function(data){ -var _9c2=$(_9bc).combo("getValues"); -var _9c3=opts.onSelect; -opts.onSelect=function(){ -}; -_9cd(_9bc,_9c2,_9bd.remainText); -opts.onSelect=_9c3; -opts.onLoadSuccess.apply(_9bc,arguments); -},onClickRow:_9c4,onSelect:function(_9c5,row){ -_9c6(); -opts.onSelect.call(this,_9c5,row); -},onUnselect:function(_9c7,row){ -_9c6(); -opts.onUnselect.call(this,_9c7,row); -},onSelectAll:function(rows){ -_9c6(); -opts.onSelectAll.call(this,rows); -},onUnselectAll:function(rows){ -if(opts.multiple){ -_9c6(); -} -opts.onUnselectAll.call(this,rows); -}})); -function _9c4(_9c8,row){ -_9bd.remainText=false; -_9c6(); -if(!opts.multiple){ -$(_9bc).combo("hidePanel"); -} -opts.onClickRow.call(this,_9c8,row); -}; -function _9c6(){ -var rows=grid.datagrid("getSelections"); -var vv=[],ss=[]; -for(var i=0;i=_9cb){ -_9cc=0; -} -} -grid.datagrid("highlightRow",_9cc); -if(opts.selectOnNavigation){ -_9ca.remainText=false; -grid.datagrid("selectRow",_9cc); -} -}; -function _9cd(_9ce,_9cf,_9d0){ -var _9d1=$.data(_9ce,"combogrid"); -var opts=_9d1.options; -var grid=_9d1.grid; -var rows=grid.datagrid("getRows"); -var ss=[]; -var _9d2=$(_9ce).combo("getValues"); -var _9d3=$(_9ce).combo("options"); -var _9d4=_9d3.onChange; -_9d3.onChange=function(){ -}; -grid.datagrid("clearSelections"); -if(!$.isArray(_9cf)){ -_9cf=_9cf.split(opts.separator); -} -for(var i=0;i<_9cf.length;i++){ -var _9d5=grid.datagrid("getRowIndex",_9cf[i]); -if(_9d5>=0){ -grid.datagrid("selectRow",_9d5); -ss.push(rows[_9d5][opts.textField]); -}else{ -ss.push(_9cf[i]); -} -} -$(_9ce).combo("setValues",_9d2); -_9d3.onChange=_9d4; -if(!_9d0){ -var s=ss.join(opts.separator); -if($(_9ce).combo("getText")!=s){ -$(_9ce).combo("setText",s); -} -} -$(_9ce).combo("setValues",_9cf); -}; -function _9d6(_9d7,q){ -var _9d8=$.data(_9d7,"combogrid"); -var opts=_9d8.options; -var grid=_9d8.grid; -_9d8.remainText=true; -if(opts.multiple&&!q){ -_9cd(_9d7,[],true); -}else{ -_9cd(_9d7,[q],true); -} -if(opts.mode=="remote"){ -grid.datagrid("clearSelections"); -grid.datagrid("load",$.extend({},opts.queryParams,{q:q})); -}else{ -if(!q){ -return; -} -grid.datagrid("clearSelections").datagrid("highlightRow",-1); -var rows=grid.datagrid("getRows"); -var qq=opts.multiple?q.split(opts.separator):[q]; -$.map(qq,function(q){ -q=$.trim(q); -if(q){ -$.map(rows,function(row,i){ -if(q==row[opts.textField]){ -grid.datagrid("selectRow",i); -}else{ -if(opts.filter.call(_9d7,q,row)){ -grid.datagrid("highlightRow",i); -} -} -}); -} -}); -} -}; -function _9d9(_9da){ -var _9db=$.data(_9da,"combogrid"); -var opts=_9db.options; -var grid=_9db.grid; -var tr=opts.finder.getTr(grid[0],null,"highlight"); -_9db.remainText=false; -if(tr.length){ -var _9dc=parseInt(tr.attr("datagrid-row-index")); -if(opts.multiple){ -if(tr.hasClass("datagrid-row-selected")){ -grid.datagrid("unselectRow",_9dc); -}else{ -grid.datagrid("selectRow",_9dc); -} -}else{ -grid.datagrid("selectRow",_9dc); -} -} -var vv=[]; -$.map(grid.datagrid("getSelections"),function(row){ -vv.push(row[opts.idField]); -}); -$(_9da).combogrid("setValues",vv); -if(!opts.multiple){ -$(_9da).combogrid("hidePanel"); -} -}; -$.fn.combogrid=function(_9dd,_9de){ -if(typeof _9dd=="string"){ -var _9df=$.fn.combogrid.methods[_9dd]; -if(_9df){ -return _9df(this,_9de); -}else{ -return this.combo(_9dd,_9de); -} -} -_9dd=_9dd||{}; -return this.each(function(){ -var _9e0=$.data(this,"combogrid"); -if(_9e0){ -$.extend(_9e0.options,_9dd); -}else{ -_9e0=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_9dd)}); -} -_9bb(this); -}); -}; -$.fn.combogrid.methods={options:function(jq){ -var _9e1=jq.combo("options"); -return $.extend($.data(jq[0],"combogrid").options,{width:_9e1.width,height:_9e1.height,originalValue:_9e1.originalValue,disabled:_9e1.disabled,readonly:_9e1.readonly}); -},grid:function(jq){ -return $.data(jq[0],"combogrid").grid; -},setValues:function(jq,_9e2){ -return jq.each(function(){ -_9cd(this,_9e2); -}); -},setValue:function(jq,_9e3){ -return jq.each(function(){ -_9cd(this,[_9e3]); -}); -},clear:function(jq){ -return jq.each(function(){ -$(this).combogrid("grid").datagrid("clearSelections"); -$(this).combo("clear"); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).combogrid("options"); -if(opts.multiple){ -$(this).combogrid("setValues",opts.originalValue); -}else{ -$(this).combogrid("setValue",opts.originalValue); -} -}); -}}; -$.fn.combogrid.parseOptions=function(_9e4){ -var t=$(_9e4); -return $.extend({},$.fn.combo.parseOptions(_9e4),$.fn.datagrid.parseOptions(_9e4),$.parser.parseOptions(_9e4,["idField","textField","mode"])); -}; -$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{height:22,loadMsg:null,idField:null,textField:null,mode:"local",keyHandler:{up:function(e){ -nav(this,"prev"); -e.preventDefault(); -},down:function(e){ -nav(this,"next"); -e.preventDefault(); -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_9d9(this); -},query:function(q,e){ -_9d6(this,q); -}},filter:function(q,row){ -var opts=$(this).combogrid("options"); -return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())==0; -}}); -})(jQuery); -(function($){ -function _9e5(_9e6){ -var _9e7=$.data(_9e6,"datebox"); -var opts=_9e7.options; -$(_9e6).addClass("datebox-f").combo($.extend({},opts,{onShowPanel:function(){ -_9e8(this); -_9e9(this); -_9ea(this); -_9f8(this,$(this).datebox("getText"),true); -opts.onShowPanel.call(this); -}})); -if(!_9e7.calendar){ -var _9eb=$(_9e6).combo("panel").css("overflow","hidden"); -_9eb.panel("options").onBeforeDestroy=function(){ -var c=$(this).find(".calendar-shared"); -if(c.length){ -c.insertBefore(c[0].pholder); -} -}; -var cc=$("
          ").prependTo(_9eb); -if(opts.sharedCalendar){ -var c=$(opts.sharedCalendar); -if(!c[0].pholder){ -c[0].pholder=$("
          ").insertAfter(c); -} -c.addClass("calendar-shared").appendTo(cc); -if(!c.hasClass("calendar")){ -c.calendar(); -} -_9e7.calendar=c; -}else{ -_9e7.calendar=$("
          ").appendTo(cc).calendar(); -} -$.extend(_9e7.calendar.calendar("options"),{fit:true,border:false,onSelect:function(date){ -var _9ec=this.target; -var opts=$(_9ec).datebox("options"); -_9f8(_9ec,opts.formatter.call(_9ec,date)); -$(_9ec).combo("hidePanel"); -opts.onSelect.call(_9ec,date); -}}); -} -$(_9e6).combo("textbox").parent().addClass("datebox"); -$(_9e6).datebox("initValue",opts.value); -function _9e8(_9ed){ -var opts=$(_9ed).datebox("options"); -var _9ee=$(_9ed).combo("panel"); -_9ee.unbind(".datebox").bind("click.datebox",function(e){ -if($(e.target).hasClass("datebox-button-a")){ -var _9ef=parseInt($(e.target).attr("datebox-button-index")); -opts.buttons[_9ef].handler.call(e.target,_9ed); -} -}); -}; -function _9e9(_9f0){ -var _9f1=$(_9f0).combo("panel"); -if(_9f1.children("div.datebox-button").length){ -return; -} -var _9f2=$("
          ").appendTo(_9f1); -var tr=_9f2.find("tr"); -for(var i=0;i").appendTo(tr); -var btn=opts.buttons[i]; -var t=$("").html($.isFunction(btn.text)?btn.text(_9f0):btn.text).appendTo(td); -t.attr("datebox-button-index",i); -} -tr.find("td").css("width",(100/opts.buttons.length)+"%"); -}; -function _9ea(_9f3){ -var _9f4=$(_9f3).combo("panel"); -var cc=_9f4.children("div.datebox-calendar-inner"); -_9f4.children()._outerWidth(_9f4.width()); -_9e7.calendar.appendTo(cc); -_9e7.calendar[0].target=_9f3; -if(opts.panelHeight!="auto"){ -var _9f5=_9f4.height(); -_9f4.children().not(cc).each(function(){ -_9f5-=$(this).outerHeight(); -}); -cc._outerHeight(_9f5); -} -_9e7.calendar.calendar("resize"); -}; -}; -function _9f6(_9f7,q){ -_9f8(_9f7,q,true); -}; -function _9f9(_9fa){ -var _9fb=$.data(_9fa,"datebox"); -var opts=_9fb.options; -var _9fc=_9fb.calendar.calendar("options").current; -if(_9fc){ -_9f8(_9fa,opts.formatter.call(_9fa,_9fc)); -$(_9fa).combo("hidePanel"); -} -}; -function _9f8(_9fd,_9fe,_9ff){ -var _a00=$.data(_9fd,"datebox"); -var opts=_a00.options; -var _a01=_a00.calendar; -_a01.calendar("moveTo",opts.parser.call(_9fd,_9fe)); -if(_9ff){ -$(_9fd).combo("setValue",_9fe); -}else{ -if(_9fe){ -_9fe=opts.formatter.call(_9fd,_a01.calendar("options").current); -} -$(_9fd).combo("setText",_9fe).combo("setValue",_9fe); -} -}; -$.fn.datebox=function(_a02,_a03){ -if(typeof _a02=="string"){ -var _a04=$.fn.datebox.methods[_a02]; -if(_a04){ -return _a04(this,_a03); -}else{ -return this.combo(_a02,_a03); -} -} -_a02=_a02||{}; -return this.each(function(){ -var _a05=$.data(this,"datebox"); -if(_a05){ -$.extend(_a05.options,_a02); -}else{ -$.data(this,"datebox",{options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_a02)}); -} -_9e5(this); -}); -}; -$.fn.datebox.methods={options:function(jq){ -var _a06=jq.combo("options"); -return $.extend($.data(jq[0],"datebox").options,{width:_a06.width,height:_a06.height,originalValue:_a06.originalValue,disabled:_a06.disabled,readonly:_a06.readonly}); -},cloneFrom:function(jq,from){ -return jq.each(function(){ -$(this).combo("cloneFrom",from); -$.data(this,"datebox",{options:$.extend(true,{},$(from).datebox("options")),calendar:$(from).datebox("calendar")}); -$(this).addClass("datebox-f"); -}); -},calendar:function(jq){ -return $.data(jq[0],"datebox").calendar; -},initValue:function(jq,_a07){ -return jq.each(function(){ -var opts=$(this).datebox("options"); -var _a08=opts.value; -if(_a08){ -_a08=opts.formatter.call(this,opts.parser.call(this,_a08)); -} -$(this).combo("initValue",_a08).combo("setText",_a08); -}); -},setValue:function(jq,_a09){ -return jq.each(function(){ -_9f8(this,_a09); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).datebox("options"); -$(this).datebox("setValue",opts.originalValue); -}); -}}; -$.fn.datebox.parseOptions=function(_a0a){ -return $.extend({},$.fn.combo.parseOptions(_a0a),$.parser.parseOptions(_a0a,["sharedCalendar"])); -}; -$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{panelWidth:180,panelHeight:"auto",sharedCalendar:null,keyHandler:{up:function(e){ -},down:function(e){ -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_9f9(this); -},query:function(q,e){ -_9f6(this,q); -}},currentText:"Today",closeText:"Close",okText:"Ok",buttons:[{text:function(_a0b){ -return $(_a0b).datebox("options").currentText; -},handler:function(_a0c){ -var now=new Date(); -$(_a0c).datebox("calendar").calendar({year:now.getFullYear(),month:now.getMonth()+1,current:new Date(now.getFullYear(),now.getMonth(),now.getDate())}); -_9f9(_a0c); -}},{text:function(_a0d){ -return $(_a0d).datebox("options").closeText; -},handler:function(_a0e){ -$(this).closest("div.combo-panel").panel("close"); -}}],formatter:function(date){ -var y=date.getFullYear(); -var m=date.getMonth()+1; -var d=date.getDate(); -return (m<10?("0"+m):m)+"/"+(d<10?("0"+d):d)+"/"+y; -},parser:function(s){ -if(!s){ -return new Date(); -} -var ss=s.split("/"); -var m=parseInt(ss[0],10); -var d=parseInt(ss[1],10); -var y=parseInt(ss[2],10); -if(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){ -return new Date(y,m-1,d); -}else{ -return new Date(); -} -},onSelect:function(date){ -}}); -})(jQuery); -(function($){ -function _a0f(_a10){ -var _a11=$.data(_a10,"datetimebox"); -var opts=_a11.options; -$(_a10).datebox($.extend({},opts,{onShowPanel:function(){ -var _a12=$(this).datetimebox("getValue"); -_a18(this,_a12,true); -opts.onShowPanel.call(this); -},formatter:$.fn.datebox.defaults.formatter,parser:$.fn.datebox.defaults.parser})); -$(_a10).removeClass("datebox-f").addClass("datetimebox-f"); -$(_a10).datebox("calendar").calendar({onSelect:function(date){ -opts.onSelect.call(this.target,date); -}}); -if(!_a11.spinner){ -var _a13=$(_a10).datebox("panel"); -var p=$("
          ").insertAfter(_a13.children("div.datebox-calendar-inner")); -_a11.spinner=p.children("input"); -} -_a11.spinner.timespinner({width:opts.spinnerWidth,showSeconds:opts.showSeconds,separator:opts.timeSeparator}); -$(_a10).datetimebox("initValue",opts.value); -}; -function _a14(_a15){ -var c=$(_a15).datetimebox("calendar"); -var t=$(_a15).datetimebox("spinner"); -var date=c.calendar("options").current; -return new Date(date.getFullYear(),date.getMonth(),date.getDate(),t.timespinner("getHours"),t.timespinner("getMinutes"),t.timespinner("getSeconds")); -}; -function _a16(_a17,q){ -_a18(_a17,q,true); -}; -function _a19(_a1a){ -var opts=$.data(_a1a,"datetimebox").options; -var date=_a14(_a1a); -_a18(_a1a,opts.formatter.call(_a1a,date)); -$(_a1a).combo("hidePanel"); -}; -function _a18(_a1b,_a1c,_a1d){ -var opts=$.data(_a1b,"datetimebox").options; -$(_a1b).combo("setValue",_a1c); -if(!_a1d){ -if(_a1c){ -var date=opts.parser.call(_a1b,_a1c); -$(_a1b).combo("setText",opts.formatter.call(_a1b,date)); -$(_a1b).combo("setValue",opts.formatter.call(_a1b,date)); -}else{ -$(_a1b).combo("setText",_a1c); -} -} -var date=opts.parser.call(_a1b,_a1c); -$(_a1b).datetimebox("calendar").calendar("moveTo",date); -$(_a1b).datetimebox("spinner").timespinner("setValue",_a1e(date)); -function _a1e(date){ -function _a1f(_a20){ -return (_a20<10?"0":"")+_a20; -}; -var tt=[_a1f(date.getHours()),_a1f(date.getMinutes())]; -if(opts.showSeconds){ -tt.push(_a1f(date.getSeconds())); -} -return tt.join($(_a1b).datetimebox("spinner").timespinner("options").separator); -}; -}; -$.fn.datetimebox=function(_a21,_a22){ -if(typeof _a21=="string"){ -var _a23=$.fn.datetimebox.methods[_a21]; -if(_a23){ -return _a23(this,_a22); -}else{ -return this.datebox(_a21,_a22); -} -} -_a21=_a21||{}; -return this.each(function(){ -var _a24=$.data(this,"datetimebox"); -if(_a24){ -$.extend(_a24.options,_a21); -}else{ -$.data(this,"datetimebox",{options:$.extend({},$.fn.datetimebox.defaults,$.fn.datetimebox.parseOptions(this),_a21)}); -} -_a0f(this); -}); -}; -$.fn.datetimebox.methods={options:function(jq){ -var _a25=jq.datebox("options"); -return $.extend($.data(jq[0],"datetimebox").options,{originalValue:_a25.originalValue,disabled:_a25.disabled,readonly:_a25.readonly}); -},cloneFrom:function(jq,from){ -return jq.each(function(){ -$(this).datebox("cloneFrom",from); -$.data(this,"datetimebox",{options:$.extend(true,{},$(from).datetimebox("options")),spinner:$(from).datetimebox("spinner")}); -$(this).removeClass("datebox-f").addClass("datetimebox-f"); -}); -},spinner:function(jq){ -return $.data(jq[0],"datetimebox").spinner; -},initValue:function(jq,_a26){ -return jq.each(function(){ -var opts=$(this).datetimebox("options"); -var _a27=opts.value; -if(_a27){ -_a27=opts.formatter.call(this,opts.parser.call(this,_a27)); -} -$(this).combo("initValue",_a27).combo("setText",_a27); -}); -},setValue:function(jq,_a28){ -return jq.each(function(){ -_a18(this,_a28); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).datetimebox("options"); -$(this).datetimebox("setValue",opts.originalValue); -}); -}}; -$.fn.datetimebox.parseOptions=function(_a29){ -var t=$(_a29); -return $.extend({},$.fn.datebox.parseOptions(_a29),$.parser.parseOptions(_a29,["timeSeparator","spinnerWidth",{showSeconds:"boolean"}])); -}; -$.fn.datetimebox.defaults=$.extend({},$.fn.datebox.defaults,{spinnerWidth:"100%",showSeconds:true,timeSeparator:":",keyHandler:{up:function(e){ -},down:function(e){ -},left:function(e){ -},right:function(e){ -},enter:function(e){ -_a19(this); -},query:function(q,e){ -_a16(this,q); -}},buttons:[{text:function(_a2a){ -return $(_a2a).datetimebox("options").currentText; -},handler:function(_a2b){ -var opts=$(_a2b).datetimebox("options"); -_a18(_a2b,opts.formatter.call(_a2b,new Date())); -$(_a2b).datetimebox("hidePanel"); -}},{text:function(_a2c){ -return $(_a2c).datetimebox("options").okText; -},handler:function(_a2d){ -_a19(_a2d); -}},{text:function(_a2e){ -return $(_a2e).datetimebox("options").closeText; -},handler:function(_a2f){ -$(_a2f).datetimebox("hidePanel"); -}}],formatter:function(date){ -var h=date.getHours(); -var M=date.getMinutes(); -var s=date.getSeconds(); -function _a30(_a31){ -return (_a31<10?"0":"")+_a31; -}; -var _a32=$(this).datetimebox("spinner").timespinner("options").separator; -var r=$.fn.datebox.defaults.formatter(date)+" "+_a30(h)+_a32+_a30(M); -if($(this).datetimebox("options").showSeconds){ -r+=_a32+_a30(s); -} -return r; -},parser:function(s){ -if($.trim(s)==""){ -return new Date(); -} -var dt=s.split(" "); -var d=$.fn.datebox.defaults.parser(dt[0]); -if(dt.length<2){ -return d; -} -var _a33=$(this).datetimebox("spinner").timespinner("options").separator; -var tt=dt[1].split(_a33); -var hour=parseInt(tt[0],10)||0; -var _a34=parseInt(tt[1],10)||0; -var _a35=parseInt(tt[2],10)||0; -return new Date(d.getFullYear(),d.getMonth(),d.getDate(),hour,_a34,_a35); -}}); -})(jQuery); -(function($){ -function init(_a36){ -var _a37=$("
          "+"
          "+""+""+"
          "+"
          "+"
          "+"
          "+""+"
          ").insertAfter(_a36); -var t=$(_a36); -t.addClass("slider-f").hide(); -var name=t.attr("name"); -if(name){ -_a37.find("input.slider-value").attr("name",name); -t.removeAttr("name").attr("sliderName",name); -} -_a37.bind("_resize",function(e,_a38){ -if($(this).hasClass("easyui-fluid")||_a38){ -_a39(_a36); -} -return false; -}); -return _a37; -}; -function _a39(_a3a,_a3b){ -var _a3c=$.data(_a3a,"slider"); -var opts=_a3c.options; -var _a3d=_a3c.slider; -if(_a3b){ -if(_a3b.width){ -opts.width=_a3b.width; -} -if(_a3b.height){ -opts.height=_a3b.height; -} -} -_a3d._size(opts); -if(opts.mode=="h"){ -_a3d.css("height",""); -_a3d.children("div").css("height",""); -}else{ -_a3d.css("width",""); -_a3d.children("div").css("width",""); -_a3d.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_a3d._outerHeight()); -} -_a3e(_a3a); -}; -function _a3f(_a40){ -var _a41=$.data(_a40,"slider"); -var opts=_a41.options; -var _a42=_a41.slider; -var aa=opts.mode=="h"?opts.rule:opts.rule.slice(0).reverse(); -if(opts.reversed){ -aa=aa.slice(0).reverse(); -} -_a43(aa); -function _a43(aa){ -var rule=_a42.find("div.slider-rule"); -var _a44=_a42.find("div.slider-rulelabel"); -rule.empty(); -_a44.empty(); -for(var i=0;i").appendTo(rule); -span.css((opts.mode=="h"?"left":"top"),_a45); -if(aa[i]!="|"){ -span=$("").appendTo(_a44); -span.html(aa[i]); -if(opts.mode=="h"){ -span.css({left:_a45,marginLeft:-Math.round(span.outerWidth()/2)}); -}else{ -span.css({top:_a45,marginTop:-Math.round(span.outerHeight()/2)}); -} -} -} -}; -}; -function _a46(_a47){ -var _a48=$.data(_a47,"slider"); -var opts=_a48.options; -var _a49=_a48.slider; -_a49.removeClass("slider-h slider-v slider-disabled"); -_a49.addClass(opts.mode=="h"?"slider-h":"slider-v"); -_a49.addClass(opts.disabled?"slider-disabled":""); -var _a4a=_a49.find(".slider-inner"); -_a4a.html(""+""); -if(opts.range){ -_a4a.append(""+""); -} -_a49.find("a.slider-handle").draggable({axis:opts.mode,cursor:"pointer",disabled:opts.disabled,onDrag:function(e){ -var left=e.data.left; -var _a4b=_a49.width(); -if(opts.mode!="h"){ -left=e.data.top; -_a4b=_a49.height(); -} -if(left<0||left>_a4b){ -return false; -}else{ -_a4c(left); -return false; -} -},onBeforeDrag:function(){ -_a48.isDragging=true; -},onStartDrag:function(){ -opts.onSlideStart.call(_a47,opts.value); -},onStopDrag:function(e){ -_a4c(opts.mode=="h"?e.data.left:e.data.top); -opts.onSlideEnd.call(_a47,opts.value); -opts.onComplete.call(_a47,opts.value); -_a48.isDragging=false; -}}); -_a49.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){ -if(_a48.isDragging||opts.disabled){ -return; -} -var pos=$(this).offset(); -_a4c(opts.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top)); -opts.onComplete.call(_a47,opts.value); -}); -function _a4c(pos){ -var _a4d=_a4e(_a47,pos); -var s=Math.abs(_a4d%opts.step); -if(sv2){ -v2=_a4d; -}else{ -_a4dopts.max){ -_a56=opts.max; -} -var _a57=$("").appendTo(_a53); -_a57.attr("name",name); -_a57.val(_a56); -_a55.push(_a56); -var _a58=_a53.find(".slider-handle:eq("+i+")"); -var tip=_a58.next(); -var pos=_a59(_a50,_a56); -if(opts.showTip){ -tip.show(); -tip.html(opts.tipFormatter.call(_a50,_a56)); -}else{ -tip.hide(); -} -if(opts.mode=="h"){ -var _a5a="left:"+pos+"px;"; -_a58.attr("style",_a5a); -tip.attr("style",_a5a+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px"); -}else{ -var _a5a="top:"+pos+"px;"; -_a58.attr("style",_a5a); -tip.attr("style",_a5a+"margin-left:"+(-Math.round(tip.outerWidth()))+"px"); -} -} -opts.value=opts.range?_a55:_a55[0]; -$(_a50).val(opts.range?_a55.join(opts.separator):_a55[0]); -if(_a54.join(",")!=_a55.join(",")){ -opts.onChange.call(_a50,opts.value,(opts.range?_a54:_a54[0])); -} -}; -function _a3e(_a5b){ -var opts=$.data(_a5b,"slider").options; -var fn=opts.onChange; -opts.onChange=function(){ -}; -_a4f(_a5b,opts.value); -opts.onChange=fn; -}; -function _a59(_a5c,_a5d){ -var _a5e=$.data(_a5c,"slider"); -var opts=_a5e.options; -var _a5f=_a5e.slider; -var size=opts.mode=="h"?_a5f.width():_a5f.height(); -var pos=opts.converter.toPosition.call(_a5c,_a5d,size); -if(opts.mode=="v"){ -pos=_a5f.height()-pos; -} -if(opts.reversed){ -pos=size-pos; -} -return pos.toFixed(0); -}; -function _a4e(_a60,pos){ -var _a61=$.data(_a60,"slider"); -var opts=_a61.options; -var _a62=_a61.slider; -var size=opts.mode=="h"?_a62.width():_a62.height(); -var _a63=opts.converter.toValue.call(_a60,opts.mode=="h"?(opts.reversed?(size-pos):pos):(size-pos),size); -return _a63.toFixed(0); -}; -$.fn.slider=function(_a64,_a65){ -if(typeof _a64=="string"){ -return $.fn.slider.methods[_a64](this,_a65); -} -_a64=_a64||{}; -return this.each(function(){ -var _a66=$.data(this,"slider"); -if(_a66){ -$.extend(_a66.options,_a64); -}else{ -_a66=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_a64),slider:init(this)}); -$(this).removeAttr("disabled"); -} -var opts=_a66.options; -opts.min=parseFloat(opts.min); -opts.max=parseFloat(opts.max); -if(opts.range){ -if(!$.isArray(opts.value)){ -opts.value=$.map(String(opts.value).split(opts.separator),function(v){ -return parseFloat(v); -}); -} -if(opts.value.length<2){ -opts.value.push(opts.max); -} -}else{ -opts.value=parseFloat(opts.value); -} -opts.step=parseFloat(opts.step); -opts.originalValue=opts.value; -_a46(this); -_a3f(this); -_a39(this); -}); -}; -$.fn.slider.methods={options:function(jq){ -return $.data(jq[0],"slider").options; -},destroy:function(jq){ -return jq.each(function(){ -$.data(this,"slider").slider.remove(); -$(this).remove(); -}); -},resize:function(jq,_a67){ -return jq.each(function(){ -_a39(this,_a67); -}); -},getValue:function(jq){ -return jq.slider("options").value; -},getValues:function(jq){ -return jq.slider("options").value; -},setValue:function(jq,_a68){ -return jq.each(function(){ -_a4f(this,[_a68]); -}); -},setValues:function(jq,_a69){ -return jq.each(function(){ -_a4f(this,_a69); -}); -},clear:function(jq){ -return jq.each(function(){ -var opts=$(this).slider("options"); -_a4f(this,opts.range?[opts.min,opts.max]:[opts.min]); -}); -},reset:function(jq){ -return jq.each(function(){ -var opts=$(this).slider("options"); -$(this).slider(opts.range?"setValues":"setValue",opts.originalValue); -}); -},enable:function(jq){ -return jq.each(function(){ -$.data(this,"slider").options.disabled=false; -_a46(this); -}); -},disable:function(jq){ -return jq.each(function(){ -$.data(this,"slider").options.disabled=true; -_a46(this); -}); -}}; -$.fn.slider.parseOptions=function(_a6a){ -var t=$(_a6a); -return $.extend({},$.parser.parseOptions(_a6a,["width","height","mode",{reversed:"boolean",showTip:"boolean",range:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)}); -}; -$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,range:false,value:0,separator:",",min:0,max:100,step:1,rule:[],tipFormatter:function(_a6b){ -return _a6b; -},converter:{toPosition:function(_a6c,size){ -var opts=$(this).slider("options"); -return (_a6c-opts.min)/(opts.max-opts.min)*size; -},toValue:function(pos,size){ -var opts=$(this).slider("options"); -return opts.min+(opts.max-opts.min)*(pos/size); -}},onChange:function(_a6d,_a6e){ -},onSlideStart:function(_a6f){ -},onSlideEnd:function(_a70){ -},onComplete:function(_a71){ -}}; -})(jQuery); - diff --git a/SMMS/WebContent/static/easyui/jquery.min.js b/SMMS/WebContent/static/easyui/jquery.min.js deleted file mode 100644 index 3883779..0000000 --- a/SMMS/WebContent/static/easyui/jquery.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v1.8.3 jquery.com | jquery.org/license */ -(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
          a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
          t
          ",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
          ",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
          ",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

          ",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
          ","
          "],thead:[1,"","
          "],tr:[2,"","
          "],td:[3,"","
          "],col:[2,"","
          "],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
          ","
          "]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
          ").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); \ No newline at end of file diff --git a/SMMS/WebContent/static/easyui/js/echarts.common.min.js b/SMMS/WebContent/static/easyui/js/echarts.common.min.js deleted file mode 100644 index 733accf..0000000 --- a/SMMS/WebContent/static/easyui/js/echarts.common.min.js +++ /dev/null @@ -1,22 +0,0 @@ - -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ - - -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t,e){"createCanvas"===t&&(zp=null),Lp[t]=e}function n(t){if(null==t||"object"!=typeof t)return t;var e=t,i=Ip.call(t);if("[object Array]"===i){if(!z(t)){e=[];for(var r=0,o=t.length;rKp||t<-Kp}function ft(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function pt(t){return(t=Math.round(t))<0?0:t>255?255:t}function gt(t){return(t=Math.round(t))<0?0:t>360?360:t}function mt(t){return t<0?0:t>1?1:t}function vt(t){return pt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function yt(t){return mt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function xt(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function _t(t,e,n){return t+(e-t)*n}function wt(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function bt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Mt(t,e){ug&&bt(ug,e),ug=lg.put(t,ug||e.slice())}function St(t,e){if(t){e=e||[];var n=lg.get(t);if(n)return bt(e,n);var i=(t+="").replace(/ /g,"").toLowerCase();if(i in sg)return bt(e,sg[i]),Mt(t,e),e;if("#"!==i.charAt(0)){var r=i.indexOf("("),o=i.indexOf(")");if(-1!==r&&o+1===i.length){var a=i.substr(0,r),s=i.substr(r+1,o-(r+1)).split(","),l=1;switch(a){case"rgba":if(4!==s.length)return void wt(e,0,0,0,1);l=yt(s.pop());case"rgb":return 3!==s.length?void wt(e,0,0,0,1):(wt(e,vt(s[0]),vt(s[1]),vt(s[2]),l),Mt(t,e),e);case"hsla":return 4!==s.length?void wt(e,0,0,0,1):(s[3]=yt(s[3]),It(s,e),Mt(t,e),e);case"hsl":return 3!==s.length?void wt(e,0,0,0,1):(It(s,e),Mt(t,e),e);default:return}}wt(e,0,0,0,1)}else{if(4===i.length)return(u=parseInt(i.substr(1),16))>=0&&u<=4095?(wt(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Mt(t,e),e):void wt(e,0,0,0,1);if(7===i.length){var u=parseInt(i.substr(1),16);return u>=0&&u<=16777215?(wt(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Mt(t,e),e):void wt(e,0,0,0,1)}}}}function It(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=yt(t[1]),r=yt(t[2]),o=r<=.5?r*(i+1):r+i-r*i,a=2*r-o;return e=e||[],wt(e,pt(255*xt(a,o,n+1/3)),pt(255*xt(a,o,n)),pt(255*xt(a,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Ct(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(i,r,o),s=Math.max(i,r,o),l=s-a,u=(s+a)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+a):l/(2-s-a);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,d=((s-o)/6+l/2)/l;i===s?e=d-c:r===s?e=1/3+h-d:o===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,n,u];return null!=t[3]&&f.push(t[3]),f}}function Tt(t,e){var n=St(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:t[i]<0&&(n[i]=0);return Lt(n,4===n.length?"rgba":"rgb")}}function Dt(t){var e=St(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function At(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=e[r],s=e[o],l=i-r;return n[0]=pt(_t(a[0],s[0],l)),n[1]=pt(_t(a[1],s[1],l)),n[2]=pt(_t(a[2],s[2],l)),n[3]=mt(_t(a[3],s[3],l)),n}}function kt(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=St(e[r]),s=St(e[o]),l=i-r,u=Lt([pt(_t(a[0],s[0],l)),pt(_t(a[1],s[1],l)),pt(_t(a[2],s[2],l)),mt(_t(a[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:o,value:i}:u}}function Pt(t,e){if((t=St(t))&&null!=e)return t[3]=mt(e),Lt(t,"rgba")}function Lt(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(n+=","+t[3]),e+"("+n+")"}}function Ot(t,e){return t[e]}function zt(t,e,n){t[e]=n}function Et(t,e,n){return(e-t)*n+t}function Nt(t,e,n){return n>.5?e:t}function Rt(t,e,n,i,r){var o=t.length;if(1==r)for(s=0;sr)t.length=r;else for(a=i;a=0&&!(m[n]<=e);n--);n=Math.min(n,u-2)}else{for(n=k;ne);n++);n=Math.min(n-1,u-2)}k=n,P=e;var i=m[n+1]-m[n];if(0!==i)if(I=(e-m[n])/i,l)if(T=v[n],C=v[0===n?n:n-1],D=v[n>u-2?u-1:n+1],A=v[n>u-3?u-1:n+2],d)Ft(C,T,D,A,I,I*I,I*I*I,a(t,r),g);else{if(f)o=Ft(C,T,D,A,I,I*I,I*I*I,L,1),o=Wt(L);else{if(p)return Nt(T,D,I);o=Ht(C,T,D,A,I,I*I,I*I*I)}s(t,r,o)}else if(d)Rt(v[n],v[n+1],I,a(t,r),g);else{var o;if(f)Rt(v[n],v[n+1],I,L,1),o=Wt(L);else{if(p)return Nt(v[n],v[n+1],I);o=Et(v[n],v[n+1],I)}s(t,r,o)}},ondestroy:n});return e&&"spline"!==e&&(O.easing=e),O}}}function Xt(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}function jt(t){for(var e=0;t>=Ig;)e|=1&t,t>>=1;return t+e}function Yt(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function qt(t,e,n){for(n--;e>>1])<0?l=o:s=o+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=a}}function Kt(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])>0){for(s=i-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}else{for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}for(a++;a>>1);o(t,e[n+h])>0?a=h+1:l=h}return l}function Qt(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])<0){for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}else{for(s=i-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}for(a++;a>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function Jt(t,e){function n(n){var s=o[n],u=a[n],h=o[n+1],c=a[n+1];a[n]=u+c,n===l-3&&(o[n+1]=o[n+2],a[n+1]=a[n+2]),l--;var d=Qt(t[h],t,s,u,0,e);s+=d,0!==(u-=d)&&0!==(c=Kt(t[s+u-1],t,h,c,c-1,e))&&(u<=c?i(s,u,h,c):r(s,u,h,c))}function i(n,i,r,o){var a=0;for(a=0;a=Cg||f>=Cg);if(p)break;g<0&&(g=0),g+=2}if((s=g)<1&&(s=1),1===i){for(a=0;a=0;a--)t[f+a]=t[d+a];if(0===i){v=!0;break}}if(t[c--]=u[h--],1==--o){v=!0;break}if(0!=(m=o-Kt(t[l],u,0,o,o-1,e))){for(o-=m,f=(c-=m)+1,d=(h-=m)+1,a=0;a=Cg||m>=Cg);if(v)break;p<0&&(p=0),p+=2}if((s=p)<1&&(s=1),1===o){for(f=(c-=i)+1,d=(l-=i)+1,a=i-1;a>=0;a--)t[f+a]=t[d+a];t[c]=u[h]}else{if(0===o)throw new Error;for(d=c-(o-1),a=0;a=0;a--)t[f+a]=t[d+a];t[c]=u[h]}else for(d=c-(o-1),a=0;a1;){var t=l-2;if(t>=1&&a[t-1]<=a[t]+a[t+1]||t>=2&&a[t-2]<=a[t]+a[t-1])a[t-1]a[t+1])break;n(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&a[t-1]s&&(l=s),$t(t,n,n+l,n+o,e),o=l}a.pushRun(n,o),a.mergeRuns(),r-=o,n+=o}while(0!==r);a.forceMergeRuns()}}function ee(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function ne(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,o=null==e.y?0:e.y,a=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,o=o*n.height+n.y,a=a*n.height+n.y),i=isNaN(i)?0:i,r=isNaN(r)?1:r,o=isNaN(o)?0:o,a=isNaN(a)?0:a,t.createLinearGradient(i,o,r,a)}function ie(t,e,n){var i=n.width,r=n.height,o=Math.min(i,r),a=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(a=a*i+n.x,s=s*r+n.y,l*=o),t.createRadialGradient(a,s,0,a,s,l)}function re(){return!1}function oe(t,e,n){var i=Op(),r=e.getWidth(),o=e.getHeight(),a=i.style;return a&&(a.position="absolute",a.left=0,a.top=0,a.width=r+"px",a.height=o+"px",i.setAttribute("data-zr-dom-id",t)),i.width=r*n,i.height=o*n,i}function ae(t){if("string"==typeof t){var e=Bg.get(t);return e&&e.image}return t}function se(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var o=Bg.get(t),a={hostEl:n,cb:i,cbPayload:r};return o?!ue(e=o.image)&&o.pending.push(a):(!e&&(e=new Image),e.onload=le,Bg.put(t,e.__cachedImgObj={image:e,pending:[a]}),e.src=e.__zrImageSrc=t),e}return t}return e}function le(){var t=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var e=0;eHg&&(Fg=0,Vg={}),Fg++,Vg[n]=r,r}function ce(t,e,n,i,r,o,a){return o?fe(t,e,n,i,r,o,a):de(t,e,n,i,r,a)}function de(t,e,n,i,r,o){var a=Me(t,e,r,o),s=he(t,e);r&&(s+=r[1]+r[3]);var l=a.outerHeight,u=new Xt(pe(0,s,n),ge(0,l,i),s,l);return u.lineHeight=a.lineHeight,u}function fe(t,e,n,i,r,o,a){var s=Se(t,{rich:o,truncate:a,font:e,textAlign:n,textPadding:r}),l=s.outerWidth,u=s.outerHeight;return new Xt(pe(0,l,n),ge(0,u,i),l,u)}function pe(t,e,n){return"right"===n?t-=e:"center"===n&&(t-=e/2),t}function ge(t,e,n){return"middle"===n?t-=e/2:"bottom"===n&&(t-=e),t}function me(t,e,n){var i=e.x,r=e.y,o=e.height,a=e.width,s=o/2,l="left",u="top";switch(t){case"left":i-=n,r+=s,l="right",u="middle";break;case"right":i+=n+a,r+=s,u="middle";break;case"top":i+=a/2,r-=n,l="center",u="bottom";break;case"bottom":i+=a/2,r+=o+n,l="center";break;case"inside":i+=a/2,r+=s,l="center",u="middle";break;case"insideLeft":i+=n,r+=s,u="middle";break;case"insideRight":i+=a-n,r+=s,l="right",u="middle";break;case"insideTop":i+=a/2,r+=n,l="center";break;case"insideBottom":i+=a/2,r+=o-n,l="center",u="bottom";break;case"insideTopLeft":i+=n,r+=n;break;case"insideTopRight":i+=a-n,r+=n,l="right";break;case"insideBottomLeft":i+=n,r+=o-n,u="bottom";break;case"insideBottomRight":i+=a-n,r+=o-n,l="right",u="bottom"}return{x:i,y:r,textAlign:l,textVerticalAlign:u}}function ve(t,e,n,i,r){if(!e)return"";var o=(t+"").split("\n");r=ye(e,n,i,r);for(var a=0,s=o.length;a=a;l++)s-=a;var u=he(n);return u>s&&(n="",u=0),s=t-u,i.ellipsis=n,i.ellipsisWidth=u,i.contentWidth=s,i.containerWidth=t,i}function xe(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var o=he(t,i);if(o<=n)return t;for(var a=0;;a++){if(o<=r||a>=e.maxIterations){t+=e.ellipsis;break}var s=0===a?_e(t,r,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*r/o):0;o=he(t=t.substr(0,s),i)}return""===t&&(t=e.placeholder),t}function _e(t,e,n,i){for(var r=0,o=0,a=t.length;ol)t="",o=[];else if(null!=u)for(var h=ye(u-(n?n[1]+n[3]:0),e,i.ellipsis,{minChar:i.minChar,placeholder:i.placeholder}),c=0,d=o.length;cr&&Ie(n,t.substring(r,o)),Ie(n,i[2],i[1]),r=Gg.lastIndex}rf)return{lines:[],width:0,height:0};P.textWidth=he(P.text,_);var b=y.textWidth,M=null==b||"auto"===b;if("string"==typeof b&&"%"===b.charAt(b.length-1))P.percentWidth=b,u.push(P),b=0;else{if(M){b=P.textWidth;var S=y.textBackgroundColor,I=S&&S.image;I&&ue(I=ae(I))&&(b=Math.max(b,I.width*w/I.height))}var C=x?x[1]+x[3]:0;b+=C;var A=null!=d?d-m:null;null!=A&&Al&&(n*=l/(c=n+i),i*=l/c),r+o>l&&(r*=l/(c=r+o),o*=l/c),i+r>u&&(i*=u/(c=i+r),r*=u/c),n+o>u&&(n*=u/(c=n+o),o*=u/c),t.moveTo(a+n,s),t.lineTo(a+l-i,s),0!==i&&t.arc(a+l-i,s+i,i,-Math.PI/2,0),t.lineTo(a+l,s+u-r),0!==r&&t.arc(a+l-r,s+u-r,r,0,Math.PI/2),t.lineTo(a+o,s+u),0!==o&&t.arc(a+o,s+u-o,o,Math.PI/2,Math.PI),t.lineTo(a,s+n),0!==n&&t.arc(a+n,s+n,n,Math.PI,1.5*Math.PI)}function De(t){return Ae(t),d(t.rich,Ae),t}function Ae(t){if(t){t.font=Ce(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||Ug[e]?e:"left";var n=t.textVerticalAlign||t.textBaseline;"center"===n&&(n="middle"),t.textVerticalAlign=null==n||Xg[n]?n:"top",t.textPadding&&(t.textPadding=k(t.textPadding))}}function ke(t,e,n,i,r){i.rich?Le(t,e,n,i,r):Pe(t,e,n,i,r)}function Pe(t,e,n,i,r){var o=Fe(e,"font",i.font||Wg),a=i.textPadding,s=t.__textCotentBlock;s&&!t.__dirty||(s=t.__textCotentBlock=Me(n,o,a,i.truncate));var l=s.outerHeight,u=s.lines,h=s.lineHeight,c=Ve(l,i,r),d=c.baseX,f=c.baseY,p=c.textAlign,g=c.textVerticalAlign;ze(e,i,r,d,f);var m=ge(f,l,g),v=d,y=m,x=Ne(i);if(x||a){var _=he(n,o);a&&(_+=a[1]+a[3]);var w=pe(d,_,p);x&&Re(t,e,i,w,m,_,l),a&&(v=Ze(d,p,a),y+=a[0])}Fe(e,"textAlign",p||"left"),Fe(e,"textBaseline","middle"),Fe(e,"shadowBlur",i.textShadowBlur||0),Fe(e,"shadowColor",i.textShadowColor||"transparent"),Fe(e,"shadowOffsetX",i.textShadowOffsetX||0),Fe(e,"shadowOffsetY",i.textShadowOffsetY||0),y+=h/2;var b=i.textStrokeWidth,M=He(i.textStroke,b),S=Ge(i.textFill);M&&(Fe(e,"lineWidth",b),Fe(e,"strokeStyle",M)),S&&Fe(e,"fillStyle",S);for(var I=0;I=0&&"right"===(_=b[A]).textAlign;)Ee(t,e,_,i,S,v,D,"right"),I-=_.width,D-=_.width,A--;for(T+=(o-(T-m)-(y-D)-I)/2;C<=A;)Ee(t,e,_=b[C],i,S,v,T+_.width/2,"center"),T+=_.width,C++;v+=S}}function ze(t,e,n,i,r){if(n&&e.textRotation){var o=e.textOrigin;"center"===o?(i=n.width/2+n.x,r=n.height/2+n.y):o&&(i=o[0]+n.x,r=o[1]+n.y),t.translate(i,r),t.rotate(-e.textRotation),t.translate(-i,-r)}}function Ee(t,e,n,i,r,o,a,s){var l=i.rich[n.styleName]||{},u=n.textVerticalAlign,h=o+r/2;"top"===u?h=o+n.height/2:"bottom"===u&&(h=o+r-n.height/2),!n.isLineHolder&&Ne(l)&&Re(t,e,l,"right"===s?a-n.width:"center"===s?a-n.width/2:a,h-n.height/2,n.width,n.height);var c=n.textPadding;c&&(a=Ze(a,s,c),h-=n.height/2-c[2]-n.textHeight/2),Fe(e,"shadowBlur",D(l.textShadowBlur,i.textShadowBlur,0)),Fe(e,"shadowColor",l.textShadowColor||i.textShadowColor||"transparent"),Fe(e,"shadowOffsetX",D(l.textShadowOffsetX,i.textShadowOffsetX,0)),Fe(e,"shadowOffsetY",D(l.textShadowOffsetY,i.textShadowOffsetY,0)),Fe(e,"textAlign",s),Fe(e,"textBaseline","middle"),Fe(e,"font",n.font||Wg);var d=He(l.textStroke||i.textStroke,p),f=Ge(l.textFill||i.textFill),p=T(l.textStrokeWidth,i.textStrokeWidth);d&&(Fe(e,"lineWidth",p),Fe(e,"strokeStyle",d),e.strokeText(n.text,a,h)),f&&(Fe(e,"fillStyle",f),e.fillText(n.text,a,h))}function Ne(t){return t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor}function Re(t,e,n,i,r,o,a){var s=n.textBackgroundColor,l=n.textBorderWidth,u=n.textBorderColor,h=_(s);if(Fe(e,"shadowBlur",n.textBoxShadowBlur||0),Fe(e,"shadowColor",n.textBoxShadowColor||"transparent"),Fe(e,"shadowOffsetX",n.textBoxShadowOffsetX||0),Fe(e,"shadowOffsetY",n.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=n.textBorderRadius;c?Te(e,{x:i,y:r,width:o,height:a,r:c}):e.rect(i,r,o,a),e.closePath()}if(h)Fe(e,"fillStyle",s),e.fill();else if(w(s)){var d=s.image;(d=se(d,null,t,Be,s))&&ue(d)&&e.drawImage(d,i,r,o,a)}l&&u&&(Fe(e,"lineWidth",l),Fe(e,"strokeStyle",u),e.stroke())}function Be(t,e){e.image=t}function Ve(t,e,n){var i=e.x||0,r=e.y||0,o=e.textAlign,a=e.textVerticalAlign;if(n){var s=e.textPosition;if(s instanceof Array)i=n.x+We(s[0],n.width),r=n.y+We(s[1],n.height);else{var l=me(s,n,e.textDistance);i=l.x,r=l.y,o=o||l.textAlign,a=a||l.textVerticalAlign}var u=e.textOffset;u&&(i+=u[0],r+=u[1])}return{baseX:i,baseY:r,textAlign:o,textVerticalAlign:a}}function Fe(t,e,n){return t[e]=Ag(t,e,n),t[e]}function He(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function Ge(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function We(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function Ze(t,e,n){return"right"===e?t-n[1]:"center"===e?t+n[3]/2-n[1]/2:t+n[3]}function Ue(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function Xe(t){t=t||{},_g.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new Pg(t.style,this),this._rect=null,this.__clipPaths=[]}function je(t){Xe.call(this,t)}function Ye(t){return parseInt(t,10)}function qe(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}function $e(t,e,n){return qg.copy(t.getBoundingRect()),t.transform&&qg.applyTransform(t.transform),$g.width=e,$g.height=n,!qg.intersect($g)}function Ke(t,e){if(t==e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var n=0;n=0){var r="touchend"!=i?e.targetTouches[0]:e.changedTouches[0];r&&en(t,r,e,n)}else en(t,e,e,n),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var o=e.button;return null==e.which&&void 0!==o&&Jg.test(e.type)&&(e.which=1&o?1:2&o?3:4&o?2:0),e}function on(t,e,n){Qg?t.addEventListener(e,n):t.attachEvent("on"+e,n)}function an(t,e,n){Qg?t.removeEventListener(e,n):t.detachEvent("on"+e,n)}function sn(t){return t.which>1}function ln(t){var e=t[1][0]-t[0][0],n=t[1][1]-t[0][1];return Math.sqrt(e*e+n*n)}function un(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function hn(t){return"mousewheel"===t&&bp.browser.firefox?"DOMMouseScroll":t}function cn(t,e,n){var i=t._gestureMgr;"start"===n&&i.clear();var r=i.recognize(e,t.handler.findHover(e.zrX,e.zrY,null).target,t.dom);if("end"===n&&i.clear(),r){var o=r.type;e.gestureEvent=o,t.handler.dispatchToElement({target:r.target},o,r.event)}}function dn(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=setTimeout(function(){t._touching=!1},700)}function fn(t){var e=t.pointerType;return"pen"===e||"touch"===e}function pn(t){function e(t,e){return function(){if(!e._touching)return t.apply(e,arguments)}}d(om,function(e){t._handlers[e]=m(lm[e],t)}),d(sm,function(e){t._handlers[e]=m(lm[e],t)}),d(rm,function(n){t._handlers[n]=e(lm[n],t)})}function gn(t){function e(e,n){d(e,function(e){on(t,hn(e),n._handlers[e])},n)}Zp.call(this),this.dom=t,this._touching=!1,this._touchTimer,this._gestureMgr=new nm,this._handlers={},pn(this),bp.pointerEventsSupported?e(sm,this):(bp.touchEventsSupported&&e(om,this),e(rm,this))}function mn(t,e){var n=new fm(_p(),t,e);return dm[n.id]=n,n}function vn(t,e){cm[t]=e}function yn(t){delete dm[t]}function xn(t){return t instanceof Array?t:null==t?[]:[t]}function _n(t,e,n){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var i=0,r=n.length;i=n.length&&n.push({option:t})}}),n}function Sn(t){var e=N();gm(t,function(t,n){var i=t.exist;i&&e.set(i.id,t)}),gm(t,function(t,n){var i=t.option;P(!i||null==i.id||!e.get(i.id)||e.get(i.id)===t,"id duplicates: "+(i&&i.id)),i&&null!=i.id&&e.set(i.id,t),!t.keyInfo&&(t.keyInfo={})}),gm(t,function(t,n){var i=t.exist,r=t.option,o=t.keyInfo;if(mm(r)){if(o.name=null!=r.name?r.name+"":i?i.name:ym+n,i)o.id=i.id;else if(null!=r.id)o.id=r.id+"";else{var a=0;do{o.id="\0"+o.name+"\0"+a++}while(e.get(o.id))}e.set(o.id,t)}})}function In(t){var e=t.name;return!(!e||!e.indexOf(ym))}function Cn(t){return mm(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Tn(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e.dataIndex?y(e.dataIndex)?f(e.dataIndex,function(e){return t.indexOfRawIndex(e)}):t.indexOfRawIndex(e.dataIndex):null!=e.name?y(e.name)?f(e.name,function(e){return t.indexOfName(e)}):t.indexOfName(e.name):void 0}function Dn(){var t="__\0ec_inner_"+_m+++"_"+Math.random().toFixed(5);return function(e){return e[t]||(e[t]={})}}function An(t,e,n){if(_(e)){var i={};i[e+"Index"]=0,e=i}var r=n&&n.defaultMainType;!r||kn(e,r+"Index")||kn(e,r+"Id")||kn(e,r+"Name")||(e[r+"Index"]=0);var o={};return gm(e,function(i,r){var i=e[r];if("dataIndex"!==r&&"dataIndexInside"!==r){var a=r.match(/^(\w+)(Index|Id|Name)$/)||[],s=a[1],u=(a[2]||"").toLowerCase();if(!(!s||!u||null==i||"index"===u&&"none"===i||n&&n.includeMainTypes&&l(n.includeMainTypes,s)<0)){var h={mainType:s};"index"===u&&"all"===i||(h[u]=i);var c=t.queryComponents(h);o[s+"Models"]=c,o[s+"Model"]=c[0]}}else o[r]=i}),o}function kn(t,e){return t&&t.hasOwnProperty(e)}function Pn(t,e,n){t.setAttribute?t.setAttribute(e,n):t[e]=n}function Ln(t,e){return t.getAttribute?t.getAttribute(e):t[e]}function On(t){var e={main:"",sub:""};return t&&(t=t.split(wm),e.main=t[0]||"",e.sub=t[1]||""),e}function zn(t){P(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}function En(t,e){t.$constructor=t,t.extend=function(t){var e=this,n=function(){t.$constructor?t.$constructor.apply(this,arguments):e.apply(this,arguments)};return o(n.prototype,t),n.extend=this.extend,n.superCall=Rn,n.superApply=Bn,u(n,this),n.superClass=e,n}}function Nn(t){var e=["__\0is_clz",Mm++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function Rn(t,e){var n=A(arguments,2);return this.superClass.prototype[e].apply(t,n)}function Bn(t,e,n){return this.superClass.prototype[e].apply(t,n)}function Vn(t,e){function n(t){var e=i[t.main];return e&&e[bm]||((e=i[t.main]={})[bm]=!0),e}e=e||{};var i={};if(t.registerClass=function(t,e){return e&&(zn(e),(e=On(e)).sub?e.sub!==bm&&(n(e)[e.sub]=t):i[e.main]=t),t},t.getClass=function(t,e,n){var r=i[t];if(r&&r[bm]&&(r=e?r[e]:null),n&&!r)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return r},t.getClassesByMainType=function(t){t=On(t);var e=[],n=i[t.main];return n&&n[bm]?d(n,function(t,n){n!==bm&&e.push(t)}):e.push(n),e},t.hasClass=function(t){return t=On(t),!!i[t.main]},t.getAllClassMainTypes=function(){var t=[];return d(i,function(e,n){t.push(n)}),t},t.hasSubTypes=function(t){t=On(t);var e=i[t.main];return e&&e[bm]},t.parseClassType=On,e.registerWhenExtend){var r=t.extend;r&&(t.extend=function(e){var n=r.call(this,e);return t.registerClass(n,e.type)})}return t}function Fn(t){return t>-Pm&&tPm||t<-Pm}function Gn(t,e,n,i,r){var o=1-r;return o*o*(o*t+3*r*e)+r*r*(r*i+3*o*n)}function Wn(t,e,n,i,r){var o=1-r;return 3*(((e-t)*o+2*(n-e)*r)*o+(i-n)*r*r)}function Zn(t,e,n,i,r,o){var a=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*a*l,c=s*l-9*a*u,d=l*l-3*s*u,f=0;if(Fn(h)&&Fn(c))Fn(s)?o[0]=0:(S=-l/s)>=0&&S<=1&&(o[f++]=S);else{var p=c*c-4*h*d;if(Fn(p)){var g=c/h,m=-g/2;(S=-s/a+g)>=0&&S<=1&&(o[f++]=S),m>=0&&m<=1&&(o[f++]=m)}else if(p>0){var v=km(p),y=h*s+1.5*a*(-c+v),x=h*s+1.5*a*(-c-v);(S=(-s-((y=y<0?-Am(-y,zm):Am(y,zm))+(x=x<0?-Am(-x,zm):Am(x,zm))))/(3*a))>=0&&S<=1&&(o[f++]=S)}else{var _=(2*h*s-3*a*c)/(2*km(h*h*h)),w=Math.acos(_)/3,b=km(h),M=Math.cos(w),S=(-s-2*b*M)/(3*a),m=(-s+b*(M+Om*Math.sin(w)))/(3*a),I=(-s+b*(M-Om*Math.sin(w)))/(3*a);S>=0&&S<=1&&(o[f++]=S),m>=0&&m<=1&&(o[f++]=m),I>=0&&I<=1&&(o[f++]=I)}}return f}function Un(t,e,n,i,r){var o=6*n-12*e+6*t,a=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(Fn(a))Hn(o)&&(c=-s/o)>=0&&c<=1&&(r[l++]=c);else{var u=o*o-4*a*s;if(Fn(u))r[0]=-o/(2*a);else if(u>0){var h=km(u),c=(-o+h)/(2*a),d=(-o-h)/(2*a);c>=0&&c<=1&&(r[l++]=c),d>=0&&d<=1&&(r[l++]=d)}}return l}function Xn(t,e,n,i,r,o){var a=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-a)*r+a,h=(l-s)*r+s,c=(h-u)*r+u;o[0]=t,o[1]=a,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=i}function jn(t,e,n,i,r,o,a,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;Em[0]=l,Em[1]=u;for(var y=0;y<1;y+=.05)Nm[0]=Gn(t,n,r,a,y),Nm[1]=Gn(e,i,o,s,y),(p=Hp(Em,Nm))=0&&p=0&&c<=1&&(r[l++]=c);else{var u=a*a-4*o*s;if(Fn(u))(c=-a/(2*o))>=0&&c<=1&&(r[l++]=c);else if(u>0){var h=km(u),c=(-a+h)/(2*o),d=(-a-h)/(2*o);c>=0&&c<=1&&(r[l++]=c),d>=0&&d<=1&&(r[l++]=d)}}return l}function Kn(t,e,n){var i=t+n-2*e;return 0===i?.5:(t-e)/i}function Qn(t,e,n,i,r){var o=(e-t)*i+t,a=(n-e)*i+e,s=(a-o)*i+o;r[0]=t,r[1]=o,r[2]=s,r[3]=s,r[4]=a,r[5]=n}function Jn(t,e,n,i,r,o,a,s,l){var u,h=.005,c=1/0;Em[0]=a,Em[1]=s;for(var d=0;d<1;d+=.05)Nm[0]=Yn(t,n,r,d),Nm[1]=Yn(e,i,o,d),(m=Hp(Em,Nm))=0&&m1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(Wm[0]=Hm(r)*n+t,Wm[1]=Fm(r)*i+e,Zm[0]=Hm(o)*n+t,Zm[1]=Fm(o)*i+e,u(s,Wm,Zm),h(l,Wm,Zm),(r%=Gm)<0&&(r+=Gm),(o%=Gm)<0&&(o+=Gm),r>o&&!a?o+=Gm:rr&&(Um[0]=Hm(f)*n+t,Um[1]=Fm(f)*i+e,u(s,Um,s),h(l,Um,l))}function oi(t,e,n,i,r,o,a){if(0===r)return!1;var s=r,l=0,u=t;if(a>e+s&&a>i+s||at+s&&o>n+s||oe+c&&h>i+c&&h>o+c&&h>s+c||ht+c&&u>n+c&&u>r+c&&u>a+c||ue+u&&l>i+u&&l>o+u||lt+u&&s>n+u&&s>r+u||sn||h+ur&&(r+=lv);var d=Math.atan2(l,s);return d<0&&(d+=lv),d>=i&&d<=r||d+lv>=i&&d+lv<=r}function hi(t,e,n,i,r,o){if(o>e&&o>i||or?a:0}function ci(t,e){return Math.abs(t-e)e&&u>i&&u>o&&u>s||u1&&di(),c=Gn(e,i,o,s,fv[0]),p>1&&(d=Gn(e,i,o,s,fv[1]))),2==p?me&&s>i&&s>o||s=0&&u<=1){for(var h=0,c=Yn(e,i,o,u),d=0;dn||s<-n)return 0;u=Math.sqrt(n*n-s*s);dv[0]=-u,dv[1]=u;var l=Math.abs(i-r);if(l<1e-4)return 0;if(l%hv<1e-4){i=0,r=hv;p=o?1:-1;return a>=dv[0]+t&&a<=dv[1]+t?p:0}if(o){var u=i;i=li(r),r=li(u)}else i=li(i),r=li(r);i>r&&(r+=hv);for(var h=0,c=0;c<2;c++){var d=dv[c];if(d+t>a){var f=Math.atan2(s,d),p=o?1:-1;f<0&&(f=hv+f),(f>=i&&f<=r||f+hv>=i&&f+hv<=r)&&(f>Math.PI/2&&f<1.5*Math.PI&&(p=-p),h+=p)}}return h}function mi(t,e,n,i,r){for(var o=0,a=0,s=0,l=0,u=0,h=0;h1&&(n||(o+=hi(a,s,l,u,i,r))),1==h&&(l=a=t[h],u=s=t[h+1]),c){case uv.M:a=l=t[h++],s=u=t[h++];break;case uv.L:if(n){if(oi(a,s,t[h],t[h+1],e,i,r))return!0}else o+=hi(a,s,t[h],t[h+1],i,r)||0;a=t[h++],s=t[h++];break;case uv.C:if(n){if(ai(a,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,i,r))return!0}else o+=fi(a,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],i,r)||0;a=t[h++],s=t[h++];break;case uv.Q:if(n){if(si(a,s,t[h++],t[h++],t[h],t[h+1],e,i,r))return!0}else o+=pi(a,s,t[h++],t[h++],t[h],t[h+1],i,r)||0;a=t[h++],s=t[h++];break;case uv.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++],y=(t[h++],1-t[h++]),x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?o+=hi(a,s,x,_,i,r):(l=x,u=_);var w=(i-d)*g/p+d;if(n){if(ui(d,f,g,m,m+v,y,e,w,r))return!0}else o+=gi(d,f,g,m,m+v,y,w,r);a=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case uv.R:l=a=t[h++],u=s=t[h++];var x=l+t[h++],_=u+t[h++];if(n){if(oi(l,u,x,u,e,i,r)||oi(x,u,x,_,e,i,r)||oi(x,_,l,_,e,i,r)||oi(l,_,l,u,e,i,r))return!0}else o+=hi(x,u,x,_,i,r),o+=hi(l,_,l,u,i,r);break;case uv.Z:if(n){if(oi(a,s,l,u,e,i,r))return!0}else o+=hi(a,s,l,u,i,r);a=l,s=u}}return n||ci(s,u)||(o+=hi(a,s,l,u,i,r)||0),0!==o}function vi(t,e,n){return mi(t,0,!1,e,n)}function yi(t,e,n,i){return mi(t,e,!0,n,i)}function xi(t){Xe.call(this,t),this.path=null}function _i(t,e,n,i,r,o,a,s,l,u,h){var c=l*(Cv/180),d=Iv(c)*(t-n)/2+Sv(c)*(e-i)/2,f=-1*Sv(c)*(t-n)/2+Iv(c)*(e-i)/2,p=d*d/(a*a)+f*f/(s*s);p>1&&(a*=Mv(p),s*=Mv(p));var g=(r===o?-1:1)*Mv((a*a*(s*s)-a*a*(f*f)-s*s*(d*d))/(a*a*(f*f)+s*s*(d*d)))||0,m=g*a*f/s,v=g*-s*d/a,y=(t+n)/2+Iv(c)*m-Sv(c)*v,x=(e+i)/2+Sv(c)*m+Iv(c)*v,_=Av([1,0],[(d-m)/a,(f-v)/s]),w=[(d-m)/a,(f-v)/s],b=[(-1*d-m)/a,(-1*f-v)/s],M=Av(w,b);Dv(w,b)<=-1&&(M=Cv),Dv(w,b)>=1&&(M=0),0===o&&M>0&&(M-=2*Cv),1===o&&M<0&&(M+=2*Cv),h.addData(u,y,x,a,s,_,M,c,o)}function wi(t){if(!t)return[];var e,n=t.replace(/-/g," -").replace(/ /g," ").replace(/ /g,",").replace(/,,/g,",");for(e=0;e0&&""===f[0]&&f.shift();for(var p=0;p=2){if(r&&"spline"!==r){var o=Rv(i,r,n,e.smoothConstraint);t.moveTo(i[0][0],i[0][1]);for(var a=i.length,s=0;s<(n?a:a-1);s++){var l=o[2*s],u=o[2*s+1],h=i[(s+1)%a];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===r&&(i=Nv(i,n)),t.moveTo(i[0][0],i[0][1]);for(var s=1,c=i.length;s=0)&&(i={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=n.autoColor,null==t.textStrokeWidth&&(t.textStrokeWidth=2))),i}function ir(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth)}function rr(t,e){var n=e||e.getModel("textStyle");return L([t.fontStyle||n&&n.getShallow("fontStyle")||"",t.fontWeight||n&&n.getShallow("fontWeight")||"",(t.fontSize||n&&n.getShallow("fontSize")||12)+"px",t.fontFamily||n&&n.getShallow("fontFamily")||"sans-serif"].join(" "))}function or(t,e,n,i,r,o){if("function"==typeof r&&(o=r,r=null),i&&i.isAnimationEnabled()){var a=t?"Update":"",s=i.getShallow("animationDuration"+a),l=i.getShallow("animationEasing"+a),u=i.getShallow("animationDelay"+a);"function"==typeof u&&(u=u(r,i.getAnimationDelayParams?i.getAnimationDelayParams(e,r):null)),"function"==typeof s&&(s=s(r)),s>0?e.animateTo(n,s,u||0,l,o,!!o):(e.stopAnimation(),e.attr(n),o&&o())}else e.stopAnimation(),e.attr(n),o&&o()}function ar(t,e,n,i,r){or(!0,t,e,n,i,r)}function sr(t,e,n,i,r){or(!1,t,e,n,i,r)}function lr(t,e){for(var n=ot([]);t&&t!==e;)st(n,t.getLocalTransform(),n),t=t.parent;return n}function ur(t,e,n){return e&&!c(e)&&(e=Qp.getLocalTransform(e)),n&&(e=ct([],e)),$([],t,e)}function hr(t,e,n){var i=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),r=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),o=["left"===t?-i:"right"===t?i:0,"top"===t?-r:"bottom"===t?r:0];return o=ur(o,e,n),Math.abs(o[0])>Math.abs(o[1])?o[0]>0?"right":"left":o[1]>0?"bottom":"top"}function cr(t,e,n,i){function r(t){var e={position:F(t.position),rotation:t.rotation};return t.shape&&(e.shape=o({},t.shape)),e}if(t&&e){var a=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=a[t.anid];if(e){var i=r(t);t.attr(r(e)),ar(t,i,n,t.dataIndex)}}})}}function dr(t,e){return f(t,function(t){var n=t[0];n=Kv(n,e.x),n=Qv(n,e.x+e.width);var i=t[1];return i=Kv(i,e.y),i=Qv(i,e.y+e.height),[n,i]})}function fr(t,e,n){var i=(e=o({rectHover:!0},e)).style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(i.image=t.slice(8),a(i,n),new je(e)):ki(t.replace("path://",""),e,n,"center")}function pr(t,e,n){this.parentModel=e,this.ecModel=n,this.option=t}function gr(t,e,n){for(var i=0;i0){if(t<=e[0])return n[0];if(t>=e[1])return n[1]}else{if(t>=e[0])return n[0];if(t<=e[1])return n[1]}else{if(t===e[0])return n[0];if(t===e[1])return n[1]}return(t-e[0])/r*o+n[0]}function _r(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?yr(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function wr(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function br(t){return t.sort(function(t,e){return t-e}),t}function Mr(t){if(t=+t,isNaN(t))return 0;for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}function Sr(t){var e=t.toString(),n=e.indexOf("e");if(n>0){var i=+e.slice(n+1);return i<0?-i:0}var r=e.indexOf(".");return r<0?0:e.length-1-r}function Ir(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),o=Math.round(n(Math.abs(e[1]-e[0]))/i),a=Math.min(Math.max(-r+o,0),20);return isFinite(a)?a:20}function Cr(t,e,n){if(!t[e])return 0;var i=p(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===i)return 0;for(var r=Math.pow(10,n),o=f(t,function(t){return(isNaN(t)?0:t)/i*r*100}),a=100*r,s=f(o,function(t){return Math.floor(t)}),l=p(s,function(t,e){return t+e},0),u=f(o,function(t,e){return t-s[e]});lh&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/r}function Tr(t){var e=2*Math.PI;return(t%e+e)%e}function Dr(t){return t>-ly&&t=-20?+t.toFixed(i<0?-i:0):t}function Or(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function zr(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function Er(t){return null==t?"":(t+"").replace(dy,function(t,e){return fy[e]})}function Nr(t,e,n){y(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],o=0;o':'':""}function Br(t,e){return t+="","0000".substr(0,e-t.length)+t}function Vr(t,e,n){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var i=Ar(e),r=n?"UTC":"",o=i["get"+r+"FullYear"](),a=i["get"+r+"Month"]()+1,s=i["get"+r+"Date"](),l=i["get"+r+"Hours"](),u=i["get"+r+"Minutes"](),h=i["get"+r+"Seconds"](),c=i["get"+r+"Milliseconds"]();return t=t.replace("MM",Br(a,2)).replace("M",a).replace("yyyy",o).replace("yy",o%100).replace("dd",Br(s,2)).replace("d",s).replace("hh",Br(l,2)).replace("h",l).replace("mm",Br(u,2)).replace("m",u).replace("ss",Br(h,2)).replace("s",h).replace("SSS",Br(c,3))}function Fr(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function Hr(t,e,n,i,r){var o=0,a=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);(h=o+m)>i||l.newline?(o=0,h=m,a+=s+n,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);(c=a+v)>r||l.newline?(o+=s+n,a=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=o,d[1]=a,"horizontal"===t?o=h+n:a=c+n)})}function Gr(t,e,n){n=cy(n||0);var i=e.width,r=e.height,o=_r(t.left,i),a=_r(t.top,r),s=_r(t.right,i),l=_r(t.bottom,r),u=_r(t.width,i),h=_r(t.height,r),c=n[2]+n[0],d=n[1]+n[3],f=t.aspect;switch(isNaN(u)&&(u=i-s-d-o),isNaN(h)&&(h=r-l-c-a),null!=f&&(isNaN(u)&&isNaN(h)&&(f>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(o)&&(o=i-s-u-d),isNaN(a)&&(a=r-l-h-c),t.left||t.right){case"center":o=i/2-u/2-n[3];break;case"right":o=i-u-d}switch(t.top||t.bottom){case"middle":case"center":a=r/2-h/2-n[0];break;case"bottom":a=r-h-c}o=o||0,a=a||0,isNaN(u)&&(u=i-d-o-(s||0)),isNaN(h)&&(h=r-c-a-(l||0));var p=new Xt(o+n[3],a+n[0],u,h);return p.margin=n,p}function Wr(t,e,n,i,r){var o=!r||!r.hv||r.hv[0],s=!r||!r.hv||r.hv[1],l=r&&r.boundingMode||"all";if(o||s){var u;if("raw"===l)u="group"===t.type?new Xt(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(u=u.clone()).applyTransform(h)}e=Gr(a({width:u.width,height:u.height},e),n,i);var c=t.position,d=o?e.x-u.x:0,f=s?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function Zr(t,e,n){function i(n,i){var a={},l=0,u={},h=0;if(xy(n,function(e){u[e]=t[e]}),xy(n,function(t){r(e,t)&&(a[t]=u[t]=e[t]),o(a,t)&&l++,o(u,t)&&h++}),s[i])return o(e,n[1])?u[n[2]]=null:o(e,n[2])&&(u[n[1]]=null),u;if(2!==h&&l){if(l>=2)return a;for(var c=0;ce)return t[i];return t[n-1]}function Yr(t){var e=t.get("coordinateSystem"),n={coordSysName:e,coordSysDims:[],axisMap:N(),categoryAxisMap:N()},i=ky[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}function qr(t){return"category"===t.get("type")}function $r(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===zy?{}:[]),this.sourceFormat=t.sourceFormat||Ey,this.seriesLayoutBy=t.seriesLayoutBy||Ry,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&N(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function Kr(t){var e=t.option.source,n=Ey;if(M(e))n=Ny;else if(y(e))for(var i=0,r=e.length;i=e:"max"===n?t<=e:t===e}function Mo(t,e){return t.join(",")===e.join(",")}function So(t,e){Zy(e=e||{},function(e,n){if(null!=e){var i=t[n];if(Iy.hasClass(n)){e=xn(e);var r=Mn(i=xn(i),e);t[n]=Xy(r,function(t){return t.option&&t.exist?jy(t.exist,t.option,!0):t.exist||t.option})}else t[n]=jy(i,e,!0)}})}function Io(t){var e=t&&t.itemStyle;if(e)for(var n=0,r=Ky.length;n=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||h<=0&&m<0){h+=m,f=m;break}}}return i[0]=h,i[1]=f,i});a.hostModel.setData(l),e.data=l})}function Ro(t,e){$r.isInstance(t)||(t=$r.seriesDataToSource(t)),this._source=t;var n=this._data=t.data,i=t.sourceFormat;i===Ny&&(this._offset=0,this._dimSize=e,this._data=n),o(this,ix[i===Ly?i+"_"+t.seriesLayoutBy:i])}function Bo(){return this._data.length}function Vo(t){return this._data[t]}function Fo(t){for(var e=0;ee.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function ea(t,e){d(t.CHANGABLE_METHODS,function(n){t.wrapMethod(n,v(na,e))})}function na(t){var e=ia(t);e&&e.setOutputEnd(this.count())}function ia(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}function ra(){this.group=new Sg,this.uid=vr("viewChart"),this.renderTask=Xo({plan:sa,reset:la}),this.renderTask.context={view:this}}function oa(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var n=0;n=0?i():c=setTimeout(i,-o),u=r};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function ha(t,e,n,i){var r=t[e];if(r){var o=r[xx]||r,a=r[bx];if(r[_x]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=ua(o,n,"debounce"===i))[xx]=o,r[bx]=i,r[_x]=n}return r}}function ca(t,e){var n=t[e];n&&n[xx]&&(t[e]=n[xx])}function da(t,e,n,i){this.ecInstance=t,this.api=e,this.unfinished;var n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice();this._allHandlers=n.concat(i),this._stageTaskMap=N()}function fa(t,e,n,i,r){function o(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}r=r||{};var a;d(e,function(e,s){if(!r.visualType||r.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each(function(t){o(r,t)&&(t.dirty(),c=!0)}),c&&h.dirty(),Dx(h,i);var f=t.getPerformArgs(h,r.block);d.each(function(t){t.perform(f)}),a|=h.perform(f)}else u&&u.each(function(s,l){o(r,s)&&s.dirty();var u=t.getPerformArgs(s,r.block);u.skip=!e.performRawSeries&&n.isSeriesFiltered(s.context.model),Dx(s,i),a|=s.perform(u)})}}),t.unfinished|=a}function pa(t,e,n,i,r){function o(n){var o=n.uid,s=a.get(o)||a.set(o,Xo({plan:_a,reset:wa,count:Ma}));s.context={model:n,ecModel:i,api:r,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},Sa(t,n,s)}var a=n.seriesTaskMap||(n.seriesTaskMap=N()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?i.eachRawSeries(o):s?i.eachRawSeriesByType(s,o):l&&l(i,r).each(o);var u=t._pipelineMap;a.each(function(t,e){u.get(e)||(t.dispose(),a.removeKey(e))})}function ga(t,e,n,i,r){function o(e){var n=e.uid,i=s.get(n);i||(i=s.set(n,Xo({reset:va,onDirty:xa})),a.dirty()),i.context={model:e,overallProgress:h,modifyOutputEnd:c},i.agent=a,i.__block=h,Sa(t,e,i)}var a=n.overallTask=n.overallTask||Xo({reset:ma});a.context={ecModel:i,api:r,overallReset:e.overallReset,scheduler:t};var s=a.agentStubMap=a.agentStubMap||N(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?i.eachRawSeriesByType(l,o):u?u(i,r).each(o):(h=!1,d(i.getSeries(),o));var f=t._pipelineMap;s.each(function(t,e){f.get(e)||(t.dispose(),a.dirty(),s.removeKey(e))})}function ma(t){t.overallReset(t.ecModel,t.api,t.payload)}function va(t,e){return t.overallProgress&&ya}function ya(){this.agent.dirty(),this.getDownstream().dirty()}function xa(){this.agent&&this.agent.dirty()}function _a(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function wa(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=xn(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?f(e,function(t,e){return ba(e)}):Ax}function ba(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var o=e.start;oe.get("hoverLayerThreshold")&&!bp.node&&n.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function Ua(t,e){var n=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==n&&t.setStyle("blend",n),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",n)})})}function Xa(t,e){var n=t.get("z"),i=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=i&&(t.zlevel=i))})}function ja(t){var e=t._coordSysMgr;return o(new vo(t),{getCoordinateSystems:m(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}}})}function Ya(t){function e(t,e){for(var i=0;i65535?x_:__}function ms(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function vs(t,e){d(w_.concat(e.__wrappedMethods||[]),function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),t.__wrappedMethods=e.__wrappedMethods,d(b_,function(i){t[i]=n(e[i])}),t._calculationInfo=o(e._calculationInfo)}function ys(t){var e=t._invertedIndicesMap;d(e,function(n,i){var r=t._dimensionInfos[i].ordinalMeta;if(r){n=e[i]=new x_(r.categories.length);for(o=0;o=0?this._indices[t]:-1}function bs(t,e){var n=t._idList[e];return null==n&&(n=xs(t,t._idDimIdx,e)),null==n&&(n=v_+e),n}function Ms(t){return y(t)||(t=[t]),t}function Ss(t,e){var n=t.dimensions,i=new M_(f(n,t.getDimensionInfo,t),t.hostModel);vs(i,t);for(var r=i._storage={},o=t._storage,a=0;a=0?(r[s]=Is(o[s]),i._rawExtent[s]=Cs(),i._extent[s]=null):r[s]=o[s])}return i}function Is(t){for(var e=new Array(t.length),n=0;ni&&(a=r.interval=i);var s=r.intervalPrecision=Hs(a);return Ws(r.niceTickExtent=[k_(Math.ceil(t[0]/a)*a,s),k_(Math.floor(t[1]/a)*a,s)],t),r}function Hs(t){return Sr(t)+2}function Gs(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Ws(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Gs(t,0,e),Gs(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Zs(t,e,n,i){var r=[];if(!t)return r;e[0]1e4)return[];return e[1]>(r.length?r[r.length-1]:n[1])&&r.push(e[1]),r}function Us(t){return t.get("stack")||O_+t.seriesIndex}function Xs(t){return t.dim+t.index}function js(t,e){var n=[];return e.eachSeriesByType(t,function(t){Ks(t)&&!Qs(t)&&n.push(t)}),n}function Ys(t){var e=[];return d(t,function(t){var n=t.getData(),i=t.coordinateSystem.getBaseAxis(),r=i.getExtent(),o="category"===i.type?i.getBandWidth():Math.abs(r[1]-r[0])/n.count(),a=_r(t.get("barWidth"),o),s=_r(t.get("barMaxWidth"),o),l=t.get("barGap"),u=t.get("barCategoryGap");e.push({bandWidth:o,barWidth:a,barMaxWidth:s,barGap:l,barCategoryGap:u,axisKey:Xs(i),stackId:Us(t)})}),qs(e)}function qs(t){var e={};d(t,function(t,n){var i=t.axisKey,r=t.bandWidth,o=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},a=o.stacks;e[i]=o;var s=t.stackId;a[s]||o.autoWidthCount++,a[s]=a[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!a[s].width&&(a[s].width=l,l=Math.min(o.remainedWidth,l),o.remainedWidth-=l);var u=t.barMaxWidth;u&&(a[s].maxWidth=u);var h=t.barGap;null!=h&&(o.gap=h);var c=t.barCategoryGap;null!=c&&(o.categoryGap=c)});var n={};return d(e,function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,o=_r(t.categoryGap,r),a=_r(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-o)/(l+(l-1)*a);u=Math.max(u,0),d(i,function(t,e){var n=t.maxWidth;n&&n=0||n?e.toGlobalCoord(e.dataToCoord(0)):e.getGlobalExtent()[0]}function tl(t,e){return U_(t,Z_(e))}function el(t,e){var n,i,r,o=t.type,a=e.getMin(),s=e.getMax(),l=null!=a,u=null!=s,h=t.getExtent();"ordinal"===o?n=e.getCategories().length:(y(i=e.get("boundaryGap"))||(i=[i||0,i||0]),"boolean"==typeof i[0]&&(i=[0,0]),i[0]=_r(i[0],1),i[1]=_r(i[1],1),r=h[1]-h[0]||Math.abs(h[0])),null==a&&(a="ordinal"===o?n?0:NaN:h[0]-i[0]*r),null==s&&(s="ordinal"===o?n?n-1:NaN:h[1]+i[1]*r),"dataMin"===a?a=h[0]:"function"==typeof a&&(a=a({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==a||!isFinite(a))&&(a=NaN),(null==s||!isFinite(s))&&(s=NaN),t.setBlank(I(a)||I(s)||"ordinal"===o&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(a>0&&s>0&&!l&&(a=0),a<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===o){var f,p=js("bar",c);if(d(p,function(t){f|=t.getBaseAxis()===e.axis}),f){var g=Ys(p),m=nl(a,s,e,g);a=m.min,s=m.max}}return[a,s]}function nl(t,e,n,i){var r=n.axis.getExtent(),o=r[1]-r[0],a=$s(i,n.axis);if(void 0===a)return{min:t,max:e};var s=1/0;d(a,function(t){s=Math.min(t.offset,s)});var l=-1/0;d(a,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}function il(t,e){var n=el(t,e),i=null!=e.getMin(),r=null!=e.getMax(),o=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var a=t.type;t.setExtent(n[0],n[1]),t.niceExtent({splitNumber:o,fixMin:i,fixMax:r,minInterval:"interval"===a||"time"===a?e.get("minInterval"):null,maxInterval:"interval"===a||"time"===a?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function rl(t,e){if(e=e||t.get("type"))switch(e){case"category":return new A_(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new L_;default:return(Ns.getClass(e)||L_).create(t)}}function ol(t){var e=t.scale.getExtent(),n=e[0],i=e[1];return!(n>0&&i>0||n<0&&i<0)}function al(t){var e=t.getLabelModel().get("formatter"),n="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(t){return function(e){return t.replace("{value}",null!=e?e:"")}}(e):"function"==typeof e?function(i,r){return null!=n&&(r=i-n),e(sl(t,i),r)}:function(e){return t.scale.getLabel(e)}}function sl(t,e){return"category"===t.type?t.scale.getLabel(e):e}function ll(t){var e=t.model,n=t.scale;if(e.get("axisLabel.show")&&!n.isBlank()){var i,r,o="category"===t.type,a=n.getExtent();r=o?n.count():(i=n.getTicks()).length;var s,l=t.getLabelModel(),u=al(t),h=1;r>40&&(h=Math.ceil(r/40));for(var c=0;c>1^-(1&s),l=l>>1^-(1&l),r=s+=r,o=l+=o,i.push([s/n,l/n])}return i}function vl(t){return"category"===t.type?xl(t):bl(t)}function yl(t,e){return"category"===t.type?wl(t,e):{ticks:t.scale.getTicks()}}function xl(t){var e=t.getLabelModel(),n=_l(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}function _l(t,e){var n=Ml(t,"labels"),i=Pl(e),r=Sl(n,i);if(r)return r;var o,a;return o=x(i)?kl(t,i):Al(t,a="auto"===i?Cl(t):i),Il(n,i,{labels:o,labelCategoryInterval:a})}function wl(t,e){var n=Ml(t,"ticks"),i=Pl(e),r=Sl(n,i);if(r)return r;var o,a;if(e.get("show")&&!t.scale.isBlank()||(o=[]),x(i))o=kl(t,i,!0);else if("auto"===i){var s=_l(t,t.getLabelModel());a=s.labelCategoryInterval,o=f(s.labels,function(t){return t.tickValue})}else o=Al(t,a=i,!0);return Il(n,i,{ticks:o,tickCategoryInterval:a})}function bl(t){var e=t.scale.getTicks(),n=al(t);return{labels:f(e,function(e,i){return{formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function Ml(t,e){return uw(t)[e]||(uw(t)[e]=[])}function Sl(t,e){for(var n=0;n40&&(s=Math.max(1,Math.floor(a/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),d=0,f=0;l<=o[1];l+=s){var p=0,g=0,m=ce(n(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=uw(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-a)<=1&&w>x?x=w:(_.lastTickCount=a,_.lastAutoInterval=x),x}function Dl(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function Al(t,e,n){function i(t){l.push(n?t:{formattedLabel:r(t),rawLabel:o.getLabel(t),tickValue:t})}var r=al(t),o=t.scale,a=o.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=a[0],c=o.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d={min:s.get("showMinLabel"),max:s.get("showMaxLabel")};d.min&&h!==a[0]&&i(a[0]);for(var f=h;f<=a[1];f+=u)i(f);return d.max&&f!==a[1]&&i(a[1]),l}function kl(t,e,n){var i=t.scale,r=al(t),o=[];return d(i.getTicks(),function(t){var a=i.getLabel(t);e(t,a)&&o.push(n?t:{formattedLabel:r(t),rawLabel:a,tickValue:t})}),o}function Pl(t){var e=t.get("interval");return null==e?"auto":e}function Ll(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}function Ol(t,e,n,i,r){function o(t,e){return h?t>e:t0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[a-1].coord+u},e.push(s)}var h=l[0]>l[1];o(e[0].coord,l[0])&&(r?e[0].coord=l[0]:e.shift()),r&&o(l[0],e[0].coord)&&e.unshift({coord:l[0]}),o(l[1],s.coord)&&(r?s.coord=l[1]:e.pop()),r&&o(s.coord,l[1])&&e.push({coord:l[1]})}}function zl(t,e){var n=t.mapDimension("defaultedLabel",!0),i=n.length;if(1===i)return Zo(t,e,n[0]);if(i){for(var r=[],o=0;o0?n=i[0]:i[1]<0&&(n=i[1]),n}function Zl(t,e,n,i){var r=NaN;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var o=t.baseDataOffset,a=[];return a[o]=n.get(t.baseDim,i),a[1-o]=r,e.dataToPoint(a)}function Ul(t,e){var n=[];return e.diff(t).add(function(t){n.push({cmd:"+",idx:t})}).update(function(t,e){n.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){n.push({cmd:"-",idx:t})}).execute(),n}function Xl(t){return isNaN(t[0])||isNaN(t[1])}function jl(t,e,n,i,r,o,a,s,l,u,h){return"none"!==u&&u?Yl.apply(this,arguments):ql.apply(this,arguments)}function Yl(t,e,n,i,r,o,a,s,l,u,h){for(var c=0,d=n,f=0;f=r||d<0)break;if(Xl(p)){if(h){d+=o;continue}break}if(d===n)t[o>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;Iw(Tw,g),Tw[m]=g[m]+v,Iw(Dw,p),Dw[m]=p[m]-v,t.bezierCurveTo(Tw[0],Tw[1],Dw[0],Dw[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=o}return f}function ql(t,e,n,i,r,o,a,s,l,u,h){for(var c=0,d=n,f=0;f=r||d<0)break;if(Xl(p)){if(h){d+=o;continue}break}if(d===n)t[o>0?"moveTo":"lineTo"](p[0],p[1]),Iw(Tw,p);else if(l>0){var g=d+o,m=e[g];if(h)for(;m&&Xl(e[g]);)m=e[g+=o];var v=.5,y=e[c];if(!(m=e[g])||Xl(m))Iw(Dw,p);else{Xl(m)&&!h&&(m=p),W(Cw,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=Fp(p,y),_=Fp(p,m);Sw(Dw,p,Cw,-l*(1-(v=_/(_+x))))}bw(Tw,Tw,s),Mw(Tw,Tw,a),bw(Dw,Dw,s),Mw(Dw,Dw,a),t.bezierCurveTo(Tw[0],Tw[1],Dw[0],Dw[1],p[0],p[1]),Sw(Tw,p,Cw,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=o}return f}function $l(t,e){var n=[1/0,1/0],i=[-1/0,-1/0];if(e)for(var r=0;ri[0]&&(i[0]=o[0]),o[1]>i[1]&&(i[1]=o[1])}return{min:e?n:i,max:e?i:n}}function Kl(t,e){if(t.length===e.length){for(var n=0;ne[0]?1:-1;e[0]+=i*n,e[1]-=i*n}return e}function tu(t,e,n){if(!n.valueDim)return[];for(var i=[],r=0,o=e.count();ro[1]&&o.reverse();var a=r.getExtent(),s=Math.PI/180;n&&(o[0]-=.5,o[1]+=.5);var l=new zv({shape:{cx:wr(t.cx,1),cy:wr(t.cy,1),r0:wr(o[0],1),r:wr(o[1],1),startAngle:-a[0]*s,endAngle:-a[1]*s,clockwise:r.inverse}});return e&&(l.shape.endAngle=-a[0]*s,sr(l,{shape:{endAngle:-a[1]*s}},i)),l}function iu(t,e,n,i){return"polar"===t.type?nu(t,e,n,i):eu(t,e,n,i)}function ru(t,e,n){for(var i=e.getBaseAxis(),r="x"===i.dim||"radius"===i.dim?0:1,o=[],a=0;a=0;o--){var a=n[o].dimension,s=t.dimensions[a],l=t.getDimensionInfo(s);if("x"===(i=l&&l.coordDim)||"y"===i){r=n[o];break}}if(r){var u=e.getAxis(i),h=f(r.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,p=r.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),p.reverse());var g=h[0].coord-10,m=h[c-1].coord+10,v=m-g;if(v<.001)return"transparent";d(h,function(t){t.offset=(t.coord-g)/v}),h.push({offset:c?h[c-1].offset:.5,color:p[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:p[0]||"transparent"});var y=new jv(0,0,0,0,h,!0);return y[i]=g,y[i+"2"]=m,y}}}function au(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var o=n.getAxesByScale("ordinal")[0];if(o&&(!r||!su(o,e))){var a=e.mapDimension(o.dim),s={};return d(o.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(a,t))}}}}function su(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),o=Math.max(1,Math.round(r/5)),a=0;ai)return!1;return!0}function lu(t){return this._axes[t]}function uu(t){Ew.call(this,t)}function hu(t,e){return e.type||(e.data?"category":"value")}function cu(t,e,n){return t.getCoordSysModel()===e}function du(t,e,n){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,n),this.model=t}function fu(t,e,n){n.getAxesOnZeroOf=function(){return i?[i]:[]};var i,r=t[e],o=n.model,a=o.get("axisLine.onZero"),s=o.get("axisLine.onZeroAxisIndex");if(a)if(null==s){for(var l in r)if(r.hasOwnProperty(l)&&pu(r[l])){i=r[l];break}}else pu(r[s])&&(i=r[s])}function pu(t){return t&&"category"!==t.type&&"time"!==t.type&&ol(t)}function gu(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return i-t+e}}function mu(t,e){return f(Zw,function(e){return t.getReferringComponents(e)[0]})}function vu(t){return"cartesian2d"===t.get("coordinateSystem")}function yu(t){var e={componentType:t.mainType};return e[t.mainType+"Index"]=t.componentIndex,e}function xu(t,e,n,i){var r,o,a=Tr(n-t.rotation),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;return Dr(a-Uw/2)?(o=l?"bottom":"top",r="center"):Dr(a-1.5*Uw)?(o=l?"top":"bottom",r="center"):(o="middle",r=a<1.5*Uw&&a>Uw/2?l?"left":"right":l?"right":"left"),{rotation:a,textAlign:r,textVerticalAlign:o}}function _u(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function wu(t,e,n){var i=t.get("axisLabel.showMinLabel"),r=t.get("axisLabel.showMaxLabel");e=e||[],n=n||[];var o=e[0],a=e[1],s=e[e.length-1],l=e[e.length-2],u=n[0],h=n[1],c=n[n.length-1],d=n[n.length-2];!1===i?(bu(o),bu(u)):Mu(o,a)&&(i?(bu(a),bu(h)):(bu(o),bu(u))),!1===r?(bu(s),bu(c)):Mu(l,s)&&(r?(bu(l),bu(d)):(bu(s),bu(c)))}function bu(t){t&&(t.ignore=!0)}function Mu(t,e,n){var i=t&&t.getBoundingRect().clone(),r=e&&e.getBoundingRect().clone();if(i&&r){var o=ot([]);return ut(o,o,-t.rotation),i.applyTransform(st([],o,t.getLocalTransform())),r.applyTransform(st([],o,e.getLocalTransform())),i.intersect(r)}}function Su(t){return"middle"===t||"center"===t}function Iu(t,e,n){var i=e.axis;if(e.get("axisTick.show")&&!i.scale.isBlank()){for(var r=e.getModel("axisTick"),o=r.getModel("lineStyle"),s=r.get("length"),l=i.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f=0||t===e}function Ou(t){var e=zu(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,o=n.get("status"),a=n.get("value");null!=a&&(a=i.parse(a));var s=Nu(n);null==o&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==a||a>l[1])&&(a=l[1]),a0?"bottom":"top":r.width>0?"left":"right";l||Hu(t.style,d,i,u,o,n,p),qi(t,d)}function Xu(t,e){var n=t.get(rb)||0;return Math.min(n,Math.abs(e.width),Math.abs(e.height))}function ju(t,e,n){var i=t.getData(),r=[],o=i.getLayout("valueAxisHorizontal")?1:0;r[1-o]=i.getLayout("valueAxisStart");var a=new sb({shape:{points:i.getLayout("largePoints")},incremental:!!n,__startPoint:r,__valueIdx:o});e.add(a),Yu(a,t,i)}function Yu(t,e,n){var i=n.getVisual("borderColor")||n.getVisual("color"),r=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(r),t.style.fill=null,t.style.stroke=i,t.style.lineWidth=n.getLayout("barWidth")}function qu(t,e,n,i){var r=e.getData(),o=this.dataIndex,a=r.getName(o),s=e.get("selectedOffset");i.dispatchAction({type:"pieToggleSelect",from:t,name:a,seriesId:e.id}),r.each(function(t){$u(r.getItemGraphicEl(t),r.getItemLayout(t),e.isSelected(r.getName(t)),s,n)})}function $u(t,e,n,i,r){var o=(e.startAngle+e.endAngle)/2,a=Math.cos(o),s=Math.sin(o),l=n?i:0,u=[a*l,s*l];r?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function Ku(t,e){function n(){o.ignore=o.hoverIgnore,a.ignore=a.hoverIgnore}function i(){o.ignore=o.normalIgnore,a.ignore=a.normalIgnore}Sg.call(this);var r=new zv({z2:2}),o=new Vv,a=new kv;this.add(r),this.add(o),this.add(a),this.updateData(t,e,!0),this.on("emphasis",n).on("normal",i).on("mouseover",n).on("mouseout",i)}function Qu(t,e,n,i,r,o,a){function s(e,n){for(var i=e;i>=0&&(t[i].y-=n,!(i>0&&t[i].y>t[i-1].y+t[i-1].height));i--);}function l(t,e,n,i,r,o){for(var a=e?Number.MAX_VALUE:0,s=0,l=t.length;s=a&&(d=a-10),!e&&d<=a&&(d=a+10),t[s].x=n+d*o,a=d}}t.sort(function(t,e){return t.y-e.y});for(var u,h=0,c=t.length,d=[],f=[],p=0;pe&&o+1t[o].y+t[o].height)return void s(o,i/2);s(n-1,i/2)}(p,c,-u),h=t[p].y+t[p].height;a-h<0&&s(c-1,h-a);for(p=0;p=n?f.push(t[p]):d.push(t[p]);l(d,!1,e,n,i,r),l(f,!0,e,n,i,r)}function Ju(t,e,n,i,r,o){for(var a=[],s=[],l=0;l=0&&s<0)&&(a=p,s=f,r=u,o.length=0),xb(h,function(t){o.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:o,snapToValue:r}}function hh(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function ch(t,e,n,i){var r=n.payloadBatch,o=e.axis,a=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=Ru(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:a.componentIndex,axisType:a.type,axisId:a.id,value:i,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:r.slice()})}}function dh(t,e,n){var i=n.axesInfo=[];xb(e,function(e,n){var r=e.axisPointerModel.option,o=t[n];o?(!e.useHandle&&(r.status="show"),r.value=o.value,r.seriesDataIndices=(o.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})})}function fh(t,e,n,i){if(!vh(e)&&t.list.length){var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}else i({type:"hideTip"})}function ph(t,e,n){var i=n.getZr(),r=wb(i).axisPointerLastHighlights||{},o=wb(i).axisPointerLastHighlights={};xb(t,function(t,e){var n=t.axisPointerModel.option;"show"===n.status&&xb(n.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;o[e]=t})});var a=[],s=[];d(r,function(t,e){!o[e]&&s.push(t)}),d(o,function(t,e){!r[e]&&a.push(t)}),s.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,batch:s}),a.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,batch:a})}function gh(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}function mh(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+"AxisIndex"]=e.componentIndex,n.axisName=n[i+"AxisName"]=e.name,n.axisId=n[i+"AxisId"]=e.id,n}function vh(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function yh(t,e,n){if(!bp.node){var i=e.getZr();bb(i).records||(bb(i).records={}),xh(i,e),(bb(i).records[t]||(bb(i).records[t]={})).handler=n}}function xh(t,e){function n(n,i){t.on(n,function(n){var r=Mh(e);Mb(bb(t).records,function(t){t&&i(t,n,r.dispatchAction)}),_h(r.pendings,e)})}bb(t).initialized||(bb(t).initialized=!0,n("click",v(bh,"click")),n("mousemove",v(bh,"mousemove")),n("globalout",wh))}function _h(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]),n&&(n.dispatchAction=null,e.dispatchAction(n))}function wh(t,e,n){t.handler("leave",null,n)}function bh(t,e,n,i){e.handler(t,n,i)}function Mh(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}function Sh(t,e){if(!bp.node){var n=e.getZr();(bb(n).records||{})[t]&&(bb(n).records[t]=null)}}function Ih(){}function Ch(t,e,n,i){Th(Ib(n).lastProp,i)||(Ib(n).lastProp=i,e?ar(n,i,t):(n.stopAnimation(),n.attr(i)))}function Th(t,e){if(w(t)&&w(e)){var n=!0;return d(e,function(e,i){n=n&&Th(t[i],e)}),!!n}return t===e}function Dh(t,e){t[e.get("label.show")?"show":"hide"]()}function Ah(t){return{position:t.position.slice(),rotation:t.rotation||0}}function kh(t,e,n){var i=e.get("z"),r=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)})}function Ph(t){var e,n=t.get("type"),i=t.getModel(n+"Style");return"line"===n?(e=i.getLineStyle()).fill=null:"shadow"===n&&((e=i.getAreaStyle()).stroke=null),e}function Lh(t,e,n,i,r){var o=zh(n.get("value"),e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get("label.precision"),formatter:n.get("label.formatter")}),a=n.getModel("label"),s=cy(a.get("padding")||0),l=a.getFont(),u=ce(o,l),h=r.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=r.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=r.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),Oh(h,c,d,i);var g=a.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:a.get("borderRadius")},position:h.slice(),style:{text:o,textFont:l,textFill:a.getTextColor(),textPosition:"inside",fill:g,stroke:a.get("borderColor")||"transparent",lineWidth:a.get("borderWidth")||0,shadowBlur:a.get("shadowBlur"),shadowColor:a.get("shadowColor"),shadowOffsetX:a.get("shadowOffsetX"),shadowOffsetY:a.get("shadowOffsetY")},z2:10}}function Oh(t,e,n,i){var r=i.getWidth(),o=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,o)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function zh(t,e,n,i,r){t=e.scale.parse(t);var o=e.scale.getLabel(t,{precision:r.precision}),a=r.formatter;if(a){var s={value:sl(e,t),seriesData:[]};d(i,function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)}),_(a)?o=a.replace("{value}",o):x(a)&&(o=a(s))}return o}function Eh(t,e,n){var i=rt();return ut(i,i,n.rotation),lt(i,i,n.position),ur([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function Nh(t,e,n,i,r,o){var a=Xw.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get("label.margin"),Lh(e,i,r,o,{position:Eh(i.axis,t,n),align:a.textAlign,verticalAlign:a.textVerticalAlign})}function Rh(t,e,n){return n=n||0,{x1:t[n],y1:t[1-n],x2:e[n],y2:e[1-n]}}function Bh(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}}function Vh(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}function Fh(t){return"x"===t.dim?0:1}function Hh(t){var e="left "+t+"s cubic-bezier(0.23, 1, 0.32, 1),top "+t+"s cubic-bezier(0.23, 1, 0.32, 1)";return f(Lb,function(t){return t+"transition:"+e}).join(";")}function Gh(t){var e=[],n=t.get("fontSize"),i=t.getTextColor();return i&&e.push("color:"+i),e.push("font:"+t.getFont()),n&&e.push("line-height:"+Math.round(3*n/2)+"px"),kb(["decoration","align"],function(n){var i=t.get(n);i&&e.push("text-"+n+":"+i)}),e.join(";")}function Wh(t){var e=[],n=t.get("transitionDuration"),i=t.get("backgroundColor"),r=t.getModel("textStyle"),o=t.get("padding");return n&&e.push(Hh(n)),i&&(bp.canvasSupported?e.push("background-Color:"+i):(e.push("background-Color:#"+Dt(i)),e.push("filter:alpha(opacity=70)"))),kb(["width","color","radius"],function(n){var i="border-"+n,r=Pb(i),o=t.get(r);null!=o&&e.push(i+":"+o+("color"===n?"":"px"))}),e.push(Gh(r)),null!=o&&e.push("padding:"+cy(o).join("px ")+"px"),e.join(";")+";"}function Zh(t,e){if(bp.wxa)return null;var n=document.createElement("div"),i=this._zr=e.getZr();this.el=n,this._x=e.getWidth()/2,this._y=e.getHeight()/2,t.appendChild(n),this._container=t,this._show=!1,this._hideTimeout;var r=this;n.onmouseenter=function(){r._enterable&&(clearTimeout(r._hideTimeout),r._show=!0),r._inContent=!0},n.onmousemove=function(e){if(e=e||window.event,!r._enterable){var n=i.handler;rn(t,e,!0),n.dispatch("mousemove",e)}},n.onmouseleave=function(){r._enterable&&r._show&&r.hideLater(r._hideDelay),r._inContent=!1}}function Uh(t){for(var e=t.pop();t.length;){var n=t.pop();n&&(pr.isInstance(n)&&(n=n.get("tooltip",!0)),"string"==typeof n&&(n={formatter:n}),e=new pr(n,e,e.ecModel))}return e}function Xh(t,e){return t.dispatchAction||m(e.dispatchAction,e)}function jh(t,e,n,i,r,o,a){var s=qh(n),l=s.width,u=s.height;return null!=o&&(t+l+o>i?t-=l+o:t+=o),null!=a&&(e+u+a>r?e-=u+a:e+=a),[t,e]}function Yh(t,e,n,i,r){var o=qh(n),a=o.width,s=o.height;return t=Math.min(t+a,i)-a,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function qh(t){var e=t.clientWidth,n=t.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var i=document.defaultView.getComputedStyle(t);i&&(e+=parseInt(i.paddingLeft,10)+parseInt(i.paddingRight,10)+parseInt(i.borderLeftWidth,10)+parseInt(i.borderRightWidth,10),n+=parseInt(i.paddingTop,10)+parseInt(i.paddingBottom,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10))}return{width:e,height:n}}function $h(t,e,n){var i=n[0],r=n[1],o=0,a=0,s=e.width,l=e.height;switch(t){case"inside":o=e.x+s/2-i/2,a=e.y+l/2-r/2;break;case"top":o=e.x+s/2-i/2,a=e.y-r-5;break;case"bottom":o=e.x+s/2-i/2,a=e.y+l+5;break;case"left":o=e.x-i-5,a=e.y+l/2-r/2;break;case"right":o=e.x+s+5,a=e.y+l/2-r/2}return[o,a]}function Kh(t){return"center"===t||"middle"===t}function Qh(t,e,n){var i,r={},o="toggleSelected"===t;return n.eachComponent("legend",function(n){o&&null!=i?n[i?"select":"unSelect"](e.name):(n[t](e.name),i=n.isSelected(e.name)),d(n.getData(),function(t){var e=t.get("name");if("\n"!==e&&""!==e){var i=n.isSelected(e);r.hasOwnProperty(e)?r[e]=r[e]&&i:r[e]=i}})}),{name:e.name,selected:r}}function Jh(t,e,n){var i=e.getBoxLayoutParams(),r=e.get("padding"),o={width:n.getWidth(),height:n.getHeight()},a=Gr(i,o,r);by(e.get("orient"),t,e.get("itemGap"),a.width,a.height),Wr(t,i,o,r)}function tc(t,e){var n=cy(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),t=new Fv({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1})}function ec(t,e){e.dispatchAction({type:"legendToggleSelect",name:t})}function nc(t,e,n,i){var r=n.getZr().storage.getDisplayList()[0];r&&r.useHoverLayer||n.dispatchAction({type:"highlight",seriesName:t.name,name:e,excludeSeriesId:i})}function ic(t,e,n,i){var r=n.getZr().storage.getDisplayList()[0];r&&r.useHoverLayer||n.dispatchAction({type:"downplay",seriesName:t.name,name:e,excludeSeriesId:i})}function rc(t,e,n){var i=[1,1];i[t.getOrient().index]=0,Zr(e,n,{type:"box",ignoreSize:i})}function oc(t){_n(t,"label",["show"])}function ac(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}function sc(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}function lc(t,e,n,i,r,o){var a=[],s=Ps(e,i)?e.getCalculationInfo("stackResultDimension"):i,l=pc(e,s,t),u=e.indicesOfNearest(s,l)[0];a[r]=e.get(n,u),a[o]=e.get(i,u);var h=Mr(e.get(i,u));return(h=Math.min(h,20))>=0&&(a[o]=+a[o].toFixed(h)),a}function uc(t,e){var i=t.getData(),r=t.coordinateSystem;if(e&&!sc(e)&&!y(e.coord)&&r){var o=r.dimensions,a=hc(e,i,r,t);if((e=n(e)).type&&Qb[e.type]&&a.baseAxis&&a.valueAxis){var s=$b(o,a.baseAxis.dim),l=$b(o,a.valueAxis.dim);e.coord=Qb[e.type](i,a.baseDataDim,a.valueDataDim,s,l),e.value=e.coord[l]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)Qb[u[h]]&&(u[h]=pc(i,i.mapDimension(o[h]),u[h]));e.coord=u}}return e}function hc(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(cc(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function cc(t,e){var n=t.getData(),i=n.dimensions;e=n.getDimension(e);for(var r=0;r=0}function Fc(t,e,n){function i(t,e){return l(e.nodes,t)>=0}function r(t,i){var r=!1;return e(function(e){d(n(t,e)||[],function(t){i.records[e.name][t]&&(r=!0)})}),r}function o(t,i){i.nodes.push(t),e(function(e){d(n(t,e)||[],function(t){i.records[e.name][t]=!0})})}return function(n){var a={nodes:[],records:{}};if(e(function(t){a.records[t.name]={}}),!n)return a;o(n,a);var s;do{s=!1,t(function(t){!i(t,a)&&r(t,a)&&(o(t,a),s=!0)})}while(s);return a}}function Hc(t,e,n){var i=[1/0,-1/0];return cM(n,function(t){var n=t.getData();n&&cM(n.mapDimension(e,!0),function(t){var e=n.getApproximateExtent(t);e[0]i[1]&&(i[1]=e[1])})}),i[1]0?0:NaN);var a=n.getMax(!0);return null!=a&&"dataMax"!==a&&"function"!=typeof a?e[1]=a:r&&(e[1]=o>0?o-1:NaN),n.get("scale",!0)||(e[0]>0&&(e[0]=0),e[1]<0&&(e[1]=0)),e}function Wc(t,e){var n=t.getAxisModel(),i=t._percentWindow,r=t._valueWindow;if(i){var o=Ir(r,[0,500]);o=Math.min(o,20);var a=e||0===i[0]&&100===i[1];n.setRange(a?null:+r[0].toFixed(o),a?null:+r[1].toFixed(o))}}function Zc(t){var e=t._minMaxSpan={},n=t._dataZoomModel;cM(["min","max"],function(i){e[i+"Span"]=n.get(i+"Span");var r=n.get(i+"ValueSpan");if(null!=r&&(e[i+"ValueSpan"]=r,null!=(r=t.getAxisModel().axis.scale.parse(r)))){var o=t._dataExtent;e[i+"Span"]=xr(o[0]+r,o,[0,100],!0)}})}function Uc(t){var e={};return pM(["start","end","startValue","endValue","throttle"],function(n){t.hasOwnProperty(n)&&(e[n]=t[n])}),e}function Xc(t,e){var n=t._rangePropMode,i=t.get("rangeMode");pM([["start","startValue"],["end","endValue"]],function(t,r){var o=null!=e[t[0]],a=null!=e[t[1]];o&&!a?n[r]="percent":!o&&a?n[r]="value":i?n[r]=i[r]:o&&(n[r]="percent")})}function jc(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function Yc(t,e){return Math.min(e[1],Math.max(e[0],t))}function qc(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}function $c(t){return"vertical"===t?"ns-resize":"ew-resize"}function Kc(t,e,n){td(t)[e]=n}function Qc(t,e,n){var i=td(t);i[e]===n&&(i[e]=null)}function Jc(t,e){return!!td(t)[e]}function td(t){return t[DM]||(t[DM]={})}function ed(t){this.pointerChecker,this._zr=t,this._opt={};var e=m,i=e(nd,this),r=e(id,this),o=e(rd,this),s=e(od,this),l=e(ad,this);Zp.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(e,u){this.disable(),this._opt=a(n(u)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,preventDefaultMouseMove:!0}),null==e&&(e=!0),!0!==e&&"move"!==e&&"pan"!==e||(t.on("mousedown",i),t.on("mousemove",r),t.on("mouseup",o)),!0!==e&&"scale"!==e&&"zoom"!==e||(t.on("mousewheel",s),t.on("pinch",l))},this.disable=function(){t.off("mousedown",i),t.off("mousemove",r),t.off("mouseup",o),t.off("mousewheel",s),t.off("pinch",l)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function nd(t){if(!(sn(t)||t.target&&t.target.draggable)){var e=t.offsetX,n=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,n)&&(this._x=e,this._y=n,this._dragging=!0)}}function id(t){if(!sn(t)&&ld(this,"moveOnMouseMove",t)&&this._dragging&&"pinch"!==t.gestureEvent&&!Jc(this._zr,"globalPan")){var e=t.offsetX,n=t.offsetY,i=this._x,r=this._y,o=e-i,a=n-r;this._x=e,this._y=n,this._opt.preventDefaultMouseMove&&tm(t.event),this.trigger("pan",o,a,i,r,e,n)}}function rd(t){sn(t)||(this._dragging=!1)}function od(t){if(ld(this,"zoomOnMouseWheel",t)&&0!==t.wheelDelta){var e=t.wheelDelta>0?1.1:1/1.1;sd.call(this,t,e,t.offsetX,t.offsetY)}}function ad(t){if(!Jc(this._zr,"globalPan")){var e=t.pinchScale>1?1.1:1/1.1;sd.call(this,t,e,t.pinchX,t.pinchY)}}function sd(t,e,n,i){this.pointerChecker&&this.pointerChecker(t,n,i)&&(tm(t.event),this.trigger("zoom",e,n,i))}function ld(t,e,n){var i=t._opt[e];return i&&(!_(i)||n.event[i+"Key"])}function ud(t,e){var n=dd(t),i=e.dataZoomId,r=e.coordId;d(n,function(t,n){var o=t.dataZoomInfos;o[i]&&l(e.allCoordIds,r)<0&&(delete o[i],t.count--)}),pd(n);var o=n[r];o||((o=n[r]={coordId:r,dataZoomInfos:{},count:0}).controller=fd(t,o),o.dispatchAction=v(yd,t)),!o.dataZoomInfos[i]&&o.count++,o.dataZoomInfos[i]=e;var a=xd(o.dataZoomInfos);o.controller.enable(a.controlType,a.opt),o.controller.setPointerChecker(e.containsPoint),ha(o,"dispatchAction",e.throttleRate,"fixRate")}function hd(t,e){var n=dd(t);d(n,function(t){t.controller.dispose();var n=t.dataZoomInfos;n[e]&&(delete n[e],t.count--)}),pd(n)}function cd(t){return t.type+"\0_"+t.id}function dd(t){var e=t.getZr();return e[kM]||(e[kM]={})}function fd(t,e){var n=new ed(t.getZr());return n.on("pan",AM(gd,e)),n.on("zoom",AM(md,e)),n}function pd(t){d(t,function(e,n){e.count||(e.controller.dispose(),delete t[n])})}function gd(t,e,n,i,r,o,a){vd(t,function(s){return s.panGetRange(t.controller,e,n,i,r,o,a)})}function md(t,e,n,i){vd(t,function(r){return r.zoomGetRange(t.controller,e,n,i)})}function vd(t,e){var n=[];d(t.dataZoomInfos,function(t){var i=e(t);!t.disabled&&i&&n.push({dataZoomId:t.dataZoomId,start:i[0],end:i[1]})}),n.length&&t.dispatchAction(n)}function yd(t,e){t.dispatchAction({type:"dataZoom",batch:e})}function xd(t){var e,n={},i={type_true:2,type_move:1,type_false:0,type_undefined:-1};return d(t,function(t){var r=!t.disabled&&(!t.zoomLock||"move");i["type_"+r]>i["type_"+e]&&(e=r),o(n,t.roamControllerOpt)}),{controlType:e,opt:n}}function _d(t,e){zM[t]=e}function wd(t){return zM[t]}function bd(t){return 0===t.indexOf("my")}function Md(t){this.model=t}function Sd(t){this.model=t}function Id(t){var e={},n=[],i=[];return t.eachRawSeries(function(t){var r=t.coordinateSystem;if(!r||"cartesian2d"!==r.type&&"polar"!==r.type)n.push(t);else{var o=r.getBaseAxis();if("category"===o.type){var a=o.dim+"_"+o.index;e[a]||(e[a]={categoryAxis:o,valueAxis:r.getOtherAxis(o),series:[]},i.push({axisDim:o.dim,axisIndex:o.index})),e[a].series.push(t)}else n.push(t)}}),{seriesGroupByCategoryAxis:e,other:n,meta:i}}function Cd(t){var e=[];return d(t,function(t,n){var i=t.categoryAxis,r=t.valueAxis.dim,o=[" "].concat(f(t.series,function(t){return t.name})),a=[i.model.getCategories()];d(t.series,function(t){a.push(t.getRawData().mapArray(r,function(t){return t}))});for(var s=[o.join(WM)],l=0;l=0)return!0}function Pd(t){for(var e=t.split(/\n+/g),n=[],i=f(Ad(e.shift()).split(ZM),function(t){return{name:t,data:[]}}),r=0;rQM}function $d(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function Kd(t,e,n,i){var r=new Sg;return r.add(new Fv({name:"main",style:ef(n),silent:!0,draggable:!0,cursor:"move",drift:UM(t,e,r,"nswe"),ondragend:UM(Yd,e,{isEnd:!0})})),XM(i,function(n){r.add(new Fv({name:n,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:UM(t,e,r,n),ondragend:UM(Yd,e,{isEnd:!0})}))}),r}function Qd(t,e,n,i){var r=i.brushStyle.lineWidth||0,o=qM(r,JM),a=n[0][0],s=n[1][0],l=a-r/2,u=s-r/2,h=n[0][1],c=n[1][1],d=h-o+r/2,f=c-o+r/2,p=h-a,g=c-s,m=p+r,v=g+r;tf(t,e,"main",a,s,p,g),i.transformable&&(tf(t,e,"w",l,u,o,v),tf(t,e,"e",d,u,o,v),tf(t,e,"n",l,u,m,o),tf(t,e,"s",l,f,m,o),tf(t,e,"nw",l,u,o,o),tf(t,e,"ne",d,u,o,o),tf(t,e,"sw",l,f,o,o),tf(t,e,"se",d,f,o,o))}function Jd(t,e){var n=e.__brushOption,i=n.transformable,r=e.childAt(0);r.useStyle(ef(n)),r.attr({silent:!i,cursor:i?"move":"default"}),XM(["w","e","n","s","se","sw","ne","nw"],function(n){var r=e.childOfName(n),o=of(t,n);r&&r.attr({silent:!i,invisible:!i,cursor:i?nS[o]+"-resize":null})})}function tf(t,e,n,i,r,o,a){var s=e.childOfName(n);s&&s.setShape(hf(uf(t,e,[[i,r],[i+o,r+a]])))}function ef(t){return a({strokeNoScale:!0},t.brushStyle)}function nf(t,e,n,i){var r=[YM(t,n),YM(e,i)],o=[qM(t,n),qM(e,i)];return[[r[0],o[0]],[r[1],o[1]]]}function rf(t){return lr(t.group)}function of(t,e){if(e.length>1)return("e"===(i=[of(t,(e=e.split(""))[0]),of(t,e[1])])[0]||"w"===i[0])&&i.reverse(),i.join("");var n={left:"w",right:"e",top:"n",bottom:"s"},i=hr({w:"left",e:"right",n:"top",s:"bottom"}[e],rf(t));return n[i]}function af(t,e,n,i,r,o,a,s){var l=i.__brushOption,u=t(l.range),h=lf(n,o,a);XM(r.split(""),function(t){var e=eS[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(nf(u[0][0],u[1][0],u[0][1],u[1][1])),Wd(n,i),Yd(n,{isEnd:!1})}function sf(t,e,n,i,r){var o=e.__brushOption.range,a=lf(t,n,i);XM(o,function(t){t[0]+=a[0],t[1]+=a[1]}),Wd(t,e),Yd(t,{isEnd:!1})}function lf(t,e,n){var i=t.group,r=i.transformCoordToLocal(e,n),o=i.transformCoordToLocal(0,0);return[r[0]-o[0],r[1]-o[1]]}function uf(t,e,i){var r=Xd(t,e);return r&&!0!==r?r.clipPath(i,t._transform):n(i)}function hf(t){var e=YM(t[0][0],t[1][0]),n=YM(t[0][1],t[1][1]);return{x:e,y:n,width:qM(t[0][0],t[1][0])-e,height:qM(t[0][1],t[1][1])-n}}function cf(t,e,n){if(t._brushType){var i=t._zr,r=t._covers,o=Ud(t,e,n);if(!t._dragging)for(var a=0;a=0)&&t(o,i,r)})}function Sf(t){return t[0]>t[1]&&t.reverse(),t}function If(t,e){return An(t,e,{includeMainTypes:dS})}function Cf(t,e,n,i){var r=n.getAxis(["x","y"][t]),o=Sf(f([0,1],function(t){return e?r.coordToData(r.toLocalCoord(i[t])):r.toGlobalCoord(r.dataToCoord(i[t]))})),a=[];return a[t]=o,a[1-t]=[NaN,NaN],{values:o,xyMinMax:a}}function Tf(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}function Df(t,e){var n=Af(t),i=Af(e),r=[n[0]/i[0],n[1]/i[1]];return isNaN(r[0])&&(r[0]=1),isNaN(r[1])&&(r[1]=1),r}function Af(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}function kf(t,e){var n=zf(t);xS(e,function(e,i){for(var r=n.length-1;r>=0&&!n[r][i];r--);if(r<0){var o=t.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(o){var a=o.getPercentRange();n[0][i]={dataZoomId:i,start:a[0],end:a[1]}}}}),n.push(e)}function Pf(t){var e=zf(t),n=e[e.length-1];e.length>1&&e.pop();var i={};return xS(n,function(t,n){for(var r=e.length-1;r>=0;r--)if(t=e[r][n]){i[n]=t;break}}),i}function Lf(t){t[_S]=null}function Of(t){return zf(t).length}function zf(t){var e=t[_S];return e||(e=t[_S]=[{}]),e}function Ef(t,e,n){(this._brushController=new Nd(n.getZr())).on("brush",m(this._onBrush,this)).mount(),this._isZoomActive}function Nf(t){var e={};return d(["xAxisIndex","yAxisIndex"],function(n){e[n]=t[n],null==e[n]&&(e[n]="all"),(!1===e[n]||"none"===e[n])&&(e[n]=[])}),e}function Rf(t,e){t.setIconStatus("back",Of(e)>1?"emphasis":"normal")}function Bf(t,e,n,i,r){var o=n._isZoomActive;i&&"takeGlobalCursor"===i.type&&(o="dataZoomSelect"===i.key&&i.dataZoomSelectActive),n._isZoomActive=o,t.setIconStatus("zoom",o?"emphasis":"normal");var a=new Mf(Nf(t.option),e,{include:["grid"]});n._brushController.setPanels(a.makePanelOpts(r,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!o&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}function Vf(t){this.model=t}function Ff(t){return TS(t)}function Hf(){if(!kS&&PS){kS=!0;var t=PS.styleSheets;t.length<31?PS.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}function Gf(t){return parseInt(t,10)}function Wf(t,e){Hf(),this.root=t,this.storage=e;var n=document.createElement("div"),i=document.createElement("div");n.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",i.style.cssText="position:absolute;left:0;top:0;",t.appendChild(n),this._vmlRoot=i,this._vmlViewport=n,this.resize();var r=e.delFromStorage,o=e.addToStorage;e.delFromStorage=function(t){r.call(e,t),t&&t.onRemove&&t.onRemove(i)},e.addToStorage=function(t){t.onAdd&&t.onAdd(i),o.call(e,t)},this._firstPaint=!0}function Zf(t){return function(){yg('In IE8.0 VML mode painter not support method "'+t+'"')}}function Uf(t){return document.createElementNS(cI,t)}function Xf(t){return gI(1e4*t)/1e4}function jf(t){return t-wI}function Yf(t,e){var n=e?t.textFill:t.fill;return null!=n&&n!==pI}function qf(t,e){var n=e?t.textStroke:t.stroke;return null!=n&&n!==pI}function $f(t,e){e&&Kf(t,"transform","matrix("+fI.call(e,",")+")")}function Kf(t,e,n){(!n||"linear"!==n.type&&"radial"!==n.type)&&("string"==typeof n&&n.indexOf("NaN")>-1&&console.log(n),t.setAttribute(e,n))}function Qf(t,e,n){t.setAttributeNS("http://www.w3.org/1999/xlink",e,n)}function Jf(t,e,n){if(Yf(e,n)){var i=n?e.textFill:e.fill;i="transparent"===i?pI:i,"none"!==t.getAttribute("clip-path")&&i===pI&&(i="rgba(0, 0, 0, 0.002)"),Kf(t,"fill",i),Kf(t,"fill-opacity",e.opacity)}else Kf(t,"fill",pI);if(qf(e,n)){var r=n?e.textStroke:e.stroke;Kf(t,"stroke",r="transparent"===r?pI:r),Kf(t,"stroke-width",(n?e.textStrokeWidth:e.lineWidth)/(!n&&e.strokeNoScale?e.host.getLineScale():1)),Kf(t,"paint-order",n?"stroke":"fill"),Kf(t,"stroke-opacity",e.opacity),e.lineDash?(Kf(t,"stroke-dasharray",e.lineDash.join(",")),Kf(t,"stroke-dashoffset",gI(e.lineDashOffset||0))):Kf(t,"stroke-dasharray",""),e.lineCap&&Kf(t,"stroke-linecap",e.lineCap),e.lineJoin&&Kf(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&Kf(t,"stroke-miterlimit",e.miterLimit)}else Kf(t,"stroke",pI)}function tp(t){for(var e=[],n=t.data,i=t.len(),r=0;r=xI||!jf(g)&&(d>-yI&&d<0||d>yI)==!!p;var y=Xf(s+u*vI(c)),x=Xf(l+h*mI(c));m&&(d=p?xI-1e-4:1e-4-xI,v=!0,9===r&&e.push("M",y,x));var _=Xf(s+u*vI(c+d)),w=Xf(l+h*mI(c+d));e.push("A",Xf(u),Xf(h),gI(f*_I),+v,+p,_,w);break;case dI.Z:o="Z";break;case dI.R:var _=Xf(n[r++]),w=Xf(n[r++]),b=Xf(n[r++]),M=Xf(n[r++]);e.push("M",_,w,"L",_+b,w,"L",_+b,w+M,"L",_,w+M,"L",_,w)}o&&e.push(o);for(var S=0;S=11)}}(navigator.userAgent),Mp={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},Sp={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Ip=Object.prototype.toString,Cp=Array.prototype,Tp=Cp.forEach,Dp=Cp.filter,Ap=Cp.slice,kp=Cp.map,Pp=Cp.reduce,Lp={},Op=function(){return Lp.createCanvas()};Lp.createCanvas=function(){return document.createElement("canvas")};var zp,Ep="__ec_primitive__";E.prototype={constructor:E,get:function(t){return this.hasOwnProperty(t)?this[t]:null},set:function(t,e){return this[t]=e},each:function(t,e){void 0!==e&&(t=m(t,e));for(var n in this)this.hasOwnProperty(n)&&t(this[n],n)},removeKey:function(t){delete this[t]}};var Np=(Object.freeze||Object)({$override:e,clone:n,merge:i,mergeAll:r,extend:o,defaults:a,createCanvas:Op,getContext:s,indexOf:l,inherits:u,mixin:h,isArrayLike:c,each:d,map:f,reduce:p,filter:g,find:function(t,e,n){if(t&&e)for(var i=0,r=t.length;i3&&(e=Wp.call(e,1));for(var i=this._$handlers[t],r=i.length,o=0;o4&&(e=Wp.call(e,1,e.length-1));for(var i=e[e.length-1],r=this._$handlers[t],o=r.length,a=0;a=0;o--){var a;if(i[o]!==n&&!i[o].ignore&&(a=it(i[o],t,e))&&(!r.topTarget&&(r.topTarget=i[o]),a!==Up)){r.target=i[o];break}}return r}},d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){jp.prototype[t]=function(e){var n=this.findHover(e.zrX,e.zrY),i=n.target;if("mousedown"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if("mouseup"===t)this._upEl=i;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||Fp(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}),h(jp,Zp),h(jp,J);var Yp="undefined"==typeof Float32Array?Array:Float32Array,qp=(Object.freeze||Object)({create:rt,identity:ot,copy:at,mul:st,translate:lt,rotate:ut,scale:ht,invert:ct,clone:function(t){var e=rt();return at(e,t),e}}),$p=ot,Kp=5e-5,Qp=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},Jp=Qp.prototype;Jp.transform=null,Jp.needLocalTransform=function(){return dt(this.rotation)||dt(this.position[0])||dt(this.position[1])||dt(this.scale[0]-1)||dt(this.scale[1]-1)},Jp.updateTransform=function(){var t=this.parent,e=t&&t.transform,n=this.needLocalTransform(),i=this.transform;n||e?(i=i||rt(),n?this.getLocalTransform(i):$p(i),e&&(n?st(i,t.transform,i):at(i,t.transform)),this.transform=i,this.invTransform=this.invTransform||rt(),ct(this.invTransform,i)):i&&$p(i)},Jp.getLocalTransform=function(t){return Qp.getLocalTransform(this,t)},Jp.setTransform=function(t){var e=this.transform,n=t.dpr||1;e?t.setTransform(n*e[0],n*e[1],n*e[2],n*e[3],n*e[4],n*e[5]):t.setTransform(n,0,0,n,0,0)},Jp.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var tg=[];Jp.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(st(tg,t.invTransform,e),e=tg);var n=e[0]*e[0]+e[1]*e[1],i=e[2]*e[2]+e[3]*e[3],r=this.position,o=this.scale;dt(n-1)&&(n=Math.sqrt(n)),dt(i-1)&&(i=Math.sqrt(i)),e[0]<0&&(n=-n),e[3]<0&&(i=-i),r[0]=e[4],r[1]=e[5],o[0]=n,o[1]=i,this.rotation=Math.atan2(-e[1]/i,e[0]/n)}},Jp.getGlobalScale=function(){var t=this.transform;if(!t)return[1,1];var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]),n=Math.sqrt(t[2]*t[2]+t[3]*t[3]);return t[0]<0&&(e=-e),t[3]<0&&(n=-n),[e,n]},Jp.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&$(n,n,i),n},Jp.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&$(n,n,i),n},Qp.getLocalTransform=function(t,e){$p(e=e||[]);var n=t.origin,i=t.scale||[1,1],r=t.rotation||0,o=t.position||[0,0];return n&&(e[4]-=n[0],e[5]-=n[1]),ht(e,e,i),r&&ut(e,e,r),n&&(e[4]+=n[0],e[5]+=n[1]),e[4]+=o[0],e[5]+=o[1],e};var eg={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-eg.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*eg.bounceIn(2*t):.5*eg.bounceOut(2*t-1)+.5}};ft.prototype={constructor:ft,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var n=(t-this._startTime-this._pausedTime)/this._life;if(!(n<0)){n=Math.min(n,1);var i=this.easing,r="string"==typeof i?eg[i]:i,o="function"==typeof r?r(n):n;return this.fire("frame",o),1==n?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var ng=function(){this.head=null,this.tail=null,this._len=0},ig=ng.prototype;ig.insert=function(t){var e=new rg(t);return this.insertEntry(e),e},ig.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},ig.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},ig.len=function(){return this._len},ig.clear=function(){this.head=this.tail=null,this._len=0};var rg=function(t){this.value=t,this.next,this.prev},og=function(t){this._list=new ng,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},ag=og.prototype;ag.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var o=n.len(),a=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}a?a.value=e:a=new rg(e),a.key=t,n.insertEntry(a),i[t]=a}return r},ag.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},ag.clear=function(){this._list.clear(),this._map={}};var sg={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},lg=new og(20),ug=null,hg=At,cg=kt,dg=(Object.freeze||Object)({parse:St,lift:Tt,toHex:Dt,fastLerp:At,fastMapToColor:hg,lerp:kt,mapToColor:cg,modifyHSL:function(t,e,n,i){if(t=St(t))return t=Ct(t),null!=e&&(t[0]=gt(e)),null!=n&&(t[1]=yt(n)),null!=i&&(t[2]=yt(i)),Lt(It(t),"rgba")},modifyAlpha:Pt,stringify:Lt}),fg=Array.prototype.slice,pg=function(t,e,n,i){this._tracks={},this._target=t,this._loop=e||!1,this._getter=n||Ot,this._setter=i||zt,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};pg.prototype={when:function(t,e){var n=this._tracks;for(var i in e)if(e.hasOwnProperty(i)){if(!n[i]){n[i]=[];var r=this._getter(this._target,i);if(null==r)continue;0!==t&&n[i].push({time:0,value:Gt(r)})}n[i].push({time:t,value:e[i]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t0&&this.animate(t,!1).when(null==i?500:i,o).delay(r||0),this}};var _g=function(t){Qp.call(this,t),Zp.call(this,t),xg.call(this,t),this.id=t.id||_p()};_g.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=t,n[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var n=this[t];n||(n=this[t]=[]),n[0]=e[0],n[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(w(t))for(var n in t)t.hasOwnProperty(n)&&this.attrKV(n,t[n]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var n=0;n=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},clone:function(){return new Xt(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},Xt.create=function(t){return new Xt(t.x,t.y,t.width,t.height)};var Sg=function(t){t=t||{},_g.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};Sg.prototype={constructor:Sg,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,n=0;n=0&&(n.splice(i,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,n=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof Sg&&t.addChildrenToStorage(e)),n&&n.refresh()},remove:function(t){var e=this.__zr,n=this.__storage,i=this._children,r=l(i,t);return r<0?this:(i.splice(r,1),t.parent=null,n&&(n.delFromStorage(t),t instanceof Sg&&t.delChildrenFromStorage(n)),e&&e.refresh(),this)},removeAll:function(){var t,e,n=this._children,i=this.__storage;for(e=0;e=0&&(this.delFromStorage(t),this._roots.splice(r,1),t instanceof Sg&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:ee};var Dg={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},Ag=function(t,e,n){return Dg.hasOwnProperty(e)?n*=t.dpr:n},kg=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],Pg=function(t,e){this.extendFrom(t,!1),this.host=e};Pg.prototype={constructor:Pg,host:null,fill:"#000",stroke:null,opacity:1,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,n){for(var i=this,r=n&&n.style,o=!r,a=0;a0},extendFrom:function(t,e){if(t)for(var n in t)!t.hasOwnProperty(n)||!0!==e&&(!1===e?this.hasOwnProperty(n):null==t[n])||(this[n]=t[n])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,n){for(var i=("radial"===e.type?ie:ne)(t,e,n),r=e.colorStops,o=0;o=0&&n.splice(i,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,n=0;n15)break}s.__drawIndex=m,s.__drawIndex0&&t>i[0]){for(a=0;at);a++);o=n[i[a]]}if(i.splice(a+1,0,t),n[t]=e,!e.virtual)if(o){var l=o.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else yg("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var n,i,r=this._zlevelList;for(i=0;i0?.01:0),this._needsManuallyCompositing),o.__builtin__||yg("ZLevel "+s+" has been used by unkown layer "+o.id),o!==n&&(o.__used=!0,o.__startIndex!==r&&(o.__dirty=!0),o.__startIndex=r,o.incremental?o.__drawIndex=-1:o.__drawIndex=r,e(r),n=o),a.__dirty&&(o.__dirty=!0,o.incremental&&o.__drawIndex<0&&(o.__drawIndex=r))}e(r),this.eachBuiltinLayer(function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var n=this._layerConfig;n[t]?i(n[t],e,!0):n[t]=e;for(var r=0;r=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),n=0;n1&&i&&i.length>1){var o=ln(i)/ln(r);!isFinite(o)&&(o=1),e.pinchScale=o;var a=un(i);return e.pinchX=a[0],e.pinchY=a[1],{type:"pinch",target:t[0].target,event:e}}}}},rm=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],om=["touchstart","touchend","touchmove"],am={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},sm=f(rm,function(t){var e=t.replace("mouse","pointer");return am[e]?e:t}),lm={mousemove:function(t){t=rn(this.dom,t),this.trigger("mousemove",t)},mouseout:function(t){var e=(t=rn(this.dom,t)).toElement||t.relatedTarget;if(e!=this.dom)for(;e&&9!=e.nodeType;){if(e===this.dom)return;e=e.parentNode}this.trigger("mouseout",t)},touchstart:function(t){(t=rn(this.dom,t)).zrByTouch=!0,this._lastTouchMoment=new Date,cn(this,t,"start"),lm.mousemove.call(this,t),lm.mousedown.call(this,t),dn(this)},touchmove:function(t){(t=rn(this.dom,t)).zrByTouch=!0,cn(this,t,"change"),lm.mousemove.call(this,t),dn(this)},touchend:function(t){(t=rn(this.dom,t)).zrByTouch=!0,cn(this,t,"end"),lm.mouseup.call(this,t),+new Date-this._lastTouchMoment<300&&lm.click.call(this,t),dn(this)},pointerdown:function(t){lm.mousedown.call(this,t)},pointermove:function(t){fn(t)||lm.mousemove.call(this,t)},pointerup:function(t){lm.mouseup.call(this,t)},pointerout:function(t){fn(t)||lm.mouseout.call(this,t)}};d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){lm[t]=function(e){e=rn(this.dom,e),this.trigger(t,e)}});var um=gn.prototype;um.dispose=function(){for(var t=rm.concat(om),e=0;e=0||i&&l(i,a)<0)){var s=e.getShallow(a);null!=s&&(r[t[o][0]]=s)}}return r}},Im=Sm([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),Cm={getLineStyle:function(t){var e=Im(this,t),n=this.getLineDash(e.lineWidth);return n&&(e.lineDash=n),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),n=Math.max(t,2),i=4*t;return"solid"===e||null==e?null:"dashed"===e?[i,i]:[n,n]}},Tm=Sm([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),Dm={getAreaStyle:function(t,e){return Tm(this,t,e)}},Am=Math.pow,km=Math.sqrt,Pm=1e-8,Lm=1e-4,Om=km(3),zm=1/3,Em=B(),Nm=B(),Rm=B(),Bm=Math.min,Vm=Math.max,Fm=Math.sin,Hm=Math.cos,Gm=2*Math.PI,Wm=B(),Zm=B(),Um=B(),Xm=[],jm=[],Ym={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},qm=[],$m=[],Km=[],Qm=[],Jm=Math.min,tv=Math.max,ev=Math.cos,nv=Math.sin,iv=Math.sqrt,rv=Math.abs,ov="undefined"!=typeof Float32Array,av=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};av.prototype={constructor:av,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=rv(1/mg/t)||0,this._uy=rv(1/mg/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(Ym.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var n=rv(t-this._xi)>this._ux||rv(e-this._yi)>this._uy||this._len<5;return this.addData(Ym.L,t,e),this._ctx&&n&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),n&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,n,i,r,o){return this.addData(Ym.C,t,e,n,i,r,o),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,n,i,r,o):this._ctx.bezierCurveTo(t,e,n,i,r,o)),this._xi=r,this._yi=o,this},quadraticCurveTo:function(t,e,n,i){return this.addData(Ym.Q,t,e,n,i),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,n,i):this._ctx.quadraticCurveTo(t,e,n,i)),this._xi=n,this._yi=i,this},arc:function(t,e,n,i,r,o){return this.addData(Ym.A,t,e,n,n,i,r-i,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,o),this._xi=ev(r)*n+t,this._yi=nv(r)*n+t,this},arcTo:function(t,e,n,i,r){return this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},rect:function(t,e,n,i){return this._ctx&&this._ctx.rect(t,e,n,i),this.addData(Ym.R,t,e,n,i),this},closePath:function(){this.addData(Ym.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,n),t.closePath()),this._xi=e,this._yi=n,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,n=0;ne.length&&(this._expandData(),e=this.data);for(var n=0;n0&&f<=t||h<0&&f>=t||0==h&&(c>0&&p<=e||c<0&&p>=e);)f+=h*(n=a[i=this._dashIdx]),p+=c*n,this._dashIdx=(i+1)%g,h>0&&fl||c>0&&pu||s[i%2?"moveTo":"lineTo"](h>=0?Jm(f,t):tv(f,t),c>=0?Jm(p,e):tv(p,e));h=f-t,c=p-e,this._dashOffset=-iv(h*h+c*c)},_dashedBezierTo:function(t,e,n,i,r,o){var a,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=Gn,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,a=0;a<1;a+=.1)s=v(g,t,n,r,a+.1)-v(g,t,n,r,a),l=v(m,e,i,o,a+.1)-v(m,e,i,o,a),y+=iv(s*s+l*l);for(;x<_&&!((w+=f[x])>d);x++);for(a=(w-d)/y;a<=1;)u=v(g,t,n,r,a),h=v(m,e,i,o,a),x%2?p.moveTo(u,h):p.lineTo(u,h),a+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(r,o),s=r-u,l=o-h,this._dashOffset=-iv(s*s+l*l)},_dashedQuadraticTo:function(t,e,n,i){var r=n,o=i;n=(n+2*t)/3,i=(i+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,n,i,r,o)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,ov&&(this.data=new Float32Array(t)))},getBoundingRect:function(){qm[0]=qm[1]=Km[0]=Km[1]=Number.MAX_VALUE,$m[0]=$m[1]=Qm[0]=Qm[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,n=0,i=0,r=0,o=0;ol||rv(a-r)>u||c===h-1)&&(t.lineTo(o,a),i=o,r=a);break;case Ym.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),i=s[c-2],r=s[c-1];break;case Ym.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),i=s[c-2],r=s[c-1];break;case Ym.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,M=g>m?m/g:1,S=v+y;Math.abs(g-m)>.001?(t.translate(f,p),t.rotate(x),t.scale(b,M),t.arc(0,0,w,v,S,1-_),t.scale(1/b,1/M),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,S,1-_),1==c&&(e=ev(v)*g+f,n=nv(v)*m+p),i=ev(S)*g+f,r=nv(S)*m+p;break;case Ym.R:e=i=s[c],n=r=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case Ym.Z:t.closePath(),i=e,r=n}}}},av.CMD=Ym;var sv=2*Math.PI,lv=2*Math.PI,uv=av.CMD,hv=2*Math.PI,cv=1e-4,dv=[-1,-1,-1],fv=[-1,-1],pv=Eg.prototype.getCanvasPattern,gv=Math.abs,mv=new av(!0);xi.prototype={constructor:xi,type:"path",__dirtyPath:!0,strokeContainThreshold:5,brush:function(t,e){var n=this.style,i=this.path||mv,r=n.hasStroke(),o=n.hasFill(),a=n.fill,s=n.stroke,l=o&&!!a.colorStops,u=r&&!!s.colorStops,h=o&&!!a.image,c=r&&!!s.image;if(n.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=n.getGradient(t,a,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=n.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=pv.call(a,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=pv.call(s,t));var f=n.lineDash,p=n.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();i.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&r?(i.beginPath(t),f&&!g&&(i.setLineDash(f),i.setLineDashOffset(p)),this.buildPath(i,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),o&&i.fill(t),f&&g&&(t.setLineDash(f),t.lineDashOffset=p),r&&i.stroke(t),f&&g&&t.setLineDash([]),null!=n.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,n){},createPathProxy:function(){this.path=new av},getBoundingRect:function(){var t=this._rect,e=this.style,n=!t;if(n){var i=this.path;i||(i=this.path=new av),this.__dirtyPath&&(i.beginPath(),this.buildPath(i,this.shape,!1)),t=i.getBoundingRect()}if(this._rect=t,e.hasStroke()){var r=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||n){r.copy(t);var o=e.lineWidth,a=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(o=Math.max(o,this.strokeContainThreshold||4)),a>1e-10&&(r.width+=o/a,r.height+=o/a,r.x-=o/a/2,r.y-=o/a/2)}return r}return t},contain:function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var o=this.path.data;if(r.hasStroke()){var a=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(r.hasFill()||(a=Math.max(a,this.strokeContainThreshold)),yi(o,a/s,t,e)))return!0}if(r.hasFill())return vi(o,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):Xe.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var n=this.shape;if(n){if(w(t))for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);else n[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&gv(t[0]-1)>1e-10&&gv(t[3]-1)>1e-10?Math.sqrt(gv(t[0]*t[3]-t[2]*t[1])):1}},xi.extend=function(t){var e=function(e){xi.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var n=t.shape;if(n){this.shape=this.shape||{};var i=this.shape;for(var r in n)!i.hasOwnProperty(r)&&n.hasOwnProperty(r)&&(i[r]=n[r])}t.init&&t.init.call(this,e)};u(e,xi);for(var n in t)"style"!==n&&"shape"!==n&&(e.prototype[n]=t[n]);return e},u(xi,Xe);var vv=av.CMD,yv=[[],[],[]],xv=Math.sqrt,_v=Math.atan2,wv=function(t,e){var n,i,r,o,a,s,l=t.data,u=vv.M,h=vv.C,c=vv.L,d=vv.R,f=vv.A,p=vv.Q;for(r=0,o=0;r=11?function(){var e,n=this.__clipPaths,i=this.style;if(n)for(var r=0;rn-2?n-1:c+1],u=t[c>n-3?n-1:c+2]);var p=d*d,g=d*p;i.push([Ii(s[0],f[0],l[0],u[0],d,p,g),Ii(s[1],f[1],l[1],u[1],d,p,g)])}return i},Rv=function(t,e,n,i){var r,o,a,s,l=[],u=[],h=[],c=[];if(i){a=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d=n&&o>=r)return{x:n,y:r,width:i-n,height:o-r}},createIcon:fr,Group:Sg,Image:je,Text:kv,Circle:Pv,Sector:zv,Ring:Ev,Polygon:Bv,Polyline:Vv,Rect:Fv,Line:Hv,BezierCurve:Wv,Arc:Zv,IncrementalDisplayable:Di,CompoundPath:Uv,LinearGradient:jv,RadialGradient:Yv,BoundingRect:Xt}),ey=["textStyle","color"],ny={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(ey):null)},getFont:function(){return rr({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return ce(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("rich"),this.getShallow("truncateText"))}},iy=Sm([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),ry={getItemStyle:function(t,e){var n=iy(this,t,e),i=this.getBorderLineDash();return i&&(n.lineDash=i),n},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}},oy=h,ay=Dn();pr.prototype={constructor:pr,init:null,mergeOption:function(t){i(this.option,t,!0)},get:function(t,e){return null==t?this.option:gr(this.option,this.parsePath(t),!e&&mr(this,t))},getShallow:function(t,e){var n=this.option,i=null==n?n:n[t],r=!e&&mr(this,t);return null==i&&r&&(i=r.getShallow(t)),i},getModel:function(t,e){var n,i=null==t?this.option:gr(this.option,t=this.parsePath(t));return e=e||(n=mr(this,t))&&n.getModel(t),new pr(i,e,this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(n(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){ay(this).getParent=t},isAnimationEnabled:function(){if(!bp.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},En(pr),Nn(pr),oy(pr,Cm),oy(pr,Dm),oy(pr,ny),oy(pr,ry);var sy=0,ly=1e-4,uy=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,hy=(Object.freeze||Object)({linearMap:xr,parsePercent:_r,round:wr,asc:br,getPrecision:Mr,getPrecisionSafe:Sr,getPixelPrecision:Ir,getPercentWithPrecision:Cr,MAX_SAFE_INTEGER:9007199254740991,remRadian:Tr,isRadianAroundZero:Dr,parseDate:Ar,quantity:kr,nice:Lr,quantile:function(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],o=n-i;return o?r+o*(t[i]-r):r},reformIntervals:function(t){function e(t,n,i){return t.interval[i]=0}}),cy=k,dy=/([&<>"'])/g,fy={"&":"&","<":"<",">":">",'"':""","'":"'"},py=["a","b","c","d","e","f","g"],gy=function(t,e){return"{"+t+(null==e?"":e)+"}"},my=ve,vy=ce,yy=(Object.freeze||Object)({addCommas:Or,toCamelCase:zr,normalizeCssArray:cy,encodeHTML:Er,formatTpl:Nr,formatTplSimple:function(t,e,n){return d(e,function(e,i){t=t.replace("{"+i+"}",n?Er(e):e)}),t},getTooltipMarker:Rr,formatTime:Vr,capitalFirst:Fr,truncateText:my,getTextRect:vy}),xy=d,_y=["left","right","top","bottom","width","height"],wy=[["width","left","right"],["height","top","bottom"]],by=Hr,My=(v(Hr,"vertical"),v(Hr,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),Sy=Dn(),Iy=pr.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,n,i){pr.call(this,t,e,n,i),this.uid=vr("ec_cpt_model")},init:function(t,e,n,i){this.mergeDefaultAndTheme(t,n)},mergeDefaultAndTheme:function(t,e){var n=this.layoutMode,r=n?Ur(t):{};i(t,e.getTheme().get(this.mainType)),i(t,this.getDefaultOption()),n&&Zr(t,r,n)},mergeOption:function(t,e){i(this.option,t,!0);var n=this.layoutMode;n&&Zr(this.option,t,n)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=Sy(this);if(!t.defaultOption){for(var e=[],n=this.constructor;n;){var r=n.prototype.defaultOption;r&&e.push(r),n=n.superClass}for(var o={},a=e.length-1;a>=0;a--)o=i(o,e[a],!0);t.defaultOption=o}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});Vn(Iy,{registerWhenExtend:!0}),function(t){var e={};t.registerSubTypeDefaulter=function(t,n){t=On(t),e[t.main]=n},t.determineSubType=function(n,i){var r=i.type;if(!r){var o=On(n).main;t.hasSubTypes(n)&&e[o]&&(r=e[o](i))}return r}}(Iy),function(t,e){function n(t){var n={},o=[];return d(t,function(a){var s=i(n,a),u=r(s.originalDeps=e(a),t);s.entryCount=u.length,0===s.entryCount&&o.push(a),d(u,function(t){l(s.predecessor,t)<0&&s.predecessor.push(t);var e=i(n,t);l(e.successor,t)<0&&e.successor.push(a)})}),{graph:n,noEntryList:o}}function i(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function r(t,e){var n=[];return d(t,function(t){l(e,t)>=0&&n.push(t)}),n}t.topologicalTravel=function(t,e,i,r){function o(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}if(t.length){var a=n(e),s=a.graph,l=a.noEntryList,u={};for(d(t,function(t){u[t]=!0});l.length;){var h=l.pop(),c=s[h],f=!!u[h];f&&(i.call(r,h,c.originalDeps.slice()),delete u[h]),d(c.successor,f?function(t){u[t]=!0,o(t)}:o)}d(u,function(){throw new Error("Circle dependency may exists")})}}}(Iy,function(t){var e=[];return d(Iy.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=f(e,function(t){return On(t).main}),"dataset"!==t&&l(e,"dataset")<=0&&e.unshift("dataset"),e}),h(Iy,My);var Cy="";"undefined"!=typeof navigator&&(Cy=navigator.platform||"");var Ty={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:Cy.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},Dy=Dn(),Ay={clearColorPalette:function(){Dy(this).colorIdx=0,Dy(this).colorNameMap={}},getColorFromPalette:function(t,e,n){var i=Dy(e=e||this),r=i.colorIdx||0,o=i.colorNameMap=i.colorNameMap||{};if(o.hasOwnProperty(t))return o[t];var a=xn(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=n&&s?jr(s,n):a;if((l=l||a)&&l.length){var u=l[r];return t&&(o[t]=u),i.colorIdx=(r+1)%l.length,u}}},ky={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis")[0],o=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],n.set("x",r),n.set("y",o),qr(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),qr(o)&&(i.set("y",o),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],n.set("single",r),qr(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar")[0],o=r.findAxisModel("radiusAxis"),a=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],n.set("radius",o),n.set("angle",a),qr(o)&&(i.set("radius",o),e.firstCategoryDimIndex=0),qr(a)&&(i.set("angle",a),e.firstCategoryDimIndex=1)},geo:function(t,e,n,i){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent("parallel",t.get("parallelIndex")),a=e.coordSysDims=o.dimensions.slice();d(o.parallelAxisIndex,function(t,o){var s=r.getComponent("parallelAxis",t),l=a[o];n.set(l,s),qr(s)&&null==e.firstCategoryDimIndex&&(i.set(l,s),e.firstCategoryDimIndex=o)})}},Py="original",Ly="arrayRows",Oy="objectRows",zy="keyedColumns",Ey="unknown",Ny="typedArray",Ry="column",By="row";$r.seriesDataToSource=function(t){return new $r({data:t,sourceFormat:M(t)?Ny:Py,fromDataset:!1})},Nn($r);var Vy=Dn(),Fy="\0_ec_inner",Hy=pr.extend({init:function(t,e,n,i){n=n||{},this.option=null,this._theme=new pr(n),this._optionManager=i},setOption:function(t,e){P(!(Fy in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,n=this._optionManager;if(!t||"recreate"===t){var i=n.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(i)):co.call(this,i),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var r=n.getTimelineOption(this);r&&(this.mergeOption(r),e=!0)}if(!t||"recreate"===t||"media"===t){var o=n.getMediaOption(this,this._api);o.length&&d(o,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){var e=this.option,r=this._componentsMap,a=[];Jr(this),d(t,function(t,r){null!=t&&(Iy.hasClass(r)?r&&a.push(r):e[r]=null==e[r]?n(t):i(e[r],t,!0))}),Iy.topologicalTravel(a,Iy.getAllClassMainTypes(),function(n,i){var a=xn(t[n]),s=Mn(r.get(n),a);Sn(s),d(s,function(t,e){var i=t.option;w(i)&&(t.keyInfo.mainType=n,t.keyInfo.subType=po(n,i,t.exist))});var l=fo(r,i);e[n]=[],r.set(n,[]),d(s,function(t,i){var a=t.exist,s=t.option;if(P(w(s)||a,"Empty component definition"),s){var u=Iy.getClass(n,t.keyInfo.subType,!0);if(a&&a instanceof u)a.name=t.keyInfo.name,a.mergeOption(s,this),a.optionUpdated(s,!1);else{var h=o({dependentModels:l,componentIndex:i},t.keyInfo);o(a=new u(s,this,this,h),h),a.init(s,this,this,h),a.optionUpdated(null,!0)}}else a.mergeOption({},this),a.optionUpdated({},!1);r.get(n)[i]=a,e[n][i]=a.option},this),"series"===n&&go(this,r.get("series"))},this),this._seriesIndicesMap=N(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=n(this.option);return d(t,function(e,n){if(Iy.hasClass(n)){for(var i=(e=xn(e)).length-1;i>=0;i--)Cn(e[i])&&e.splice(i,1);t[n]=e}}),delete t[Fy],t},getTheme:function(){return this._theme},getComponent:function(t,e){var n=this._componentsMap.get(t);if(n)return n[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var n=t.index,i=t.id,r=t.name,o=this._componentsMap.get(e);if(!o||!o.length)return[];var a;if(null!=n)y(n)||(n=[n]),a=g(f(n,function(t){return o[t]}),function(t){return!!t});else if(null!=i){var s=y(i);a=g(o,function(t){return s&&l(i,t.id)>=0||!s&&t.id===i})}else if(null!=r){var u=y(r);a=g(o,function(t){return u&&l(r,t.name)>=0||!u&&t.name===r})}else a=o.slice();return mo(a,t)},findComponents:function(t){var e=t.query,n=t.mainType,i=function(t){var e=n+"Index",i=n+"Id",r=n+"Name";return!t||null==t[e]&&null==t[i]&&null==t[r]?null:{mainType:n,index:t[e],id:t[i],name:t[r]}}(e);return function(e){return t.filter?g(e,t.filter):e}(mo(i?this.queryComponents(i):this._componentsMap.get(n),t))},eachComponent:function(t,e,n){var i=this._componentsMap;"function"==typeof t?(n=e,e=t,i.each(function(t,i){d(t,function(t,r){e.call(n,i,t,r)})})):_(t)?d(i.get(t),e,n):w(t)&&d(this.findComponents(t),e,n)},getSeriesByName:function(t){return g(this._componentsMap.get("series"),function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){return g(this._componentsMap.get("series"),function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){d(this._seriesIndices,function(n){var i=this._componentsMap.get("series")[n];t.call(e,i,n)},this)},eachRawSeries:function(t,e){d(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,n){d(this._seriesIndices,function(i){var r=this._componentsMap.get("series")[i];r.subType===t&&e.call(n,r,i)},this)},eachRawSeriesByType:function(t,e,n){return d(this.getSeriesByType(t),e,n)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){go(this,g(this._componentsMap.get("series"),t,e))},restoreData:function(t){var e=this._componentsMap;go(this,e.get("series"));var n=[];e.each(function(t,e){n.push(e)}),Iy.topologicalTravel(n,Iy.getAllClassMainTypes(),function(n,i){d(e.get(n),function(e){("series"!==n||!uo(e,t))&&e.restoreData()})})}});h(Hy,Ay);var Gy=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],Wy={};yo.prototype={constructor:yo,create:function(t,e){var n=[];d(Wy,function(i,r){var o=i.create(t,e);n=n.concat(o||[])}),this._coordinateSystems=n},update:function(t,e){d(this._coordinateSystems,function(n){n.update&&n.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},yo.register=function(t,e){Wy[t]=e},yo.get=function(t){return Wy[t]};var Zy=d,Uy=n,Xy=f,jy=i,Yy=/^(min|max)?(.+)$/;xo.prototype={constructor:xo,setOption:function(t,e){t&&d(xn(t.series),function(t){t&&t.data&&M(t.data)&&O(t.data)}),t=Uy(t,!0);var n=this._optionBackup,i=_o.call(this,t,e,!n);this._newBaseOption=i.baseOption,n?(So(n.baseOption,i.baseOption),i.timelineOptions.length&&(n.timelineOptions=i.timelineOptions),i.mediaList.length&&(n.mediaList=i.mediaList),i.mediaDefault&&(n.mediaDefault=i.mediaDefault)):this._optionBackup=i},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=Xy(e.timelineOptions,Uy),this._mediaList=Xy(e.mediaList,Uy),this._mediaDefault=Uy(e.mediaDefault),this._currentMediaIndices=[],Uy(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,n=this._timelineOptions;if(n.length){var i=t.getComponent("timeline");i&&(e=Uy(n[i.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),n=this._api.getHeight(),i=this._mediaList,r=this._mediaDefault,o=[],a=[];if(!i.length&&!r)return a;for(var s=0,l=i.length;s=1)&&(t=1),t}var n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var o;this._plan&&!i&&(o=this._plan(this.context));var a=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;a===l&&s===u||(o="reset");var h;(this._dirty||"reset"===o)&&(this._dirty=!1,h=qo(this,i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(h||d=n?null:t1&&o>0?e:t}};return s}();lx.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},lx.unfinished=function(){return this._progress&&this._dueIndex1||l&&!a?function(n){function i(t,n){var i=r.getDimensionInfo(n);if(i&&!1!==i.otherDims.tooltip){var o=i.type,l=Rr({color:u,type:"subItem"}),h=(a?l+Er(i.displayName||"-")+": ":"")+Er("ordinal"===o?t+"":"time"===o?e?"":Vr("yyyy/MM/dd hh:mm:ss",t):Or(t));h&&s.push(h)}}var a=p(n,function(t,e,n){var i=r.getDimensionInfo(n);return t|=i&&!1!==i.tooltip&&null!=i.displayName},0),s=[];return o.length?d(o,function(e){i(Zo(r,t,e),e)}):d(n,i),(a?"
          ":"")+s.join(a?"
          ":", ")}(s):i(a?Zo(r,t,o[0]):l?s[0]:s),c=Rr(u),f=r.getName(t),g=this.name;return In(this)||(g=""),g=g?Er(g)+(e?": ":"
          "):"",e?c+g+h:g+c+(f?Er(f)+": "+h:h)},isAnimationEnabled:function(){if(bp.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,n){var i=this.ecModel,r=Ay.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});h(cx,sx),h(cx,Ay);var dx=function(){this.group=new Sg,this.uid=vr("viewComponent")};dx.prototype={constructor:dx,init:function(t,e){},render:function(t,e,n,i){},dispose:function(){}};var fx=dx.prototype;fx.updateView=fx.updateLayout=fx.updateVisual=function(t,e,n,i){},En(dx),Vn(dx,{registerWhenExtend:!0});var px=function(){var t=Dn();return function(e){var n=t(e),i=e.pipelineContext,r=n.large,o=n.progressiveRender,a=n.large=i.large,s=n.progressiveRender=i.progressiveRender;return!!(r^a||o^s)&&"reset"}},gx=Dn(),mx=px();ra.prototype={type:"chart",init:function(t,e){},render:function(t,e,n,i){},highlight:function(t,e,n,i){aa(t.getData(),i,"emphasis")},downplay:function(t,e,n,i){aa(t.getData(),i,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null};var vx=ra.prototype;vx.updateView=vx.updateLayout=vx.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},En(ra),Vn(ra,{registerWhenExtend:!0}),ra.markUpdateMethod=function(t,e){gx(t).updateMethod=e};var yx={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},xx="\0__throttleOriginMethod",_x="\0__throttleRate",bx="\0__throttleType",Mx={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=(t.visualColorAccessPath||"itemStyle.color").split("."),r=t.get(i)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(n.setVisual("color",r),!e.isSeriesFiltered(t)){"function"!=typeof r||r instanceof Xv||n.each(function(e){n.setItemVisual(e,"color",r(t.getDataParams(e)))});return{dataEach:n.hasItemOption?function(t,e){var n=t.getItemModel(e).get(i,!0);null!=n&&t.setItemVisual(e,"color",n)}:null}}}},Sx={toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}},Ix=function(t,e){function n(t,e){if("string"!=typeof t)return t;var n=t;return d(e,function(t,e){n=n.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),n}function i(t){var e=o.get(t);if(null==e){for(var n=t.split("."),i=Sx.aria,r=0;r1?"series.multiple.prefix":"series.single.prefix"),{seriesCount:a}),e.eachSeries(function(t,e){if(e1?"multiple":"single")+".";o=n(o=i(s?u+"withName":u+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:r(t.subType)});var c=t.getData();window.data=c,c.count()>l?o+=n(i("data.partialData"),{displayCnt:l}):o+=i("data.allData");for(var d=[],p=0;pn.blockIndex?n.step:null,o=i&&i.modDataCount;return{step:r,modBy:null!=o?Math.ceil(o/r):null,modDataCount:o}}},Tx.getPipeline=function(t){return this._pipelineMap.get(t)},Tx.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,o=t.get("large")&&i>=t.get("largeThreshold"),a="mod"===t.get("progressiveChunkMode")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:a,large:o}},Tx.restorePipelines=function(t){var e=this,n=e._pipelineMap=N();t.eachSeries(function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),Sa(e,t,t.dataTask)})},Tx.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),n=this.api;d(this._allHandlers,function(i){var r=t.get(i.uid)||t.set(i.uid,[]);i.reset&&pa(this,i,r,e,n),i.overallReset&&ga(this,i,r,e,n)},this)},Tx.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,Sa(this,e,r)},Tx.performDataProcessorTasks=function(t,e){fa(this,this._dataProcessorHandlers,t,e,{block:!0})},Tx.performVisualTasks=function(t,e,n){fa(this,this._visualHandlers,t,e,n)},Tx.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},Tx.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var Dx=Tx.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},Ax=ba(0);da.wrapStageHandler=function(t,e){return x(t)&&(t={overallReset:t,seriesType:Ia(t)}),t.uid=vr("stageHandler"),e&&(t.visualType=e),t};var kx,Px={},Lx={};Ca(Px,Hy),Ca(Lx,vo),Px.eachSeriesByType=Px.eachRawSeriesByType=function(t){kx=t},Px.eachComponent=function(t){"series"===t.mainType&&t.subType&&(kx=t.subType)};var Ox=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],zx={color:Ox,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],Ox]},Ex=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],Nx={color:Ex,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:"#eee"},crossStyle:{color:"#eee"}}},legend:{textStyle:{color:"#eee"}},textStyle:{color:"#eee"},title:{textStyle:{color:"#eee"}},toolbox:{iconStyle:{normal:{borderColor:"#eee"}}},dataZoom:{textStyle:{color:"#eee"}},visualMap:{textStyle:{color:"#eee"}},timeline:{lineStyle:{color:"#eee"},itemStyle:{normal:{color:Ex[1]}},label:{normal:{textStyle:{color:"#eee"}}},controlStyle:{normal:{color:"#eee",borderColor:"#eee"}}},timeAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},logAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},valueAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},categoryAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},line:{symbol:"circle"},graph:{color:Ex},gauge:{title:{textStyle:{color:"#eee"}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};Nx.categoryAxis.splitLine.show=!1,Iy.extend({type:"dataset",defaultOption:{seriesLayoutBy:Ry,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){Kr(this)}}),dx.extend({type:"dataset"});var Rx=P,Bx=d,Vx=x,Fx=w,Hx=Iy.parseClassType,Gx={zrender:"4.0.4"},Wx=1e3,Zx=1e3,Ux=3e3,Xx={PROCESSOR:{FILTER:Wx,STATISTIC:5e3},VISUAL:{LAYOUT:Zx,GLOBAL:2e3,CHART:Ux,COMPONENT:4e3,BRUSH:5e3}},jx="__flagInMainProcess",Yx="__optionUpdated",qx=/^[a-zA-Z0-9_]+$/;Da.prototype.on=Ta("on"),Da.prototype.off=Ta("off"),Da.prototype.one=Ta("one"),h(Da,Zp);var $x=Aa.prototype;$x._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[Yx]){var e=this[Yx].silent;this[jx]=!0,Pa(this),Kx.update.call(this),this[jx]=!1,this[Yx]=!1,Ea.call(this,e),Na.call(this,e)}else if(t.unfinished){var n=1,i=this._model;this._api;t.unfinished=!1;do{var r=+new Date;t.performSeriesTasks(i),t.performDataProcessorTasks(i),Oa(this,i),t.performVisualTasks(i),Ga(this,this._model,0,"remain"),n-=+new Date-r}while(n>0&&t.unfinished);t.unfinished||this._zr.flush()}}},$x.getDom=function(){return this._dom},$x.getZr=function(){return this._zr},$x.setOption=function(t,e,n){var i;if(Fx(e)&&(n=e.lazyUpdate,i=e.silent,e=e.notMerge),this[jx]=!0,!this._model||e){var r=new xo(this._api),o=this._theme,a=this._model=new Hy(null,null,o,r);a.scheduler=this._scheduler,a.init(null,null,o,r)}this._model.setOption(t,n_),n?(this[Yx]={silent:i},this[jx]=!1):(Pa(this),Kx.update.call(this),this._zr.flush(),this[Yx]=!1,this[jx]=!1,Ea.call(this,i),Na.call(this,i))},$x.setTheme=function(){console.log("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},$x.getModel=function(){return this._model},$x.getOption=function(){return this._model&&this._model.getOption()},$x.getWidth=function(){return this._zr.getWidth()},$x.getHeight=function(){return this._zr.getHeight()},$x.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},$x.getRenderedCanvas=function(t){if(bp.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},$x.getSvgDataUrl=function(){if(bp.svgSupported){var t=this._zr;return d(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},$x.getDataURL=function(t){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;Bx(e,function(t){n.eachComponent({mainType:t},function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)})});var o="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return Bx(i,function(t){t.group.ignore=!1}),o},$x.getConnectedDataURL=function(t){if(bp.canvasSupported){var e=this.group,i=Math.min,r=Math.max;if(l_[e]){var o=1/0,a=1/0,s=-1/0,l=-1/0,u=[],h=t&&t.pixelRatio||1;d(s_,function(h,c){if(h.group===e){var d=h.getRenderedCanvas(n(t)),f=h.getDom().getBoundingClientRect();o=i(f.left,o),a=i(f.top,a),s=r(f.right,s),l=r(f.bottom,l),u.push({dom:d,left:f.left,top:f.top})}});var c=(s*=h)-(o*=h),f=(l*=h)-(a*=h),p=Op();p.width=c,p.height=f;var g=mn(p);return Bx(u,function(t){var e=new je({style:{x:t.left*h-o,y:t.top*h-a,image:t.dom}});g.add(e)}),g.refreshImmediately(),p.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},$x.convertToPixel=v(ka,"convertToPixel"),$x.convertFromPixel=v(ka,"convertFromPixel"),$x.containPixel=function(t,e){var n;return t=An(this._model,t),d(t,function(t,i){i.indexOf("Models")>=0&&d(t,function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n|=!!r.containPoint(e);else if("seriesModels"===i){var o=this._chartsMap[t.__viewId];o&&o.containPoint&&(n|=o.containPoint(e,t))}},this)},this),!!n},$x.getVisual=function(t,e){var n=(t=An(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),i=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?n.indexOfRawIndex(t.dataIndex):null;return null!=i?n.getItemVisual(i,e):n.getVisual(e)},$x.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},$x.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var Kx={prepareAndUpdate:function(t){Pa(this),Kx.update.call(this,t)},update:function(t){var e=this._model,n=this._api,i=this._zr,r=this._coordSysMgr,o=this._scheduler;if(e){o.restoreData(e,t),o.performSeriesTasks(e),r.create(e,n),o.performDataProcessorTasks(e,t),Oa(this,e),r.update(e,n),Va(e),o.performVisualTasks(e,t),Fa(this,e,n,t);var a=e.get("backgroundColor")||"transparent";if(bp.canvasSupported)i.setBackgroundColor(a);else{var s=St(a);a=Lt(s,"rgb"),0===s[3]&&(a="transparent")}Wa(e,n)}},updateTransform:function(t){var e=this._model,n=this,i=this._api;if(e){var r=[];e.eachComponent(function(o,a){var s=n.getViewOfComponentModel(a);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(a,e,i,t);l&&l.update&&r.push(s)}else r.push(s)});var o=N();e.eachSeries(function(r){var a=n._chartsMap[r.__viewId];if(a.updateTransform){var s=a.updateTransform(r,e,i,t);s&&s.update&&o.set(r.uid,1)}else o.set(r.uid,1)}),Va(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:o}),Ga(n,e,0,t,o),Wa(e,this._api)}},updateView:function(t){var e=this._model;e&&(ra.markUpdateMethod(t,"updateView"),Va(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),Fa(this,this._model,this._api,t),Wa(e,this._api))},updateVisual:function(t){Kx.update.call(this,t)},updateLayout:function(t){Kx.update.call(this,t)}};$x.resize=function(t){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption("media"),i=t&&t.silent;this[jx]=!0,n&&Pa(this),Kx.update.call(this),this[jx]=!1,Ea.call(this,i),Na.call(this,i)}},$x.showLoading=function(t,e){if(Fx(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),a_[t]){var n=a_[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},$x.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},$x.makeActionFromEvent=function(t){var e=o({},t);return e.type=t_[t.type],e},$x.dispatchAction=function(t,e){Fx(e)||(e={silent:!!e}),Jx[t.type]&&this._model&&(this[jx]?this._pendingActions.push(t):(za.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&bp.browser.weChat&&this._throttledZrFlush(),Ea.call(this,e.silent),Na.call(this,e.silent)))},$x.appendData=function(t){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0},$x.on=Ta("on"),$x.off=Ta("off"),$x.one=Ta("one");var Qx=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];$x._initEvents=function(){Bx(Qx,function(t){this._zr.on(t,function(e){var n,i=this.getModel(),r=e.target;if("globalout"===t)n={};else if(r&&null!=r.dataIndex){var a=r.dataModel||i.getSeriesByIndex(r.seriesIndex);n=a&&a.getDataParams(r.dataIndex,r.dataType)||{}}else r&&r.eventData&&(n=o({},r.eventData));n&&(n.event=e,n.type=t,this.trigger(t,n))},this)},this),Bx(t_,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},$x.isDisposed=function(){return this._disposed},$x.clear=function(){this.setOption({series:[]},!0)},$x.dispose=function(){if(!this._disposed){this._disposed=!0,Pn(this.getDom(),c_,"");var t=this._api,e=this._model;Bx(this._componentsViews,function(n){n.dispose(e,t)}),Bx(this._chartsViews,function(n){n.dispose(e,t)}),this._zr.dispose(),delete s_[this.id]}},h(Aa,Zp);var Jx={},t_={},e_=[],n_=[],i_=[],r_=[],o_={},a_={},s_={},l_={},u_=new Date-0,h_=new Date-0,c_="_echarts_instance_",d_={},f_=qa;ns(2e3,Mx),Qa(ex),Ja(5e3,function(t){var e=N();t.eachSeries(function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),o={stackResultDimension:r.getCalculationInfo("stackResultDimension"),stackedOverDimension:r.getCalculationInfo("stackedOverDimension"),stackedDimension:r.getCalculationInfo("stackedDimension"),stackedByDimension:r.getCalculationInfo("stackedByDimension"),isStackedByIndex:r.getCalculationInfo("isStackedByIndex"),data:r,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(o)}}),e.each(No)}),rs("default",function(t,e){a(e=e||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var n=new Fv({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),i=new Zv({shape:{startAngle:-Cx/2,endAngle:-Cx/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),r=new Fv({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});i.animateShape(!0).when(1e3,{endAngle:3*Cx/2}).start("circularInOut"),i.animateShape(!0).when(1e3,{startAngle:3*Cx/2}).delay(300).start("circularInOut");var o=new Sg;return o.add(i),o.add(r),o.add(n),o.resize=function(){var e=t.getWidth()/2,o=t.getHeight()/2;i.setShape({cx:e,cy:o});var a=i.shape.r;r.setShape({x:e-a,y:o-a,width:2*a,height:2*a}),n.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},o.resize(),o}),ts({type:"highlight",event:"highlight",update:"highlight"},R),ts({type:"downplay",event:"downplay",update:"downplay"},R),Ka("light",zx),Ka("dark",Nx);var p_={};hs.prototype={constructor:hs,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,n={},i=[],r=[];for(cs(t,{},i,"_oldKeyGetter",this),cs(e,n,r,"_newKeyGetter",this),o=0;o=e)){for(var n,i=this._chunkSize,r=this._rawData,o=this._storage,a=this.dimensions,s=a.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=f-1,g=0;gA[1]&&(A[1]=D)}if(!r.pure){var k=u[b];if(w&&null==k)if(null!=w.name)u[b]=k=w.name;else if(null!=n){var P=a[n],L=o[P][M];if(L){k=L[S];var O=l[P].ordinalMeta;O&&O.categories.length&&(k=O.categories[k])}}var z=null==w?null:w.id;null==z&&null!=k&&(d[k]=d[k]||0,z=k,d[k]>0&&(z+="__ec__"+d[k]),d[k]++),null!=z&&(h[b]=z)}}!r.persistent&&r.clean&&r.clean(),this._rawCount=this._count=e,this._extent={},ys(this)}},S_.count=function(){return this._count},S_.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,n=this._count;if(e===Array){i=new e(n);for(r=0;r=0&&e=0&&eo&&(o=s)}return n=[r,o],this._extent[t]=n,n},S_.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},S_.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},S_.getCalculationInfo=function(t){return this._calculationInfo[t]},S_.setCalculationInfo=function(t,e){m_(t)?o(this._calculationInfo,t):this._calculationInfo[t]=e},S_.getSum=function(t){var e=0;if(this._storage[t])for(var n=0,i=this.count();n=this._rawCount||t<0)return-1;var e=this._indices,n=e[t];if(null!=n&&nt))return o;r=o-1}}return-1},S_.indicesOfNearest=function(t,e,n){var i=[];if(!this._storage[t])return i;null==n&&(n=1/0);for(var r=Number.MAX_VALUE,o=-1,a=0,s=this.count();a=0&&o<0)&&(r=u,o=l,i.length=0),i.push(a))}return i},S_.getRawIndex=_s,S_.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],n=0;n=l&&w<=u||isNaN(w))&&(o[a++]=c),c++;h=!0}else if(2===i){for(var d=this._storage[s],v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1],f=0;f=l&&w<=u||isNaN(w))&&(b>=y&&b<=x||isNaN(b))&&(o[a++]=c),c++}h=!0}}if(!h)if(1===i)for(m=0;m=l&&w<=u||isNaN(w))&&(o[a++]=S)}else for(m=0;mt[I][1])&&(M=!1)}M&&(o[a++]=this.getRawIndex(m))}return ab[1]&&(b[1]=w)}}}return r},S_.downSample=function(t,e,n,i){for(var r=Ss(this,[t]),o=r._storage,a=[],s=Math.floor(1/e),l=o[t],u=this.count(),h=this._chunkSize,c=r._rawExtent[t],d=new(gs(this))(u),f=0,p=0;pu-p&&(s=u-p,a.length=s);for(var g=0;gc[1]&&(c[1]=x),d[f++]=_}return r._count=f,r._indices=d,r.getRawIndex=ws,r},S_.getItemModel=function(t){var e=this.hostModel;return new pr(this.getRawDataItem(t),e,e&&e.ecModel)},S_.diff=function(t){var e=this;return new hs(t?t.getIndices():[],this.getIndices(),function(e){return bs(t,e)},function(t){return bs(e,t)})},S_.getVisual=function(t){var e=this._visual;return e&&e[t]},S_.setVisual=function(t,e){if(m_(t))for(var n in t)t.hasOwnProperty(n)&&this.setVisual(n,t[n]);else this._visual=this._visual||{},this._visual[t]=e},S_.setLayout=function(t,e){if(m_(t))for(var n in t)t.hasOwnProperty(n)&&this.setLayout(n,t[n]);else this._layout[t]=e},S_.getLayout=function(t){return this._layout[t]},S_.getItemLayout=function(t){return this._itemLayouts[t]},S_.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?o(this._itemLayouts[t]||{},e):e},S_.clearItemLayouts=function(){this._itemLayouts.length=0},S_.getItemVisual=function(t,e,n){var i=this._itemVisuals[t],r=i&&i[e];return null!=r||n?r:this.getVisual(e)},S_.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{},r=this.hasItemVisual;if(this._itemVisuals[t]=i,m_(e))for(var o in e)e.hasOwnProperty(o)&&(i[o]=e[o],r[o]=!0);else i[e]=n,r[e]=!0},S_.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var I_=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};S_.setItemGraphicEl=function(t,e){var n=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=n&&n.seriesIndex,"group"===e.type&&e.traverse(I_,e)),this._graphicEls[t]=e},S_.getItemGraphicEl=function(t){return this._graphicEls[t]},S_.eachItemGraphicEl=function(t,e){d(this._graphicEls,function(n,i){n&&t&&t.call(e,n,i)})},S_.cloneShallow=function(t){if(!t){var e=f(this.dimensions,this.getDimensionInfo,this);t=new M_(e,this.hostModel)}if(t._storage=this._storage,vs(t,this),this._indices){var n=this._indices.constructor;t._indices=new n(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?ws:_s,t},S_.wrapMethod=function(t,e){var n=this[t];"function"==typeof n&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(A(arguments)))})},S_.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],S_.CHANGABLE_METHODS=["filterSelf","selectRange"];var C_=function(t,e){return e=e||{},Ts(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};Ns.prototype.parse=function(t){return t},Ns.prototype.getSetting=function(t){return this._setting[t]},Ns.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},Ns.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},Ns.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},Ns.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},Ns.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},Ns.prototype.getExtent=function(){return this._extent.slice()},Ns.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},Ns.prototype.isBlank=function(){return this._isBlank},Ns.prototype.setBlank=function(t){this._isBlank=t},Ns.prototype.getLabel=null,En(Ns),Vn(Ns,{registerWhenExtend:!0}),Rs.createByAxisModel=function(t){var e=t.option,n=e.data,i=n&&f(n,Vs);return new Rs({categories:i,needCollect:!i,deduplication:!1!==e.dedplication})};var T_=Rs.prototype;T_.getOrdinal=function(t){return Bs(this).get(t)},T_.parseAndCollect=function(t){var e,n=this._needCollect;if("string"!=typeof t&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=Bs(this);return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e};var D_=Ns.prototype,A_=Ns.extend({type:"ordinal",init:function(t,e){t&&!y(t)||(t=new Rs({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),D_.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return D_.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(D_.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push(n),n++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:R,niceExtent:R});A_.create=function(){return new A_};var k_=wr,P_=wr,L_=Ns.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),L_.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Hs(t)},getTicks:function(){return Zs(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var n=e&&e.precision;return null==n?n=Sr(t)||0:"auto"===n&&(n=this._intervalPrecision),t=P_(t,n,!0),Or(t)},niceTicks:function(t,e,n){t=t||5;var i=this._extent,r=i[1]-i[0];if(isFinite(r)){r<0&&(r=-r,i.reverse());var o=Fs(i,t,e,n);this._intervalPrecision=o.intervalPrecision,this._interval=o.interval,this._niceExtent=o.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var n=e[0];t.fixMax?e[0]-=n/2:(e[1]+=n/2,e[0]-=n/2)}else e[1]=1;var i=e[1]-e[0];isFinite(i)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var r=this._interval;t.fixMin||(e[0]=P_(Math.floor(e[0]/r)*r)),t.fixMax||(e[1]=P_(Math.ceil(e[1]/r)*r))}});L_.create=function(){return new L_};var O_="__ec_stack_",z_="undefined"!=typeof Float32Array?Float32Array:Array,E_={seriesType:"bar",plan:px(),reset:function(t){if(Ks(t)&&Qs(t)){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),r=n.getOtherAxis(i),o=e.mapDimension(r.dim),a=e.mapDimension(i.dim),s=r.isHorizontal(),l=s?0:1,u=$s(Ys([t]),i,t).width;return u>.5||(u=.5),{progress:function(t,e){for(var h,c=new z_(2*t.count),d=[],f=[],p=0;null!=(h=t.next());)f[l]=e.get(o,h),f[1-l]=e.get(a,h),d=n.dataToPoint(f,null,d),c[p++]=d[0],c[p++]=d[1];e.setLayout({largePoints:c,barWidth:u,valueAxisStart:Js(i,r,!1),valueAxisHorizontal:s})}}}}},N_=L_.prototype,R_=Math.ceil,B_=Math.floor,V_=function(t,e,n,i){for(;n>>1;t[r][1]n&&(o=n);var a=H_.length,s=V_(H_,o,0,a),l=H_[Math.min(s,a-1)],u=l[1];"year"===l[0]&&(u*=Lr(r/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+i[0]||+i[1]).getTimezoneOffset()*1e3,c=[Math.round(R_((i[0]-h)/u)*u+h),Math.round(B_((i[1]-h)/u)*u+h)];Ws(c,i),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Ar(t)}});d(["contain","normalize"],function(t){F_.prototype[t]=function(e){return N_[t].call(this,this.parse(e))}});var H_=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",36e5],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",216e5],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",864e5],["MM-dd\nyyyy",1728e5],["MM-dd\nyyyy",2592e5],["MM-dd\nyyyy",3456e5],["MM-dd\nyyyy",432e6],["MM-dd\nyyyy",5184e5],["week",6048e5],["MM-dd\nyyyy",864e6],["week",12096e5],["week",18144e5],["month",26784e5],["week",36288e5],["month",53568e5],["week",36288e5],["quarter",8208e6],["month",107136e5],["month",13392e6],["half-year",16416e6],["month",214272e5],["month",26784e6],["year",32832e6]];F_.create=function(t){return new F_({useUTC:t.ecModel.get("useUTC")})};var G_=Ns.prototype,W_=L_.prototype,Z_=Sr,U_=wr,X_=Math.floor,j_=Math.ceil,Y_=Math.pow,q_=Math.log,$_=Ns.extend({type:"log",base:10,$constructor:function(){Ns.apply(this,arguments),this._originalScale=new L_},getTicks:function(){var t=this._originalScale,e=this._extent,n=t.getExtent();return f(W_.getTicks.call(this),function(i){var r=wr(Y_(this.base,i));return r=i===e[0]&&t.__fixMin?tl(r,n[0]):r,r=i===e[1]&&t.__fixMax?tl(r,n[1]):r},this)},getLabel:W_.getLabel,scale:function(t){return t=G_.scale.call(this,t),Y_(this.base,t)},setExtent:function(t,e){var n=this.base;t=q_(t)/q_(n),e=q_(e)/q_(n),W_.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=G_.getExtent.call(this);e[0]=Y_(t,e[0]),e[1]=Y_(t,e[1]);var n=this._originalScale,i=n.getExtent();return n.__fixMin&&(e[0]=tl(e[0],i[0])),n.__fixMax&&(e[1]=tl(e[1],i[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=q_(t[0])/q_(e),t[1]=q_(t[1])/q_(e),G_.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=kr(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[wr(j_(e[0]/i)*i),wr(X_(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},niceExtent:function(t){W_.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});d(["contain","normalize"],function(t){$_.prototype[t]=function(e){return e=q_(e)/q_(this.base),G_[t].call(this,e)}}),$_.create=function(){return new $_};var K_={getMin:function(t){var e=this.option,n=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=n&&"dataMin"!==n&&"function"!=typeof n&&!I(n)&&(n=this.axis.scale.parse(n)),n},getMax:function(t){var e=this.option,n=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=n&&"dataMax"!==n&&"function"!=typeof n&&!I(n)&&(n=this.axis.scale.parse(n)),n},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:R,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},Q_=Ai({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,o=e.height/2;t.moveTo(n,i-o),t.lineTo(n+r,i+o),t.lineTo(n-r,i+o),t.closePath()}}),J_=Ai({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,o=e.height/2;t.moveTo(n,i-o),t.lineTo(n+r,i),t.lineTo(n,i+o),t.lineTo(n-r,i),t.closePath()}}),tw=Ai({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.x,i=e.y,r=e.width/5*3,o=Math.max(r,e.height),a=r/2,s=a*a/(o-a),l=i-o+a+s,u=Math.asin(s/a),h=Math.cos(u)*a,c=Math.sin(u),d=Math.cos(u),f=.6*a,p=.7*a;t.moveTo(n-h,l+s),t.arc(n,l,a,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(n+h-c*f,l+s+d*f,n,i-p,n,i),t.bezierCurveTo(n,i-p,n-h+c*f,l+s+d*f,n-h,l+s),t.closePath()}}),ew=Ai({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.height,i=e.width,r=e.x,o=e.y,a=i/3*2;t.moveTo(r,o),t.lineTo(r+a,o+n),t.lineTo(r,o+n/4*3),t.lineTo(r-a,o+n),t.lineTo(r,o),t.closePath()}}),nw={line:function(t,e,n,i,r){r.x1=t,r.y1=e+i/2,r.x2=t+n,r.y2=e+i/2},rect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i},roundRect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i,r.r=Math.min(n,i)/4},square:function(t,e,n,i,r){var o=Math.min(n,i);r.x=t,r.y=e,r.width=o,r.height=o},circle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.r=Math.min(n,i)/2},diamond:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i},pin:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},arrow:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},triangle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i}},iw={};d({line:Hv,rect:Fv,roundRect:Fv,square:Fv,circle:Pv,diamond:J_,pin:tw,arrow:ew,triangle:Q_},function(t,e){iw[e]=new t});var rw=Ai({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style;"pin"===this.shape.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,n){var i=e.symbolType,r=iw[i];"none"!==e.symbolType&&(r||(r=iw[i="rect"]),nw[i](e.x,e.y,e.width,e.height,r.shape),r.buildPath(t,r.shape,n))}}),ow={isDimensionStacked:Ps,enableDataStack:ks,getStackedDimension:Ls},aw=(Object.freeze||Object)({createList:function(t){return Os(t.getSource(),t)},getLayoutRect:Gr,dataStack:ow,createScale:function(t,e){var n=e;pr.isInstance(e)||h(n=new pr(e),K_);var i=rl(n);return i.setExtent(t[0],t[1]),il(i,n),i},mixinAxisModelCommonMethods:function(t){h(t,K_)},completeDimensions:Ts,createDimensions:C_,createSymbol:cl}),sw=1e-8;pl.prototype={constructor:pl,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,n=[e,e],i=[-e,-e],r=[],o=[],a=this.geometries,s=0;s0}),function(t){var e=t.properties,n=t.geometry,i=n.coordinates,r=[];"Polygon"===n.type&&r.push({type:"polygon",exterior:i[0],interiors:i.slice(1)}),"MultiPolygon"===n.type&&d(i,function(t){t[0]&&r.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var o=new pl(e.name,r,e.cp);return o.properties=e,o})},uw=Dn(),hw=[0,1],cw=function(t,e,n){this.dim=t,this.scale=e,this._extent=n||[0,0],this.inverse=!1,this.onBand=!1};cw.prototype={constructor:cw,contain:function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Ir(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var n=this._extent;n[0]=t,n[1]=e},dataToCoord:function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&Ll(n=n.slice(),i.count()),xr(t,hw,n,e)},coordToData:function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&Ll(n=n.slice(),i.count());var r=xr(t,n,hw,e);return this.scale.scale(r)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=yl(this,e),i=f(n.ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),r=e.get("alignWithLabel");return Ol(this,i,n.tickCategoryInterval,r,t.clamp),i},getViewLabels:function(){return vl(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return Tl(this)}};var dw=lw,fw={};d(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){fw[t]=Np[t]}),cx.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return Os(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var pw=El.prototype,gw=El.getSymbolSize=function(t,e){var n=t.getItemVisual(e,"symbolSize");return n instanceof Array?n.slice():[+n,+n]};pw._createSymbol=function(t,e,n,i,r){this.removeAll();var o=cl(t,-1,-1,2,2,e.getItemVisual(n,"color"),r);o.attr({z2:100,culling:!0,scale:Nl(i)}),o.drift=Rl,this._symbolType=t,this.add(o)},pw.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},pw.getSymbolPath=function(){return this.childAt(0)},pw.getScale=function(){return this.childAt(0).scale},pw.highlight=function(){this.childAt(0).trigger("emphasis")},pw.downplay=function(){this.childAt(0).trigger("normal")},pw.setZ=function(t,e){var n=this.childAt(0);n.zlevel=t,n.z=e},pw.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":"pointer"},pw.updateData=function(t,e,n){this.silent=!1;var i=t.getItemVisual(e,"symbol")||"circle",r=t.hostModel,o=gw(t,e),a=i!==this._symbolType;if(a){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(i,t,e,o,s)}else(l=this.childAt(0)).silent=!1,ar(l,{scale:Nl(o)},r,e);if(this._updateCommon(t,e,o,n),a){var l=this.childAt(0),u=n&&n.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),sr(l,h,r,e)}this._seriesModel=r};var mw=["itemStyle"],vw=["emphasis","itemStyle"],yw=["label"],xw=["emphasis","label"];pw._updateCommon=function(t,e,n,i){var r=this.childAt(0),a=t.hostModel,s=t.getItemVisual(e,"color");"image"!==r.type&&r.useStyle({strokeNoScale:!0});var l=i&&i.itemStyle,u=i&&i.hoverItemStyle,h=i&&i.symbolRotate,c=i&&i.symbolOffset,d=i&&i.labelModel,f=i&&i.hoverLabelModel,p=i&&i.hoverAnimation,g=i&&i.cursorStyle;if(!i||t.hasItemOption){var m=i&&i.itemModel?i.itemModel:t.getItemModel(e);l=m.getModel(mw).getItemStyle(["color"]),u=m.getModel(vw).getItemStyle(),h=m.getShallow("symbolRotate"),c=m.getShallow("symbolOffset"),d=m.getModel(yw),f=m.getModel(xw),p=m.getShallow("hoverAnimation"),g=m.getShallow("cursor")}else u=o({},u);var v=r.style;r.attr("rotation",(h||0)*Math.PI/180||0),c&&r.attr("position",[_r(c[0],n[0]),_r(c[1],n[1])]),g&&r.attr("cursor",g),r.setColor(s,i&&i.symbolInnerColor),r.setStyle(l);var y=t.getItemVisual(e,"opacity");null!=y&&(v.opacity=y);var x=t.getItemVisual(e,"liftZ"),_=r.__z2Origin;null!=x?null==_&&(r.__z2Origin=r.z2,r.z2+=x):null!=_&&(r.z2=_,r.__z2Origin=null);var w=i&&i.useNameLabel;$i(v,u,d,f,{labelFetcher:a,labelDataIndex:e,defaultText:function(e,n){return w?t.getName(e):zl(t,e)},isRectText:!0,autoColor:s}),r.off("mouseover").off("mouseout").off("emphasis").off("normal"),r.hoverStyle=u,qi(r);var b=Nl(n);if(p&&a.isAnimationEnabled()){var M=function(){if(!this.incremental){var t=b[1]/b[0];this.animateTo({scale:[Math.max(1.1*b[0],b[0]+3),Math.max(1.1*b[1],b[1]+3*t)]},400,"elasticOut")}},S=function(){this.incremental||this.animateTo({scale:b},400,"elasticOut")};r.on("mouseover",M).on("mouseout",S).on("emphasis",M).on("normal",S)}},pw.fadeOut=function(t,e){var n=this.childAt(0);this.silent=n.silent=!0,!(e&&e.keepLabel)&&(n.style.text=null),ar(n,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},u(El,Sg);var _w=Bl.prototype;_w.updateData=function(t,e){e=Fl(e);var n=this.group,i=t.hostModel,r=this._data,o=this._symbolCtor,a=Hl(t);r||n.removeAll(),t.diff(r).add(function(i){var r=t.getItemLayout(i);if(Vl(t,r,i,e)){var s=new o(t,i,a);s.attr("position",r),t.setItemGraphicEl(i,s),n.add(s)}}).update(function(s,l){var u=r.getItemGraphicEl(l),h=t.getItemLayout(s);Vl(t,h,s,e)?(u?(u.updateData(t,s,a),ar(u,{position:h},i)):(u=new o(t,s)).attr("position",h),n.add(u),t.setItemGraphicEl(s,u)):n.remove(u)}).remove(function(t){var e=r.getItemGraphicEl(t);e&&e.fadeOut(function(){n.remove(e)})}).execute(),this._data=t},_w.isPersistent=function(){return!0},_w.updateLayout=function(){var t=this._data;t&&t.eachItemGraphicEl(function(e,n){var i=t.getItemLayout(n);e.attr("position",i)})},_w.incrementalPrepareUpdate=function(t){this._seriesScope=Hl(t),this._data=null,this.group.removeAll()},_w.incrementalUpdate=function(t,e,n){n=Fl(n);for(var i=t.start;i0&&Xl(n[r-1]);r--);for(;i0&&Xl(n[o-1]);o--);for(;r=0){var a=r.getItemGraphicEl(o);if(!a){var s=r.getItemLayout(o);if(!s)return;(a=new El(r,o)).position=s,a.setZ(t.get("zlevel"),t.get("z")),a.ignore=isNaN(s[0])||isNaN(s[1]),a.__temp=!0,r.setItemGraphicEl(o,a),a.stopSymbolAnimation(!0),this.group.add(a)}a.highlight()}else ra.prototype.highlight.call(this,t,e,n,i)},downplay:function(t,e,n,i){var r=t.getData(),o=Tn(r,i);if(null!=o&&o>=0){var a=r.getItemGraphicEl(o);a&&(a.__temp?(r.setItemGraphicEl(o,null),this.group.remove(a)):a.downplay())}else ra.prototype.downplay.call(this,t,e,n,i)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new Aw({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new kw({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(n),this._polygon=n,n},_updateAnimation:function(t,e,n,i,r,o){var a=this._polyline,s=this._polygon,l=t.hostModel,u=ww(this._data,t,this._stackedOnPoints,e,this._coordSys,n,this._valueOrigin,o),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;r&&(h=ru(u.current,n,r),c=ru(u.stackedOnCurrent,n,r),d=ru(u.next,n,r),f=ru(u.stackedOnNext,n,r)),a.shape.__points=u.current,a.shape.points=h,ar(a,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),ar(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;me&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;ne[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},u(Nw,cw);var Rw={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},Bw={};Bw.categoryAxis=i({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},Rw),Bw.valueAxis=i({boundaryGap:[0,0],splitNumber:5},Rw),Bw.timeAxis=a({scale:!0,min:"dataMin",max:"dataMax"},Bw.valueAxis),Bw.logAxis=a({scale:!0,logBase:10},Bw.valueAxis);var Vw=["value","category","time","log"],Fw=function(t,e,n,o){d(Vw,function(a){e.extend({type:t+"Axis."+a,mergeDefaultAndTheme:function(e,r){var o=this.layoutMode,s=o?Ur(e):{};i(e,r.getTheme().get(a+"Axis")),i(e,this.getDefaultOption()),e.type=n(t,e),o&&Zr(e,s,o)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=Rs.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:r([{},Bw[a+"Axis"],o],!0)})}),Iy.registerSubTypeDefaulter(t+"Axis",v(n,t))},Hw=Iy.extend({type:"cartesian2dAxis",axis:null,init:function(){Hw.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){Hw.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){Hw.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});i(Hw.prototype,K_);var Gw={offset:0};Fw("x",Hw,hu,Gw),Fw("y",Hw,hu,Gw),Iy.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var Ww=du.prototype;Ww.type="grid",Ww.axisPointerEnabled=!0,Ww.getRect=function(){return this._rect},Ww.update=function(t,e){var n=this._axesMap;this._updateScale(t,this.model),d(n.x,function(t){il(t.scale,t.model)}),d(n.y,function(t){il(t.scale,t.model)}),d(n.x,function(t){fu(n,"y",t)}),d(n.y,function(t){fu(n,"x",t)}),this.resize(this.model,e)},Ww.resize=function(t,e,n){function i(){d(o,function(t){var e=t.isHorizontal(),n=e?[0,r.width]:[0,r.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),gu(t,e?r.x:r.y)})}var r=Gr(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=r;var o=this._axesList;i(),!n&&t.get("containLabel")&&(d(o,function(t){if(!t.model.get("axisLabel.inside")){var e=ll(t);if(e){var n=t.isHorizontal()?"height":"width",i=t.model.get("axisLabel.margin");r[n]-=e[n]+i,"top"===t.position?r.y+=e.height+i:"left"===t.position&&(r.x+=e.width+i)}}}),i())},Ww.getAxis=function(t,e){var n=this._axesMap[t];if(null!=n){if(null==e)for(var i in n)if(n.hasOwnProperty(i))return n[i];return n[e]}},Ww.getAxes=function(){return this._axesList.slice()},Ww.getCartesian=function(t,e){if(null!=t&&null!=e){var n="x"+t+"y"+e;return this._coordsMap[n]}w(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var i=0,r=this._coordsList;iu[1]?-1:1,c=["start"===r?u[0]-h*l:"end"===r?u[1]+h*l:(u[0]+u[1])/2,Su(r)?t.labelOffset+a*l:0],d=e.get("nameRotate");null!=d&&(d=d*Uw/180);var f;Su(r)?i=Yw(t.rotation,null!=d?d:t.rotation,a):(i=xu(t,r,d||0,u),null!=(f=t.axisNameAvailableWidth)&&(f=Math.abs(f/Math.sin(i.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=C(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?my(n,v,p,m,{minChar:2,placeholder:g.placeholder}):n,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:n,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new kv({anid:"name",__fullText:n,__truncatedText:y,position:c,rotation:i.rotation,silent:_u(e),z2:1,tooltip:x&&x.show?o({content:n,formatter:function(){return n},formatterParams:w},x):null});Ki(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:i.textAlign,textVerticalAlign:i.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=yu(e),b.eventData.targetType="axisName",b.eventData.name=n),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},Yw=Xw.innerTextLayout=function(t,e,n){var i,r,o=Tr(e-t);return Dr(o)?(r=n>0?"top":"bottom",i="center"):Dr(o-Uw)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=o>0&&o0?"right":"left":n>0?"left":"right"),{rotation:o,textAlign:i,textVerticalAlign:r}},qw=d,$w=v,Kw=as({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,n,i){this.axisPointerClass&&Ou(t),Kw.superApply(this,"render",arguments),Bu(this,t,0,n,0,!0)},updateAxisPointer:function(t,e,n,i,r){Bu(this,t,0,n,0,!1)},remove:function(t,e){var n=this._axisPointer;n&&n.remove(e),Kw.superApply(this,"remove",arguments)},dispose:function(t,e){Vu(this,e),Kw.superApply(this,"dispose",arguments)}}),Qw=[];Kw.registerAxisPointerClass=function(t,e){Qw[t]=e},Kw.getAxisPointerClass=function(t){return t&&Qw[t]};var Jw=["axisLine","axisTickLabel","axisName"],tb=["splitArea","splitLine"],eb=Kw.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,n,i){this.group.removeAll();var r=this._axisGroup;if(this._axisGroup=new Sg,this.group.add(this._axisGroup),t.get("show")){var o=t.getCoordSysModel(),a=Fu(o,t),s=new Xw(t,a);d(Jw,s.add,s),this._axisGroup.add(s.getGroup()),d(tb,function(e){t.get(e+".show")&&this["_"+e](t,o)},this),cr(r,this._axisGroup,t),eb.superCall(this,"render",t,e,n,i)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var n=t.axis;if(!n.scale.isBlank()){var i=t.getModel("splitLine"),r=i.getModel("lineStyle"),o=r.get("color");o=y(o)?o:[o];for(var s=e.coordinateSystem.getRect(),l=n.isHorizontal(),u=0,h=n.getTicksCoords({tickModel:i}),c=[],d=[],f=r.getLineStyle(),p=0;p1){var c;"string"==typeof r?c=Ow[r]:"function"==typeof r&&(c=r),c&&t.setData(i.downSample(i.mapDimension(s.dim),1/h,c,zw))}}}}}("line")),cx.extend({type:"series.__base_bar__",getInitialData:function(t,e){return Os(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var n=e.dataToPoint(e.clampData(t)),i=this.getData(),r=i.getLayout("offset"),o=i.getLayout("size");return n[e.getBaseAxis().isHorizontal()?0:1]+=r+o/2,n}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}}).extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t}});var nb=Sm([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),ib={getBarItemStyle:function(t){var e=nb(this,t);if(this.getBorderLineDash){var n=this.getBorderLineDash();n&&(e.lineDash=n)}return e}},rb=["itemStyle","barBorderWidth"];o(pr.prototype,ib),ls({type:"bar",render:function(t,e,n){this._updateDrawMode(t);var i=t.get("coordinateSystem");return"cartesian2d"!==i&&"polar"!==i||(this._isLargeDraw?this._renderLarge(t,e,n):this._renderNormal(t,e,n)),this.group},incrementalPrepareRender:function(t,e,n){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,n,i){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t,e,n){var i,r=this.group,o=t.getData(),a=this._data,s=t.coordinateSystem,l=s.getBaseAxis();"cartesian2d"===s.type?i=l.isHorizontal():"polar"===s.type&&(i="angle"===l.dim);var u=t.isAnimationEnabled()?t:null;o.diff(a).add(function(e){if(o.hasValue(e)){var n=o.getItemModel(e),a=ab[s.type](o,e,n),l=ob[s.type](o,e,n,a,i,u);o.setItemGraphicEl(e,l),r.add(l),Uu(l,o,e,n,a,t,i,"polar"===s.type)}}).update(function(e,n){var l=a.getItemGraphicEl(n);if(o.hasValue(e)){var h=o.getItemModel(e),c=ab[s.type](o,e,h);l?ar(l,{shape:c},u,e):l=ob[s.type](o,e,h,c,i,u,!0),o.setItemGraphicEl(e,l),r.add(l),Uu(l,o,e,h,c,t,i,"polar"===s.type)}else r.remove(l)}).remove(function(t){var e=a.getItemGraphicEl(t);"cartesian2d"===s.type?e&&Wu(t,u,e):e&&Zu(t,u,e)}).execute(),this._data=o},_renderLarge:function(t,e,n){this._clear(),ju(t,this.group)},_incrementalRenderLarge:function(t,e){ju(e,this.group,!0)},dispose:R,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,n=this._data;t&&t.get("animation")&&n&&!this._isLargeDraw?n.eachItemGraphicEl(function(e){"sector"===e.type?Zu(e.dataIndex,t,e):Wu(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var ob={cartesian2d:function(t,e,n,i,r,a,s){var l=new Fv({shape:o({},i)});if(a){var u=l.shape,h=r?"height":"width",c={};u[h]=0,c[h]=i[h],ty[s?"updateProps":"initProps"](l,{shape:c},a,e)}return l},polar:function(t,e,n,i,r,o,s){var l=i.startAngle0?1:-1,a=i.height>0?1:-1;return{x:i.x+o*r/2,y:i.y+a*r/2,width:i.width-o*r,height:i.height-a*r}},polar:function(t,e,n){var i=t.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle}}},sb=xi.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var n=e.points,i=this.__startPoint,r=this.__valueIdx,o=0;o=0?"p":"n",b=m;p&&(r[a][_]||(r[a][_]={p:m,n:m}),b=r[a][_][w]);var M,S,I,C;if(g)M=b,S=(T=n.dataToPoint([x,_]))[1]+l,I=T[0]-m,C=u,Math.abs(I)0&&"scale"!==u){var d=r.getItemLayout(0),f=Math.max(n.getWidth(),n.getHeight())/2,p=m(a.removeClipPath,a);a.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}this._data=r}},dispose:function(){},_createClipPath:function(t,e,n,i,r,o,a){var s=new zv({shape:{cx:t,cy:e,r0:0,r:n,startAngle:i,endAngle:i,clockwise:r}});return sr(s,{shape:{endAngle:i+(r?1:-1)*Math.PI*2}},a,o),s},containPoint:function(t,e){var n=e.getData().getItemLayout(0);if(n){var i=t[0]-n.cx,r=t[1]-n.cy,o=Math.sqrt(i*i+r*r);return o<=n.r&&o>=n.r0}}});var db=function(t,e,n,i){var r,o,a=t.getData(),s=[],l=!1;a.each(function(n){var i,u,h,c,d=a.getItemLayout(n),f=a.getItemModel(n),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);r=d.cx,o=d.cy;var b="inside"===g||"inner"===g;if("center"===g)i=d.cx,u=d.cy,c="center";else{var M=(b?(d.r+d.r0)/2*_:d.r*_)+r,S=(b?(d.r+d.r0)/2*w:d.r*w)+o;if(i=M+3*_,u=S+3*w,!b){var I=M+_*(v+e-d.r),C=S+w*(v+e-d.r),T=I+(_<0?-1:1)*y,D=C;i=T+(_<0?-5:5),u=D,h=[[M,S],[I,C],[T,D]]}c=b?"center":_>0?"left":"right"}var A=p.getFont(),k=p.get("rotate")?_<0?-x+Math.PI:-x:0,P=ce(t.getFormattedLabel(n,"normal")||a.getName(n),A,c,"top");l=!!k,d.label={x:i,y:u,position:g,height:P.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:k,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&Ju(s,r,o,e,n,i)},fb=2*Math.PI,pb=Math.PI/180;!function(t,e){d(e,function(e){e.update="updateView",ts(e,function(n,i){var r={};return i.eachComponent({mainType:"series",subType:t,query:n},function(t){t[e.method]&&t[e.method](n.name,n.dataIndex);var i=t.getData();i.each(function(e){var n=i.getName(e);r[n]=t.isSelected(n)||!1})}),{name:n.name,selected:r}})})}("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),ns(function(t){return{getTargetSeries:function(e){var n={},i=N();return e.eachSeriesByType(t,function(t){t.__paletteScope=n,i.set(t.uid,t)}),i},reset:function(t,e){var n=t.getRawData(),i={},r=t.getData();r.each(function(t){var e=r.getRawIndex(t);i[e]=t}),n.each(function(e){var o=i[e],a=null!=o&&r.getItemVisual(o,"color",!0);if(a)n.setItemVisual(e,"color",a);else{var s=n.getItemModel(e).get("itemStyle.color")||t.getColorFromPalette(n.getName(e)||e+"",t.__paletteScope,n.count());n.setItemVisual(e,"color",s),null!=o&&r.setItemVisual(o,"color",s)}})}}}("pie")),es(v(function(t,e,n,i){e.eachSeriesByType(t,function(t){var e=t.getData(),i=e.mapDimension("value"),r=t.get("center"),o=t.get("radius");y(o)||(o=[0,o]),y(r)||(r=[r,r]);var a=n.getWidth(),s=n.getHeight(),l=Math.min(a,s),u=_r(r[0],a),h=_r(r[1],s),c=_r(o[0],l/2),d=_r(o[1],l/2),f=-t.get("startAngle")*pb,p=t.get("minAngle")*pb,g=0;e.each(i,function(t){!isNaN(t)&&g++});var m=e.getSum(i),v=Math.PI/(m||g)*2,x=t.get("clockwise"),_=t.get("roseType"),w=t.get("stillShowZeroSum"),b=e.getDataExtent(i);b[0]=0;var M=fb,S=0,I=f,C=x?1:-1;if(e.each(i,function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:x,cx:u,cy:h,r0:c,r:_?NaN:d});else{(i="area"!==_?0===m&&w?v:t*v:fb/g)=0;s--){var l=2*s,u=i[l]-o/2,h=i[l+1]-a/2;if(t>=u&&e>=h&&t<=u+o&&e<=h+a)return s}return-1}}),mb=th.prototype;mb.isPersistent=function(){return!this._incremental},mb.updateData=function(t){this.group.removeAll();var e=new gb({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},mb.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var n=2*(t.endIndex-t.startIndex),i=4*t.startIndex*2;e=new Float32Array(e.buffer,i,n)}t.setShape("points",e)})}},mb.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Di({silent:!0})),this.group.add(this._incremental)):this._incremental=null},mb.incrementalUpdate=function(t,e){var n;this._incremental?(n=new gb,this._incremental.addDisplayable(n,!0)):((n=new gb({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(n)),n.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(n,e,!!this._incremental)},mb._setCommon=function(t,e,n){var i=e.hostModel,r=e.getVisual("symbolSize");t.setShape("size",r instanceof Array?r:[r,r]),t.symbolProxy=cl(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var o=t.shape.size[0]<4;t.useStyle(i.getModel("itemStyle").getItemStyle(o?["color","shadowBlur","shadowColor"]:["color"]));var a=e.getVisual("color");a&&t.setColor(a),n||(t.seriesIndex=i.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var n=t.findDataIndex(e.offsetX,e.offsetY);n>=0&&(t.dataIndex=n+(t.startIndex||0))}))},mb.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},mb._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},ls({type:"scatter",render:function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).updateData(i),this._finished=!0},incrementalPrepareRender:function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).incrementalPrepareUpdate(i),this._finished=!1},incrementalRender:function(t,e,n){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var r=Lw().reset(t);r.progress&&r.progress({start:0,end:i.count()},i),this._symbolDraw.updateLayout(i)},_updateSymbolDraw:function(t,e){var n=this._symbolDraw,i=e.pipelineContext.large;return n&&i===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=i?new th:new Bl,this._isLargeDraw=i,this.group.removeAll()),this.group.add(n.group),n},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),ns(Pw("scatter","circle")),es(Lw("scatter")),Qa(function(t){var e=t.graphic;y(e)?e[0]&&e[0].elements?t.graphic=[t.graphic[0]]:t.graphic=[{elements:e}]:e&&!e.elements&&(t.graphic=[{elements:[e]}])});var vb=os({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(t){var e=this.option.elements;this.option.elements=null,vb.superApply(this,"mergeOption",arguments),this.option.elements=e},optionUpdated:function(t,e){var n=this.option,i=(e?n:t).elements,r=n.elements=e?[]:n.elements,o=[];this._flatten(i,o);var a=Mn(r,o);Sn(a);var s=this._elOptionsToUpdate=[];d(a,function(t,e){var n=t.option;n&&(s.push(n),oh(t,n),ah(r,e,n),sh(r[e],n))},this);for(var l=r.length-1;l>=0;l--)null==r[l]?r.splice(l,1):delete r[l].$action},_flatten:function(t,e,n){d(t,function(t){if(t){n&&(t.parentOption=n),e.push(t);var i=t.children;"group"===t.type&&i&&this._flatten(i,e,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});as({type:"graphic",init:function(t,e){this._elMap=N(),this._lastGraphicModel},render:function(t,e,n){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t,n),this._relocate(t,n)},_updateElements:function(t,e){var n=t.useElOptionsToUpdate();if(n){var i=this._elMap,r=this.group;d(n,function(t){var e=t.$action,n=t.id,o=i.get(n),a=t.parentId,s=null!=a?i.get(a):r;if("text"===t.type){var l=t.style;t.hv&&t.hv[1]&&(l.textVerticalAlign=l.textBaseline=null),!l.hasOwnProperty("textFill")&&l.fill&&(l.textFill=l.fill),!l.hasOwnProperty("textStroke")&&l.stroke&&(l.textStroke=l.stroke)}var u=ih(t);e&&"merge"!==e?"replace"===e?(nh(o,i),eh(n,s,u,i)):"remove"===e&&nh(o,i):o?o.attr(u):eh(n,s,u,i);var h=i.get(n);h&&(h.__ecGraphicWidth=t.width,h.__ecGraphicHeight=t.height)})}},_relocate:function(t,e){for(var n=t.option.elements,i=this.group,r=this._elMap,o=n.length-1;o>=0;o--){var a=n[o],s=r.get(a.id);if(s){var l=s.parent;Wr(s,a,l===i?{width:e.getWidth(),height:e.getHeight()}:{width:l.__ecGraphicWidth||0,height:l.__ecGraphicHeight||0},null,{hv:a.hv,boundingMode:a.bounding})}}},_clear:function(){var t=this._elMap;t.each(function(e){nh(e,t)}),this._elMap=N()},dispose:function(){this._clear()}});var yb=function(t,e){var n,i=[],r=t.seriesIndex;if(null==r||!(n=e.getSeriesByIndex(r)))return{point:[]};var o=n.getData(),a=Tn(o,t);if(null==a||a<0||y(a))return{point:[]};var s=o.getItemGraphicEl(a),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(a)||[];else if(l&&l.dataToPoint)i=l.dataToPoint(o.getValues(f(l.dimensions,function(t){return o.mapDimension(t)}),a,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),i=[u.x+u.width/2,u.y+u.height/2]}return{point:i,el:s}},xb=d,_b=v,wb=Dn(),bb=(os({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),Dn()),Mb=d,Sb=as({type:"axisPointer",render:function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";yh("axisPointer",n,function(t,e,n){"none"!==r&&("leave"===t||r.indexOf(t)>=0)&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){Sh(e.getZr(),"axisPointer"),Sb.superApply(this._model,"remove",arguments)},dispose:function(t,e){Sh("axisPointer",e),Sb.superApply(this._model,"dispose",arguments)}}),Ib=Dn(),Cb=n,Tb=m;(Ih.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,n,i){var r=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,i||this._lastValue!==r||this._lastStatus!==o){this._lastValue=r,this._lastStatus=o;var a=this._group,s=this._handle;if(!o||"hide"===o)return a&&a.hide(),void(s&&s.hide());a&&a.show(),s&&s.show();var l={};this.makeElOption(l,r,t,e,n);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(a){var c=v(Ch,e,h);this.updatePointerEl(a,l,c,e),this.updateLabelEl(a,l,c,e)}else a=this._group=new Sg,this.createPointerEl(a,l,t,e),this.createLabelEl(a,l,t,e),n.getZr().add(a);kh(a,e,!0),this._renderHandle(r)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var n=e.get("animation"),i=t.axis,r="category"===i.type,o=e.get("snap");if(!o&&!r)return!1;if("auto"===n||null==n){var a=this.animationThreshold;if(r&&i.getBandWidth()>a)return!0;if(o){var s=zu(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>a}return!1}return!0===n},makeElOption:function(t,e,n,i,r){},createPointerEl:function(t,e,n,i){var r=e.pointer;if(r){var o=Ib(t).pointerEl=new ty[r.type](Cb(e.pointer));t.add(o)}},createLabelEl:function(t,e,n,i){if(e.label){var r=Ib(t).labelEl=new Fv(Cb(e.label));t.add(r),Dh(r,i)}},updatePointerEl:function(t,e,n){var i=Ib(t).pointerEl;i&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,n,i){var r=Ib(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{shape:e.label.shape,position:e.label.position}),Dh(r,i))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,n=this._api.getZr(),i=this._handle,r=e.getModel("handle"),o=e.get("status");if(!r.get("show")||!o||"hide"===o)return i&&n.remove(i),void(this._handle=null);var a;this._handle||(a=!0,i=this._handle=fr(r.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){tm(t.event)},onmousedown:Tb(this._onHandleDragMove,this,0,0),drift:Tb(this._onHandleDragMove,this),ondragend:Tb(this._onHandleDragEnd,this)}),n.add(i)),kh(i,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];i.setStyle(r.getItemStyle(null,s));var l=r.get("size");y(l)||(l=[l,l]),i.attr("scale",[l[0]/2,l[1]/2]),ha(this,"_doDispatchAxisPointer",r.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,a)}},_moveHandleToValue:function(t,e){Ch(this._axisPointerModel,!e&&this._moveAnimation,this._handle,Ah(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(Ah(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(Ah(i)),Ib(n).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}}}).constructor=Ih,En(Ih);var Db=Ih.extend({makeElOption:function(t,e,n,i,r){var o=n.axis,a=o.grid,s=i.get("type"),l=Vh(a,o).getOtherAxis(o).getGlobalExtent(),u=o.toGlobalCoord(o.dataToCoord(e,!0));if(s&&"none"!==s){var h=Ph(i),c=Ab[s](o,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Nh(e,t,Fu(a.model,n),n,i,r)},getHandleTransform:function(t,e,n){var i=Fu(e.axis.grid.model,e,{labelInside:!1});return i.labelMargin=n.get("handle.margin"),{position:Eh(e.axis,t,i),rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,n,i){var r=n.axis,o=r.grid,a=r.getGlobalExtent(!0),s=Vh(o,r).getOtherAxis(r).getGlobalExtent(),l="x"===r.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(a[1],u[l]),u[l]=Math.max(a[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];var d=[{verticalAlign:"middle"},{align:"center"}];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:d[l]}}}),Ab={line:function(t,e,n,i){var r=Rh([e,n[0]],[e,n[1]],Fh(t));return zi({shape:r,style:i}),{type:"Line",shape:r}},shadow:function(t,e,n,i){var r=Math.max(1,t.getBandWidth()),o=n[1]-n[0];return{type:"Rect",shape:Bh([e-r/2,n[0]],[r,o],Fh(t))}}};Kw.registerAxisPointerClass("CartesianAxisPointer",Db),Qa(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!y(e)&&(t.axisPointer.link=[e])}}),Ja(Xx.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=Tu(t,e)}),ts({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,n){var i=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||m(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){vh(r)&&(r=yb({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=vh(r),u=o.axesInfo,h=s.axesInfo,c="leave"===i||vh(r),d={},f={},p={list:[],map:{}},g={showPointer:_b(hh,f),showTooltip:_b(ch,p)};xb(s.coordSysMap,function(t,e){var n=l||t.containPoint(r);xb(s.coordSysAxesInfo[e],function(t,e){var i=t.axis,o=gh(u,t);if(!c&&n&&(!u||o)){var a=o&&o.value;null!=a||l||(a=i.pointToData(r)),null!=a&&lh(t,a,g,!1,d)}})});var v={};return xb(h,function(t,e){var n=t.linkGroup;n&&!f[e]&&xb(n.axesInfo,function(e,i){var r=f[i];if(e!==t&&r){var o=r.value;n.mapper&&(o=t.axis.scale.parse(n.mapper(o,mh(e),mh(t)))),v[t.key]=o}})}),xb(v,function(t,e){lh(h[e],t,g,!0,d)}),dh(f,h,d),fh(p,r,t,a),ph(h,0,n),d}}),os({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:8,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});var kb=d,Pb=zr,Lb=["","-webkit-","-moz-","-o-"];Zh.prototype={constructor:Zh,_enterable:!0,update:function(){var t=this._container,e=t.currentStyle||document.defaultView.getComputedStyle(t),n=t.style;"absolute"!==n.position&&"absolute"!==e.position&&(n.position="relative")},show:function(t){clearTimeout(this._hideTimeout);var e=this.el;e.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+Wh(t)+";left:"+this._x+"px;top:"+this._y+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?"":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var n,i=this._zr;i&&i.painter&&(n=i.painter.getViewportRootOffset())&&(t+=n.offsetLeft,e+=n.offsetTop);var r=this.el.style;r.left=t+"px",r.top=e+"px",this._x=t,this._y=e},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show}};var Ob=m,zb=d,Eb=_r,Nb=new Fv({shape:{x:-1,y:-1,width:2,height:2}});as({type:"tooltip",init:function(t,e){if(!bp.node){var n=new Zh(e.getDom(),e);this._tooltipContent=n}},render:function(t,e,n){if(!bp.node&&!bp.wxa){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=n,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var i=this._tooltipContent;i.update(),i.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get("triggerOn");yh("itemTooltip",this._api,Ob(function(e,n,i){"none"!==t&&(t.indexOf(e)>=0?this._tryShow(n,i):"leave"===e&&this._hide(i))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,n=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var i=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){i.manuallyShowTip(t,e,n,{x:i._lastX,y:i._lastY})})}},manuallyShowTip:function(t,e,n,i){if(i.from!==this.uid&&!bp.node){var r=Xh(i,n);this._ticket="";var o=i.dataByCoordSys;if(i.tooltip&&null!=i.x&&null!=i.y){var a=Nb;a.position=[i.x,i.y],a.update(),a.tooltip=i.tooltip,this._tryShow({offsetX:i.x,offsetY:i.y,target:a},r)}else if(o)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,event:{},dataByCoordSys:i.dataByCoordSys,tooltipOption:i.tooltipOption},r);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var s=yb(i,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:i.position,target:s.el,event:{}},r)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target,event:{}},r))}},manuallyHideTip:function(t,e,n,i){var r=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,i.from!==this.uid&&this._hide(Xh(i,n))},_manuallyAxisShowTip:function(t,e,n,i){var r=i.seriesIndex,o=i.dataIndex,a=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=o&&null!=a){var s=e.getSeriesByIndex(r);if(s&&"axis"===(t=Uh([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:o,position:i.position}),!0}},_tryShow:function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;i&&i.length?this._showAxisTooltip(i,t):n&&null!=n.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,n,e)):n&&n.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,n,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var n=t.get("showDelay");e=m(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},_showAxisTooltip:function(t,e){var n=this._ecModel,i=this._tooltipModel,r=[e.offsetX,e.offsetY],o=[],a=[],s=Uh([e.tooltipOption,i]);zb(t,function(t){zb(t.dataByAxis,function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),i=t.value,r=[];if(e&&null!=i){var s=zh(i,e.axis,n,t.seriesDataIndices,t.valueLabelOpt);d(t.seriesDataIndices,function(o){var l=n.getSeriesByIndex(o.seriesIndex),u=o.dataIndexInside,h=l&&l.getDataParams(u);h.axisDim=t.axisDim,h.axisIndex=t.axisIndex,h.axisType=t.axisType,h.axisId=t.axisId,h.axisValue=sl(e.axis,i),h.axisValueLabel=s,h&&(a.push(h),r.push(l.formatTooltip(u,!0)))});var l=s;o.push((l?Er(l)+"
          ":"")+r.join("
          "))}})},this),o.reverse(),o=o.join("

          ");var l=e.position;this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(s,l,r[0],r[1],this._tooltipContent,a):this._showTooltipContent(s,o,a,Math.random(),r[0],r[1],l)})},_showSeriesItemTooltip:function(t,e,n){var i=this._ecModel,r=e.seriesIndex,o=i.getSeriesByIndex(r),a=e.dataModel||o,s=e.dataIndex,l=e.dataType,u=a.getData(),h=Uh([u.getItemModel(s),a,o&&(o.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d=a.getDataParams(s,l),f=a.formatTooltip(s,!1,l),p="item_"+a.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,f,d,p,t.offsetX,t.offsetY,t.position,t.target)}),n({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:r,from:this.uid})}},_showComponentItemTooltip:function(t,e,n){var i=e.tooltip;if("string"==typeof i){var r=i;i={content:r,formatter:r}}var o=new pr(i,this._tooltipModel,this._ecModel),a=o.get("content"),s=Math.random();this._showOrMove(o,function(){this._showTooltipContent(o,a,o.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),n({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,n,i,r,o,a,s){if(this._ticket="",t.get("showContent")&&t.get("show")){var l=this._tooltipContent,u=t.get("formatter");a=a||t.get("position");var h=e;if(u&&"string"==typeof u)h=Nr(u,n,!0);else if("function"==typeof u){var c=Ob(function(e,i){e===this._ticket&&(l.setContent(i),this._updatePosition(t,a,r,o,l,n,s))},this);this._ticket=i,h=u(n,i,c)}l.setContent(h),l.show(t),this._updatePosition(t,a,r,o,l,n,s)}},_updatePosition:function(t,e,n,i,r,o,a){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=r.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=a&&a.getBoundingRect().clone();if(a&&d.applyTransform(a.transform),"function"==typeof e&&(e=e([n,i],o,r.el,d,{viewSize:[s,l],contentSize:u.slice()})),y(e))n=Eb(e[0],s),i=Eb(e[1],l);else if(w(e)){e.width=u[0],e.height=u[1];var f=Gr(e,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else"string"==typeof e&&a?(n=(p=$h(e,d,u))[0],i=p[1]):(n=(p=jh(n,i,r.el,s,l,h?null:20,c?null:20))[0],i=p[1]);if(h&&(n-=Kh(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=Kh(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Yh(n,i,r.el,s,l);n=p[0],i=p[1]}r.moveTo(n,i)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,n=!!e&&e.length===t.length;return n&&zb(e,function(e,i){var r=e.dataByAxis||{},o=(t[i]||{}).dataByAxis||[];(n&=r.length===o.length)&&zb(r,function(t,e){var i=o[e]||{},r=t.seriesDataIndices||[],a=i.seriesDataIndices||[];(n&=t.value===i.value&&t.axisType===i.axisType&&t.axisId===i.axisId&&r.length===a.length)&&zb(r,function(t,e){var i=a[e];n&=t.seriesIndex===i.seriesIndex&&t.dataIndex===i.dataIndex})})}),this._lastDataByCoordSys=t,!!n},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){bp.node||bp.wxa||(this._tooltipContent.hide(),Sh("itemTooltip",e))}}),ts({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),ts({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){});var Rb=os({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,n){this.mergeDefaultAndTheme(t,n),t.selected=t.selected||{}},mergeOption:function(t){Rb.superCall(this,"mergeOption",t)},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,n=0;n=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});ts("legendToggleSelect","legendselectchanged",v(Qh,"toggleSelected")),ts("legendSelect","legendselected",v(Qh,"select")),ts("legendUnSelect","legendunselected",v(Qh,"unSelect"));var Bb=v,Vb=d,Fb=Sg,Hb=as({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new Fb),this._backgroundEl},getContentGroup:function(){return this._contentGroup},render:function(t,e,n){if(this.resetInner(),t.get("show",!0)){var i=t.get("align");i&&"auto"!==i||(i="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(i,t,e,n);var r=t.getBoxLayoutParams(),o={width:n.getWidth(),height:n.getHeight()},s=t.get("padding"),l=Gr(r,o,s),u=this.layoutInner(t,i,l),h=Gr(a({width:u.width,height:u.height},r),o,s);this.group.attr("position",[h.x-u.x,h.y-u.y]),this.group.add(this._backgroundEl=tc(u,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,n,i){var r=this.getContentGroup(),o=N(),a=e.get("selectedMode"),s=[];n.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),Vb(e.getData(),function(l,u){var h=l.get("name");if(this.newlineDisabled||""!==h&&"\n"!==h){var c=n.getSeriesByName(h)[0];if(!o.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol");this._createItem(h,u,l,e,p,g,t,f,a).on("click",Bb(ec,h,i)).on("mouseover",Bb(nc,c,null,i,s)).on("mouseout",Bb(ic,c,null,i,s)),o.set(h,!0)}else n.eachRawSeries(function(n){if(!o.get(h)&&n.legendDataProvider){var r=n.legendDataProvider(),c=r.indexOfName(h);if(c<0)return;var d=r.getItemVisual(c,"color");this._createItem(h,u,l,e,"roundRect",null,t,d,a).on("click",Bb(ec,h,i)).on("mouseover",Bb(nc,n,h,i,s)).on("mouseout",Bb(ic,n,h,i,s)),o.set(h,!0)}},this)}else r.add(new Fb({newline:!0}))},this)},_createItem:function(t,e,n,i,r,a,s,l,u){var h=i.get("itemWidth"),c=i.get("itemHeight"),d=i.get("inactiveColor"),f=i.get("symbolKeepAspect"),p=i.isSelected(t),g=new Fb,m=n.getModel("textStyle"),v=n.get("icon"),y=n.getModel("tooltip"),x=y.parentModel;if(r=v||r,g.add(cl(r,0,0,h,c,p?l:d,null==f||f)),!v&&a&&(a!==r||"none"==a)){var _=.8*c;"none"===a&&(a="circle"),g.add(cl(a,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f||f))}var w="left"===s?h+5:-5,b=s,M=i.get("formatter"),S=t;"string"==typeof M&&M?S=M.replace("{name}",null!=t?t:""):"function"==typeof M&&(S=M(t)),g.add(new kv({style:Ki({},m,{text:S,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var I=new Fv({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?o({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:i.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(I),g.eachChild(function(t){t.silent=!0}),I.silent=!u,this.getContentGroup().add(g),qi(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,n){var i=this.getContentGroup();by(t.get("orient"),i,t.get("itemGap"),n.width,n.height);var r=i.getBoundingRect();return i.attr("position",[-r.x,-r.y]),this.group.getBoundingRect()}});Ja(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var n=0;nn[s],f=[-h.x,-h.y];f[a]=i.position[a];var p=[0,0],g=[-c.x,-c.y],m=T(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?g[a]+=n[s]-c[s]:p[a]+=c[s]+m),g[1-a]+=h[l]/2-c[l]/2,i.attr("position",f),r.attr("position",p),o.attr("position",g);var v=this.group.getBoundingRect();if((v={x:0,y:0})[s]=d?n[s]:h[s],v[l]=Math.max(h[l],c[l]),v[u]=Math.min(0,c[u]+g[1-a]),r.__rectSize=n[s],d){var y={x:0,y:0};y[s]=Math.max(n[s]-c[s]-m,0),y[l]=v[l],r.setClipPath(new Fv({shape:y})),r.__rectSize=y[s]}else o.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(t);return null!=x.pageIndex&&ar(i,{position:x.contentPosition},!!d&&t),this._updatePageInfoView(t,x),v},_pageGo:function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},_updatePageInfoView:function(t,e){var n=this._controllerGroup;d(["pagePrev","pageNext"],function(i){var r=null!=e[i+"DataIndex"],o=n.childOfName(i);o&&(o.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),o.cursor=r?"pointer":"default")});var i=n.childOfName("pageText"),r=t.get("pageFormatter"),o=e.pageIndex,a=null!=o?o+1:0,s=e.pageCount;i&&r&&i.setStyle("text",_(r)?r.replace("{current}",a).replace("{total}",s):r({current:a,total:s}))},_getPageInfo:function(t){function e(t){var e=t.getBoundingRect().clone();return e[f]+=t.position[h],e}var n,i,r,o,a=t.get("scrollDataIndex",!0),s=this.getContentGroup(),l=s.getBoundingRect(),u=this._containerGroup.__rectSize,h=t.getOrient().index,c=Zb[h],d=Zb[1-h],f=Ub[h],p=s.position.slice();this._showController?s.eachChild(function(t){t.__legendDataIndex===a&&(o=t)}):o=s.childAt(0);var g=u?Math.ceil(l[c]/u):0;if(o){var m=o.getBoundingRect(),v=o.position[h]+m[f];p[h]=-v-l[f],n=Math.floor(g*(v+m[f]+u/2)/l[c]),n=l[c]&&g?Math.max(0,Math.min(g-1,n)):-1;var y={x:0,y:0};y[c]=u,y[d]=l[d],y[f]=-p[h]-l[f];var x,_=s.children();if(s.eachChild(function(t,n){var i=e(t);i.intersect(y)&&(null==x&&(x=n),r=t.__legendDataIndex),n===_.length-1&&i[f]+i[c]<=y[f]+y[c]&&(r=null)}),null!=x){var w=e(_[x]);if(y[f]=w[f]+w[c]-y[c],x<=0&&w[f]>=y[f])i=null;else{for(;x>0&&e(_[x-1]).intersect(y);)x--;i=_[x].__legendDataIndex}}}return{contentPosition:p,pageIndex:n,pageCount:g,pagePrevDataIndex:i,pageNextDataIndex:r}}});ts("legendScroll","legendscroll",function(t,e){var n=t.scrollDataIndex;null!=n&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(t){t.setScrollDataIndex(n)})}),os({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),as({type:"title",render:function(t,e,n){if(this.group.removeAll(),t.get("show")){var i=this.group,r=t.getModel("textStyle"),o=t.getModel("subtextStyle"),a=t.get("textAlign"),s=t.get("textBaseline"),l=new kv({style:Ki({},r,{text:t.get("text"),textFill:r.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new kv({style:Ki({},o,{text:h,textFill:o.getTextColor(),y:u.height+t.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),f=t.get("sublink");l.silent=!d,c.silent=!f,d&&l.on("click",function(){window.open(d,"_"+t.get("target"))}),f&&c.on("click",function(){window.open(f,"_"+t.get("subtarget"))}),i.add(l),h&&i.add(c);var p=i.getBoundingRect(),g=t.getBoxLayoutParams();g.width=p.width,g.height=p.height;var m=Gr(g,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));a||("middle"===(a=t.get("left")||t.get("right"))&&(a="center"),"right"===a?m.x+=m.width:"center"===a&&(m.x+=m.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?m.y+=m.height:"middle"===s&&(m.y+=m.height/2),s=s||"top"),i.attr("position",[m.x,m.y]);var v={textAlign:a,textVerticalAlign:s};l.setStyle(v),c.setStyle(v),p=i.getBoundingRect();var y=m.margin,x=t.getItemStyle(["color","opacity"]);x.fill=t.get("backgroundColor");var _=new Fv({shape:{x:p.x-y[3],y:p.y-y[0],width:p.width+y[1]+y[3],height:p.height+y[0]+y[2],r:t.get("borderRadius")},style:x,silent:!0});Ei(_),i.add(_)}}});var jb=Or,Yb=Er,qb=os({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,n,i){this.mergeDefaultAndTheme(t,n),this.mergeOption(t,n,i.createdBySelf,!0)},isAnimationEnabled:function(){if(bp.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e,n,i){var r=this.constructor,a=this.mainType+"Model";n||e.eachSeries(function(t){var n=t.get(this.mainType,!0),s=t[a];n&&n.data?(s?s.mergeOption(n,e,!0):(i&&oc(n),d(n.data,function(t){t instanceof Array?(oc(t[0]),oc(t[1])):oc(t)}),o(s=new r(n,this,e),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),t[a]=s):t[a]=null},this)},formatTooltip:function(t){var e=this.getData(),n=this.getRawValue(t),i=y(n)?f(n,jb).join(", "):jb(n),r=e.getName(t),o=Yb(this.name);return(null!=n||r)&&(o+="
          "),r&&(o+=Yb(r),null!=n&&(o+=" : ")),null!=n&&(o+=Yb(i)),o},getData:function(){return this._data},setData:function(t){this._data=t}});h(qb,sx),qb.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var $b=l,Kb=v,Qb={min:Kb(lc,"min"),max:Kb(lc,"max"),average:Kb(lc,"average")},Jb=as({type:"marker",init:function(){this.markerGroupMap=N()},render:function(t,e,n){var i=this.markerGroupMap;i.each(function(t){t.__keep=!1});var r=this.type+"Model";e.eachSeries(function(t){var i=t[r];i&&this.renderSeries(t,i,e,n)},this),i.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}});Jb.extend({type:"markPoint",updateTransform:function(t,e,n){e.eachSeries(function(t){var e=t.markPointModel;e&&(gc(e.getData(),t,n),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new Bl),u=mc(r,t,e);e.setData(u),gc(e.getData(),t,i),u.each(function(t){var n=u.getItemModel(t),i=n.getShallow("symbolSize");"function"==typeof i&&(i=i(e.getRawValue(t),e.getDataParams(t))),u.setItemVisual(t,{symbolSize:i,color:n.get("itemStyle.color")||a.getVisual("color"),symbol:n.getShallow("symbol")})}),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=e})}),l.__keep=!0,l.group.silent=e.get("silent")||t.get("silent")}}),Qa(function(t){t.markPoint=t.markPoint||{}}),qb.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});var tM=Hv.prototype,eM=Wv.prototype,nM=Ai({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(vc(e)?tM:eM).buildPath(t,e)},pointAt:function(t){return vc(this.shape)?tM.pointAt.call(this,t):eM.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,n=vc(e)?[e.x2-e.x1,e.y2-e.y1]:eM.tangentAt.call(this,t);return j(n,n)}}),iM=["fromSymbol","toSymbol"],rM=bc.prototype;rM.beforeUpdate=function(){var t=this,e=t.childOfName("fromSymbol"),n=t.childOfName("toSymbol"),i=t.childOfName("label");if(e||n||!i.ignore){for(var r=1,o=this.parent;o;)o.scale&&(r/=o.scale[0]),o=o.parent;var a=t.childOfName("line");if(this.__dirty||a.__dirty){var s=a.shape.percent,l=a.pointAt(0),u=a.pointAt(s),h=W([],u,l);if(j(h,h),e&&(e.attr("position",l),c=a.tangentAt(0),e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[r*s,r*s])),n){n.attr("position",u);var c=a.tangentAt(1);n.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),n.attr("scale",[r*s,r*s])}if(!i.ignore){i.attr("position",u);var d,f,p,g=5*r;if("end"===i.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===i.__position){var m=s/2,v=[(c=a.tangentAt(m))[1],-c[0]],y=a.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0].8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";i.attr({style:{textVerticalAlign:i.__verticalAlign||p,textAlign:i.__textAlign||f},position:d,scale:[r,r]})}}}},rM._createLine=function(t,e,n){var i=t.hostModel,r=_c(t.getItemLayout(e));r.shape.percent=0,sr(r,{shape:{percent:1}},i,e),this.add(r);var o=new kv({name:"label"});this.add(o),d(iM,function(n){var i=xc(n,t,e);this.add(i),this[yc(n)]=t.getItemVisual(e,n)},this),this._updateCommonStl(t,e,n)},rM.updateData=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),o=t.getItemLayout(e),a={shape:{}};wc(a.shape,o),ar(r,a,i,e),d(iM,function(n){var i=t.getItemVisual(e,n),r=yc(n);if(this[r]!==i){this.remove(this.childOfName(n));var o=xc(n,t,e);this.add(o)}this[r]=i},this),this._updateCommonStl(t,e,n)},rM._updateCommonStl=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),o=n&&n.lineStyle,s=n&&n.hoverLineStyle,l=n&&n.labelModel,u=n&&n.hoverLabelModel;if(!n||t.hasItemOption){var h=t.getItemModel(e);o=h.getModel("lineStyle").getLineStyle(),s=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),f=D(t.getItemVisual(e,"opacity"),o.opacity,1);r.useStyle(a({strokeNoScale:!0,fill:"none",stroke:c,opacity:f},o)),r.hoverStyle=s,d(iM,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:f}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",null==(g=i.getFormattedLabel(e,"normal",t.dataType)))){var x=i.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?wr(x):x}var _=m?g:null,w=v?T(i.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;null==_&&null==w||(Ki(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,qi(this)},rM.highlight=function(){this.trigger("emphasis")},rM.downplay=function(){this.trigger("normal")},rM.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},rM.setLinePoints=function(t){var e=this.childOfName("line");wc(e.shape,t),e.dirty()},u(bc,Sg);var oM=Mc.prototype;oM.isPersistent=function(){return!0},oM.updateData=function(t){var e=this,n=e.group,i=e._lineData;e._lineData=t,i||n.removeAll();var r=Cc(t);t.diff(i).add(function(n){Sc(e,t,n,r)}).update(function(n,o){Ic(e,i,t,o,n,r)}).remove(function(t){n.remove(i.getItemGraphicEl(t))}).execute()},oM.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,n){e.updateLayout(t,n)},this)},oM.incrementalPrepareUpdate=function(t){this._seriesScope=Cc(t),this._lineData=null,this.group.removeAll()},oM.incrementalUpdate=function(t,e){for(var n=t.start;n=0&&"number"==typeof h&&(h=+h.toFixed(Math.min(m,20))),p.coord[d]=g.coord[d]=h,a=[p,g,{type:l,valueIndex:a.valueIndex,value:h}]}return a=[uc(t,a[0]),uc(t,a[1]),o({},a[2])],a[2].type=a[2].type||"",i(a[2],a[0]),i(a[2],a[1]),a};Jb.extend({type:"markLine",updateTransform:function(t,e,n){e.eachSeries(function(t){var e=t.markLineModel;if(e){var i=e.getData(),r=e.__from,o=e.__to;r.each(function(e){Lc(r,e,!0,t,n),Lc(o,e,!1,t,n)}),i.each(function(t){i.setItemLayout(t,[r.getItemLayout(t),o.getItemLayout(t)])}),this.markerGroupMap.get(t.id).updateLayout()}},this)},renderSeries:function(t,e,n,i){function r(e,n,r){var o=e.getItemModel(n);Lc(e,n,r,t,i),e.setItemVisual(n,{symbolSize:o.get("symbolSize")||g[r?0:1],symbol:o.get("symbol",!0)||p[r?0:1],color:o.get("itemStyle.color")||s.getVisual("color")})}var o=t.coordinateSystem,a=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,new Mc);this.group.add(u.group);var h=Oc(o,t,e),c=h.from,d=h.to,f=h.line;e.__from=c,e.__to=d,e.setData(f);var p=e.get("symbol"),g=e.get("symbolSize");y(p)||(p=[p,p]),"number"==typeof g&&(g=[g,g]),h.from.each(function(t){r(c,t,!0),r(d,t,!1)}),f.each(function(t){var e=f.getItemModel(t).get("lineStyle.color");f.setItemVisual(t,{color:e||c.getItemVisual(t,"color")}),f.setItemLayout(t,[c.getItemLayout(t),d.getItemLayout(t)]),f.setItemVisual(t,{fromSymbolSize:c.getItemVisual(t,"symbolSize"),fromSymbol:c.getItemVisual(t,"symbol"),toSymbolSize:d.getItemVisual(t,"symbolSize"),toSymbol:d.getItemVisual(t,"symbol")})}),u.updateData(f),h.line.eachItemGraphicEl(function(t,n){t.traverse(function(t){t.dataModel=e})}),u.__keep=!0,u.group.silent=e.get("silent")||t.get("silent")}}),Qa(function(t){t.markLine=t.markLine||{}}),qb.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var sM=function(t,e,n,i){var o=uc(t,i[0]),a=uc(t,i[1]),s=C,l=o.coord,u=a.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=r([{},o,a]);return h.coord=[o.coord,a.coord],h.x0=o.x,h.y0=o.y,h.x1=a.x,h.y1=a.y,h},lM=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];Jb.extend({type:"markArea",updateTransform:function(t,e,n){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var i=e.getData();i.each(function(e){var r=f(lM,function(r){return Rc(i,e,r,t,n)});i.setItemLayout(e,r),i.getItemGraphicEl(e).setShape("points",r)})}},this)},renderSeries:function(t,e,n,i){var r=t.coordinateSystem,o=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(o)||l.set(o,{group:new Sg});this.group.add(u.group),u.__keep=!0;var h=Bc(r,t,e);e.setData(h),h.each(function(e){h.setItemLayout(e,f(lM,function(n){return Rc(h,e,n,t,i)})),h.setItemVisual(e,{color:s.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=new Bv({shape:{points:h.getItemLayout(t)}});h.setItemGraphicEl(t,e),u.group.add(e)}).update(function(t,n){var i=u.__data.getItemGraphicEl(n);ar(i,{shape:{points:h.getItemLayout(t)}},e,t),u.group.add(i),h.setItemGraphicEl(t,i)}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,n){var i=h.getItemModel(n),r=i.getModel("label"),o=i.getModel("emphasis.label"),s=h.getItemVisual(n,"color");t.useStyle(a(i.getModel("itemStyle").getItemStyle(),{fill:Pt(s,.4),stroke:s})),t.hoverStyle=i.getModel("emphasis.itemStyle").getItemStyle(),$i(t.style,t.hoverStyle,r,o,{labelFetcher:e,labelDataIndex:n,defaultText:h.getName(n)||"",isRectText:!0,autoColor:s}),qi(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),Qa(function(t){t.markArea=t.markArea||{}}),Iy.registerSubTypeDefaulter("dataZoom",function(){return"slider"});var uM=["cartesian2d","polar","singleAxis"],hM=function(t,e){var n=f(t=t.slice(),Fr),i=f(e=(e||[]).slice(),Fr);return function(r,o){d(t,function(t,a){for(var s={name:t,capital:n[a]},l=0;l=a[0]&&t<=a[1]}if(t===this._dataZoomModel){var i=this._dimName,r=this.getTargetSeriesModels(),o=t.get("filterMode"),a=this._valueWindow;"none"!==o&&cM(r,function(t){var e=t.getData(),r=e.mapDimension(i,!0);"weakFilter"===o?e.filterSelf(function(t){for(var n,i,o,s=0;sa[1];if(u&&!h&&!c)return!0;u&&(o=!0),h&&(n=!0),c&&(i=!0)}return o&&n&&i}):cM(r,function(i){if("empty"===o)t.setData(e.map(i,function(t){return n(t)?t:NaN}));else{var r={};r[i]=a,e.selectRange(r)}}),cM(r,function(t){e.setApproximateExtent(a,t)})})}}};var pM=d,gM=hM,mM=os({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,n){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var i=Uc(t);this.mergeDefaultAndTheme(t,n),this.doInit(i)},mergeOption:function(t){var e=Uc(t);i(this.option,t,!0),this.doInit(e)},doInit:function(t){var e=this.option;bp.canvasSupported||(e.realtime=!1),this._setDefaultThrottle(t),Xc(this,t),pM([["start","startValue"],["end","endValue"]],function(t,n){"value"===this._rangePropMode[n]&&(e[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,n,i,r){var o=this.dependentModels[e.axis][n],a=o.__dzAxisProxy||(o.__dzAxisProxy=new fM(e.name,n,this,r));t[e.name+"_"+n]=a},this)},_resetTarget:function(){var t=this.option,e=this._judgeAutoMode();gM(function(e){var n=e.axisIndex;t[n]=xn(t[n])},this),"axisIndex"===e?this._autoSetAxisIndex():"orient"===e&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this.option,e=!1;gM(function(n){null!=t[n.axisIndex]&&(e=!0)},this);var n=t.orient;return null==n&&e?"orient":e?void 0:(null==n&&(t.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get("orient",!0),n=this.option,i=this.dependentModels;if(t){var r="vertical"===e?"y":"x";i[r+"Axis"].length?(n[r+"AxisIndex"]=[0],t=!1):pM(i.singleAxis,function(i){t&&i.get("orient",!0)===e&&(n.singleAxisIndex=[i.componentIndex],t=!1)})}t&&gM(function(e){if(t){var i=[],r=this.dependentModels[e.axis];if(r.length&&!i.length)for(var o=0,a=r.length;o0?100:20}},getFirstTargetAxisModel:function(){var t;return gM(function(e){if(null==t){var n=this.get(e.axisIndex);n.length&&(t=this.dependentModels[e.axis][n[0]])}},this),t},eachTargetAxis:function(t,e){var n=this.ecModel;gM(function(i){pM(this.get(i.axisIndex),function(r){t.call(e,i,r,this,n)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var n=this.getAxisProxy(t,e);return n&&n.getAxisModel()},setRawRange:function(t,e){var n=this.option;pM([["start","startValue"],["end","endValue"]],function(e){null==t[e[0]]&&null==t[e[1]]||(n[e[0]]=t[e[0]],n[e[1]]=t[e[1]])},this),!e&&Xc(this,t)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var n=this.findRepresentativeAxisProxy();return n?n.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var n in e)if(e.hasOwnProperty(n)&&e[n].hostedBy(this))return e[n];for(var n in e)if(e.hasOwnProperty(n)&&!e[n].hostedBy(this))return e[n]},getRangePropMode:function(){return this._rangePropMode.slice()}}),vM=dx.extend({type:"dataZoom",render:function(t,e,n,i){this.dataZoomModel=t,this.ecModel=e,this.api=n},getTargetCoordInfo:function(){function t(t,e,n,i){for(var r,o=0;oo&&(e[1-i]=e[i]+h.sign*o),e}),xM=Fv,_M=xr,wM=br,bM=m,MM=d,SM="horizontal",IM=5,CM=["line","bar","candlestick","scatter"],TM=vM.extend({type:"dataZoom.slider",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,n,i){TM.superApply(this,"render",arguments),ha(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=t.get("orient"),!1!==this.dataZoomModel.get("show")?(i&&"dataZoom"===i.type&&i.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){TM.superApply(this,"remove",arguments),ca(this,"_dispatchZoomAction")},dispose:function(){TM.superApply(this,"dispose",arguments),ca(this,"_dispatchZoomAction")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new Sg;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,n=this._findCoordRect(),i={width:e.getWidth(),height:e.getHeight()},r=this._orient===SM?{right:i.width-n.x-n.width,top:i.height-30-7,width:n.width,height:30}:{right:7,top:n.y,width:30,height:n.height},o=Ur(t.option);d(["right","top","width","height"],function(t){"ph"===o[t]&&(o[t]=r[t])});var a=Gr(o,i,t.padding);this._location={x:a.x,y:a.y},this._size=[a.width,a.height],"vertical"===this._orient&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),r=i&&i.get("inverse"),o=this._displayables.barGroup,a=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(n!==SM||r?n===SM&&r?{scale:a?[-1,1]:[-1,-1]}:"vertical"!==n||r?{scale:a?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:a?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:a?[1,1]:[1,-1]});var s=t.getBoundingRect([o]);t.attr("position",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,n=this._displayables.barGroup;n.add(new xM({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40})),n.add(new xM({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:m(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,n=t.series,i=n.getRawData(),r=n.getShadowDim?n.getShadowDim():t.otherDim;if(null!=r){var o=i.getDataExtent(r),s=.3*(o[1]-o[0]);o=[o[0]-s,o[1]+s];var l,u=[0,e[1]],h=[0,e[0]],c=[[e[0],0],[0,0]],d=[],f=h[1]/(i.count()-1),p=0,g=Math.round(i.count()/e[0]);i.each([r],function(t,e){if(g>0&&e%g)p+=f;else{var n=null==t||isNaN(t)||""===t,i=n?0:_M(t,o,u,!0);n&&!l&&e?(c.push([c[c.length-1][0],0]),d.push([d[d.length-1][0],0])):!n&&l&&(c.push([p,0]),d.push([p,0])),c.push([p,i]),d.push([p,i]),p+=f,l=n}});var m=this.dataZoomModel;this._displayables.barGroup.add(new Bv({shape:{points:c},style:a({fill:m.get("dataBackgroundColor")},m.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new Vv({shape:{points:d},style:m.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var n,i=this.ecModel;return t.eachTargetAxis(function(r,o){d(t.getAxisProxy(r.name,o).getTargetSeriesModels(),function(t){if(!(n||!0!==e&&l(CM,t.get("type"))<0)){var a,s=i.getComponent(r.axis,o).axis,u=qc(r.name),h=t.coordinateSystem;null!=u&&h.getOtherAxis&&(a=h.getOtherAxis(s).inverse),u=t.getData().mapDimension(u),n={thisAxis:s,series:t,thisDim:r.name,otherDim:u,otherAxisInverse:a}}},this)},this),n}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],n=t.handleLabels=[],i=this._displayables.barGroup,r=this._size,o=this.dataZoomModel;i.add(t.filler=new xM({draggable:!0,cursor:$c(this._orient),drift:bM(this._onDragMove,this,"all"),onmousemove:function(t){tm(t.event)},ondragstart:bM(this._showDataInfo,this,!0),ondragend:bM(this._onDragEnd,this),onmouseover:bM(this._showDataInfo,this,!0),onmouseout:bM(this._showDataInfo,this,!1),style:{fill:o.get("fillerColor"),textPosition:"inside"}})),i.add(new xM(Ei({silent:!0,shape:{x:0,y:0,width:r[0],height:r[1]},style:{stroke:o.get("dataBackgroundColor")||o.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}))),MM([0,1],function(t){var r=fr(o.get("handleIcon"),{cursor:$c(this._orient),draggable:!0,drift:bM(this._onDragMove,this,t),onmousemove:function(t){tm(t.event)},ondragend:bM(this._onDragEnd,this),onmouseover:bM(this._showDataInfo,this,!0),onmouseout:bM(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),a=r.getBoundingRect();this._handleHeight=_r(o.get("handleSize"),this._size[1]),this._handleWidth=a.width/a.height*this._handleHeight,r.setStyle(o.getModel("handleStyle").getItemStyle());var s=o.get("handleColor");null!=s&&(r.style.fill=s),i.add(e[t]=r);var l=o.textStyleModel;this.group.add(n[t]=new kv({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[_M(t[0],[0,100],e,!0),_M(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var n=this.dataZoomModel,i=this._handleEnds,r=this._getViewExtent(),o=n.findRepresentativeAxisProxy().getMinMaxSpan(),a=[0,100];yM(e,i,r,n.get("zoomLock")?"all":t,null!=o.minSpan?_M(o.minSpan,a,r,!0):null,null!=o.maxSpan?_M(o.maxSpan,a,r,!0):null);var s=this._range,l=this._range=wM([_M(i[0],r,a,!0),_M(i[1],r,a,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var e=this._displayables,n=this._handleEnds,i=wM(n.slice()),r=this._size;MM([0,1],function(t){var i=e.handles[t],o=this._handleHeight;i.attr({scale:[o/2,o/2],position:[n[t],r[1]/2-o/2]})},this),e.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:r[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){function e(t){var e=lr(i.handles[t].parent,this.group),n=hr(0===t?"right":"left",e),s=this._handleWidth/2+IM,l=ur([c[t]+(0===t?-s:s),this._size[1]/2],e);r[t].setStyle({x:l[0],y:l[1],textVerticalAlign:o===SM?"middle":n,textAlign:o===SM?n:"center",text:a[t]})}var n=this.dataZoomModel,i=this._displayables,r=i.handleLabels,o=this._orient,a=["",""];if(n.get("showDetail")){var s=n.findRepresentativeAxisProxy();if(s){var l=s.getAxisModel().axis,u=this._range,h=t?s.calculateDataWindow({start:u[0],end:u[1]}).valueWindow:s.getDataValueWindow();a=[this._formatLabel(h[0],l),this._formatLabel(h[1],l)]}}var c=wM(this._handleEnds.slice());e.call(this,0),e.call(this,1)},_formatLabel:function(t,e){var n=this.dataZoomModel,i=n.get("labelFormatter"),r=n.get("labelPrecision");null!=r&&"auto"!==r||(r=e.getPixelPrecision());var o=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(r,20));return x(i)?i(t,o):_(i)?i.replace("{value}",o):o},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,n){this._dragging=!0;var i=ur([e,n],this._displayables.barGroup.getLocalTransform(),!0),r=this._updateInterval(t,i[0]),o=this.dataZoomModel.get("realtime");this._updateView(!o),r&&o&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,n=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(n[0]<0||n[0]>e[0]||n[1]<0||n[1]>e[1])){var i=this._handleEnds,r=(i[0]+i[1])/2,o=this._updateInterval("all",n[0]-r);this._updateView(),o&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var t;if(MM(this.getTargetCoordInfo(),function(e){if(!t&&e.length){var n=e[0].model.coordinateSystem;t=n.getRect&&n.getRect()}}),!t){var e=this.api.getWidth(),n=this.api.getHeight();t={x:.2*e,y:.2*n,width:.6*e,height:.6*n}}return t}});mM.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,preventDefaultMouseMove:!0}});var DM="\0_ec_interaction_mutex";ts({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),h(ed,Zp);var AM=v,kM="\0_ec_dataZoom_roams",PM=m,LM=vM.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(t,e,n,i){LM.superApply(this,"render",arguments),this._range=t.getPercentRange(),d(this.getTargetCoordInfo(),function(e,i){var r=f(e,function(t){return cd(t.model)});d(e,function(e){var o=e.model,a=t.option;ud(n,{coordId:cd(o),allCoordIds:r,containsPoint:function(t,e,n){return o.coordinateSystem.containPoint([e,n])},dataZoomId:t.id,throttleRate:t.get("throttle",!0),panGetRange:PM(this._onPan,this,e,i),zoomGetRange:PM(this._onZoom,this,e,i),zoomLock:a.zoomLock,disabled:a.disabled,roamControllerOpt:{zoomOnMouseWheel:a.zoomOnMouseWheel,moveOnMouseMove:a.moveOnMouseMove,preventDefaultMouseMove:a.preventDefaultMouseMove}})},this)},this)},dispose:function(){hd(this.api,this.dataZoomModel.id),LM.superApply(this,"dispose",arguments),this._range=null},_onPan:function(t,e,n,i,r,o,a,s,l){var u=this._range,h=u.slice(),c=t.axisModels[0];if(c){var d=OM[e]([o,a],[s,l],c,n,t),f=d.signal*(h[1]-h[0])*d.pixel/d.pixelLength;return yM(f,h,[0,100],"all"),this._range=h,u[0]!==h[0]||u[1]!==h[1]?h:void 0}},_onZoom:function(t,e,n,i,r,o){var a=this._range,s=a.slice(),l=t.axisModels[0];if(l){var u=OM[e](null,[r,o],l,n,t),h=(u.signal>0?u.pixelStart+u.pixelLength-u.pixel:u.pixel-u.pixelStart)/u.pixelLength*(s[1]-s[0])+s[0];i=Math.max(1/i,0),s[0]=(s[0]-h)*i+h,s[1]=(s[1]-h)*i+h;var c=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return yM(0,s,[0,100],0,c.minSpan,c.maxSpan),this._range=s,a[0]!==s[0]||a[1]!==s[1]?s:void 0}}}),OM={grid:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem.getRect();return t=t||[0,0],"x"===o.dim?(a.pixel=e[0]-t[0],a.pixelLength=s.width,a.pixelStart=s.x,a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=s.height,a.pixelStart=s.y,a.signal=o.inverse?-1:1),a},polar:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===n.mainType?(a.pixel=e[0]-t[0],a.pixelLength=l[1]-l[0],a.pixelStart=l[0],a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=u[1]-u[0],a.pixelStart=u[0],a.signal=o.inverse?-1:1),a},singleAxis:function(t,e,n,i,r){var o=n.axis,a=r.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=a.width,s.pixelStart=a.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=a.height,s.pixelStart=a.y,s.signal=o.inverse?-1:1),s}};Ja({getTargetSeries:function(t){var e=N();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,n,i){d(i.getAxisProxy(t.name,n).getTargetSeriesModels(),function(t){e.set(t.uid,t)})})}),e},modifyOutputEnd:!0,overallReset:function(t,e){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,n,i){i.getAxisProxy(t.name,n).reset(i,e)}),t.eachTargetAxis(function(t,n,i){i.getAxisProxy(t.name,n).filterData(i,e)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),n=e.getDataPercentWindow(),i=e.getDataValueWindow();t.setRawRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]},!0)})}}),ts("dataZoom",function(t,e){var n=Fc(m(e.eachComponent,e,"dataZoom"),hM,function(t,e){return t.get(e.axisIndex)}),i=[];e.eachComponent({mainType:"dataZoom",query:t},function(t,e){i.push.apply(i,n(t).nodes)}),d(i,function(e,n){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})});var zM={},EM=os({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){EM.superApply(this,"optionUpdated",arguments),d(this.option.feature,function(t,e){var n=wd(e);n&&i(t,n.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}}}});as({type:"toolbox",render:function(t,e,n,i){function r(r,a){var s,c=h[r],d=h[a],f=new pr(l[c],t,t.ecModel);if(c&&!d){if(bd(c))s={model:f,onclick:f.option.onclick,featureName:c};else{var p=wd(c);if(!p)return;s=new p(f,e,n)}u[c]=s}else{if(!(s=u[d]))return;s.model=f,s.ecModel=e,s.api=n}c||!d?f.get("show")&&!s.unusable?(o(f,s,c),f.setIconStatus=function(t,e){var n=this.option,i=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[t]=e,i[t]&&i[t].trigger(e)},s.render&&s.render(f,e,n,i)):s.remove&&s.remove(e,n):s.dispose&&s.dispose(e,n)}function o(i,r,o){var l=i.getModel("iconStyle"),u=i.getModel("emphasis.iconStyle"),h=r.getIcons?r.getIcons():i.get("icon"),c=i.get("title")||{};if("string"==typeof h){var f=h,p=c;c={},(h={})[o]=f,c[o]=p}var g=i.iconPaths={};d(h,function(o,h){var d=fr(o,{},{x:-s/2,y:-s/2,width:s,height:s});d.setStyle(l.getItemStyle()),d.hoverStyle=u.getItemStyle(),qi(d),t.get("showTitle")&&(d.__title=c[h],d.on("mouseover",function(){var t=u.getItemStyle();d.setStyle({text:c[h],textPosition:t.textPosition||"bottom",textFill:t.fill||t.stroke||"#000",textAlign:t.textAlign||"center"})}).on("mouseout",function(){d.setStyle({textFill:null})})),d.trigger(i.get("iconStatus."+h)||"normal"),a.add(d),d.on("click",m(r.onclick,r,e,n,h)),g[h]=d})}var a=this.group;if(a.removeAll(),t.get("show")){var s=+t.get("itemSize"),l=t.get("feature")||{},u=this._features||(this._features={}),h=[];d(l,function(t,e){h.push(e)}),new hs(this._featureNames||[],h).add(r).update(r).remove(v(r,null)).execute(),this._featureNames=h,Jh(a,t,n),a.add(tc(a.getBoundingRect(),t)),a.eachChild(function(t){var e=t.__title,i=t.hoverStyle;if(i&&e){var r=ce(e,Ce(i)),o=t.position[0]+a.position[0],l=!1;t.position[1]+a.position[1]+s+r.height>n.getHeight()&&(i.textPosition="top",l=!0);var u=l?-5-r.height:s+8;o+r.width/2>n.getWidth()?(i.textPosition=["100%",u],i.textAlign="right"):o-r.width/2<0&&(i.textPosition=[0,u],i.textAlign="left")}})}},updateView:function(t,e,n,i){d(this._features,function(t){t.updateView&&t.updateView(t.model,e,n,i)})},remove:function(t,e){d(this._features,function(n){n.remove&&n.remove(t,e)}),this.group.removeAll()},dispose:function(t,e){d(this._features,function(n){n.dispose&&n.dispose(t,e)})}});var NM=Sx.toolbox.saveAsImage;Md.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:NM.title,type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:NM.lang.slice()},Md.prototype.unusable=!bp.canvasSupported,Md.prototype.onclick=function(t,e){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",r=document.createElement("a"),o=n.get("type",!0)||"png";r.download=i+"."+o,r.target="_blank";var a=e.getConnectedDataURL({type:o,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")});if(r.href=a,"function"!=typeof MouseEvent||bp.browser.ie||bp.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var s=atob(a.split(",")[1]),l=s.length,u=new Uint8Array(l);l--;)u[l]=s.charCodeAt(l);var h=new Blob([u]);window.navigator.msSaveOrOpenBlob(h,i+"."+o)}else{var c=n.get("lang"),d='';window.open().document.write(d)}else{var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});r.dispatchEvent(f)}},_d("saveAsImage",Md);var RM=Sx.toolbox.magicType;Sd.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:n(RM.title),option:{},seriesIndex:{}};var BM=Sd.prototype;BM.getIcons=function(){var t=this.model,e=t.get("icon"),n={};return d(t.get("type"),function(t){e[t]&&(n[t]=e[t])}),n};var VM={line:function(t,e,n,r){if("bar"===t)return i({id:e,type:"line",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},r.get("option.line")||{},!0)},bar:function(t,e,n,r){if("line"===t)return i({id:e,type:"bar",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},r.get("option.bar")||{},!0)},stack:function(t,e,n,r){if("line"===t||"bar"===t)return i({id:e,stack:"__ec_magicType_stack__"},r.get("option.stack")||{},!0)},tiled:function(t,e,n,r){if("line"===t||"bar"===t)return i({id:e,stack:""},r.get("option.tiled")||{},!0)}},FM=[["line","bar"],["stack","tiled"]];BM.onclick=function(t,e,n){var i=this.model,r=i.get("seriesIndex."+n);if(VM[n]){var o={series:[]};d(FM,function(t){l(t,n)>=0&&d(t,function(t){i.setIconStatus(t,"normal")})}),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:null==r?null:{seriesIndex:r}},function(e){var r=e.subType,s=e.id,l=VM[n](r,s,e,i);l&&(a(l,e.option),o.series.push(l));var u=e.coordinateSystem;if(u&&"cartesian2d"===u.type&&("line"===n||"bar"===n)){var h=u.getAxesByScale("ordinal")[0];if(h){var c=h.dim+"Axis",d=t.queryComponents({mainType:c,index:e.get(name+"Index"),id:e.get(name+"Id")})[0].componentIndex;o[c]=o[c]||[];for(var f=0;f<=d;f++)o[c][d]=o[c][d]||{};o[c][d].boundaryGap="bar"===n}}}),e.dispatchAction({type:"changeMagicType",currentType:n,newOption:o})}},ts({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),_d("magicType",Sd);var HM=Sx.toolbox.dataView,GM=new Array(60).join("-"),WM="\t",ZM=new RegExp("["+WM+"]+","g");zd.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:n(HM.title),lang:n(HM.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},zd.prototype.onclick=function(t,e){function n(){i.removeChild(o),x._dom=null}var i=e.getDom(),r=this.model;this._dom&&i.removeChild(this._dom);var o=document.createElement("div");o.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",o.style.backgroundColor=r.get("backgroundColor")||"#fff";var a=document.createElement("h4"),s=r.get("lang")||[];a.innerHTML=s[0]||r.get("title"),a.style.cssText="margin: 10px 20px;",a.style.color=r.get("textColor");var l=document.createElement("div"),u=document.createElement("textarea");l.style.cssText="display:block;width:100%;overflow:auto;";var h=r.get("optionToContent"),c=r.get("contentToOption"),d=Dd(t);if("function"==typeof h){var f=h(e.getOption());"string"==typeof f?l.innerHTML=f:S(f)&&l.appendChild(f)}else l.appendChild(u),u.readOnly=r.get("readOnly"),u.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",u.style.color=r.get("textColor"),u.style.borderColor=r.get("textareaBorderColor"),u.style.backgroundColor=r.get("textareaColor"),u.value=d.value;var p=d.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:0;left:0;right:0;";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),y=document.createElement("div");m+=";background-color:"+r.get("buttonColor"),m+=";color:"+r.get("buttonTextColor");var x=this;on(v,"click",n),on(y,"click",function(){var t;try{t="function"==typeof c?c(l,e.getOption()):Od(u.value,p)}catch(t){throw n(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),n()}),v.innerHTML=s[1],y.innerHTML=s[2],y.style.cssText=m,v.style.cssText=m,!r.get("readOnly")&&g.appendChild(y),g.appendChild(v),on(u,"keydown",function(t){if(9===(t.keyCode||t.which)){var e=this.value,n=this.selectionStart,i=this.selectionEnd;this.value=e.substring(0,n)+WM+e.substring(i),this.selectionStart=this.selectionEnd=n+1,tm(t)}}),o.appendChild(a),o.appendChild(l),o.appendChild(g),l.style.height=i.clientHeight-80+"px",i.appendChild(o),this._dom=o},zd.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},zd.prototype.dispose=function(t,e){this.remove(t,e)},_d("dataView",zd),ts({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,e){var n=[];d(t.newOption.series,function(t){var i=e.getSeriesByName(t.name)[0];if(i){var r=i.get("data");n.push({name:t.name,data:Ed(t.data,r)})}else n.push(o({type:"scatter"},t))}),e.mergeOption(a({series:n},t.newOption))});var UM=v,XM=d,jM=f,YM=Math.min,qM=Math.max,$M=Math.pow,KM=1e4,QM=6,JM=6,tS="globalPan",eS={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},nS={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},iS={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},rS=0;Nd.prototype={constructor:Nd,enableBrush:function(t){return this._brushType&&Bd(this),t.brushType&&Rd(this,t),this},setPanels:function(t){if(t&&t.length){var e=this._panels={};d(t,function(t){e[t.panelId]=n(t)})}else this._panels=null;return this},mount:function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var e=this.group;return this._zr.add(e),e.attr({position:t.position||[0,0],rotation:t.rotation||0,scale:t.scale||[1,1]}),this._transform=e.getLocalTransform(),this},eachCover:function(t,e){XM(this._covers,t,e)},updateCovers:function(t){function e(t,e){return(null!=t.id?t.id:o+e)+"-"+t.brushType}function r(e,n){var i=t[e];if(null!=n&&a[n]===u)s[e]=a[n];else{var r=s[e]=null!=n?(a[n].__brushOption=i,a[n]):Fd(l,Vd(l,i));Wd(l,r)}}t=f(t,function(t){return i(n(iS),t,!0)});var o="\0-brush-index-",a=this._covers,s=this._covers=[],l=this,u=this._creatingCover;return new hs(a,t,function(t,n){return e(t.__brushOption,n)},e).add(r).update(r).remove(function(t){a[t]!==u&&l.group.remove(a[t])}).execute(),this},unmount:function(){return this.enableBrush(!1),jd(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},h(Nd,Zp);var oS={mousedown:function(t){if(this._dragging)mf.call(this,t);else if(!t.target||!t.target.draggable){df(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=Ud(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);if(cf(this,t,e),this._dragging){df(t);var n=pf(this,t,e,!1);n&&Yd(this,n)}},mouseup:mf},aS={lineX:vf(0),lineY:vf(1),rect:{createCover:function(t,e){return Kd(UM(af,function(t){return t},function(t){return t}),t,e,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(t){var e=$d(t);return nf(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(t,e,n,i){Qd(t,e,n,i)},updateCommon:Jd,contain:ff},polygon:{createCover:function(t,e){var n=new Sg;return n.add(new Vv({name:"main",style:ef(e),silent:!0})),n},getCreatingRange:function(t){return t},endCreating:function(t,e){e.remove(e.childAt(0)),e.add(new Bv({name:"main",draggable:!0,drift:UM(sf,t,e),ondragend:UM(Yd,t,{isEnd:!0})}))},updateCoverShape:function(t,e,n,i){e.childAt(0).setShape({points:uf(t,e,n)})},updateCommon:Jd,contain:ff}},sS={axisPointer:1,tooltip:1,brush:1},lS=d,uS=l,hS=v,cS=["dataToPoint","pointToData"],dS=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],fS=Mf.prototype;fS.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,n){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var i=vS[t.brushType](0,n,e);t.__rangeOffset={offset:yS[t.brushType](i.values,t.range,[1,1]),xyMinMax:i.xyMinMax}}})},fS.matchOutputRanges=function(t,e,n){lS(t,function(t){var i=this.findTargetInfo(t,e);i&&!0!==i&&d(i.coordSyses,function(i){var r=vS[t.brushType](1,i,t.range);n(t,r.values,i,e)})},this)},fS.setInputRanges=function(t,e){lS(t,function(t){var n=this.findTargetInfo(t,e);if(t.range=t.range||[],n&&!0!==n){t.panelId=n.panelId;var i=vS[t.brushType](0,n.coordSys,t.coordRange),r=t.__rangeOffset;t.range=r?yS[t.brushType](i.values,r.offset,Df(i.xyMinMax,r.xyMinMax)):i.values}},this)},fS.makePanelOpts=function(t,e){return f(this._targetInfoList,function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e&&e(n),clipPath:xf(i),isTargetByCursor:wf(i,t,n.coordSysModel),getLinearBrushOtherExtent:_f(i)}})},fS.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return!0===i||i&&uS(i.coordSyses,e.coordinateSystem)>=0},fS.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=If(e,t),r=0;r=0||uS(i,t.getAxis("y").model)>=0)&&o.push(t)}),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:o[0],coordSyses:o,getPanelRect:mS.grid,xAxisDeclared:a[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,e){lS(t.geoModels,function(t){var n=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:mS.geo})})}},gS=[function(t,e){var n=t.xAxisModel,i=t.yAxisModel,r=t.gridModel;return!r&&n&&(r=n.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(t,e){var n=t.geoModel;return n&&n===e.geoModel}],mS={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(lr(t)),e}},vS={lineX:hS(Cf,0),lineY:hS(Cf,1),rect:function(t,e,n){var i=e[cS[t]]([n[0][0],n[1][0]]),r=e[cS[t]]([n[0][1],n[1][1]]),o=[Sf([i[0],r[0]]),Sf([i[1],r[1]])];return{values:o,xyMinMax:o}},polygon:function(t,e,n){var i=[[1/0,-1/0],[1/0,-1/0]];return{values:f(n,function(n){var r=e[cS[t]](n);return i[0][0]=Math.min(i[0][0],r[0]),i[1][0]=Math.min(i[1][0],r[1]),i[0][1]=Math.max(i[0][1],r[0]),i[1][1]=Math.max(i[1][1],r[1]),r}),xyMinMax:i}}},yS={lineX:hS(Tf,0),lineY:hS(Tf,1),rect:function(t,e,n){return[[t[0][0]-n[0]*e[0][0],t[0][1]-n[0]*e[0][1]],[t[1][0]-n[1]*e[1][0],t[1][1]-n[1]*e[1][1]]]},polygon:function(t,e,n){return f(t,function(t,i){return[t[0]-n[0]*e[i][0],t[1]-n[1]*e[i][1]]})}},xS=d,_S="\0_ec_hist_store";mM.extend({type:"dataZoom.select"}),vM.extend({type:"dataZoom.select"});var wS=Sx.toolbox.dataZoom,bS=d,MS="\0_ec_\0toolbox-dataZoom_";Ef.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:n(wS.title)};var SS=Ef.prototype;SS.render=function(t,e,n,i){this.model=t,this.ecModel=e,this.api=n,Bf(t,e,this,i,n),Rf(t,e)},SS.onclick=function(t,e,n){IS[n].call(this)},SS.remove=function(t,e){this._brushController.unmount()},SS.dispose=function(t,e){this._brushController.dispose()};var IS={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(Pf(this.ecModel))}};SS._onBrush=function(t,e){function n(t,e,n){var a=e.getAxis(t),s=a.model,l=i(t,s,o),u=l.findRepresentativeAxisProxy(s).getMinMaxSpan();null==u.minValueSpan&&null==u.maxValueSpan||(n=yM(0,n.slice(),a.scale.getExtent(),0,u.minValueSpan,u.maxValueSpan)),l&&(r[l.id]={dataZoomId:l.id,startValue:n[0],endValue:n[1]})}function i(t,e,n){var i;return n.eachComponent({mainType:"dataZoom",subType:"select"},function(n){n.getAxisModel(t,e.componentIndex)&&(i=n)}),i}if(e.isEnd&&t.length){var r={},o=this.ecModel;this._brushController.updateCovers([]),new Mf(Nf(this.model.option),o,{include:["grid"]}).matchOutputRanges(t,o,function(t,e,i){if("cartesian2d"===i.type){var r=t.brushType;"rect"===r?(n("x",i,e[0]),n("y",i,e[1])):n({lineX:"x",lineY:"y"}[r],i,e)}}),kf(o,r),this._dispatchZoomAction(r)}},SS._dispatchZoomAction=function(t){var e=[];bS(t,function(t,i){e.push(n(t))}),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},_d("dataZoom",Ef),Qa(function(t){function e(t,e){if(e){var r=t+"Index",o=e[r];null==o||"all"==o||y(o)||(o=!1===o||"none"===o?[]:[o]),n(t,function(e,n){if(null==o||"all"==o||-1!==l(o,n)){var a={type:"select",$fromToolbox:!0,id:MS+t+n};a[r]=n,i.push(a)}})}}function n(e,n){var i=t[e];y(i)||(i=i?[i]:[]),bS(i,n)}if(t){var i=t.dataZoom||(t.dataZoom=[]);y(i)||(t.dataZoom=i=[i]);var r=t.toolbox;if(r&&(y(r)&&(r=r[0]),r&&r.feature)){var o=r.feature.dataZoom;e("xAxis",o),e("yAxis",o)}}});var CS=Sx.toolbox.restore;Vf.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:CS.title},Vf.prototype.onclick=function(t,e,n){Lf(t),e.dispatchAction({type:"restore",from:this.uid})},_d("restore",Vf),ts({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")});var TS,DS="urn:schemas-microsoft-com:vml",AS="undefined"==typeof window?null:window,kS=!1,PS=AS&&AS.document;if(PS&&!bp.canvasSupported)try{!PS.namespaces.zrvml&&PS.namespaces.add("zrvml",DS),TS=function(t){return PS.createElement("')}}catch(t){TS=function(t){return PS.createElement("<"+t+' xmlns="'+DS+'" class="zrvml">')}}var LS=av.CMD,OS=Math.round,zS=Math.sqrt,ES=Math.abs,NS=Math.cos,RS=Math.sin,BS=Math.max;if(!bp.canvasSupported){var VS=21600,FS=VS/2,HS=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=VS+","+VS,t.coordorigin="0,0"},GS=function(t){return String(t).replace(/&/g,"&").replace(/"/g,""")},WS=function(t,e,n){return"rgb("+[t,e,n].join(",")+")"},ZS=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},US=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},XS=function(t,e,n){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+n},jS=function(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t},YS=function(t,e,n){var i=St(e);n=+n,isNaN(n)&&(n=1),i&&(t.color=WS(i[0],i[1],i[2]),t.opacity=n*i[3])},qS=function(t){var e=St(t);return[WS(e[0],e[1],e[2]),e[3]]},$S=function(t,e,n){var i=e.fill;if(null!=i)if(i instanceof Xv){var r,o=0,a=[0,0],s=0,l=1,u=n.getBoundingRect(),h=u.width,c=u.height;if("linear"===i.type){r="gradient";var d=n.transform,f=[i.x*h,i.y*c],p=[i.x2*h,i.y2*c];d&&($(f,f,d),$(p,p,d));var g=p[0]-f[0],m=p[1]-f[1];(o=180*Math.atan2(g,m)/Math.PI)<0&&(o+=360),o<1e-6&&(o=0)}else{r="gradientradial";var f=[i.x*h,i.y*c],d=n.transform,v=n.scale,y=h,x=c;a=[(f[0]-u.x)/y,(f[1]-u.y)/x],d&&$(f,f,d),y/=v[0]*VS,x/=v[1]*VS;var _=BS(y,x);s=0/_,l=2*i.r/_-s}var w=i.colorStops.slice();w.sort(function(t,e){return t.offset-e.offset});for(var b=w.length,M=[],S=[],I=0;I=2){var D=M[0][0],A=M[1][0],k=M[0][1]*e.opacity,P=M[1][1]*e.opacity;t.type=r,t.method="none",t.focus="100%",t.angle=o,t.color=D,t.color2=A,t.colors=S.join(","),t.opacity=P,t.opacity2=k}"radial"===r&&(t.focusposition=a.join(","))}else YS(t,i,e.opacity)},KS=function(t,e){null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof Xv||YS(t,e.stroke,e.opacity)},QS=function(t,e,n,i){var r="fill"==e,o=t.getElementsByTagName(e)[0];null!=n[e]&&"none"!==n[e]&&(r||!r&&n.lineWidth)?(t[r?"filled":"stroked"]="true",n[e]instanceof Xv&&US(t,o),o||(o=Ff(e)),r?$S(o,n,i):KS(o,n),ZS(t,o)):(t[r?"filled":"stroked"]="false",US(t,o))},JS=[[],[],[]],tI=function(t,e){var n,i,r,o,a,s,l=LS.M,u=LS.C,h=LS.L,c=LS.A,d=LS.Q,f=[],p=t.data,g=t.len();for(o=0;o.01?O&&(z+=.0125):Math.abs(E-D)<1e-4?O&&zT?x-=.0125:x+=.0125:O&&ED?y+=.0125:y-=.0125),f.push(N,OS(((T-A)*S+b)*VS-FS),",",OS(((D-k)*I+M)*VS-FS),",",OS(((T+A)*S+b)*VS-FS),",",OS(((D+k)*I+M)*VS-FS),",",OS((z*S+b)*VS-FS),",",OS((E*I+M)*VS-FS),",",OS((y*S+b)*VS-FS),",",OS((x*I+M)*VS-FS)),a=y,s=x;break;case LS.R:var R=JS[0],B=JS[1];R[0]=p[o++],R[1]=p[o++],B[0]=R[0]+p[o++],B[1]=R[1]+p[o++],e&&($(R,R,e),$(B,B,e)),R[0]=OS(R[0]*VS-FS),B[0]=OS(B[0]*VS-FS),R[1]=OS(R[1]*VS-FS),B[1]=OS(B[1]*VS-FS),f.push(" m ",R[0],",",R[1]," l ",B[0],",",R[1]," l ",B[0],",",B[1]," l ",R[0],",",B[1]);break;case LS.Z:f.push(" x ")}if(n>0){f.push(i);for(var V=0;V100&&(rI=0,iI={});var n,i=oI.style;try{i.font=t,n=i.fontFamily.split(",")[0]}catch(t){}e={style:i.fontStyle||"normal",variant:i.fontVariant||"normal",weight:i.fontWeight||"normal",size:0|parseFloat(i.fontSize||12),family:n||"Microsoft YaHei"},iI[t]=e,rI++}return e};!function(t,e){Zg[t]=e}("measureText",function(t,e){var n=PS;nI||((nI=n.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",PS.body.appendChild(nI));try{nI.style.font=e}catch(t){}return nI.innerHTML="",nI.appendChild(n.createTextNode(t)),{width:nI.offsetWidth}});for(var sI=new Xt,lI=[Yg,Xe,je,xi,kv],uI=0;uI=r&&u+1>=o){for(var h=[],c=0;c=r&&c+1>=o)return ip(0,s.components);l[n]=s}else l[n]=void 0}a++}();if(d)return d}},pushComponent:function(t,e,n){var i=t[t.length-1];i&&i.added===e&&i.removed===n?t[t.length-1]={count:i.count+1,added:e,removed:n}:t.push({count:1,added:e,removed:n})},extractCommon:function(t,e,n,i){for(var r=e.length,o=n.length,a=t.newPos,s=a-i,l=0;a+1=0;--i)if(e[i]===t)return!0;return!1}),n):null:n[0]},op.prototype.update=function(t,e){if(t){var n=this.getDefs(!1);if(t[this._domName]&&n.contains(t[this._domName]))"function"==typeof e&&e(t);else{var i=this.add(t);i&&(t[this._domName]=i)}}},op.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},op.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},op.prototype.getDoms=function(){var t=this.getDefs(!1);if(!t)return[];var e=[];return d(this._tagNames,function(n){var i=t.getElementsByTagName(n);e=e.concat([].slice.call(i))}),e},op.prototype.markAllUnused=function(){var t=this;d(this.getDoms(),function(e){e[t._markLabel]="0"})},op.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},op.prototype.removeUnused=function(){var t=this.getDefs(!1);if(t){var e=this;d(this.getDoms(),function(n){"1"!==n[e._markLabel]&&t.removeChild(n)})}},op.prototype.getSvgProxy=function(t){return t instanceof xi?bI:t instanceof je?MI:t instanceof kv?SI:bI},op.prototype.getTextSvgElement=function(t){return t.__textSvgEl},op.prototype.getSvgElement=function(t){return t.__svgEl},u(ap,op),ap.prototype.addWithoutUpdate=function(t,e){if(e&&e.style){var n=this;d(["fill","stroke"],function(i){if(e.style[i]&&("linear"===e.style[i].type||"radial"===e.style[i].type)){var r,o=e.style[i],a=n.getDefs(!0);o._dom?(r=o._dom,a.contains(o._dom)||n.addDom(r)):r=n.add(o),n.markUsed(e);var s=r.getAttribute("id");t.setAttribute(i,"url(#"+s+")")}})}},ap.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return yg("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},ap.prototype.update=function(t){var e=this;op.prototype.update.call(this,t,function(){var n=t.type,i=t._dom.tagName;"linear"===n&&"linearGradient"===i||"radial"===n&&"radialGradient"===i?e.updateDom(t,t._dom):(e.removeDom(t),e.add(t))})},ap.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void yg("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var n=t.colorStops,i=0,r=n.length;i0){var i,r,o=this.getDefs(!0),a=e[0],s=n?"_textDom":"_dom";a[s]?(r=a[s].getAttribute("id"),i=a[s],o.contains(i)||o.appendChild(i)):(r="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(i=this.createElement("clipPath")).setAttribute("id",r),o.appendChild(i),a[s]=i);var l=this.getSvgProxy(a);if(a.transform&&a.parent.invTransform&&!n){var u=Array.prototype.slice.call(a.transform);st(a.transform,a.parent.invTransform,a.transform),l.brush(a),a.transform=u}else l.brush(a);var h=this.getSvgElement(a);i.innerHTML="",i.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+r+")"),e.length>1&&this.updateDom(i,e.slice(1),n)}else t&&t.setAttribute("clip-path","none")},sp.prototype.markUsed=function(t){var e=this;t.__clipPaths&&t.__clipPaths.length>0&&d(t.__clipPaths,function(t){t._dom&&op.prototype.markUsed.call(e,t._dom),t._textDom&&op.prototype.markUsed.call(e,t._textDom)})},u(lp,op),lp.prototype.addWithoutUpdate=function(t,e){if(e&&up(e.style)){var n,i=e.style;i._shadowDom?(n=i._shadowDom,this.getDefs(!0).contains(i._shadowDom)||this.addDom(n)):n=this.add(e),this.markUsed(e);var r=n.getAttribute("id");t.style.filter="url(#"+r+")"}},lp.prototype.add=function(t){var e=this.createElement("filter"),n=t.style;return n._shadowDomId=n._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+n._shadowDomId),this.updateDom(t,e),this.addDom(e),e},lp.prototype.update=function(t,e){var n=e.style;if(up(n)){var i=this;op.prototype.update.call(this,e,function(t){i.updateDom(e,t._shadowDom)})}else this.remove(t,n)},lp.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(e),t.style.filter="")},lp.prototype.updateDom=function(t,e){var n=e.getElementsByTagName("feDropShadow");n=0===n.length?this.createElement("feDropShadow"):n[0];var i,r,o,a,s=t.style,l=t.scale?t.scale[0]||1:1,u=t.scale?t.scale[1]||1:1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)i=s.shadowOffsetX||0,r=s.shadowOffsetY||0,o=s.shadowBlur,a=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);i=s.textShadowOffsetX||0,r=s.textShadowOffsetY||0,o=s.textShadowBlur,a=s.textShadowColor}n.setAttribute("dx",i/l),n.setAttribute("dy",r/u),n.setAttribute("flood-color",a);var h=o/2/l+" "+o/2/u;n.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(o/2*200)+"%"),e.setAttribute("height",Math.ceil(o/2*200)+"%"),e.appendChild(n),s._shadowDom=e},lp.prototype.markUsed=function(t){var e=t.style;e&&e._shadowDom&&op.prototype.markUsed.call(this,e._shadowDom)};var AI=function(t,e,n,i){this.root=t,this.storage=e,this._opts=n=o({},n||{});var r=Uf("svg");r.setAttribute("xmlns","http://www.w3.org/2000/svg"),r.setAttribute("version","1.1"),r.setAttribute("baseProfile","full"),r.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new ap(i,r),this.clipPathManager=new sp(i,r),this.shadowManager=new lp(i,r);var a=document.createElement("div");a.style.cssText="overflow:hidden;position:relative",this._svgRoot=r,this._viewport=a,t.appendChild(a),a.appendChild(r),this.resize(n.width,n.height),this._visibleList=[]};AI.prototype={constructor:AI,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,n=this._svgRoot,i=this._visibleList,r=t.length,o=[];for(e=0;e=0;--i)if(e[i]===t)return!0;return!1}),n):null:n[0]},resize:function(t,e){var n=this._viewport;n.style.display="none";var i=this._opts;if(null!=t&&(i.width=t),null!=e&&(i.height=e),t=this._getSize(0),e=this._getSize(1),n.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var r=n.style;r.width=t+"px",r.height=e+"px";var o=this._svgRoot;o.setAttribute("width",t),o.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,n=["width","height"][t],i=["clientWidth","clientHeight"][t],r=["paddingLeft","paddingTop"][t],o=["paddingRight","paddingBottom"][t];if(null!=e[n]&&"auto"!==e[n])return parseFloat(e[n]);var a=this.root,s=document.defaultView.getComputedStyle(a);return(a[i]||hp(s[n])||hp(a.style[n]))-(hp(s[r])||0)-(hp(s[o])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){AI.prototype[t]=yp(t)}),vn("svg",AI),t.version="4.1.0",t.dependencies=Gx,t.PRIORITY=Xx,t.init=function(t,e,n){var i=$a(t);if(i)return i;var r=new Aa(t,e,n);return r.id="ec_"+u_++,s_[r.id]=r,Pn(t,c_,r.id),Ya(r),r},t.connect=function(t){if(y(t)){var e=t;t=null,Bx(e,function(e){null!=e.group&&(t=e.group)}),t=t||"g_"+h_++,Bx(e,function(e){e.group=t})}return l_[t]=!0,t},t.disConnect=qa,t.disconnect=f_,t.dispose=function(t){"string"==typeof t?t=s_[t]:t instanceof Aa||(t=$a(t)),t instanceof Aa&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=$a,t.getInstanceById=function(t){return s_[t]},t.registerTheme=Ka,t.registerPreprocessor=Qa,t.registerProcessor=Ja,t.registerPostUpdate=function(t){i_.push(t)},t.registerAction=ts,t.registerCoordinateSystem=function(t,e){yo.register(t,e)},t.getCoordinateSystemDimensions=function(t){var e=yo.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=es,t.registerVisual=ns,t.registerLoading=rs,t.extendComponentModel=os,t.extendComponentView=as,t.extendSeriesModel=ss,t.extendChartView=ls,t.setCanvasCreator=function(t){e("createCanvas",t)},t.registerMap=function(t,e,n){e.geoJson&&!e.features&&(n=e.specialAreas,e=e.geoJson),"string"==typeof e&&(e="undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")()),d_[t]={geoJson:e,specialAreas:n}},t.getMap=function(t){return d_[t]},t.dataTool=p_,t.zrender=pm,t.graphic=ty,t.number=hy,t.format=yy,t.throttle=ua,t.helper=aw,t.matrix=qp,t.vector=Gp,t.color=dg,t.parseGeoJSON=lw,t.parseGeoJson=dw,t.util=fw,t.List=M_,t.Model=pr,t.Axis=cw,t.env=bp}); diff --git a/SMMS/WebContent/static/easyui/js/outlook2.js b/SMMS/WebContent/static/easyui/js/outlook2.js deleted file mode 100644 index 3dcf135..0000000 --- a/SMMS/WebContent/static/easyui/js/outlook2.js +++ /dev/null @@ -1,175 +0,0 @@ - -$(function(){ - InitLeftMenu(); - tabClose(); - tabCloseEven(); - - -}) - -//初始化左侧 -function InitLeftMenu() { - $("#nav").accordion({animate:false}); - - $.each(_menus.menus, function(i, n) { - var menulist =''; - menulist +=''; - - $('#nav').accordion('add', { - title: n.menuname, - content: menulist, - iconCls: 'icon ' + n.icon - }); - - }); - - $('.easyui-accordion li a').click(function(){ - var tabTitle = $(this).children('.nav').text(); - - var url = $(this).attr("rel"); - var menuid = $(this).attr("ref"); - var icon = getIcon(menuid,icon); - - addTab(tabTitle,url,icon); - $('.easyui-accordion li div').removeClass("selected"); - $(this).parent().addClass("selected"); - }).hover(function(){ - $(this).parent().addClass("hover"); - },function(){ - $(this).parent().removeClass("hover"); - }); - - //选中第一个 - var panels = $('#nav').accordion('panels'); - var t = panels[0].panel('options').title; - $('#nav').accordion('select', t); -} -//获取左侧导航的图标 -function getIcon(menuid){ - var icon = 'icon '; - $.each(_menus.menus, function(i, n) { - $.each(n.menus, function(j, o) { - if(o.menuid==menuid){ - icon += o.icon; - } - }) - }) - - return icon; -} - -function addTab(subtitle,url,icon){ - if(!$('#tabs').tabs('exists',subtitle)){ - $('#tabs').tabs('add',{ - title:subtitle, - content:createFrame(url), - closable:true, - icon:icon - }); - }else{ - $('#tabs').tabs('select',subtitle); - $('#mm-tabupdate').click(); - } - tabClose(); -} - -function createFrame(url) -{ - var s = ''; - return s; -} - -function tabClose() -{ - /*双击关闭TAB选项卡*/ - $(".tabs-inner").dblclick(function(){ - var subtitle = $(this).children(".tabs-closable").text(); - $('#tabs').tabs('close',subtitle); - }) - /*为选项卡绑定右键*/ - $(".tabs-inner").bind('contextmenu',function(e){ - $('#mm').menu('show', { - left: e.pageX, - top: e.pageY - }); - - var subtitle =$(this).children(".tabs-closable").text(); - - $('#mm').data("currtab",subtitle); - $('#tabs').tabs('select',subtitle); - return false; - }); -} -//绑定右键菜单事件 -function tabCloseEven() -{ - //刷新 - $('#mm-tabupdate').click(function(){ - var currTab = $('#tabs').tabs('getSelected'); - var url = $(currTab.panel('options').content).attr('src'); - $('#tabs').tabs('update',{ - tab:currTab, - options:{ - content:createFrame(url) - } - }) - }) - //关闭当前 - $('#mm-tabclose').click(function(){ - var currtab_title = $('#mm').data("currtab"); - $('#tabs').tabs('close',currtab_title); - }) - //全部关闭 - $('#mm-tabcloseall').click(function(){ - $('.tabs-inner span').each(function(i,n){ - var t = $(n).text(); - $('#tabs').tabs('close',t); - }); - }); - //关闭除当前之外的TAB - $('#mm-tabcloseother').click(function(){ - $('#mm-tabcloseright').click(); - $('#mm-tabcloseleft').click(); - }); - //关闭当前右侧的TAB - $('#mm-tabcloseright').click(function(){ - var nextall = $('.tabs-selected').nextAll(); - if(nextall.length==0){ - //msgShow('系统提示','后边没有啦~~','error'); - alert('后边没有啦~~'); - return false; - } - nextall.each(function(i,n){ - var t=$('a:eq(0) span',$(n)).text(); - $('#tabs').tabs('close',t); - }); - return false; - }); - //关闭当前左侧的TAB - $('#mm-tabcloseleft').click(function(){ - var prevall = $('.tabs-selected').prevAll(); - if(prevall.length==0){ - alert('到头了,前边没有啦~~'); - return false; - } - prevall.each(function(i,n){ - var t=$('a:eq(0) span',$(n)).text(); - $('#tabs').tabs('close',t); - }); - return false; - }); - - //退出 - $("#mm-exit").click(function(){ - $('#mm').menu('hide'); - }) -} - -//弹出信息窗口 title:标题 msgString:提示信息 msgType:信息类型 [error,info,question,warning] -function msgShow(title, msgString, msgType) { - $.messager.alert(title, msgString, msgType); -} diff --git a/SMMS/WebContent/static/easyui/js/validateExtends.js b/SMMS/WebContent/static/easyui/js/validateExtends.js deleted file mode 100644 index b8e782a..0000000 --- a/SMMS/WebContent/static/easyui/js/validateExtends.js +++ /dev/null @@ -1,180 +0,0 @@ -/** - * 扩展easyui表单的验证 - */ - -$.extend($.fn.validatebox.defaults.rules, { - //验证汉字 - CHS: { - validator: function (value) { - return /^[\u0391-\uFFE5]+$/.test(value); - }, - message: '只能输入汉字' - }, - //移动手机号码验证 - mobile: {//value值为文本框中的值 - validator: function (value) { - var reg = /^1[3|4|5|8|9]\d{9}$/; - return reg.test(value); - }, - message: '13/14/15/18/19开头,且11位的手机号' - }, - //只能为数字 - number: {//value值为文本框中的值 - validator: function (value) { - var reg = /^[0-9]*$/; - return reg.test(value); - }, - message: '只能为数字格式' - }, - //验证账号不能重复 - repeat: { - validator: function (value) { - var flag = true; - $.ajax({ - type: "post", - async: false, - url: "SystemServlet?method=AllAccount&t="+new Date().getTime(), - success: function(data){//在验证函数里加载数据,加载过来后判断输入的值 - var account = $.parseJSON(data); - for(var i=0;i < account.length;i++){ - if(value == account[i]){ - flag = false; - break; - } - } - } - }); - return flag; - }, - message: '用户已存在' - }, - - //验证课程不能重复 - repeat_course: { - validator: function (value) { - var flag = true; - $.ajax({ - type: "post", - async: false, - url: "CourseServlet?method=CourseList&t="+new Date().getTime(), - success: function(data){//在验证函数里加载数据,加载过来后判断输入的值 - var course = $.parseJSON(data); - for(var i=0;i < course.length;i++){ - if(value == course[i].name){ - flag = false; - break; - } - } - } - }); - return flag; - }, - message: '课程名称已存在' - }, - - //验证年级不能重复 - repeat_grade: { - validator: function (value) { - var flag = true; - $.ajax({ - type: "post", - async: false, - url: "GradeServlet?method=GradeList&t="+new Date().getTime(), - success: function(data){//在验证函数里加载数据,加载过来后判断输入的值 - var grade = $.parseJSON(data); - for(var i=0;i < grade.length;i++){ - if(value == grade[i].name){ - flag = false; - break; - } - } - } - }); - return flag; - }, - message: '年级名称已存在' - }, - - //验证班级不能重复 - repeat_clazz: { - validator: function (value, param) { - var gradeid = $(param[0]).combobox("getValue"); - var flag = true; - $.ajax({ - type: "post", - async: false, - data: {gradeid: gradeid}, - url: "ClazzServlet?method=ClazzList&t="+new Date().getTime(), - success: function(data){//在验证函数里加载数据,加载过来后判断输入的值 - var clazz = $.parseJSON(data); - for(var i=0;i < clazz.length;i++){ - if(value == clazz[i].name){ - flag = false; - break; - } - } - } - }); - return flag; - }, - message: '该年级下已存在同名班级' - }, - - //验证两个值是否相同 - equals: {//param的值为[]中值 - validator: function (value, param) { - if($(param[0]).val() != value){ - return false; - } else{ - return true; - } - - }, message: '两次密码不同.' - }, - - //密码规则 - password: { - validator: function (value) { - var reg = /^[a-zA-Z0-9]{6,16}$/; - return reg.test(value); - - }, message: '密码6-16位,且只能为英文、数字' - }, - - //验证输入密码是否正确 - oldPassword: { - validator: function (value, param) { - if(param != value){ - return false; - } else{ - return true; - } - - }, message: '密码不正确' - }, - - //国内邮编验证 - zipcode: { - validator: function (value) { - var reg = /^[1-9]\d{5}$/; - return reg.test(value); - }, - message: '邮编必须是非0开始的6位数字.' - }, - //用户账号验证(只能包括 _ 数字 字母) - account: {//param的值为[]中值 - validator: function (value, param) { - if (value.length < param[0] || value.length > param[1]) { - $.fn.validatebox.defaults.rules.account.message = '用户名长度必须在' + param[0] + '至' + param[1] + '范围'; - return false; - } else { - if (!/^[\w]+$/.test(value)) { - $.fn.validatebox.defaults.rules.account.message = '用户名只能数字、字母、下划线组成.'; - return false; - } else { - return true; - } - } - }, message: '' - } -}) diff --git a/SMMS/WebContent/static/easyui/themes/color.css b/SMMS/WebContent/static/easyui/themes/color.css deleted file mode 100644 index 9f81159..0000000 --- a/SMMS/WebContent/static/easyui/themes/color.css +++ /dev/null @@ -1,112 +0,0 @@ -.c1,.c1:hover{ - color: #fff; - border-color: #3c8b3c; - background: #4cae4c; - background: -webkit-linear-gradient(top,#4cae4c 0,#449d44 100%); - background: -moz-linear-gradient(top,#4cae4c 0,#449d44 100%); - background: -o-linear-gradient(top,#4cae4c 0,#449d44 100%); - background: linear-gradient(to bottom,#4cae4c 0,#449d44 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4cae4c,endColorstr=#449d44,GradientType=0); -} -a.c1:hover{ - background: #449d44; - filter: none; -} -.c2,.c2:hover{ - color: #fff; - border-color: #5f5f5f; - background: #747474; - background: -webkit-linear-gradient(top,#747474 0,#676767 100%); - background: -moz-linear-gradient(top,#747474 0,#676767 100%); - background: -o-linear-gradient(top,#747474 0,#676767 100%); - background: linear-gradient(to bottom,#747474 0,#676767 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#747474,endColorstr=#676767,GradientType=0); -} -a.c2:hover{ - background: #676767; - filter: none; -} -.c3,.c3:hover{ - color: #333; - border-color: #ff8080; - background: #ffb3b3; - background: -webkit-linear-gradient(top,#ffb3b3 0,#ff9999 100%); - background: -moz-linear-gradient(top,#ffb3b3 0,#ff9999 100%); - background: -o-linear-gradient(top,#ffb3b3 0,#ff9999 100%); - background: linear-gradient(to bottom,#ffb3b3 0,#ff9999 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffb3b3,endColorstr=#ff9999,GradientType=0); -} -a.c3:hover{ - background: #ff9999; - filter: none; -} -.c4,.c4:hover{ - color: #333; - border-color: #52d689; - background: #b8eecf; - background: -webkit-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); - background: -moz-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); - background: -o-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); - background: linear-gradient(to bottom,#b8eecf 0,#a4e9c1 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b8eecf,endColorstr=#a4e9c1,GradientType=0); -} -a.c4:hover{ - background: #a4e9c1; - filter: none; -} -.c5,.c5:hover{ - color: #fff; - border-color: #b52b27; - background: #d84f4b; - background: -webkit-linear-gradient(top,#d84f4b 0,#c9302c 100%); - background: -moz-linear-gradient(top,#d84f4b 0,#c9302c 100%); - background: -o-linear-gradient(top,#d84f4b 0,#c9302c 100%); - background: linear-gradient(to bottom,#d84f4b 0,#c9302c 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#d84f4b,endColorstr=#c9302c,GradientType=0); -} -a.c5:hover{ - background: #c9302c; - filter: none; -} -.c6,.c6:hover{ - color: #fff; - border-color: #1f637b; - background: #2984a4; - background: -webkit-linear-gradient(top,#2984a4 0,#24748f 100%); - background: -moz-linear-gradient(top,#2984a4 0,#24748f 100%); - background: -o-linear-gradient(top,#2984a4 0,#24748f 100%); - background: linear-gradient(to bottom,#2984a4 0,#24748f 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2984a4,endColorstr=#24748f,GradientType=0); -} -a.c6:hover{ - background: #24748f; - filter: none; -} -.c7,.c7:hover{ - color: #333; - border-color: #e68900; - background: #ffab2e; - background: -webkit-linear-gradient(top,#ffab2e 0,#ff9900 100%); - background: -moz-linear-gradient(top,#ffab2e 0,#ff9900 100%); - background: -o-linear-gradient(top,#ffab2e 0,#ff9900 100%); - background: linear-gradient(to bottom,#ffab2e 0,#ff9900 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffab2e,endColorstr=#ff9900,GradientType=0); -} -a.c7:hover{ - background: #ff9900; - filter: none; -} -.c8,.c8:hover{ - color: #fff; - border-color: #4b72a4; - background: #698cba; - background: -webkit-linear-gradient(top,#698cba 0,#577eb2 100%); - background: -moz-linear-gradient(top,#698cba 0,#577eb2 100%); - background: -o-linear-gradient(top,#698cba 0,#577eb2 100%); - background: linear-gradient(to bottom,#698cba 0,#577eb2 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#698cba,endColorstr=#577eb2,GradientType=0); -} -a.c8:hover{ - background: #577eb2; - filter: none; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/accordion.css b/SMMS/WebContent/static/easyui/themes/default/accordion.css deleted file mode 100644 index 40696c7..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/accordion.css +++ /dev/null @@ -1,41 +0,0 @@ -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #95B8E7; -} -.accordion .accordion-header { - background: #E0ECFF; - filter: none; -} -.accordion .accordion-header-selected { - background: #ffe48d; -} -.accordion .accordion-header-selected .panel-title { - color: #000000; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/calendar.css b/SMMS/WebContent/static/easyui/themes/default/calendar.css deleted file mode 100644 index 6334627..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/calendar.css +++ /dev/null @@ -1,197 +0,0 @@ -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 12px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 12px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 22px; -} -.calendar-title { - text-align: center; - height: 22px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 2px; - padding: 0 3px; - height: 18px; - line-height: 18px; - font-size: 12px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -7px; - width: 14px; - height: 14px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -18px -2px; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -34px -2px; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat -1px -2px; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -49px -2px; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 12px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 40px; - text-align: center; - border-width: 1px; - border-style: solid; - margin: 0; - padding: 2px; - font-weight: bold; - font-size: 12px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 21px; - height: 21px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 2px 2px; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -45px 2px; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #4d4d4d; -} -.calendar-day { - color: #000000; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #95B8E7; -} -.calendar { - border-color: #95B8E7; -} -.calendar-header { - background: #E0ECFF; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #F4F4F4; - padding: 2px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #eaf2ff; - color: #000000; -} -.calendar-hover { - border: 1px solid #b7d2ff; - padding: 0; -} -.calendar-selected { - background-color: #ffe48d; - color: #000000; - border: 1px solid #ffab3f; - padding: 0; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/combo.css b/SMMS/WebContent/static/easyui/themes/default/combo.css deleted file mode 100644 index a4937aa..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/combo.css +++ /dev/null @@ -1,60 +0,0 @@ -.combo { - display: inline-block; - white-space: nowrap; - margin: 0; - padding: 0; - border-width: 1px; - border-style: solid; - overflow: hidden; - vertical-align: middle; -} -.combo .combo-text { - font-size: 12px; - border: 0px; - margin: 0; - padding: 0px 2px; - vertical-align: baseline; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo { - border-color: #95B8E7; - background-color: #fff; -} -.combo-arrow { - background-color: #E0ECFF; -} -.combo-arrow-hover { - background-color: #eaf2ff; -} -.combo-arrow:hover { - background-color: #eaf2ff; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/combobox.css b/SMMS/WebContent/static/easyui/themes/default/combobox.css deleted file mode 100644 index 72eb423..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/combobox.css +++ /dev/null @@ -1,24 +0,0 @@ -.combobox-item, -.combobox-group { - font-size: 12px; - padding: 3px; - padding-right: 0px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group { - font-weight: bold; -} -.combobox-item-hover { - background-color: #eaf2ff; - color: #000000; -} -.combobox-item-selected { - background-color: #ffe48d; - color: #000000; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/datagrid.css b/SMMS/WebContent/static/easyui/themes/default/datagrid.css deleted file mode 100644 index b167a21..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/datagrid.css +++ /dev/null @@ -1,267 +0,0 @@ -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-sort-icon { - padding: 0; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 25px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 12px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 12px; -} -.datagrid-cell-group { - text-align: center; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 25px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #95B8E7; - font-size: 12px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-sort-desc .datagrid-sort-icon { - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #efefef; - background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0); -} -.datagrid-cell-rownumber { - color: #000000; -} -.datagrid-resize-proxy { - background: #aac5e7; -} -.datagrid-mask { - background: #ccc; -} -.datagrid-mask-msg { - border-color: #95B8E7; -} -.datagrid-toolbar, -.datagrid-pager { - background: #F4F4F4; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #dddddd; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ccc; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #000000; - border-collapse: separate; -} -.datagrid-row-alt { - background: #fafafa; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #eaf2ff; - color: #000000; - cursor: default; -} -.datagrid-row-selected { - background: #ffe48d; - color: #000000; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/datalist.css b/SMMS/WebContent/static/easyui/themes/default/datalist.css deleted file mode 100644 index eedd25b..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/datalist.css +++ /dev/null @@ -1,95 +0,0 @@ -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #efefef; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #000000; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.m-list li>a:hover { - background: #eaf2ff; - color: #000000; -} -.m-list .m-list-group { - padding: 0 4px; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/datebox.css b/SMMS/WebContent/static/easyui/themes/default/datebox.css deleted file mode 100644 index 6225a0d..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/datebox.css +++ /dev/null @@ -1,36 +0,0 @@ -.datebox-calendar-inner { - height: 180px; -} -.datebox-button { - height: 18px; - padding: 2px 5px; - text-align: center; -} -.datebox-button a { - font-size: 12px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #F4F4F4; -} -.datebox-button a { - color: #444; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/dialog.css b/SMMS/WebContent/static/easyui/themes/default/dialog.css deleted file mode 100644 index c3510e6..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/dialog.css +++ /dev/null @@ -1,32 +0,0 @@ -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #F4F4F4; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #95B8E7 #95B8E7 #dddddd #95B8E7; -} -.dialog-button { - border-color: #dddddd #95B8E7 #95B8E7 #95B8E7; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/easyui.css b/SMMS/WebContent/static/easyui/themes/default/easyui.css deleted file mode 100644 index 52ee5b9..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/easyui.css +++ /dev/null @@ -1,2734 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #eaf2ff; - -moz-border-radius: 3px 3px 3px 3px; - -webkit-border-radius: 3px 3px 3px 3px; - border-radius: 3px 3px 3px 3px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #95B8E7; -} -.panel-header { - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.panel-body { - background-color: #ffffff; - color: #000000; - font-size: 12px; -} -.panel-title { - font-size: 12px; - font-weight: bold; - color: #0E2D5F; - height: 16px; - line-height: 16px; -} -.panel-footer { - border: 1px solid #95B8E7; - overflow: hidden; - background: #F4F4F4; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} -.accordion { - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.accordion .accordion-header { - border-width: 0 0 1px; - cursor: pointer; -} -.accordion .accordion-body { - border-width: 0 0 1px; -} -.accordion-noborder { - border-width: 0; -} -.accordion-noborder .accordion-header { - border-width: 0 0 1px; -} -.accordion-noborder .accordion-body { - border-width: 0 0 1px; -} -.accordion-collapse { - background: url('images/accordion_arrows.png') no-repeat 0 0; -} -.accordion-expand { - background: url('images/accordion_arrows.png') no-repeat -16px 0; -} -.accordion { - background: #ffffff; - border-color: #95B8E7; -} -.accordion .accordion-header { - background: #E0ECFF; - filter: none; -} -.accordion .accordion-header-selected { - background: #ffe48d; -} -.accordion .accordion-header-selected .panel-title { - color: #000000; -} -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #95B8E7; -} -.window { - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.window-proxy { - border: 1px dashed #95B8E7; -} -.window-proxy-mask, -.window-mask { - background: #ccc; -} -.window .panel-footer { - border: 1px solid #95B8E7; - position: relative; - top: -1px; -} -.dialog-content { - overflow: auto; -} -.dialog-toolbar { - padding: 2px 5px; -} -.dialog-tool-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.dialog-button { - padding: 5px; - text-align: right; -} -.dialog-button .l-btn { - margin-left: 5px; -} -.dialog-toolbar, -.dialog-button { - background: #F4F4F4; - border-width: 1px; - border-style: solid; -} -.dialog-toolbar { - border-color: #95B8E7 #95B8E7 #dddddd #95B8E7; -} -.dialog-button { - border-color: #dddddd #95B8E7 #95B8E7 #95B8E7; -} -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 24px; - font-size: 12px; - padding: 0; - margin: 0 4px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 4px 0 24px; -} -.l-btn-icon-left .l-btn-icon { - left: 4px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 24px 0 4px; -} -.l-btn-icon-right .l-btn-icon { - right: 4px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 4px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 40px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 4px; - width: 32px; -} -.l-btn { - color: #444; - background: #fafafa; - background-repeat: repeat-x; - border: 1px solid #bbb; - background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn:hover { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #b7d2ff; - padding: 0; -} -.l-btn-plain:hover { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #fafafa; - color: #444; - background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #ddd; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #ddd; -} -.textbox { - position: relative; - border: 1px solid #95B8E7; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 12px; - border: 0; - margin: 0; - padding: 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-prompt { - font-size: 12px; - color: #aaa; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox-button-right, -.textbox-button-right:hover { - border-width: 0 0 0 1px; -} -.textbox-button-left, -.textbox-button-left:hover { - border-width: 0 1px 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - -moz-box-shadow: 0 0 3px 0 #95B8E7; - -webkit-box-shadow: 0 0 3px 0 #95B8E7; - box-shadow: 0 0 3px 0 #95B8E7; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; -} -.l-btn-disabled .filebox-label { - cursor: default; -} -.combo { - display: inline-block; - white-space: nowrap; - margin: 0; - padding: 0; - border-width: 1px; - border-style: solid; - overflow: hidden; - vertical-align: middle; -} -.combo .combo-text { - font-size: 12px; - border: 0px; - margin: 0; - padding: 0px 2px; - vertical-align: baseline; -} -.combo-arrow { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.combo-arrow-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.combo-panel { - overflow: auto; -} -.combo-arrow { - background: url('images/combo_arrow.png') no-repeat center center; -} -.combo-panel { - background-color: #ffffff; -} -.combo { - border-color: #95B8E7; - background-color: #fff; -} -.combo-arrow { - background-color: #E0ECFF; -} -.combo-arrow-hover { - background-color: #eaf2ff; -} -.combo-arrow:hover { - background-color: #eaf2ff; -} -.combo .textbox-icon-disabled:hover { - cursor: default; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} -.combobox-item, -.combobox-group { - font-size: 12px; - padding: 3px; - padding-right: 0px; -} -.combobox-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.combobox-gitem { - padding-left: 10px; -} -.combobox-group { - font-weight: bold; -} -.combobox-item-hover { - background-color: #eaf2ff; - color: #000000; -} -.combobox-item-selected { - background-color: #ffe48d; - color: #000000; -} -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #aac5e7; -} -.layout-split-north { - border-bottom: 5px solid #E6EEF8; -} -.layout-split-south { - border-top: 5px solid #E6EEF8; -} -.layout-split-east { - border-left: 5px solid #E6EEF8; -} -.layout-split-west { - border-right: 5px solid #E6EEF8; -} -.layout-expand { - background-color: #E0ECFF; -} -.layout-expand-over { - background-color: #E0ECFF; -} -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 12px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #eaf2ff; - color: #000000; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #0E2D5F; - background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1); -} -.tabs li a.tabs-inner { - color: #0E2D5F; - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #E0ECFF; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #95B8E7; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #eaf2ff; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #ffe48d; - color: #000000; - filter: none; - border-color: #95B8E7; -} -.datagrid .panel-body { - overflow: hidden; - position: relative; -} -.datagrid-view { - position: relative; - overflow: hidden; -} -.datagrid-view1, -.datagrid-view2 { - position: absolute; - overflow: hidden; - top: 0; -} -.datagrid-view1 { - left: 0; -} -.datagrid-view2 { - right: 0; -} -.datagrid-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.3; - filter: alpha(opacity=30); - display: none; -} -.datagrid-mask-msg { - position: absolute; - top: 50%; - margin-top: -20px; - padding: 10px 5px 10px 30px; - width: auto; - height: 16px; - border-width: 2px; - border-style: solid; - display: none; -} -.datagrid-sort-icon { - padding: 0; -} -.datagrid-toolbar { - height: auto; - padding: 1px 2px; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 2px 1px; -} -.datagrid .datagrid-pager { - display: block; - margin: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.datagrid .datagrid-pager-top { - border-width: 0 0 1px 0; -} -.datagrid-header { - overflow: hidden; - cursor: default; - border-width: 0 0 1px 0; - border-style: solid; -} -.datagrid-header-inner { - float: left; - width: 10000px; -} -.datagrid-header-row, -.datagrid-row { - height: 25px; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-width: 0 1px 1px 0; - border-style: dotted; - margin: 0; - padding: 0; -} -.datagrid-cell, -.datagrid-cell-group, -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - margin: 0; - padding: 0 4px; - white-space: nowrap; - word-wrap: normal; - overflow: hidden; - height: 18px; - line-height: 18px; - font-size: 12px; -} -.datagrid-header .datagrid-cell { - height: auto; -} -.datagrid-header .datagrid-cell span { - font-size: 12px; -} -.datagrid-cell-group { - text-align: center; -} -.datagrid-header-rownumber, -.datagrid-cell-rownumber { - width: 25px; - text-align: center; - margin: 0; - padding: 0; -} -.datagrid-body { - margin: 0; - padding: 0; - overflow: auto; - zoom: 1; -} -.datagrid-view1 .datagrid-body-inner { - padding-bottom: 20px; -} -.datagrid-view1 .datagrid-body { - overflow: hidden; -} -.datagrid-footer { - overflow: hidden; -} -.datagrid-footer-inner { - border-width: 1px 0 0 0; - border-style: solid; - width: 10000px; - float: left; -} -.datagrid-row-editing .datagrid-cell { - height: auto; -} -.datagrid-header-check, -.datagrid-cell-check { - padding: 0; - width: 27px; - height: 18px; - font-size: 1px; - text-align: center; - overflow: hidden; -} -.datagrid-header-check input, -.datagrid-cell-check input { - margin: 0; - padding: 0; - width: 15px; - height: 18px; -} -.datagrid-resize-proxy { - position: absolute; - width: 1px; - height: 10000px; - top: 0; - cursor: e-resize; - display: none; -} -.datagrid-body .datagrid-editable { - margin: 0; - padding: 0; -} -.datagrid-body .datagrid-editable table { - width: 100%; - height: 100%; -} -.datagrid-body .datagrid-editable td { - border: 0; - margin: 0; - padding: 0; -} -.datagrid-view .datagrid-editable-input { - margin: 0; - padding: 2px 4px; - border: 1px solid #95B8E7; - font-size: 12px; - outline-style: none; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.datagrid-sort-desc .datagrid-sort-icon { - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat -16px center; -} -.datagrid-sort-asc .datagrid-sort-icon { - padding: 0 13px 0 0; - background: url('images/datagrid_icons.png') no-repeat 0px center; -} -.datagrid-row-collapse { - background: url('images/datagrid_icons.png') no-repeat -48px center; -} -.datagrid-row-expand { - background: url('images/datagrid_icons.png') no-repeat -32px center; -} -.datagrid-mask-msg { - background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; -} -.datagrid-header, -.datagrid-td-rownumber { - background-color: #efefef; - background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%); - background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0); -} -.datagrid-cell-rownumber { - color: #000000; -} -.datagrid-resize-proxy { - background: #aac5e7; -} -.datagrid-mask { - background: #ccc; -} -.datagrid-mask-msg { - border-color: #95B8E7; -} -.datagrid-toolbar, -.datagrid-pager { - background: #F4F4F4; -} -.datagrid-header, -.datagrid-toolbar, -.datagrid-pager, -.datagrid-footer-inner { - border-color: #dddddd; -} -.datagrid-header td, -.datagrid-body td, -.datagrid-footer td { - border-color: #ccc; -} -.datagrid-htable, -.datagrid-btable, -.datagrid-ftable { - color: #000000; - border-collapse: separate; -} -.datagrid-row-alt { - background: #fafafa; -} -.datagrid-row-over, -.datagrid-header td.datagrid-header-over { - background: #eaf2ff; - color: #000000; - cursor: default; -} -.datagrid-row-selected { - background: #ffe48d; - color: #000000; -} -.datagrid-row-editing .textbox, -.datagrid-row-editing .textbox-text { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - height: 21px; - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #dddddd; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #E0ECFF; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #dddddd; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #E0ECFF; -} -.datalist .datagrid-header { - border-width: 0; -} -.datalist .datagrid-group, -.m-list .m-list-group { - height: 25px; - line-height: 25px; - font-weight: bold; - overflow: hidden; - background-color: #efefef; - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.datalist .datagrid-group-expander { - display: none; -} -.datalist .datagrid-group-title { - padding: 0 4px; -} -.datalist .datagrid-btable { - width: 100%; - table-layout: fixed; -} -.datalist .datagrid-row td { - border-style: solid; - border-left-color: transparent; - border-right-color: transparent; - border-bottom-width: 0; -} -.datalist-lines .datagrid-row td { - border-bottom-width: 1px; -} -.datalist .datagrid-cell, -.m-list li { - width: auto; - height: auto; - padding: 2px 4px; - line-height: 18px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link, -.m-list li>a { - display: block; - position: relative; - cursor: pointer; - color: #000000; - text-decoration: none; - overflow: hidden; - margin: -2px -4px; - padding: 2px 4px; - padding-right: 16px; - line-height: 18px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.datalist-link::after, -.m-list li>a::after { - position: absolute; - display: block; - width: 8px; - height: 8px; - content: ''; - right: 6px; - top: 50%; - margin-top: -4px; - border-style: solid; - border-width: 1px 1px 0 0; - -ms-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.m-list { - margin: 0; - padding: 0; - list-style: none; -} -.m-list li { - border-style: solid; - border-width: 0 0 1px 0; - border-color: #ccc; -} -.m-list li>a:hover { - background: #eaf2ff; - color: #000000; -} -.m-list .m-list-group { - padding: 0 4px; -} -.pagination { - zoom: 1; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 2em; - height: auto; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px 0 0; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 12px; -} -.pagination span { - font-size: 12px; -} -.pagination-link .l-btn-text { - width: 24px; - text-align: center; - margin: 0; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #95B8E7; -} -.calendar { - border-width: 1px; - border-style: solid; - padding: 1px; - overflow: hidden; -} -.calendar table { - table-layout: fixed; - border-collapse: separate; - font-size: 12px; - width: 100%; - height: 100%; -} -.calendar table td, -.calendar table th { - font-size: 12px; -} -.calendar-noborder { - border: 0; -} -.calendar-header { - position: relative; - height: 22px; -} -.calendar-title { - text-align: center; - height: 22px; -} -.calendar-title span { - position: relative; - display: inline-block; - top: 2px; - padding: 0 3px; - height: 18px; - line-height: 18px; - font-size: 12px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth, -.calendar-nextmonth, -.calendar-prevyear, -.calendar-nextyear { - position: absolute; - top: 50%; - margin-top: -7px; - width: 14px; - height: 14px; - cursor: pointer; - font-size: 1px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-prevmonth { - left: 20px; - background: url('images/calendar_arrows.png') no-repeat -18px -2px; -} -.calendar-nextmonth { - right: 20px; - background: url('images/calendar_arrows.png') no-repeat -34px -2px; -} -.calendar-prevyear { - left: 3px; - background: url('images/calendar_arrows.png') no-repeat -1px -2px; -} -.calendar-nextyear { - right: 3px; - background: url('images/calendar_arrows.png') no-repeat -49px -2px; -} -.calendar-body { - position: relative; -} -.calendar-body th, -.calendar-body td { - text-align: center; -} -.calendar-day { - border: 0; - padding: 1px; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-other-month { - opacity: 0.3; - filter: alpha(opacity=30); -} -.calendar-disabled { - opacity: 0.6; - filter: alpha(opacity=60); - cursor: default; -} -.calendar-menu { - position: absolute; - top: 0; - left: 0; - width: 180px; - height: 150px; - padding: 5px; - font-size: 12px; - display: none; - overflow: hidden; -} -.calendar-menu-year-inner { - text-align: center; - padding-bottom: 5px; -} -.calendar-menu-year { - width: 40px; - text-align: center; - border-width: 1px; - border-style: solid; - margin: 0; - padding: 2px; - font-weight: bold; - font-size: 12px; -} -.calendar-menu-prev, -.calendar-menu-next { - display: inline-block; - width: 21px; - height: 21px; - vertical-align: top; - cursor: pointer; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-menu-prev { - margin-right: 10px; - background: url('images/calendar_arrows.png') no-repeat 2px 2px; -} -.calendar-menu-next { - margin-left: 10px; - background: url('images/calendar_arrows.png') no-repeat -45px 2px; -} -.calendar-menu-month { - text-align: center; - cursor: pointer; - font-weight: bold; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.calendar-body th, -.calendar-menu-month { - color: #4d4d4d; -} -.calendar-day { - color: #000000; -} -.calendar-sunday { - color: #CC2222; -} -.calendar-saturday { - color: #00ee00; -} -.calendar-today { - color: #0000ff; -} -.calendar-menu-year { - border-color: #95B8E7; -} -.calendar { - border-color: #95B8E7; -} -.calendar-header { - background: #E0ECFF; -} -.calendar-body, -.calendar-menu { - background: #ffffff; -} -.calendar-body th { - background: #F4F4F4; - padding: 2px 0; -} -.calendar-hover, -.calendar-nav-hover, -.calendar-menu-hover { - background-color: #eaf2ff; - color: #000000; -} -.calendar-hover { - border: 1px solid #b7d2ff; - padding: 0; -} -.calendar-selected { - background-color: #ffe48d; - color: #000000; - border: 1px solid #ffab3f; - padding: 0; -} -.datebox-calendar-inner { - height: 180px; -} -.datebox-button { - height: 18px; - padding: 2px 5px; - text-align: center; -} -.datebox-button a { - font-size: 12px; - font-weight: bold; - text-decoration: none; - opacity: 0.6; - filter: alpha(opacity=60); -} -.datebox-button a:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.datebox-current, -.datebox-close { - float: left; -} -.datebox-close { - float: right; -} -.datebox .combo-arrow { - background-image: url('images/datebox_arrow.png'); - background-position: center center; -} -.datebox-button { - background-color: #F4F4F4; -} -.datebox-button a { - color: #444; -} -.numberbox { - border: 1px solid #95B8E7; - margin: 0; - padding: 0 2px; - vertical-align: middle; -} -.textbox { - padding: 0; -} -.spinner { - display: inline-block; - white-space: nowrap; - margin: 0; - padding: 0; - border-width: 1px; - border-style: solid; - overflow: hidden; - vertical-align: middle; -} -.spinner .spinner-text { - font-size: 12px; - border: 0px; - margin: 0; - padding: 0 2px; - vertical-align: baseline; -} -.spinner-arrow { - background-color: #E0ECFF; - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #444; - outline-style: none; -} -.spinner-arrow-hover { - background-color: #eaf2ff; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #eaf2ff; -} -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #E0ECFF; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; -} -.spinner { - border-color: #95B8E7; -} -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #95B8E7; -} -.progressbar-text { - color: #000000; - font-size: 12px; -} -.progressbar-value .progressbar-text { - background-color: #ffe48d; - color: #000000; -} -.searchbox { - display: inline-block; - white-space: nowrap; - margin: 0; - padding: 0; - border-width: 1px; - border-style: solid; - overflow: hidden; - vertical-align: middle; -} -.searchbox .searchbox-text { - font-size: 12px; - border: 0; - margin: 0; - padding: 0 2px; - vertical-align: top; -} -.searchbox .searchbox-prompt { - font-size: 12px; - color: #ccc; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox { - border-color: #95B8E7; - background-color: #fff; -} -.searchbox .l-btn-plain { - background: #E0ECFF; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 12px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 12px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #95B8E7; - background: #E0ECFF; -} -.slider-rule span { - border-color: #95B8E7; -} -.slider-rulelabel span { - color: #000000; -} -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 12px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #ccc; - border-right: 1px solid #fff; -} -.menu-sep { - border-top: 1px solid #ccc; - border-bottom: 1px solid #fff; -} -.menu { - background-color: #fafafa; - border-color: #ddd; - color: #444; -} -.menu-content { - background: #ffffff; -} -.menu-item { - border-color: transparent; - _border-color: #fafafa; -} -.menu-active { - border-color: #b7d2ff; - color: #000000; - background: #eaf2ff; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #444; -} -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #aac5e7; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #b7d2ff; - background-color: #eaf2ff; - color: #000000; -} -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #aac5e7; - border-width: 0 0 0 1px; -} -.messager-body { - padding: 10px; - overflow: hidden; -} -.messager-button { - text-align: center; - padding-top: 10px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 1px 0; - border: 1px solid #95B8E7; -} -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 18px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - vertical-align: top; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 12px; - display: inline-block; - text-decoration: none; - vertical-align: top; - white-space: nowrap; - padding: 0 2px; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 12px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #ccc; - font-size: 12px; - height: 14px !important; - height: 18px; - line-height: 14px; - padding: 1px 2px; - width: 80px; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #000000; - border-color: #95B8E7; -} -.tree-node-hover { - background: #eaf2ff; - color: #000000; -} -.tree-node-selected { - background: #ffe48d; - color: #000000; -} -.tree-node-hidden { - display: none; -} -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 12px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #95B8E7; - color: #000000; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #95B8E7; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #95B8E7; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #95B8E7; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #95B8E7; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/filebox.css b/SMMS/WebContent/static/easyui/themes/default/filebox.css deleted file mode 100644 index 8954a19..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/filebox.css +++ /dev/null @@ -1,19 +0,0 @@ -.filebox .textbox-value { - vertical-align: top; - position: absolute; - top: 0; - left: -5000px; -} -.filebox-label { - display: inline-block; - position: absolute; - width: 100%; - height: 100%; - cursor: pointer; - left: 0; - top: 0; - z-index: 10; -} -.l-btn-disabled .filebox-label { - cursor: default; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/images/accordion_arrows.png b/SMMS/WebContent/static/easyui/themes/default/images/accordion_arrows.png deleted file mode 100644 index 720835f..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/accordion_arrows.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/blank.gif b/SMMS/WebContent/static/easyui/themes/default/images/blank.gif deleted file mode 100644 index 1d11fa9..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/blank.gif and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/calendar_arrows.png b/SMMS/WebContent/static/easyui/themes/default/images/calendar_arrows.png deleted file mode 100644 index 430c4ad..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/calendar_arrows.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/combo_arrow.png b/SMMS/WebContent/static/easyui/themes/default/images/combo_arrow.png deleted file mode 100644 index 2e59fb9..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/combo_arrow.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/datagrid_icons.png b/SMMS/WebContent/static/easyui/themes/default/images/datagrid_icons.png deleted file mode 100644 index 747ac4d..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/datagrid_icons.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/datebox_arrow.png b/SMMS/WebContent/static/easyui/themes/default/images/datebox_arrow.png deleted file mode 100644 index 783c833..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/datebox_arrow.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/layout_arrows.png b/SMMS/WebContent/static/easyui/themes/default/images/layout_arrows.png deleted file mode 100644 index 6f41654..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/layout_arrows.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/linkbutton_bg.png b/SMMS/WebContent/static/easyui/themes/default/images/linkbutton_bg.png deleted file mode 100644 index fc66bd2..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/linkbutton_bg.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/loading.gif b/SMMS/WebContent/static/easyui/themes/default/images/loading.gif deleted file mode 100644 index 68f01d0..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/loading.gif and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/menu_arrows.png b/SMMS/WebContent/static/easyui/themes/default/images/menu_arrows.png deleted file mode 100644 index b986842..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/menu_arrows.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/messager_icons.png b/SMMS/WebContent/static/easyui/themes/default/images/messager_icons.png deleted file mode 100644 index 62c18c1..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/messager_icons.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/pagination_icons.png b/SMMS/WebContent/static/easyui/themes/default/images/pagination_icons.png deleted file mode 100644 index 616f0bd..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/pagination_icons.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/panel_tools.png b/SMMS/WebContent/static/easyui/themes/default/images/panel_tools.png deleted file mode 100644 index 19ecc94..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/panel_tools.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/searchbox_button.png b/SMMS/WebContent/static/easyui/themes/default/images/searchbox_button.png deleted file mode 100644 index 6dd1931..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/searchbox_button.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/slider_handle.png b/SMMS/WebContent/static/easyui/themes/default/images/slider_handle.png deleted file mode 100644 index b9802ba..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/slider_handle.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/spinner_arrows.png b/SMMS/WebContent/static/easyui/themes/default/images/spinner_arrows.png deleted file mode 100644 index b68592d..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/spinner_arrows.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/tabs_icons.png b/SMMS/WebContent/static/easyui/themes/default/images/tabs_icons.png deleted file mode 100644 index 4d29966..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/tabs_icons.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/tree_icons.png b/SMMS/WebContent/static/easyui/themes/default/images/tree_icons.png deleted file mode 100644 index e9be4f3..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/tree_icons.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/images/validatebox_warning.png b/SMMS/WebContent/static/easyui/themes/default/images/validatebox_warning.png deleted file mode 100644 index 2b3d4f0..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/default/images/validatebox_warning.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/default/layout.css b/SMMS/WebContent/static/easyui/themes/default/layout.css deleted file mode 100644 index 0292cf5..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/layout.css +++ /dev/null @@ -1,91 +0,0 @@ -.layout { - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} -.layout-panel { - position: absolute; - overflow: hidden; -} -.layout-panel-east, -.layout-panel-west { - z-index: 2; -} -.layout-panel-north, -.layout-panel-south { - z-index: 3; -} -.layout-expand { - position: absolute; - padding: 0px; - font-size: 1px; - cursor: pointer; - z-index: 1; -} -.layout-expand .panel-header, -.layout-expand .panel-body { - background: transparent; - filter: none; - overflow: hidden; -} -.layout-expand .panel-header { - border-bottom-width: 0px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - position: absolute; - font-size: 1px; - display: none; - z-index: 5; -} -.layout-split-proxy-h { - width: 5px; - cursor: e-resize; -} -.layout-split-proxy-v { - height: 5px; - cursor: n-resize; -} -.layout-mask { - position: absolute; - background: #fafafa; - filter: alpha(opacity=10); - opacity: 0.10; - z-index: 4; -} -.layout-button-up { - background: url('images/layout_arrows.png') no-repeat -16px -16px; -} -.layout-button-down { - background: url('images/layout_arrows.png') no-repeat -16px 0; -} -.layout-button-left { - background: url('images/layout_arrows.png') no-repeat 0 0; -} -.layout-button-right { - background: url('images/layout_arrows.png') no-repeat 0 -16px; -} -.layout-split-proxy-h, -.layout-split-proxy-v { - background-color: #aac5e7; -} -.layout-split-north { - border-bottom: 5px solid #E6EEF8; -} -.layout-split-south { - border-top: 5px solid #E6EEF8; -} -.layout-split-east { - border-left: 5px solid #E6EEF8; -} -.layout-split-west { - border-right: 5px solid #E6EEF8; -} -.layout-expand { - background-color: #E0ECFF; -} -.layout-expand-over { - background-color: #E0ECFF; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/linkbutton.css b/SMMS/WebContent/static/easyui/themes/default/linkbutton.css deleted file mode 100644 index a3e2122..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/linkbutton.css +++ /dev/null @@ -1,203 +0,0 @@ -.l-btn { - text-decoration: none; - display: inline-block; - overflow: hidden; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; - text-align: center; - vertical-align: middle; - line-height: normal; -} -.l-btn-plain { - border-width: 0; - padding: 1px; -} -.l-btn-left { - display: inline-block; - position: relative; - overflow: hidden; - margin: 0; - padding: 0; - vertical-align: top; -} -.l-btn-text { - display: inline-block; - vertical-align: top; - width: auto; - line-height: 24px; - font-size: 12px; - padding: 0; - margin: 0 4px; -} -.l-btn-icon { - display: inline-block; - width: 16px; - height: 16px; - line-height: 16px; - position: absolute; - top: 50%; - margin-top: -8px; - font-size: 1px; -} -.l-btn span span .l-btn-empty { - display: inline-block; - margin: 0; - width: 16px; - height: 24px; - font-size: 1px; - vertical-align: top; -} -.l-btn span .l-btn-icon-left { - padding: 0 0 0 20px; - background-position: left center; -} -.l-btn span .l-btn-icon-right { - padding: 0 20px 0 0; - background-position: right center; -} -.l-btn-icon-left .l-btn-text { - margin: 0 4px 0 24px; -} -.l-btn-icon-left .l-btn-icon { - left: 4px; -} -.l-btn-icon-right .l-btn-text { - margin: 0 24px 0 4px; -} -.l-btn-icon-right .l-btn-icon { - right: 4px; -} -.l-btn-icon-top .l-btn-text { - margin: 20px 4px 0 4px; -} -.l-btn-icon-top .l-btn-icon { - top: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-icon-bottom .l-btn-text { - margin: 0 4px 20px 4px; -} -.l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 4px; - left: 50%; - margin: 0 0 0 -8px; -} -.l-btn-left .l-btn-empty { - margin: 0 4px; - width: 16px; -} -.l-btn-plain:hover { - padding: 0; -} -.l-btn-focus { - outline: #0000FF dotted thin; -} -.l-btn-large .l-btn-text { - line-height: 40px; -} -.l-btn-large .l-btn-icon { - width: 32px; - height: 32px; - line-height: 32px; - margin-top: -16px; -} -.l-btn-large .l-btn-icon-left .l-btn-text { - margin-left: 40px; -} -.l-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.l-btn-large .l-btn-icon-top .l-btn-text { - margin-top: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-top .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 36px; - line-height: 24px; - min-width: 32px; -} -.l-btn-large .l-btn-icon-bottom .l-btn-icon { - margin: 0 0 0 -16px; -} -.l-btn-large .l-btn-left .l-btn-empty { - margin: 0 4px; - width: 32px; -} -.l-btn { - color: #444; - background: #fafafa; - background-repeat: repeat-x; - border: 1px solid #bbb; - background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn:hover { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - filter: none; -} -.l-btn-plain { - background: transparent; - border-width: 0; - filter: none; -} -.l-btn-outline { - border-width: 1px; - border-color: #b7d2ff; - padding: 0; -} -.l-btn-plain:hover { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.l-btn-disabled, -.l-btn-disabled:hover { - opacity: 0.5; - cursor: default; - background: #fafafa; - color: #444; - background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); - background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); -} -.l-btn-disabled .l-btn-text, -.l-btn-disabled .l-btn-icon { - filter: alpha(opacity=50); -} -.l-btn-plain-disabled, -.l-btn-plain-disabled:hover { - background: transparent; - filter: alpha(opacity=50); -} -.l-btn-selected, -.l-btn-selected:hover { - background: #ddd; - filter: none; -} -.l-btn-plain-selected, -.l-btn-plain-selected:hover { - background: #ddd; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/menu.css b/SMMS/WebContent/static/easyui/themes/default/menu.css deleted file mode 100644 index 552e25c..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/menu.css +++ /dev/null @@ -1,119 +0,0 @@ -.menu { - position: absolute; - margin: 0; - padding: 2px; - border-width: 1px; - border-style: solid; - overflow: hidden; -} -.menu-inline { - position: relative; -} -.menu-item { - position: relative; - margin: 0; - padding: 0; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.menu-text { - height: 20px; - line-height: 20px; - float: left; - padding-left: 28px; -} -.menu-icon { - position: absolute; - width: 16px; - height: 16px; - left: 2px; - top: 50%; - margin-top: -8px; -} -.menu-rightarrow { - position: absolute; - width: 16px; - height: 16px; - right: 0; - top: 50%; - margin-top: -8px; -} -.menu-line { - position: absolute; - left: 26px; - top: 0; - height: 2000px; - font-size: 1px; -} -.menu-sep { - margin: 3px 0px 3px 25px; - font-size: 1px; -} -.menu-noline .menu-line { - display: none; -} -.menu-noline .menu-sep { - margin-left: 0; - margin-right: 0; -} -.menu-active { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.menu-item-disabled { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default; -} -.menu-text, -.menu-text span { - font-size: 12px; -} -.menu-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.menu-rightarrow { - background: url('images/menu_arrows.png') no-repeat -32px center; -} -.menu-line { - border-left: 1px solid #ccc; - border-right: 1px solid #fff; -} -.menu-sep { - border-top: 1px solid #ccc; - border-bottom: 1px solid #fff; -} -.menu { - background-color: #fafafa; - border-color: #ddd; - color: #444; -} -.menu-content { - background: #ffffff; -} -.menu-item { - border-color: transparent; - _border-color: #fafafa; -} -.menu-active { - border-color: #b7d2ff; - color: #000000; - background: #eaf2ff; -} -.menu-active-disabled { - border-color: transparent; - background: transparent; - color: #444; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/menubutton.css b/SMMS/WebContent/static/easyui/themes/default/menubutton.css deleted file mode 100644 index 3445bd5..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/menubutton.css +++ /dev/null @@ -1,94 +0,0 @@ -.m-btn-downarrow, -.s-btn-downarrow { - display: inline-block; - position: absolute; - width: 16px; - height: 16px; - font-size: 1px; - right: 0; - top: 50%; - margin-top: -8px; -} -.m-btn-active, -.s-btn-active { - background: #eaf2ff; - color: #000000; - border: 1px solid #b7d2ff; - filter: none; -} -.m-btn-plain-active, -.s-btn-plain-active { - background: transparent; - padding: 0; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.m-btn .l-btn-left .l-btn-text { - margin-right: 20px; -} -.m-btn .l-btn-icon-right .l-btn-text { - margin-right: 40px; -} -.m-btn .l-btn-icon-right .l-btn-icon { - right: 20px; -} -.m-btn .l-btn-icon-top .l-btn-text { - margin-right: 4px; - margin-bottom: 14px; -} -.m-btn .l-btn-icon-bottom .l-btn-text { - margin-right: 4px; - margin-bottom: 34px; -} -.m-btn .l-btn-icon-bottom .l-btn-icon { - top: auto; - bottom: 20px; -} -.m-btn .l-btn-icon-top .m-btn-downarrow, -.m-btn .l-btn-icon-bottom .m-btn-downarrow { - top: auto; - bottom: 0px; - left: 50%; - margin-left: -8px; -} -.m-btn-line { - display: inline-block; - position: absolute; - font-size: 1px; - display: none; -} -.m-btn .l-btn-left .m-btn-line { - right: 0; - width: 16px; - height: 500px; - border-style: solid; - border-color: #aac5e7; - border-width: 0 0 0 1px; -} -.m-btn .l-btn-icon-top .m-btn-line, -.m-btn .l-btn-icon-bottom .m-btn-line { - left: 0; - bottom: 0; - width: 500px; - height: 16px; - border-width: 1px 0 0 0; -} -.m-btn-large .l-btn-icon-right .l-btn-text { - margin-right: 56px; -} -.m-btn-large .l-btn-icon-bottom .l-btn-text { - margin-bottom: 50px; -} -.m-btn-downarrow, -.s-btn-downarrow { - background: url('images/menu_arrows.png') no-repeat 0 center; -} -.m-btn-plain-active, -.s-btn-plain-active { - border-color: #b7d2ff; - background-color: #eaf2ff; - color: #000000; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/messager.css b/SMMS/WebContent/static/easyui/themes/default/messager.css deleted file mode 100644 index f719581..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/messager.css +++ /dev/null @@ -1,40 +0,0 @@ -.messager-body { - padding: 10px; - overflow: hidden; -} -.messager-button { - text-align: center; - padding-top: 10px; -} -.messager-button .l-btn { - width: 70px; -} -.messager-icon { - float: left; - width: 32px; - height: 32px; - margin: 0 10px 10px 0; -} -.messager-error { - background: url('images/messager_icons.png') no-repeat scroll -64px 0; -} -.messager-info { - background: url('images/messager_icons.png') no-repeat scroll 0 0; -} -.messager-question { - background: url('images/messager_icons.png') no-repeat scroll -32px 0; -} -.messager-warning { - background: url('images/messager_icons.png') no-repeat scroll -96px 0; -} -.messager-progress { - padding: 10px; -} -.messager-p-msg { - margin-bottom: 5px; -} -.messager-body .messager-input { - width: 100%; - padding: 1px 0; - border: 1px solid #95B8E7; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/numberbox.css b/SMMS/WebContent/static/easyui/themes/default/numberbox.css deleted file mode 100644 index 03c7ea2..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/numberbox.css +++ /dev/null @@ -1,9 +0,0 @@ -.numberbox { - border: 1px solid #95B8E7; - margin: 0; - padding: 0 2px; - vertical-align: middle; -} -.textbox { - padding: 0; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/pagination.css b/SMMS/WebContent/static/easyui/themes/default/pagination.css deleted file mode 100644 index 1f8783c..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/pagination.css +++ /dev/null @@ -1,71 +0,0 @@ -.pagination { - zoom: 1; -} -.pagination table { - float: left; - height: 30px; -} -.pagination td { - border: 0; -} -.pagination-btn-separator { - float: left; - height: 24px; - border-left: 1px solid #ccc; - border-right: 1px solid #fff; - margin: 3px 1px; -} -.pagination .pagination-num { - border-width: 1px; - border-style: solid; - margin: 0 2px; - padding: 2px; - width: 2em; - height: auto; -} -.pagination-page-list { - margin: 0px 6px; - padding: 1px 2px; - width: auto; - height: auto; - border-width: 1px; - border-style: solid; -} -.pagination-info { - float: right; - margin: 0 6px 0 0; - padding: 0; - height: 30px; - line-height: 30px; - font-size: 12px; -} -.pagination span { - font-size: 12px; -} -.pagination-link .l-btn-text { - width: 24px; - text-align: center; - margin: 0; -} -.pagination-first { - background: url('images/pagination_icons.png') no-repeat 0 center; -} -.pagination-prev { - background: url('images/pagination_icons.png') no-repeat -16px center; -} -.pagination-next { - background: url('images/pagination_icons.png') no-repeat -32px center; -} -.pagination-last { - background: url('images/pagination_icons.png') no-repeat -48px center; -} -.pagination-load { - background: url('images/pagination_icons.png') no-repeat -64px center; -} -.pagination-loading { - background: url('images/loading.gif') no-repeat center center; -} -.pagination-page-list, -.pagination .pagination-num { - border-color: #95B8E7; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/panel.css b/SMMS/WebContent/static/easyui/themes/default/panel.css deleted file mode 100644 index c32f3a0..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/panel.css +++ /dev/null @@ -1,142 +0,0 @@ -.panel { - overflow: hidden; - text-align: left; - margin: 0; - border: 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.panel-header, -.panel-body { - border-width: 1px; - border-style: solid; -} -.panel-header { - padding: 5px; - position: relative; -} -.panel-title { - background: url('images/blank.gif') no-repeat; -} -.panel-header-noborder { - border-width: 0 0 1px 0; -} -.panel-body { - overflow: auto; - border-top-width: 0; - padding: 0; -} -.panel-body-noheader { - border-top-width: 1px; -} -.panel-body-noborder { - border-width: 0px; -} -.panel-body-nobottom { - border-bottom-width: 0; -} -.panel-with-icon { - padding-left: 18px; -} -.panel-icon, -.panel-tool { - position: absolute; - top: 50%; - margin-top: -8px; - height: 16px; - overflow: hidden; -} -.panel-icon { - left: 5px; - width: 16px; -} -.panel-tool { - right: 5px; - width: auto; -} -.panel-tool a { - display: inline-block; - width: 16px; - height: 16px; - opacity: 0.6; - filter: alpha(opacity=60); - margin: 0 0 0 2px; - vertical-align: top; -} -.panel-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #eaf2ff; - -moz-border-radius: 3px 3px 3px 3px; - -webkit-border-radius: 3px 3px 3px 3px; - border-radius: 3px 3px 3px 3px; -} -.panel-loading { - padding: 11px 0px 10px 30px; -} -.panel-noscroll { - overflow: hidden; -} -.panel-fit, -.panel-fit body { - height: 100%; - margin: 0; - padding: 0; - border: 0; - overflow: hidden; -} -.panel-loading { - background: url('images/loading.gif') no-repeat 10px 10px; -} -.panel-tool-close { - background: url('images/panel_tools.png') no-repeat -16px 0px; -} -.panel-tool-min { - background: url('images/panel_tools.png') no-repeat 0px 0px; -} -.panel-tool-max { - background: url('images/panel_tools.png') no-repeat 0px -16px; -} -.panel-tool-restore { - background: url('images/panel_tools.png') no-repeat -16px -16px; -} -.panel-tool-collapse { - background: url('images/panel_tools.png') no-repeat -32px 0; -} -.panel-tool-expand { - background: url('images/panel_tools.png') no-repeat -32px -16px; -} -.panel-header, -.panel-body { - border-color: #95B8E7; -} -.panel-header { - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.panel-body { - background-color: #ffffff; - color: #000000; - font-size: 12px; -} -.panel-title { - font-size: 12px; - font-weight: bold; - color: #0E2D5F; - height: 16px; - line-height: 16px; -} -.panel-footer { - border: 1px solid #95B8E7; - overflow: hidden; - background: #F4F4F4; -} -.panel-footer-noborder { - border-width: 1px 0 0 0; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/progressbar.css b/SMMS/WebContent/static/easyui/themes/default/progressbar.css deleted file mode 100644 index e4d3003..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/progressbar.css +++ /dev/null @@ -1,32 +0,0 @@ -.progressbar { - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; - overflow: hidden; - position: relative; -} -.progressbar-text { - text-align: center; - position: absolute; -} -.progressbar-value { - position: relative; - overflow: hidden; - width: 0; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.progressbar { - border-color: #95B8E7; -} -.progressbar-text { - color: #000000; - font-size: 12px; -} -.progressbar-value .progressbar-text { - background-color: #ffe48d; - color: #000000; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/propertygrid.css b/SMMS/WebContent/static/easyui/themes/default/propertygrid.css deleted file mode 100644 index 5f5fbb3..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/propertygrid.css +++ /dev/null @@ -1,28 +0,0 @@ -.propertygrid .datagrid-view1 .datagrid-body td { - padding-bottom: 1px; - border-width: 0 1px 0 0; -} -.propertygrid .datagrid-group { - height: 21px; - overflow: hidden; - border-width: 0 0 1px 0; - border-style: solid; -} -.propertygrid .datagrid-group span { - font-weight: bold; -} -.propertygrid .datagrid-view1 .datagrid-body td { - border-color: #dddddd; -} -.propertygrid .datagrid-view1 .datagrid-group { - border-color: #E0ECFF; -} -.propertygrid .datagrid-view2 .datagrid-group { - border-color: #dddddd; -} -.propertygrid .datagrid-group, -.propertygrid .datagrid-view1 .datagrid-body, -.propertygrid .datagrid-view1 .datagrid-row-over, -.propertygrid .datagrid-view1 .datagrid-row-selected { - background: #E0ECFF; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/searchbox.css b/SMMS/WebContent/static/easyui/themes/default/searchbox.css deleted file mode 100644 index 5f5e011..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/searchbox.css +++ /dev/null @@ -1,90 +0,0 @@ -.searchbox { - display: inline-block; - white-space: nowrap; - margin: 0; - padding: 0; - border-width: 1px; - border-style: solid; - overflow: hidden; - vertical-align: middle; -} -.searchbox .searchbox-text { - font-size: 12px; - border: 0; - margin: 0; - padding: 0 2px; - vertical-align: top; -} -.searchbox .searchbox-prompt { - font-size: 12px; - color: #ccc; -} -.searchbox-button { - width: 18px; - height: 20px; - overflow: hidden; - display: inline-block; - vertical-align: top; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); -} -.searchbox-button-hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.searchbox .l-btn-plain { - border: 0; - padding: 0; - vertical-align: top; - opacity: 0.6; - filter: alpha(opacity=60); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .l-btn-plain:hover { - border: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox a.m-btn-plain-active { - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .m-btn-active { - border-width: 0 1px 0 0; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.searchbox .textbox-button-right { - border-width: 0 0 0 1px; -} -.searchbox .textbox-button-left { - border-width: 0 1px 0 0; -} -.searchbox-button { - background: url('images/searchbox_button.png') no-repeat center center; -} -.searchbox { - border-color: #95B8E7; - background-color: #fff; -} -.searchbox .l-btn-plain { - background: #E0ECFF; -} -.searchbox .l-btn-plain-disabled, -.searchbox .l-btn-plain-disabled:hover { - opacity: 0.5; - filter: alpha(opacity=50); -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/slider.css b/SMMS/WebContent/static/easyui/themes/default/slider.css deleted file mode 100644 index f51f986..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/slider.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-disabled { - opacity: 0.5; - filter: alpha(opacity=50); -} -.slider-h { - height: 22px; -} -.slider-v { - width: 22px; -} -.slider-inner { - position: relative; - height: 6px; - top: 7px; - border-width: 1px; - border-style: solid; - border-radius: 5px; -} -.slider-handle { - position: absolute; - display: block; - outline: none; - width: 20px; - height: 20px; - top: 50%; - margin-top: -10px; - margin-left: -10px; -} -.slider-tip { - position: absolute; - display: inline-block; - line-height: 12px; - font-size: 12px; - white-space: nowrap; - top: -22px; -} -.slider-rule { - position: relative; - top: 15px; -} -.slider-rule span { - position: absolute; - display: inline-block; - font-size: 0; - height: 5px; - border-width: 0 0 0 1px; - border-style: solid; -} -.slider-rulelabel { - position: relative; - top: 20px; -} -.slider-rulelabel span { - position: absolute; - display: inline-block; - font-size: 12px; -} -.slider-v .slider-inner { - width: 6px; - left: 7px; - top: 0; - float: left; -} -.slider-v .slider-handle { - left: 50%; - margin-top: -10px; -} -.slider-v .slider-tip { - left: -10px; - margin-top: -6px; -} -.slider-v .slider-rule { - float: left; - top: 0; - left: 16px; -} -.slider-v .slider-rule span { - width: 5px; - height: 'auto'; - border-left: 0; - border-width: 1px 0 0 0; - border-style: solid; -} -.slider-v .slider-rulelabel { - float: left; - top: 0; - left: 23px; -} -.slider-handle { - background: url('images/slider_handle.png') no-repeat; -} -.slider-inner { - border-color: #95B8E7; - background: #E0ECFF; -} -.slider-rule span { - border-color: #95B8E7; -} -.slider-rulelabel span { - color: #000000; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/spinner.css b/SMMS/WebContent/static/easyui/themes/default/spinner.css deleted file mode 100644 index 757e017..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/spinner.css +++ /dev/null @@ -1,72 +0,0 @@ -.spinner { - display: inline-block; - white-space: nowrap; - margin: 0; - padding: 0; - border-width: 1px; - border-style: solid; - overflow: hidden; - vertical-align: middle; -} -.spinner .spinner-text { - font-size: 12px; - border: 0px; - margin: 0; - padding: 0 2px; - vertical-align: baseline; -} -.spinner-arrow { - background-color: #E0ECFF; - display: inline-block; - overflow: hidden; - vertical-align: top; - margin: 0; - padding: 0; - opacity: 1.0; - filter: alpha(opacity=100); - width: 18px; -} -.spinner-arrow-up, -.spinner-arrow-down { - opacity: 0.6; - filter: alpha(opacity=60); - display: block; - font-size: 1px; - width: 18px; - height: 10px; - width: 100%; - height: 50%; - color: #444; - outline-style: none; -} -.spinner-arrow-hover { - background-color: #eaf2ff; - opacity: 1.0; - filter: alpha(opacity=100); -} -.spinner-arrow-up:hover, -.spinner-arrow-down:hover { - opacity: 1.0; - filter: alpha(opacity=100); - background-color: #eaf2ff; -} -.textbox-icon-disabled .spinner-arrow-up:hover, -.textbox-icon-disabled .spinner-arrow-down:hover { - opacity: 0.6; - filter: alpha(opacity=60); - background-color: #E0ECFF; - cursor: default; -} -.spinner .textbox-icon-disabled { - opacity: 0.6; - filter: alpha(opacity=60); -} -.spinner-arrow-up { - background: url('images/spinner_arrows.png') no-repeat 1px center; -} -.spinner-arrow-down { - background: url('images/spinner_arrows.png') no-repeat -15px center; -} -.spinner { - border-color: #95B8E7; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/splitbutton.css b/SMMS/WebContent/static/easyui/themes/default/splitbutton.css deleted file mode 100644 index 86d6da5..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/splitbutton.css +++ /dev/null @@ -1,12 +0,0 @@ -.s-btn:hover .m-btn-line, -.s-btn-active .m-btn-line, -.s-btn-plain-active .m-btn-line { - display: inline-block; -} -.l-btn:hover .s-btn-downarrow, -.s-btn-active .s-btn-downarrow, -.s-btn-plain-active .s-btn-downarrow { - border-style: solid; - border-color: #aac5e7; - border-width: 0 0 0 1px; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/tabs.css b/SMMS/WebContent/static/easyui/themes/default/tabs.css deleted file mode 100644 index d5d84e8..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/tabs.css +++ /dev/null @@ -1,413 +0,0 @@ -.tabs-container { - overflow: hidden; -} -.tabs-header { - border-width: 1px; - border-style: solid; - border-bottom-width: 0; - position: relative; - padding: 0; - padding-top: 2px; - overflow: hidden; -} -.tabs-scroller-left, -.tabs-scroller-right { - position: absolute; - top: auto; - bottom: 0; - width: 18px; - font-size: 1px; - display: none; - cursor: pointer; - border-width: 1px; - border-style: solid; -} -.tabs-scroller-left { - left: 0; -} -.tabs-scroller-right { - right: 0; -} -.tabs-tool { - position: absolute; - bottom: 0; - padding: 1px; - overflow: hidden; - border-width: 1px; - border-style: solid; -} -.tabs-header-plain .tabs-tool { - padding: 0 1px; -} -.tabs-wrap { - position: relative; - left: 0; - overflow: hidden; - width: 100%; - margin: 0; - padding: 0; -} -.tabs-scrolling { - margin-left: 18px; - margin-right: 18px; -} -.tabs-disabled { - opacity: 0.3; - filter: alpha(opacity=30); -} -.tabs { - list-style-type: none; - height: 26px; - margin: 0px; - padding: 0px; - padding-left: 4px; - width: 50000px; - border-style: solid; - border-width: 0 0 1px 0; -} -.tabs li { - float: left; - display: inline-block; - margin: 0 4px -1px 0; - padding: 0; - position: relative; - border: 0; -} -.tabs li a.tabs-inner { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0 10px; - height: 25px; - line-height: 25px; - text-align: center; - white-space: nowrap; - border-width: 1px; - border-style: solid; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; -} -.tabs li.tabs-selected a.tabs-inner { - font-weight: bold; - outline: none; -} -.tabs li.tabs-selected a:hover.tabs-inner { - cursor: default; - pointer: default; -} -.tabs li a.tabs-close, -.tabs-p-tool { - position: absolute; - font-size: 1px; - display: block; - height: 12px; - padding: 0; - top: 50%; - margin-top: -6px; - overflow: hidden; -} -.tabs li a.tabs-close { - width: 12px; - right: 5px; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs-p-tool { - right: 16px; -} -.tabs-p-tool a { - display: inline-block; - font-size: 1px; - width: 12px; - height: 12px; - margin: 0; - opacity: 0.6; - filter: alpha(opacity=60); -} -.tabs li a:hover.tabs-close, -.tabs-p-tool a:hover { - opacity: 1; - filter: alpha(opacity=100); - cursor: hand; - cursor: pointer; -} -.tabs-with-icon { - padding-left: 18px; -} -.tabs-icon { - position: absolute; - width: 16px; - height: 16px; - left: 10px; - top: 50%; - margin-top: -8px; -} -.tabs-title { - font-size: 12px; -} -.tabs-closable { - padding-right: 8px; -} -.tabs-panels { - margin: 0px; - padding: 0px; - border-width: 1px; - border-style: solid; - border-top-width: 0; - overflow: hidden; -} -.tabs-header-bottom { - border-width: 0 1px 1px 1px; - padding: 0 0 2px 0; -} -.tabs-header-bottom .tabs { - border-width: 1px 0 0 0; -} -.tabs-header-bottom .tabs li { - margin: -1px 4px 0 0; -} -.tabs-header-bottom .tabs li a.tabs-inner { - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.tabs-header-bottom .tabs-tool { - top: 0; -} -.tabs-header-bottom .tabs-scroller-left, -.tabs-header-bottom .tabs-scroller-right { - top: 0; - bottom: auto; -} -.tabs-panels-top { - border-width: 1px 1px 0 1px; -} -.tabs-header-left { - float: left; - border-width: 1px 0 1px 1px; - padding: 0; -} -.tabs-header-right { - float: right; - border-width: 1px 1px 1px 0; - padding: 0; -} -.tabs-header-left .tabs-wrap, -.tabs-header-right .tabs-wrap { - height: 100%; -} -.tabs-header-left .tabs { - height: 100%; - padding: 4px 0 0 2px; - border-width: 0 1px 0 0; -} -.tabs-header-right .tabs { - height: 100%; - padding: 4px 2px 0 0; - border-width: 0 0 0 1px; -} -.tabs-header-left .tabs li, -.tabs-header-right .tabs li { - display: block; - width: 100%; - position: relative; -} -.tabs-header-left .tabs li { - left: auto; - right: 0; - margin: 0 -1px 4px 0; - float: right; -} -.tabs-header-right .tabs li { - left: 0; - right: auto; - margin: 0 0 4px -1px; - float: left; -} -.tabs-justified li a.tabs-inner { - padding-left: 0; - padding-right: 0; -} -.tabs-header-left .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; - border-radius: 5px 0 0 5px; -} -.tabs-header-right .tabs li a.tabs-inner { - display: block; - text-align: left; - padding-left: 10px; - padding-right: 10px; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; -} -.tabs-panels-right { - float: right; - border-width: 1px 1px 1px 0; -} -.tabs-panels-left { - float: left; - border-width: 1px 0 1px 1px; -} -.tabs-header-noborder, -.tabs-panels-noborder { - border: 0px; -} -.tabs-header-plain { - border: 0px; - background: transparent; -} -.tabs-pill { - padding-bottom: 3px; -} -.tabs-header-bottom .tabs-pill { - padding-top: 3px; - padding-bottom: 0; -} -.tabs-header-left .tabs-pill { - padding-right: 3px; -} -.tabs-header-right .tabs-pill { - padding-left: 3px; -} -.tabs-header .tabs-pill li a.tabs-inner { - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tabs-header-narrow, -.tabs-header-narrow .tabs-narrow { - padding: 0; -} -.tabs-narrow li, -.tabs-header-bottom .tabs-narrow li { - margin-left: 0; - margin-right: -1px; -} -.tabs-narrow li.tabs-last, -.tabs-header-bottom .tabs-narrow li.tabs-last { - margin-right: 0; -} -.tabs-header-left .tabs-narrow, -.tabs-header-right .tabs-narrow { - padding-top: 0; -} -.tabs-header-left .tabs-narrow li { - margin-bottom: -1px; - margin-right: -1px; -} -.tabs-header-left .tabs-narrow li.tabs-last, -.tabs-header-right .tabs-narrow li.tabs-last { - margin-bottom: 0; -} -.tabs-header-right .tabs-narrow li { - margin-bottom: -1px; - margin-left: -1px; -} -.tabs-scroller-left { - background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center; -} -.tabs-scroller-right { - background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center; -} -.tabs li a.tabs-close { - background: url('images/tabs_icons.png') no-repeat -34px center; -} -.tabs li a.tabs-inner:hover { - background: #eaf2ff; - color: #000000; - filter: none; -} -.tabs li.tabs-selected a.tabs-inner { - background-color: #ffffff; - color: #0E2D5F; - background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0); -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%); - background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0); -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%); - background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1); -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%); - background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%); - background-repeat: repeat-y; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1); -} -.tabs li a.tabs-inner { - color: #0E2D5F; - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.tabs-header, -.tabs-tool { - background-color: #E0ECFF; -} -.tabs-header-plain { - background: transparent; -} -.tabs-header, -.tabs-scroller-left, -.tabs-scroller-right, -.tabs-tool, -.tabs, -.tabs-panels, -.tabs li a.tabs-inner, -.tabs li.tabs-selected a.tabs-inner, -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, -.tabs-header-left .tabs li.tabs-selected a.tabs-inner, -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-color: #95B8E7; -} -.tabs-p-tool a:hover, -.tabs li a:hover.tabs-close, -.tabs-scroller-over { - background-color: #eaf2ff; -} -.tabs li.tabs-selected a.tabs-inner { - border-bottom: 1px solid #ffffff; -} -.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { - border-top: 1px solid #ffffff; -} -.tabs-header-left .tabs li.tabs-selected a.tabs-inner { - border-right: 1px solid #ffffff; -} -.tabs-header-right .tabs li.tabs-selected a.tabs-inner { - border-left: 1px solid #ffffff; -} -.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { - background: #ffe48d; - color: #000000; - filter: none; - border-color: #95B8E7; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/textbox.css b/SMMS/WebContent/static/easyui/themes/default/textbox.css deleted file mode 100644 index a0c685d..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/textbox.css +++ /dev/null @@ -1,87 +0,0 @@ -.textbox { - position: relative; - border: 1px solid #95B8E7; - background-color: #fff; - vertical-align: middle; - display: inline-block; - overflow: hidden; - white-space: nowrap; - margin: 0; - padding: 0; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-text { - font-size: 12px; - border: 0; - margin: 0; - padding: 4px; - white-space: normal; - vertical-align: top; - outline-style: none; - resize: none; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.textbox .textbox-prompt { - font-size: 12px; - color: #aaa; -} -.textbox .textbox-button, -.textbox .textbox-button:hover { - position: absolute; - top: 0; - padding: 0; - vertical-align: top; - -moz-border-radius: 0 0 0 0; - -webkit-border-radius: 0 0 0 0; - border-radius: 0 0 0 0; -} -.textbox-button-right, -.textbox-button-right:hover { - border-width: 0 0 0 1px; -} -.textbox-button-left, -.textbox-button-left:hover { - border-width: 0 1px 0 0; -} -.textbox-addon { - position: absolute; - top: 0; -} -.textbox-icon { - display: inline-block; - width: 18px; - height: 20px; - overflow: hidden; - vertical-align: top; - background-position: center center; - cursor: pointer; - opacity: 0.6; - filter: alpha(opacity=60); - text-decoration: none; - outline-style: none; -} -.textbox-icon-disabled, -.textbox-icon-readonly { - cursor: default; -} -.textbox-icon:hover { - opacity: 1.0; - filter: alpha(opacity=100); -} -.textbox-icon-disabled:hover { - opacity: 0.6; - filter: alpha(opacity=60); -} -.textbox-focused { - -moz-box-shadow: 0 0 3px 0 #95B8E7; - -webkit-box-shadow: 0 0 3px 0 #95B8E7; - box-shadow: 0 0 3px 0 #95B8E7; -} -.textbox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/tooltip.css b/SMMS/WebContent/static/easyui/themes/default/tooltip.css deleted file mode 100644 index 2881b70..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/tooltip.css +++ /dev/null @@ -1,100 +0,0 @@ -.tooltip { - position: absolute; - display: none; - z-index: 9900000; - outline: none; - opacity: 1; - filter: alpha(opacity=100); - padding: 5px; - border-width: 1px; - border-style: solid; - border-radius: 5px; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.tooltip-content { - font-size: 12px; -} -.tooltip-arrow-outer, -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 6px; - border-color: transparent; - _border-color: tomato; - _filter: chroma(color=tomato); -} -.tooltip-right .tooltip-arrow-outer { - left: 0; - top: 50%; - margin: -6px 0 0 -13px; -} -.tooltip-right .tooltip-arrow { - left: 0; - top: 50%; - margin: -6px 0 0 -12px; -} -.tooltip-left .tooltip-arrow-outer { - right: 0; - top: 50%; - margin: -6px -13px 0 0; -} -.tooltip-left .tooltip-arrow { - right: 0; - top: 50%; - margin: -6px -12px 0 0; -} -.tooltip-top .tooltip-arrow-outer { - bottom: 0; - left: 50%; - margin: 0 0 -13px -6px; -} -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin: 0 0 -12px -6px; -} -.tooltip-bottom .tooltip-arrow-outer { - top: 0; - left: 50%; - margin: -13px 0 0 -6px; -} -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin: -12px 0 0 -6px; -} -.tooltip { - background-color: #ffffff; - border-color: #95B8E7; - color: #000000; -} -.tooltip-right .tooltip-arrow-outer { - border-right-color: #95B8E7; -} -.tooltip-right .tooltip-arrow { - border-right-color: #ffffff; -} -.tooltip-left .tooltip-arrow-outer { - border-left-color: #95B8E7; -} -.tooltip-left .tooltip-arrow { - border-left-color: #ffffff; -} -.tooltip-top .tooltip-arrow-outer { - border-top-color: #95B8E7; -} -.tooltip-top .tooltip-arrow { - border-top-color: #ffffff; -} -.tooltip-bottom .tooltip-arrow-outer { - border-bottom-color: #95B8E7; -} -.tooltip-bottom .tooltip-arrow { - border-bottom-color: #ffffff; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/tree.css b/SMMS/WebContent/static/easyui/themes/default/tree.css deleted file mode 100644 index a22075b..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/tree.css +++ /dev/null @@ -1,160 +0,0 @@ -.tree { - margin: 0; - padding: 0; - list-style-type: none; -} -.tree li { - white-space: nowrap; -} -.tree li ul { - list-style-type: none; - margin: 0; - padding: 0; -} -.tree-node { - height: 18px; - white-space: nowrap; - cursor: pointer; -} -.tree-hit { - cursor: pointer; -} -.tree-expanded, -.tree-collapsed, -.tree-folder, -.tree-file, -.tree-checkbox, -.tree-indent { - display: inline-block; - width: 16px; - height: 18px; - vertical-align: top; - overflow: hidden; -} -.tree-expanded { - background: url('images/tree_icons.png') no-repeat -18px 0px; -} -.tree-expanded-hover { - background: url('images/tree_icons.png') no-repeat -50px 0px; -} -.tree-collapsed { - background: url('images/tree_icons.png') no-repeat 0px 0px; -} -.tree-collapsed-hover { - background: url('images/tree_icons.png') no-repeat -32px 0px; -} -.tree-lines .tree-expanded, -.tree-lines .tree-root-first .tree-expanded { - background: url('images/tree_icons.png') no-repeat -144px 0; -} -.tree-lines .tree-collapsed, -.tree-lines .tree-root-first .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -128px 0; -} -.tree-lines .tree-node-last .tree-expanded, -.tree-lines .tree-root-one .tree-expanded { - background: url('images/tree_icons.png') no-repeat -80px 0; -} -.tree-lines .tree-node-last .tree-collapsed, -.tree-lines .tree-root-one .tree-collapsed { - background: url('images/tree_icons.png') no-repeat -64px 0; -} -.tree-line { - background: url('images/tree_icons.png') no-repeat -176px 0; -} -.tree-join { - background: url('images/tree_icons.png') no-repeat -192px 0; -} -.tree-joinbottom { - background: url('images/tree_icons.png') no-repeat -160px 0; -} -.tree-folder { - background: url('images/tree_icons.png') no-repeat -208px 0; -} -.tree-folder-open { - background: url('images/tree_icons.png') no-repeat -224px 0; -} -.tree-file { - background: url('images/tree_icons.png') no-repeat -240px 0; -} -.tree-loading { - background: url('images/loading.gif') no-repeat center center; -} -.tree-checkbox0 { - background: url('images/tree_icons.png') no-repeat -208px -18px; -} -.tree-checkbox1 { - background: url('images/tree_icons.png') no-repeat -224px -18px; -} -.tree-checkbox2 { - background: url('images/tree_icons.png') no-repeat -240px -18px; -} -.tree-title { - font-size: 12px; - display: inline-block; - text-decoration: none; - vertical-align: top; - white-space: nowrap; - padding: 0 2px; - height: 18px; - line-height: 18px; -} -.tree-node-proxy { - font-size: 12px; - line-height: 20px; - padding: 0 2px 0 20px; - border-width: 1px; - border-style: solid; - z-index: 9900000; -} -.tree-dnd-icon { - display: inline-block; - position: absolute; - width: 16px; - height: 18px; - left: 2px; - top: 50%; - margin-top: -9px; -} -.tree-dnd-yes { - background: url('images/tree_icons.png') no-repeat -256px 0; -} -.tree-dnd-no { - background: url('images/tree_icons.png') no-repeat -256px -18px; -} -.tree-node-top { - border-top: 1px dotted red; -} -.tree-node-bottom { - border-bottom: 1px dotted red; -} -.tree-node-append .tree-title { - border: 1px dotted red; -} -.tree-editor { - border: 1px solid #ccc; - font-size: 12px; - height: 14px !important; - height: 18px; - line-height: 14px; - padding: 1px 2px; - width: 80px; - position: absolute; - top: 0; -} -.tree-node-proxy { - background-color: #ffffff; - color: #000000; - border-color: #95B8E7; -} -.tree-node-hover { - background: #eaf2ff; - color: #000000; -} -.tree-node-selected { - background: #ffe48d; - color: #000000; -} -.tree-node-hidden { - display: none; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/validatebox.css b/SMMS/WebContent/static/easyui/themes/default/validatebox.css deleted file mode 100644 index 1fc3ad6..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/validatebox.css +++ /dev/null @@ -1,5 +0,0 @@ -.validatebox-invalid { - border-color: #ffa8a8; - background-color: #fff3f3; - color: #000; -} diff --git a/SMMS/WebContent/static/easyui/themes/default/window.css b/SMMS/WebContent/static/easyui/themes/default/window.css deleted file mode 100644 index 06f77db..0000000 --- a/SMMS/WebContent/static/easyui/themes/default/window.css +++ /dev/null @@ -1,94 +0,0 @@ -.window { - overflow: hidden; - padding: 5px; - border-width: 1px; - border-style: solid; -} -.window .window-header { - background: transparent; - padding: 0px 0px 6px 0px; -} -.window .window-body { - border-width: 1px; - border-style: solid; - border-top-width: 0px; -} -.window .window-body-noheader { - border-top-width: 1px; -} -.window .panel-body-nobottom { - border-bottom-width: 0; -} -.window .window-header .panel-icon, -.window .window-header .panel-tool { - top: 50%; - margin-top: -11px; -} -.window .window-header .panel-icon { - left: 1px; -} -.window .window-header .panel-tool { - right: 1px; -} -.window .window-header .panel-with-icon { - padding-left: 18px; -} -.window-proxy { - position: absolute; - overflow: hidden; -} -.window-proxy-mask { - position: absolute; - filter: alpha(opacity=5); - opacity: 0.05; -} -.window-mask { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - filter: alpha(opacity=40); - opacity: 0.40; - font-size: 1px; - overflow: hidden; -} -.window, -.window-shadow { - position: absolute; - -moz-border-radius: 5px 5px 5px 5px; - -webkit-border-radius: 5px 5px 5px 5px; - border-radius: 5px 5px 5px 5px; -} -.window-shadow { - background: #ccc; - -moz-box-shadow: 2px 2px 3px #cccccc; - -webkit-box-shadow: 2px 2px 3px #cccccc; - box-shadow: 2px 2px 3px #cccccc; - filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); -} -.window, -.window .window-body { - border-color: #95B8E7; -} -.window { - background-color: #E0ECFF; - background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); - background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); -} -.window-proxy { - border: 1px dashed #95B8E7; -} -.window-proxy-mask, -.window-mask { - background: #ccc; -} -.window .panel-footer { - border: 1px solid #95B8E7; - position: relative; - top: -1px; -} diff --git a/SMMS/WebContent/static/easyui/themes/icon.css b/SMMS/WebContent/static/easyui/themes/icon.css deleted file mode 100644 index 141de4d..0000000 --- a/SMMS/WebContent/static/easyui/themes/icon.css +++ /dev/null @@ -1,166 +0,0 @@ -.icon-blank{ - background:url('icons/blank.gif') no-repeat center center; -} -.icon-add{ - background:url('icons/edit_add.png') no-repeat center center; -} -.icon-edit{ - background:url('icons/pencil.png') no-repeat center center; -} -.icon-clear{ - background:url('icons/clear.png') no-repeat center center; -} -.icon-remove{ - background:url('icons/edit_remove.png') no-repeat center center; -} -.icon-save{ - background:url('icons/filesave.png') no-repeat center center; -} -.icon-cut{ - background:url('icons/cut.png') no-repeat center center; -} -.icon-ok{ - background:url('icons/ok.png') no-repeat center center; -} -.icon-no{ - background:url('icons/no.png') no-repeat center center; -} -.icon-cancel{ - background:url('icons/cancel.png') no-repeat center center; -} -.icon-reload{ - background:url('icons/reload.png') no-repeat center center; -} -.icon-search{ - background:url('icons/search.png') no-repeat center center; -} -.icon-print{ - background:url('icons/print.png') no-repeat center center; -} -.icon-help{ - background:url('icons/help.png') no-repeat center center; -} -.icon-undo{ - background:url('icons/undo.png') no-repeat center center; -} -.icon-redo{ - background:url('icons/redo.png') no-repeat center center; -} -.icon-back{ - background:url('icons/back.png') no-repeat center center; -} -.icon-sum{ - background:url('icons/sum.png') no-repeat center center; -} -.icon-tip{ - background:url('icons/tip.png') no-repeat center center; -} -.icon-filter{ - background:url('icons/filter.png') no-repeat center center; -} -.icon-man{ - background:url('icons/man.png') no-repeat center center; -} -.icon-lock{ - background:url('icons/lock.png') no-repeat center center; -} -.icon-more{ - background:url('icons/more.png') no-repeat center center; -} -.icon-mini-add{ - background:url('icons/mini_add.png') no-repeat center center; -} -.icon-mini-edit{ - background:url('icons/mini_edit.png') no-repeat center center; -} -.icon-mini-refresh{ - background:url('icons/mini_refresh.png') no-repeat center center; -} -.icon-large-picture{ - background:url('icons/large_picture.png') no-repeat center center; -} -.icon-large-clipart{ - background:url('icons/large_clipart.png') no-repeat center center; -} -.icon-large-shapes{ - background:url('icons/large_shapes.png') no-repeat center center; -} -.icon-large-smartart{ - background:url('icons/large_smartart.png') no-repeat center center; -} -.icon-large-chart{ - background:url('icons/large_chart.png') no-repeat center center; -} -.icon-some-delete{ - background:url('icons/basket_remove.png') no-repeat center center; -} -.icon-book-open{ - background:url('icons/book_open_mark.png') no-repeat center center; -} -.icon-number{ - background:url('icons/text_list_numbers.png') no-repeat center center; -} -.icon-set{ - background:url('icons/set.png') no-repeat center center; -} -.icon-chart_bar{ - background:url('icons/chart_bar.png') no-repeat center center; -} -.icon-user_add{ - background:url('icons/user_add.png') no-repeat center center; -} -.icon-user-student{ - background:url('icons/user_gray.png') no-repeat center center; -} -.icon-user-teacher{ - background:url('icons/user_red.png') no-repeat center center; -} -.icon-house{ - background:url('icons/house.png') no-repeat center center; -} -.icon-world{ - background:url('icons/world.png') no-repeat center center; -} -.icon-exam{ - background:url('icons/text_list_bullets.png') no-repeat center center; -} -.icon-password{ - background:url('icons/2012080412263.png') no-repeat center center; -} -.icon-logout{ - background:url('icons/door_out.png') no-repeat center center; -} -.icon-note{ - background:url('icons/note.png') no-repeat center center; -} -.icon-pencil-add{ - background:url('icons/pencil_add.png') no-repeat center center; -} -.icon-find{ - background:url('icons/find.png') no-repeat center center; -} -.icon-book-add{ - background:url('icons/book_add.png') no-repeat center center; -} -.icon-book-reset{ - background:url('icons/book_previous.png') no-repeat center center; -} -.icon-world-add{ - background:url('icons/world_add.png') no-repeat center center; -} -.icon-world-reset{ - background:url('icons/world_night.png') no-repeat center center; -} -.icon-zoom-in{ - background:url('icons/zoom_in.png') no-repeat center center; -} -.icon-vcard-edit{ - background:url('icons/vcard_edit.png') no-repeat center center; -} -.icon-folder-up{ - background:url('icons/folder_up.png') no-repeat center center; -} -.icon-password{ - background:url('icons/asterisk_orange.png') no-repeat center center; -} - diff --git a/SMMS/WebContent/static/easyui/themes/icons/2012080412263.png b/SMMS/WebContent/static/easyui/themes/icons/2012080412263.png deleted file mode 100644 index 85e31a4..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/2012080412263.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/asterisk_orange.png b/SMMS/WebContent/static/easyui/themes/icons/asterisk_orange.png deleted file mode 100644 index 1ebebde..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/asterisk_orange.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/back.png b/SMMS/WebContent/static/easyui/themes/icons/back.png deleted file mode 100644 index 3fe8b17..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/back.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/basket_remove.png b/SMMS/WebContent/static/easyui/themes/icons/basket_remove.png deleted file mode 100644 index 04dd7fd..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/basket_remove.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/blank.gif b/SMMS/WebContent/static/easyui/themes/icons/blank.gif deleted file mode 100644 index 1d11fa9..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/blank.gif and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/book_add.png b/SMMS/WebContent/static/easyui/themes/icons/book_add.png deleted file mode 100644 index e2f0847..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/book_add.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/book_open_mark.png b/SMMS/WebContent/static/easyui/themes/icons/book_open_mark.png deleted file mode 100644 index d4d33e6..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/book_open_mark.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/book_previous.png b/SMMS/WebContent/static/easyui/themes/icons/book_previous.png deleted file mode 100644 index 2e53c69..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/book_previous.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/cancel.png b/SMMS/WebContent/static/easyui/themes/icons/cancel.png deleted file mode 100644 index a432b49..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/cancel.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/chart_bar.png b/SMMS/WebContent/static/easyui/themes/icons/chart_bar.png deleted file mode 100644 index 2cec9fd..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/chart_bar.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/clear.png b/SMMS/WebContent/static/easyui/themes/icons/clear.png deleted file mode 100644 index 74b9af9..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/clear.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/cut.png b/SMMS/WebContent/static/easyui/themes/icons/cut.png deleted file mode 100644 index 21fdb4d..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/cut.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/door_out.png b/SMMS/WebContent/static/easyui/themes/icons/door_out.png deleted file mode 100644 index 2541d2b..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/door_out.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/edit_add.png b/SMMS/WebContent/static/easyui/themes/icons/edit_add.png deleted file mode 100644 index e948508..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/edit_add.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/edit_remove.png b/SMMS/WebContent/static/easyui/themes/icons/edit_remove.png deleted file mode 100644 index d555d92..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/edit_remove.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/filesave.png b/SMMS/WebContent/static/easyui/themes/icons/filesave.png deleted file mode 100644 index fd0048d..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/filesave.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/filter.png b/SMMS/WebContent/static/easyui/themes/icons/filter.png deleted file mode 100644 index 1fedf7a..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/filter.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/find.png b/SMMS/WebContent/static/easyui/themes/icons/find.png deleted file mode 100644 index 1547479..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/find.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/folder_up.png b/SMMS/WebContent/static/easyui/themes/icons/folder_up.png deleted file mode 100644 index 61c8704..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/folder_up.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/help.png b/SMMS/WebContent/static/easyui/themes/icons/help.png deleted file mode 100644 index 28a0f9e..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/help.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/house.png b/SMMS/WebContent/static/easyui/themes/icons/house.png deleted file mode 100644 index fed6221..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/house.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/large_chart.png b/SMMS/WebContent/static/easyui/themes/icons/large_chart.png deleted file mode 100644 index 527608e..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/large_chart.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/large_clipart.png b/SMMS/WebContent/static/easyui/themes/icons/large_clipart.png deleted file mode 100644 index 9c9c440..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/large_clipart.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/large_picture.png b/SMMS/WebContent/static/easyui/themes/icons/large_picture.png deleted file mode 100644 index a005b0c..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/large_picture.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/large_shapes.png b/SMMS/WebContent/static/easyui/themes/icons/large_shapes.png deleted file mode 100644 index 90a0dca..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/large_shapes.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/large_smartart.png b/SMMS/WebContent/static/easyui/themes/icons/large_smartart.png deleted file mode 100644 index b47da08..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/large_smartart.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/lock.png b/SMMS/WebContent/static/easyui/themes/icons/lock.png deleted file mode 100644 index 15bd643..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/lock.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/man.png b/SMMS/WebContent/static/easyui/themes/icons/man.png deleted file mode 100644 index a8cafcb..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/man.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/mini_add.png b/SMMS/WebContent/static/easyui/themes/icons/mini_add.png deleted file mode 100644 index fd82b92..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/mini_add.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/mini_edit.png b/SMMS/WebContent/static/easyui/themes/icons/mini_edit.png deleted file mode 100644 index db9221a..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/mini_edit.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/mini_refresh.png b/SMMS/WebContent/static/easyui/themes/icons/mini_refresh.png deleted file mode 100644 index 6cdd016..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/mini_refresh.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/more.png b/SMMS/WebContent/static/easyui/themes/icons/more.png deleted file mode 100644 index 94922a2..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/more.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/no.png b/SMMS/WebContent/static/easyui/themes/icons/no.png deleted file mode 100644 index 37a7c74..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/no.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/note.png b/SMMS/WebContent/static/easyui/themes/icons/note.png deleted file mode 100644 index 244e6ca..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/note.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/ok.png b/SMMS/WebContent/static/easyui/themes/icons/ok.png deleted file mode 100644 index 5b0f6a6..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/ok.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/pencil.png b/SMMS/WebContent/static/easyui/themes/icons/pencil.png deleted file mode 100644 index 5b8cc89..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/pencil.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/pencil_add.png b/SMMS/WebContent/static/easyui/themes/icons/pencil_add.png deleted file mode 100644 index 902bbe6..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/pencil_add.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/print.png b/SMMS/WebContent/static/easyui/themes/icons/print.png deleted file mode 100644 index fdf67a1..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/print.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/redo.png b/SMMS/WebContent/static/easyui/themes/icons/redo.png deleted file mode 100644 index f1e45cf..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/redo.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/reload.png b/SMMS/WebContent/static/easyui/themes/icons/reload.png deleted file mode 100644 index f51cab8..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/reload.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/search.png b/SMMS/WebContent/static/easyui/themes/icons/search.png deleted file mode 100644 index 6dd1931..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/search.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/set.png b/SMMS/WebContent/static/easyui/themes/icons/set.png deleted file mode 100644 index d584957..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/set.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/sum.png b/SMMS/WebContent/static/easyui/themes/icons/sum.png deleted file mode 100644 index fd7b32e..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/sum.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/text_list_bullets.png b/SMMS/WebContent/static/easyui/themes/icons/text_list_bullets.png deleted file mode 100644 index 4a8672b..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/text_list_bullets.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/text_list_numbers.png b/SMMS/WebContent/static/easyui/themes/icons/text_list_numbers.png deleted file mode 100644 index 33b0b8d..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/text_list_numbers.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/tip.png b/SMMS/WebContent/static/easyui/themes/icons/tip.png deleted file mode 100644 index 845e110..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/tip.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/undo.png b/SMMS/WebContent/static/easyui/themes/icons/undo.png deleted file mode 100644 index 6129fa0..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/undo.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/user_add.png b/SMMS/WebContent/static/easyui/themes/icons/user_add.png deleted file mode 100644 index deae99b..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/user_add.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/user_gray.png b/SMMS/WebContent/static/easyui/themes/icons/user_gray.png deleted file mode 100644 index 8fd539e..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/user_gray.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/user_red.png b/SMMS/WebContent/static/easyui/themes/icons/user_red.png deleted file mode 100644 index c6f66e8..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/user_red.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/vcard_edit.png b/SMMS/WebContent/static/easyui/themes/icons/vcard_edit.png deleted file mode 100644 index ab0f6e7..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/vcard_edit.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/world.png b/SMMS/WebContent/static/easyui/themes/icons/world.png deleted file mode 100644 index 68f21d3..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/world.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/world_add.png b/SMMS/WebContent/static/easyui/themes/icons/world_add.png deleted file mode 100644 index 6d0d7f7..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/world_add.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/world_night.png b/SMMS/WebContent/static/easyui/themes/icons/world_night.png deleted file mode 100644 index 5b745ed..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/world_night.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/icons/zoom_in.png b/SMMS/WebContent/static/easyui/themes/icons/zoom_in.png deleted file mode 100644 index cdf0a52..0000000 Binary files a/SMMS/WebContent/static/easyui/themes/icons/zoom_in.png and /dev/null differ diff --git a/SMMS/WebContent/static/easyui/themes/locale/easyui-lang-zh_CN.js b/SMMS/WebContent/static/easyui/themes/locale/easyui-lang-zh_CN.js deleted file mode 100644 index 7cf6044..0000000 --- a/SMMS/WebContent/static/easyui/themes/locale/easyui-lang-zh_CN.js +++ /dev/null @@ -1,66 +0,0 @@ -if ($.fn.pagination){ - $.fn.pagination.defaults.beforePageText = '第'; - $.fn.pagination.defaults.afterPageText = '共{pages}页'; - $.fn.pagination.defaults.displayMsg = '显示{from}到{to},共{total}记录'; -} -if ($.fn.datagrid){ - $.fn.datagrid.defaults.loadMsg = '正在处理,请稍待。。。'; -} -if ($.fn.treegrid && $.fn.datagrid){ - $.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg; -} -if ($.messager){ - $.messager.defaults.ok = '确定'; - $.messager.defaults.cancel = '取消'; -} -$.map(['validatebox','textbox','filebox','searchbox', - 'combo','combobox','combogrid','combotree', - 'datebox','datetimebox','numberbox', - 'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){ - if ($.fn[plugin]){ - $.fn[plugin].defaults.missingMessage = '该输入项为必输项'; - } -}); -if ($.fn.validatebox){ - $.fn.validatebox.defaults.rules.email.message = '请输入有效的电子邮件地址'; - $.fn.validatebox.defaults.rules.url.message = '请输入有效的URL地址'; - $.fn.validatebox.defaults.rules.length.message = '输入内容长度必须介于{0}和{1}之间'; - $.fn.validatebox.defaults.rules.remote.message = '请修正该字段'; -} -if ($.fn.calendar){ - $.fn.calendar.defaults.weeks = ['日','一','二','三','四','五','六']; - $.fn.calendar.defaults.months = ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月']; -} -if ($.fn.datebox){ - $.fn.datebox.defaults.currentText = '今天'; - $.fn.datebox.defaults.closeText = '关闭'; - $.fn.datebox.defaults.okText = '确定'; - $.fn.datebox.defaults.formatter = function(date){ - var y = date.getFullYear(); - var m = date.getMonth()+1; - var d = date.getDate(); - return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d); - }; - $.fn.datebox.defaults.parser = function(s){ - if (!s) return new Date(); - var ss = s.split('-'); - var y = parseInt(ss[0],10); - var m = parseInt(ss[1],10); - var d = parseInt(ss[2],10); - if (!isNaN(y) && !isNaN(m) && !isNaN(d)){ - return new Date(y,m-1,d); - } else { - return new Date(); - } - }; -} -if ($.fn.datetimebox && $.fn.datebox){ - $.extend($.fn.datetimebox.defaults,{ - currentText: $.fn.datebox.defaults.currentText, - closeText: $.fn.datebox.defaults.closeText, - okText: $.fn.datebox.defaults.okText - }); -} -if ($.fn.datetimespinner){ - $.fn.datetimespinner.defaults.selections = [[0,4],[5,7],[8,10],[11,13],[14,16],[17,19]] -} diff --git a/SMMS/WebContent/static/file/logo.jpg b/SMMS/WebContent/static/file/logo.jpg deleted file mode 100644 index 6bfb05c..0000000 Binary files a/SMMS/WebContent/static/file/logo.jpg and /dev/null differ diff --git a/SMMS/WebContent/static/file/学生导入模板.xls b/SMMS/WebContent/static/file/学生导入模板.xls deleted file mode 100644 index de3fe77..0000000 Binary files a/SMMS/WebContent/static/file/学生导入模板.xls and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/css/H-ui.css b/SMMS/WebContent/static/h-ui/css/H-ui.css deleted file mode 100644 index 0e4a134..0000000 --- a/SMMS/WebContent/static/h-ui/css/H-ui.css +++ /dev/null @@ -1,3075 +0,0 @@ -@charset "utf-8"; -/* -----------H-ui前端框架----------------------- -H-ui.css v2.1.23 -date: 2015-08-19 -Created & Modified by guojunhui. -完全免费,简单灵活,兼容性,满足大多数中国网站。 -不断完善中,诚邀更多前端开发者加入,开发更多优秀的代码,服务于更多的中国网站。 -H-ui CSS file for H-ui -Copyright 北京颖杰联创科技有限公司 All rights reserved. -http://www.H-ui.net/ -Hui-iconfont取自 alibaba Iconfont,授权依照 CC BY 3.0。 -----------------------------------------------*/ -/*------------------------------------ -结构目录: - 1. css reset重定义浏览器默认样式 - 2. 框架 - 2.1 响应式栅格系统 - 2.2 布局 - 3. 基础CSS - 3.1 排版 - 3.1.1 标题 - 3.1.2 强调 - 3.1.3 对齐 - 3.1.4 定位 - 3.1.5 浮动 - 3.1.6 文字单行溢出省略号 - 3.1.7 线条 - 3.1.8 外边距 - 3.1.9 内填充 - 3.1.10 边框,css3圆角 - 3.1.11 css3阴影 - 3.1.12 行内分割竖线 - 3.1.13 文字尺寸 - 3.1.14 文字行距 - 3.1.15 文字颜色 - 3.1.16 文字颜色强调 - 3.1.17 缩略语 - 3.1.18 地址 - 3.1.19 引用 - 3.1.20 上标 下标 - 3.1.21 内容样式 - 3.1.22 列表 - 3.1.23 描述 - 3.1.24 隐藏 显示 - 3.1.25 尺寸 - 3.2 代码 - 3.3 表格 - 3.4 表单 - 3.4.1 input,textarea 文本域 文本区域 - 3.4.2 radio,checkbox 单选 多选 - 3.4.3 select 下拉框 - 3.4.4 input-file 文件上传 - 3.4.5 表单布局 - 3.4.6 表单验证 - 3.5 按钮 - 3.6 图片 - 3.7 图标 - 3.8 动画 - 4. 组件 - 4.1 按钮组 - 4.2 导航 - 4.2.1 导航条 - 4.2.2 面包屑导航 - 4.2.3 翻页导航 - 4.2.4 顶部导航 - 4.2.5 向导 - 4.2.6 竖向导向tab导航 - 4.2.7 横向tab - 4.3 菜单 - 4.3.1 下拉菜单 - 4.3.2 横向菜单(暂无) - 4.3.3 树状菜单(暂无) - 4.4 幻灯片 - 4.5 选项卡 - 4.6 便签与标号 - 4.7 缩略图 - 4.8 警告 - 4.9 进度条 loading - 4.10 对话框 弹出层 - 4.11 客服 - 4.12 返回顶部 - 4.13 分享 - 4.14 面板 - 4.15 案例 - 4.16 滚动 - 4.17 搜索 - 4.18 广告 - 4.19 标签 - 4.19.1 标签输入效果 - 4.19.2 标签混排效果 - 4.19.3 tag云标签 - 4.20 折叠 - 4.21 遮罩条 - 4.22 评论列表 - 5. 页面 - 5.1 404页面 - 5.2 博客列表页(暂无) - 5.3 博客详情页(暂无) - 5.4 关于我们页(暂无) - 5.5 帮助列表页(暂无) - 5.6 帮助详情页(暂无) - ----------------------------------- -CSS写作注意事项: - 1. 页面编码规范 - 1.1. 统一使用 UTF-8 编码,用@charset "utf-8"指定页面编码。 - 1.2. 全局字体设置: - windows 7系统:微软雅黑 Arial; - windows XP及以下:新宋体,宋体,Arial - MAC默认字体:Helvetica Neue和Helvetica Hiragino Sans GB。 - 1.3. 中文字体使用编码转换,请参阅下节“中文字体css编码转换” - 1.4. 推荐使用216web安全色 - 2. 属性写在一行内,属性之间、属性名和值之间以及属性与“{}”之间应减少空格,去掉最后一个“;”,例如:.class{width:200px;height:100px} - 3. 属性的书写顺序: - 3.1. 按照元素模型由外及内,由整体到细节书写,大致分为五组: - 位置:position,left,right,float - 盒模型属性:display,margin,padding,width,height - 边框与背景:border,background - 段落与文本:line-height,text-indent,font,color,text-decoration,... - 其他属性:overflow,cursor,visibility,... - 3.2. 针对特殊浏览器的属性,应写在标准属性之前,例如:-webkit-box-shadow:;-moz-box-shadow:;box-shaow:; - 4. 带有前缀的属性,单独一行,通过缩进,让每个属性的值垂直对齐,方便编辑维护。 - 5. 谨慎添加新的选择符规则,尤其不可滥用 id,尽可能继承和复用已有样式 - 6. 选择符、属性、值均用小写(格式的颜色值除外),缩写的选择符名称须说明缩写前的全称,例如 .cl -> Clearfix - 7. 避免使用各种 CSS Hack,如需对 IE 进行特殊定义,请参阅下节“关于 CSS Hack 的说明” - 8. 勿使用冗余低效的 CSS 写法,例如:ul li a span{... } - 9. 慎用 !important - 10. 建议使用具有语义化的classname或id,请参阅下节“css 命名规范及对应的缩写” - 11.避免使用兼容性不好的使用滤镜 - 12.开发过程中的未定事项,须用 [!] 标出,以便于后续讨论整理。 - 13.注释格式,统一使用双斜杠加*。 - 14.上下模块之间的间距统一使用下一个模块的margin-top来实现,好处是:如果没有下一个模块也不会多出一段空隙。 - 15.hover,selected,disabled,current等具有特定意义的请勿直接占用。 - 16.:link :visited :hover :active书写顺序 L-V-H-A,速记:LoVe(喜欢)HAte(讨厌)。 - 17.不要使用 @import ----------------------------------- -中文字体css编码转换 - 微软雅黑 \5FAE\8F6F\96C5\9ED1 或 Microsoft YaHei - 黑体 \9ED1\4F53 - 新宋体 \65b0\5b8b\4f53 - 宋体 \5b8b\4f53 ----------------------------------- -关于 CSS Hack 的说明: - 1. _ IE6 - 2. * IE6/7 - 3. !important IE7/Firefox - 4. *+ IE7 - 5. \9 IE6/7/8 - 6. \0 IE8 - 7. 条件hack - IE7以下版本 - IE7 - IE8 - IE8以上 ----------------------------------- -css 命名规范 - 1. 内容优先,表现为辅 - 2. css命名中英文对照 - current 当前 hover 悬停 selected 挑选 disabled 禁用 focus 得到焦点 blur 失去焦点 checked 勾选 success 成功 error 出错 - - header(hd) 头部 content(cnt) 内容 title(tit) 标题 item 项目(条) cell 单元 image/pic(img) 图片 text(txt) 文字 top 顶部 scrubber 时序菜单 - - nav 导航 mainbav 主导航 subnav 子导航 topnav 顶部导航 breadcrumb 面包屑导航 - - flink 友情链接 footer 尾 copyright 版权 - - menu 菜单 submenu 子菜单 dropdown 下拉菜单 - - searchBar 搜索条 search 搜索条 searchTxt 搜索框 searchBtn 搜索按钮 search_key 搜索词 - - member 会员 ucenter 用户中心 loginBar 登陆条 login 登录 loginBtn 登录按钮 regsiter 注册按钮 btn-regsiter注册按钮 name 用户名 password 密码 nickname 昵称 mobilephone/mobile 手机 telephone/tel 电话 defaultavatar 默认头像 - - hot 热点 news 新闻 banner/AD 广告 download 下载 - - content 内容 title 标题 summary 摘要 time 时间 - - share 分享 digg 顶 like 喜欢 - - list 列表 pList 图片列表 tList 文字列表 tpList 图文列表 - - table 表格 row 行 column 列 gutter 间隔 viewport 视口 - - tab 标签 tags 标签 scroll 滚动 - - sidebar 侧边栏 column 栏目 section 区块 msg 提示信息 status 状态 vote 投票 tips 小技巧 guild 指南 note 注释 - - icon- 图标 btn- 按钮 - - goods 商品 goodsList 商品列表 goodsDetail 商品详情 goodsInfo 商品信息 - - tuan 团购 tuanList 团购列表 tuanDetail 团购详情 tuanInfo 团购信息 - - transition 动画 shadow 阴影 fade 淡入淡出 flip 翻页效 slide 滑动 slideup 上滑动 slidedown 下滑动 turn 翻页 horizontal 水平 vertical 垂直 collapsible 折叠 corners 拐角 flow 流 reverse 反向 pop 弹窗 - - count 总数/计数 plus 加号/正 minus 减号/负 controlgroup 控制组 ----------------------------------- -html命名规范: - default/index.html 首页 - 404.html 404错误页 - print.html 打印页 - header.html 页头 - footer.html 页脚 - sitemap.html 网站地图 - passport.html 通行证 - rank.html 排行榜 - roll.html 滚动新闻 - - solution.html 解决方案 - joinus.html 加入我们 - partner.html 合作伙伴 - service.html 服务 - aboutus.html 关于我们 - contact.html 联系我们 - company.html 公司介绍 - organization.html 组织结构 - culture.html 企业文化 - strategy.html 发展策略 - honor.html 公司荣誉 - aptitudes.html 企业资质 - events.html 大事记 - business.html 商务合作 - contract.html 服务条款 - privacy.html 隐私声明 - CSR.html 企业社会责任 - - news-开头.html 新闻相关 - article-开头.html 资讯相关 - picture-开头.html 图片相关 - photo-开头.html 相册相关 - product-开头.html 产品相关 - goods-开头.html 商品相关 - system-开头.html 系统相关 - tag-开头.html tag相关 - brand-开头.html 品牌相关 - help-开头.html 帮助相关 - member-开头.html 会员相关 - search-开头.html 搜索相关 ----------------------------------- */ -/*1 重定义浏览器默认样式 - Name: style_reset - Explain: 重定义浏览器默认样式 -*/ -*{word-wrap:break-word} -html,body,h1,h2,h3,h4,h5,h6,hr,p,iframe,dl,dt,dd,ul,ol,li,pre,form,button,input,textarea,th,td,fieldset{margin:0;padding:0} -ul,ol,dl{list-style-type:none} -html,body{*position:static} -html{font-family: sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%} -address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:400} -input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit} -input,button{overflow: visible;vertical-align:middle;outline:none} -input[type="submit"],input[type="reset"],input[type="button"],input[type="text"],input[type="password"]{-webkit-appearance:none;outline:none} -body,th,td,button,input,select,textarea{font-family:"Microsoft Yahei","Hiragino Sans GB","Helvetica Neue",Helvetica,tahoma,arial,"WenQuanYi Micro Hei",Verdana,sans-serif,"\5B8B\4F53";font-size:12px;color: #333;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing:grayscale} -body{line-height:1.6} -h1,h2,h3,h4,h5,h6{font-size:100%} -a,area{outline:none;blr:expression(this.onFocus=this.blur())} -a{text-decoration:none;cursor: pointer} -a:hover{text-decoration:underline;outline:none} -a.ie6:hover{zoom:1} -a:focus{outline:none} -a:hover,a:active{outline:none}:focus{outline:none} -sub,sup{vertical-align:baseline} -button,input[type="button"], input[type="submit"] {line-height:normal !important} -/*img*/ -img{border:0;vertical-align:middle} -a img,img{-ms-interpolation-mode:bicubic} -@media (max-width:767px){ - .img-responsive{max-width:100%!important;height: auto!important} -} - -/*IE下a:hover 背景闪烁*/ -*html{overflow:-moz-scrollbars-vertical;zoom:expression(function(ele){ele.style.zoom = "1";document.execCommand("BackgroundImageCache",false,true)}(this))} - -/*HTML5 reset*/ -header,footer,section,aside,details,menu,article,section,nav,address,hgroup,figure,figcaption,legend{display:block;margin:0;padding:0}time{display:inline} -audio,canvas,video{display:inline-block;*display:inline;*zoom:1} -audio:not([controls]){display:none} -legend{width:100%;margin-bottom:20px;font-size:21px;line-height:40px;border:0;border-bottom:1px solid #e5e5e5} -legend small{font-size:15px;color:#999} -svg:not(:root) {overflow: hidden} -fieldset {border-width:0;padding: 0.35em 0.625em 0.75em;margin: 0 2px;border: 1px solid #c0c0c0} -input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {height: auto} -input[type="search"] {-webkit-appearance: textfield; /* 1 */} -input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none} -/*清楚浮动 - Name: style_clearfix - Example: class="clearfix|cl" - Explain: clearfix(简写cl)避免因子元素浮动而导致的父元素高度缺失能问题 -*/ -.cl:after,.clearfix:after{content:"\20";display:block;height:0;clear:both;visibility:hidden}.cl,.clearfix{zoom:1} - -/*2.1 栅格系统 - Name: style_span - Example: -
          -
          -
          ……
          - …… -
          -
          - Explain: 栅格系统 -*/ -/*2.1 响应式栅格系统*/ -.row.cl{} -.row{ box-sizing:border-box} -[class^="col-"],[class*=" col-"]{box-sizing:border-box; float:left;min-height: 1px;position: relative} -.col-1{width:8.33333%} -.col-2{width:16.66667%} -.col-3{width:25%} -.col-4{width:33.33333%} -.col-5{width:41.66667%} -.col-6{width:50%} -.col-7{width:58.33333%} -.col-8{width:66.66667%} -.col-9{width:75%} -.col-10{width:83.33333%} -.col-11{width:91.66667%} -.col-12{width:100%} - -.col-offset-0{margin-left:0} -.col-offset-1{margin-left:8.33333%} -.col-offset-2{margin-left:16.66667%} -.col-offset-3{margin-left:25%} -.col-offset-4{margin-left:33.33333%} -.col-offset-5{margin-left:41.66667%} -.col-offset-6{margin-left:50%} -.col-offset-7{margin-left:58.33333%} -.col-offset-8{margin-left:66.66667%} -.col-offset-9{margin-left:75%} -.col-offset-10{margin-left:83.33333%} -.col-offset-11{margin-left:91.66667%} - -.col-push-0{position:relative;left:0;right:auto} -.col-pull-0{right:0;left:auto} -.col-push-1{left:8.33333%;right:auto} -.col-pull-1{right:8.33333%;left:auto} -.col-push-2{left:16.66667%;right:auto} -.col-pull-2{right:16.66667%;left:auto} -.col-push-3{left:25%;right:auto} -.col-pull-3{right:25%;left:auto} -.col-push-4{left:33.33333%;right:auto} -.col-pull-4{right:33.33333%;left:auto} -.col-push-5{left:41.66667%;right:auto} -.col-pull-5{right:41.66667%;left:auto} -.col-push-6{left:50%;right:auto} -.col-pull-6{right:50%;left:auto} -.col-push-7{left:58.33333%;right:auto} -.col-pull-7{right:58.33333%;left:auto} -.col-push-8{left:66.66667%;right:auto} -.col-pull-8{right:66.66667%;left:auto} -.col-push-9{left:75%;right:auto} -.col-pull-9{right:75%;left:auto} -.col-push-10{left:83.33333%;right:auto} -.col-pull-10{right:83.33333%;left:auto} -.col-push-11{left:91.66667%;right:auto} -.col-pull-11{right:91.66667%;left:auto} -/*局部模块平分*/ -.col-1-1{ width:100%} -.col-2-1{ width:50%} -.col-3-1{ width:33.333333%} -.col-3-2{ width:66.666667%} -.col-4-1{ width:25%} -.col-4-3{ width:75%} -.col-5-1{ width:20%} -.col-5-2{ width:40%} -.col-5-3{ width:60%} -.col-5-4{ width:80%} -.col-6-1{ width:16.666667%} -.col-6-5{ width:83.333333%} - -@media (max-width:767px){ - .responsive [class^="col-"],.responsive [class*=" col-"]{float:none!important;width:auto!important} - .responsive [class^="col-offset-"],.responsive [class*=" col-offset-"]{ margin-left:0px!important} -} -@media(min-width:768px){ - .col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left;} - .col-sm-12{width:100%;} - .col-sm-11{width:91.66666666666666%;} - .col-sm-10{width:83.33333333333334%;} - .col-sm-9{width:75%;} - .col-sm-8{width:66.66666666666666%;} - .col-sm-7{width:58.333333333333336%;} - .col-sm-6{width:50%;} - .col-sm-5{width:41.66666666666667%;} - .col-sm-4{width:33.33333333333333%;} - .col-sm-3{width:25%;} - .col-sm-2{width:16.666666666666664%;} - .col-sm-1{width:8.333333333333332%;} - .col-sm-pull-12{right:100%;} - .col-sm-pull-11{right:91.66666666666666%;} - .col-sm-pull-10{right:83.33333333333334%;} - .col-sm-pull-9{right:75%;} - .col-sm-pull-8{right:66.66666666666666%;} - .col-sm-pull-7{right:58.333333333333336%;} - .col-sm-pull-6{right:50%;} - .col-sm-pull-5{right:41.66666666666667%;} - .col-sm-pull-4{right:33.33333333333333%;} - .col-sm-pull-3{right:25%;} - .col-sm-pull-2{right:16.666666666666664%;} - .col-sm-pull-1{right:8.333333333333332%;} - .col-sm-pull-0{right:0;} - .col-sm-push-12{left:100%;} - .col-sm-push-11{left:91.66666666666666%;} - .col-sm-push-10{left:83.33333333333334%;} - .col-sm-push-9{left:75%;} - .col-sm-push-8{left:66.66666666666666%;} - .col-sm-push-7{left:58.333333333333336%;} - .col-sm-push-6{left:50%;} - .col-sm-push-5{left:41.66666666666667%;} - .col-sm-push-4{left:33.33333333333333%;} - .col-sm-push-3{left:25%;} - .col-sm-push-2{left:16.666666666666664%;} - .col-sm-push-1{left:8.333333333333332%;} - .col-sm-push-0{left:0;} - .col-sm-offset-12{margin-left:100%;} - .col-sm-offset-11{margin-left:91.66666666666666%;} - .col-sm-offset-10{margin-left:83.33333333333334%;} - .col-sm-offset-9{margin-left:75%;} - .col-sm-offset-8{margin-left:66.66666666666666%;} - .col-sm-offset-7{margin-left:58.333333333333336%;} - .col-sm-offset-6{margin-left:50%;} - .col-sm-offset-5{margin-left:41.66666666666667%;} - .col-sm-offset-4{margin-left:33.33333333333333%;} - .col-sm-offset-3{margin-left:25%;} - .col-sm-offset-2{margin-left:16.666666666666664%;} - .col-sm-offset-1{margin-left:8.333333333333332%;} - .col-sm-offset-0{margin-left:0;} -} -@media(min-width:992px){ - .col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left;} - .col-md-12{width:100%;} - .col-md-11{width:91.66666666666666%;} - .col-md-10{width:83.33333333333334%;} - .col-md-9{width:75%;} - .col-md-8{width:66.66666666666666%;} - .col-md-7{width:58.333333333333336%;} - .col-md-6{width:50%;} - .col-md-5{width:41.66666666666667%;} - .col-md-4{width:33.33333333333333%;} - .col-md-3{width:25%;} - .col-md-2{width:16.666666666666664%;} - .col-md-1{width:8.333333333333332%;} - .col-md-pull-12{right:100%;} - .col-md-pull-11{right:91.66666666666666%;} - .col-md-pull-10{right:83.33333333333334%;} - .col-md-pull-9{right:75%;} - .col-md-pull-8{right:66.66666666666666%;} - .col-md-pull-7{right:58.333333333333336%;} - .col-md-pull-6{right:50%;} - .col-md-pull-5{right:41.66666666666667%;} - .col-md-pull-4{right:33.33333333333333%;} - .col-md-pull-3{right:25%;} - .col-md-pull-2{right:16.666666666666664%;} - .col-md-pull-1{right:8.333333333333332%;} - .col-md-pull-0{right:0;} - .col-md-push-12{left:100%;} - .col-md-push-11{left:91.66666666666666%;} - .col-md-push-10{left:83.33333333333334%;} - .col-md-push-9{left:75%;} - .col-md-push-8{left:66.66666666666666%;} - .col-md-push-7{left:58.333333333333336%;} - .col-md-push-6{left:50%;} - .col-md-push-5{left:41.66666666666667%;} - .col-md-push-4{left:33.33333333333333%;} - .col-md-push-3{left:25%;} - .col-md-push-2{left:16.666666666666664%;} - .col-md-push-1{left:8.333333333333332%;} - .col-md-push-0{left:0;} - .col-md-offset-12{margin-left:100%;} - .col-md-offset-11{margin-left:91.66666666666666%;} - .col-md-offset-10{margin-left:83.33333333333334%;} - .col-md-offset-9{margin-left:75%;} - .col-md-offset-8{margin-left:66.66666666666666%;} - .col-md-offset-7{margin-left:58.333333333333336%;} - .col-md-offset-6{margin-left:50%;} - .col-md-offset-5{margin-left:41.66666666666667%;} - .col-md-offset-4{margin-left:33.33333333333333%;} - .col-md-offset-3{margin-left:25%;} - .col-md-offset-2{margin-left:16.666666666666664%;} - .col-md-offset-1{margin-left:8.333333333333332%;} - .col-md-offset-0{margin-left:0;} -} -@media(min-width:1200px){ - .col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left;} - .col-lg-12{width:100%;} - .col-lg-11{width:91.66666666666666%;} - .col-lg-10{width:83.33333333333334%;} - .col-lg-9{width:75%;} - .col-lg-8{width:66.66666666666666%;} - .col-lg-7{width:58.333333333333336%;} - .col-lg-6{width:50%;} - .col-lg-5{width:41.66666666666667%;} - .col-lg-4{width:33.33333333333333%;} - .col-lg-3{width:25%;} - .col-lg-2{width:16.666666666666664%;} - .col-lg-1{width:8.333333333333332%;} - .col-lg-pull-12{right:100%;} - .col-lg-pull-11{right:91.66666666666666%;} - .col-lg-pull-10{right:83.33333333333334%;} - .col-lg-pull-9{right:75%;} - .col-lg-pull-8{right:66.66666666666666%;} - .col-lg-pull-7{right:58.333333333333336%;} - .col-lg-pull-6{right:50%;} - .col-lg-pull-5{right:41.66666666666667%;} - .col-lg-pull-4{right:33.33333333333333%;} - .col-lg-pull-3{right:25%;} - .col-lg-pull-2{right:16.666666666666664%;} - .col-lg-pull-1{right:8.333333333333332%;} - .col-lg-pull-0{right:0;} - .col-lg-push-12{left:100%;} - .col-lg-push-11{left:91.66666666666666%;} - .col-lg-push-10{left:83.33333333333334%;} - .col-lg-push-9{left:75%;} - .col-lg-push-8{left:66.66666666666666%;} - .col-lg-push-7{left:58.333333333333336%;} - .col-lg-push-6{left:50%;} - .col-lg-push-5{left:41.66666666666667%;} - .col-lg-push-4{left:33.33333333333333%;} - .col-lg-push-3{left:25%;} - .col-lg-push-2{left:16.666666666666664%;} - .col-lg-push-1{left:8.333333333333332%;} - .col-lg-push-0{left:0;} - .col-lg-offset-12{margin-left:100%;} - .col-lg-offset-11{margin-left:91.66666666666666%;} - .col-lg-offset-10{margin-left:83.33333333333334%;} - .col-lg-offset-9{margin-left:75%;} - .col-lg-offset-8{margin-left:66.66666666666666%;} - .col-lg-offset-7{margin-left:58.333333333333336%;} - .col-lg-offset-6{margin-left:50%;} - .col-lg-offset-5{margin-left:41.66666666666667%;} - .col-lg-offset-4{margin-left:33.33333333333333%;} - .col-lg-offset-3{margin-left:25%;} - .col-lg-offset-2{margin-left:16.666666666666664%;} - .col-lg-offset-1{margin-left:8.333333333333332%;} - .col-lg-offset-0{margin-left:0;} -} -/*2.2 布局 - Name: style_Layout - Explain: 左右两栏|左中右三栏|上中下 - Last Modify: guojunhui -*/ -.Hui-wraper,.wp,.container{margin-left:auto;margin-right:auto;text-align:left} -.container-fluid{ width:100%} -.minWP{} -.sd{float:right} -.ct2 .mn{float:left} -.ct2 .sd{float:right} -.ct2_r .leftmenu{float:left} -.ct2_r .mn{float:right} -.ct3 .app{float:left;margin-right:20px} -.ct3 .mn{float:left;border-left:solid 1px #ddd} -.ct3 .sd{float:right} -.w-1000{width:1000px} -.w-980{width:980px} -.w-300{width:300px} -.w-200{width:200px} -@media (max-width: 1000px) { - .Hui-wraper,.wp,.container{ width:auto!important;padding:0 10px!important} -} - -@media print{ - .Hui-wraper,.container{width:auto} -} - - -/*3.0 基础样式*/ -/*3.1 排版*/ -/*3.1.1 标题 - Example: -

          h1. 大标题小标题

          -

          h2. 大标题小标题

          -

          h3. 大标题小标题

          -

          h4. 大标题小标题

          -
          h5. 大标题小标题
          -
          h6. 大标题小标题
          -*/ -h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.1;color:inherit} -h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small{font-weight:400;line-height:1;color:#999} -h1,h2,h3{padding-top:20px;padding-bottom:10px} -h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%} -h4,h5,h6{margin-top:10px;margin-bottom:10px} -h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%} -h1{font-size:36px} -h2{font-size:30px} -h3{font-size:24px} -h4{font-size:18px} -h5{font-size:14px} -h6{font-size:12px} - -/*3.1.2 强调 - Example: -

          这是段落,向下10像素间距

          - 小型文本,是父容器字体大小的85% - 重要文本,加粗显示 - 被强调的文本,斜体显示 - 带下划线的文本 - 引用 - 突出显示文本 - 带删除线的文本 -
          预格式化的文本
          -*/ -p{margin-bottom:10px} /*段落*/ -small{font-size:85%} /*小型文本*/ -b,strong {font-weight: bold} /*重要的文本,加粗*/ -em{font-style:italic} /*被强调的文本*/ -i{} /*斜体*/ -u{} /*加下划线*/ -cite{font-style:normal} /*引用*/ -mark{color:#000;background:#ff0}/*突出显示文本*/ -var{} /*变量*/ -kbd{} /*键盘文本*/ -code{} /*计算机代码文本*/ -dfn{font-style: italic} /*一个定义项目*/ -del{font-family:Simsun} /*删除线*/ -code,kbd,pre,samp {font-family: monospace, serif;font-size: 1em} -pre{white-space: pre-wrap} /*预格式化的文本*/ -.uppercase{text-transform:uppercase} /*文字大写*/ -.lowercase{text-transform:lowercase} /*文字小写*/ -.capitalize{text-transform:capitalize} /*首字母大写*/ -.en{font-family:Arial!important} -/*3.1.3 对齐 - Name: style_text-align - Example: class="text-l|text-r|text-c|va-t|va-m|va-b" - Explain: .text-水平对齐 (.text-l左对齐|.text-r右对齐|.text-c居中对齐) - .va-上下对齐 (.va-t 居上对齐|.va-m 居中对齐|.va-b 居下对齐) -*/ -.text-l{text-align:left}.text-r{text-align:right}.text-c{text-align:center} -.va *{vertical-align:sub!important;*vertical-align:middle!important;_vertical-align:middle!important} -.va-t{vertical-align:top!important}.va-m{vertical-align:middle!important}.va-b{vertical-align:bottom!important} -/*3.1.4 定位 - Name: style_position - Example: class="pos-r|pos-a|pos-f" - Explain: .pos-r 相对定位|.pos-a 绝对定位|.pos-f 固定 -*/ -.pos-r{position:relative}.pos-a{position:absolute}.pos-f{position:fixed} -/*3.1.5 浮动 - Name: style_float - Example: class="l|r" - Explain: .l 左浮动|.r 右浮动 -*/ -.l,.f-l{float:left!important;_display:inline} -.r,.f-r{float:right!important;_display:inline} - -[class*="span"].r, -[class*="span"].f-r{float:right} - -/*控制元素对定位的位置:居左|居右|j居上|居下*/ -.left{ left:0; right:auto} -.right{ right:0; left:auto} -.top{ top:auto; bottom:0} -.bottom{ top:0; bottom:auto} - -/*3.1.6 文字单行溢出省略号 - Name: style_text-overflow - Example: class="text-overflow" -*/ -.text-overflow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} -/*3.1.7 线条 - Name: style_line - Example: class="line" -*/ -.line{font-size: 0px; line-height: 0px; border-top: solid 1px #eee; float: none} -/*3.1.8 外边距 - Name: style_margin - Example: class="mt-5|mt-10..." - Explain: .mt表示上边距|.mb表示下边距|.ml表示左边距|.mr表示右边距 -*/ -.mt-5{margin-top:5px}.mt-10{margin-top:10px}.mt-15{margin-top:15px}.mt-20{margin-top:20px}.mt-25{margin-top:25px}.mt-30{margin-top:30px}.mt-35{margin-top:35px}.mt-40{margin-top:40px}.mt-50{margin-top:50px} -.mb-5{margin-bottom:5px}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mb-20{margin-bottom:20px}.mb-30{margin-bottom:30px}.mb-40{margin-bottom:40px}.mb-50{margin-bottom:50px} -.ml-5{margin-left:5px}.ml-10{margin-left:10px}.ml-15{margin-left:15px}.ml-20{margin-left:20px}.ml-30{margin-left:30px}.ml-40{margin-left:40px}.ml-50{margin-left:50px} -.mr-5{margin-right:5px}.mr-10{margin-right:10px}.mr-15{margin-right:15px}.mr-20{margin-right:20px}.mr-30{margin-right:30px}.mr-40{margin-right:40px}.mr-50{margin-right:50px} -/*3.1.9 内填充 - Name: style_padding - Example: class="pt-5|pt-10|……" - Explain: .pt表示上填充|.pb表示下填充|.pl表示左填充|.pr表示右填充 -*/ -.pt-5{padding-top:5px}.pt-10{padding-top:10px}.pt-20{padding-top:20px} -.pb-5{padding-bottom:5px}.pb-10{padding-bottom:10px}.pb-20{padding-bottom:20px} -.pl-5{padding-left:5px}.pl-10{padding-left:10px}.pl-20{padding-left:20px} -.pr-5{padding-right:5px}.pr-10{padding-right:10px}.pr-20{padding-right:20px} -.pd-5{padding:5px}.pd-10{padding:10px}.pd-15{padding:15px}.pd-20{padding:20px}.pd-30{padding:30px}.pd-40{padding:40px} -/*3.1.10 边框,css3圆角 - Name: style-border - Example: class="bk_gray radius" - Explain: .bk_gray 边框|radius 圆角|round 椭圆 | circle 圆形 -*/ -.bk-gray{border:solid 1px #eee} -.radius{border-radius:4px; overflow:hidden;} -.size-MINI.radius{ border-radius:3px} -.size-L.radius{ border-radius:5px} -.size-XL.radius{ border-radius:6px} -.round{border-radius:1000px; overflow:hidden;} -.circle{ border-radius:50%; overflow:hidden;} -/*3.1.11 css3阴影 - Name: style_shadow - Example: class="box_shadow|text-shadow" - Explain: box_shadow 块级元素阴影,全局样式,可用在表格,文本框,文本域,div等块级元素上。 - text-shadow 文字阴影 -*/ -.box-shadow{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.1);box-shadow:0 1px 2px rgba(0,0,0,0.1);} -.text-shadow{-webkit-text-shadow:0 0 2px rgba(0,0,0,0.2);text-shadow:0 0 2px rgba(0,0,0,0.2);} -/*3.1.12 行内分割竖线 - Name: style_pipe - Example: | -*/ -.pipe{margin:0 5px;color:#CCC;font-size:10px!important} -/*3.1.13 文字尺寸 - Name: style_font-size - Example: class="f-12|f-14|f-16|f-18|f-20|f-24|f-26|f-28|f-30" - Explain: 12px字体|14px字体|16px字体|18px字体|20px字体|24px字体|26px字体|28px字体|30px字体 -*/ -.f-12{font-size:12px}.f-14{font-size:14px}.f-16{font-size:16px}.f-18{font-size:18px}.f-20{font-size:20px}.f-24{font-size:24px}.f-26{font-size:26px}.f-28{font-size:28px}.f-30{font-size:30px} -/*3.1.14 文字行距 - Name: mod_line-height - Example: class="lh-16|lh-18|lh-20|lh-22|lh-24|lh-26|lh-28|lh-30" - Explain: 16px行高|18px行高|20px行高|22px行高|24px行高|26px行高|30px行高 -*/ -.lh-16{line-height:16px}.lh-18{line-height:18px}.lh-20{line-height:20px}.lh-22{line-height:22px}.lh-24{line-height:24px}.lh-26{line-height:26px}.lh-28{line-height:28px}.lh-30{line-height:30px} -/*2.0以前的兼容版本*/ -.l16{line-height:16px}.l18{line-height:18px}.l20{line-height:20px}.l22{line-height:22px}.l-24{line-height:24px}.l-26{line-height:26px}.l-28{line-height:28px}.l-30{line-height:30px} - -/*3.1.15 文字颜色 - Name: style_color - Example: class="c-primary|c-sub|c-success|c-danger|c-warning|c-333|c-666|c-999|c-red|c-green|c-blue|c-white|c-black|c-orange" - Explain: 主要颜色|次主色|强调色—成功|强调色—危险|强调色—警告色|强调色—错误色|次主色—浅黑|辅助色—灰色|标准色—红色|标准色—绿色|标准色—蓝色|标准色—白色|标准色—黑色|标准色—橙色 -*/ -/*全局默认链接颜色*/ -body{ background-color:#fff; color:#333} -.bg-fff{ background-color:#fff} -a{color:#333} -a:hover{color:#06c} - -/*主要颜色*/ -.c-primary,.c-primary a,a.c-primary{color:#5a98de} -.c-primary a:hover,a.c-primary:hover{ color:#5a98de} -/*次主色*/ -.c-secondary,.c-secondary a,a.c-secondary{color:#555} -.c-secondary a:hover,a.c-secondary:hover{ color:#555} - -/*强调色—成功*/ -.c-success,.c-success a,a.c-success{color:#5eb95e} -.c-success a:hover,a.c-success:hover{ color:#5eb95e} - -/*强调色—危险*/ -.c-danger,.c-danger a,a.c-danger{color:#dd514c} -.c-danger a:hover,a.c-danger:hover{ color:#dd514c} - -/*强调色—警告*/ -.c-warning,.c-warning a,a.c-warning{color:#f37b1d} -.c-warning a:hover,a.c-warning:hover{ color:#f37b1d} - -/*强调色—错误*/ -.c-error,.c-error a,a.c-error{color:#c00} -.c-error a:hover,a.c-error:hover{ color:#c00} - -/*辅助色—浅黑*/ -.c-333,.c-333 a,a.c-333{color:#333} -.c-333 a:hover,a.c-333:hover{ color:#333} - -/*辅助色—灰色*/ -.c-666,.c-666 a,a.c-666{color:#666} -.c-666 a:hover,a.c-666:hover{ color:#666} -.c-999,.c-999 a,a.c-999{color:#999} -.c-999 a:hover,a.c-999:hover{color:#999} - -/*标准色—红色*/ -.c-red,.c-red a,a.c-red{color:red} -.c-red a:hover,a.c-red:hover{ color:#red} -/*标准色—绿色*/ -.c-green,.c-green a,a.c-green{color:green} -.c-red a:hover,a.c-red:hover{color:green} -/*标准色—蓝色*/ -.c-blue,.c-blue a,a.c-blue{color:blue} -.c-blue a:hover,a.c-blue:hover{color:blue} -/*标准色—白色*/ -.c-white,.c-white a,a.c-white{color:white} -.c-white a:hover,a.c-white:hover{color:white} -/*标准色—黑色*/ -.c-black,.c-black a{color:black} -.c-black a:hover,a.c-black:hover{color:black} -/*标准色—橙色*/ -.c-orange,.c-orange a,a.c-orange{color:orange} -.c-orange a:hover,a.c-orange:hover{color:orange} - -/*3.1.16 文字颜色强调 从2.0起废弃3.1.16 文字强调,字体颜色全部放入到3.1.15 - Example: class="text-muted|text-primary|text-warning|text-error|text-danger|text-success|text-info" - Explain: 柔和|重要|警告|错误|危险|成功|信息 -*/ - - -/*3.1.17 缩略语 - Example: UI - Explain: -*/ -abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999} -abbr.initialism{font-size:90%;text-transform:uppercase} -/*3.1.18 地址 - Example:
          北京市海淀区上地……
          - Explain: -*/ -address{display:block;margin-bottom:20px;font-style:normal;line-height:20px} -/*3.1.19 引用 - Example:
          这是引用的内容
          - Explain: -*/ -blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee} -blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25} -blockquote small{display:block;line-height:20px;color:#999} -blockquote small:before{content:'\2014 \00A0'} -blockquote.text-r{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0} -blockquote.text-r p,blockquote.text-r small{text-align:right} -blockquote.text-r small:before{content:''} -blockquote.text-r small:after{content:'\00A0 \2014'} -q:before,q:after,blockquote:before,blockquote:after{content:""} -q {/*短的引用*/quotes: "\201C" "\201D" "\2018" "\2019"} -/*3.1.20 上标,下标 - Example: 2 2 - Explain: 上标|下标 -*/ -sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline} -sup{top:-0.5em}sub{bottom:-0.25em} -/*3.1.21 内容样式 - Name: style_content - Example:

          ……

          - Explain: 内容样式 -*/ -.content{position:relative;font-size:14px;line-height:1.6;overflow:hidden;text-align:left} -.content h3{margin-top:20px;font-size:16px} -.content p{margin-top:20px} - .indent{ text-indent:2em} -.content img{max-width:100%} -.content ul{text-indent:2em} -@media (max-width: 480px) { - .content img{max-width:100%!important; height:auto!important;width:expression(this.width > 320 ? "320px" : this.width)!important} - *html .content img{width:expression(this.width>320&&this.width>this.height?320:auto)} -} -/*3.1.22 列表 - Name: style_ulolli - Example:
          • 无序列表
          • 无序列表
          • 无序列表
          -
          1. 有序列表
          2. 有序列表
          3. 有序列表
          - Explain: -*/ -ul.unstyled,ol.unstyled{margin-left:0;list-style:none} -ul.inline,ol.inline{margin-left:0;list-style:none} -ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1} -.tlist li{line-height:22px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}/*禁止换行*/ - .dot-1{padding-left:10px;background:url(../images/dot_1.gif) no-repeat 3px center}/*圆点*/ - .box-1{padding-left:10px;background:url(../images/box_1.gif) no-repeat 3px center}/*小方块*/ - .jt-1{padding-left:18px;background:url(../images/jt_1.gif) no-repeat 3px center}/*箭头1*/ - .jt-2{padding-left:18px;background:url(../images/jt_2.gif) no-repeat 3px center}/*箭头2*/ - .jt-3{padding-left:18px;background:url(../images/jt_3.gif) no-repeat 3px center}/*箭头3*/ -/*排行榜*/ -/*
          1. 1排行榜列表12
          */ -.top-list li{height: 20px;line-height: 20px;margin-bottom: 15px;overflow: hidden;padding-left: 30px;position: relative;text-overflow: ellipsis;vertical-align: bottom;white-space: nowrap} -.top-list em {background-color: #F8F8F8;border: 1px solid #EBEBEB;color: #333;height: 18px;left: 0;line-height: 18px;position: absolute;text-align: center;top: 0;width: 20px; font-style:normal} -.top-list .top em{background-color:#390;border:none;color: #fff;height: 20px;line-height: 20px;width: 22px} -.top-list .date {color: #999;font-size: 12px;position: absolute;right: 0;top: 0} -.tlist .time{font-size:12px; font-family:Arial; color:#999} - -.listview{} -/*横向手机 竖向平板*/ -@media (max-width: 767px) { - .tlist li{position:relative; font-size:18px;border-bottom: 1px solid #eee} - .tlist li a{display:block;padding:0.7em 30px 0.7em 12px} - .dot_1{padding-left:0px} - .night .tlist li{border-bottom: 1px solid #1F1F1F} - .tlist .time{display:none} - .tlist i {background:url(../images/article/arrow.png) no-repeat 0 0; background-size:9px auto; height: 15px;margin-top: -7px;position: absolute;right:10px;top: 50%;width: 9px} - .night .tlist i{background-position:0 -75px} - -} -/*3.1.23 描述 - Name: style_dldtdd - Example:
          H-ui
          基于Bootstrap框架的改进扩展的前端框架
          - Explain: .dl-horizontal 水平描述,默认不加为垂直模式。 -*/ -.dl-horizontal.cl{} -.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap} -.dl-horizontal dd{margin-left:180px} -/*3.1.24 隐藏 显示 - Name: style_display - Example:
          隐藏的内容
          显示的内容
          - Explain: .hide 隐藏 / .show 显示 -*/ -.hide{display:none}[hidden]{display: none} -.hidden{display:none!important;visibility:hidden!important} -.f-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0} -[class*="span"].hide,.row-fluid [class*="span"].hide{display:none} -.show{display:block} -.invisible{visibility:hidden} - -/*3.1.25 尺寸 新增尺寸全局类名,用于表单、按钮、表格、头像、标签等元素上,要与元素一起配合使用,方能看到效果*/ -.size-MINI{}/*迷你*/ -.size-S{}/*小*/ -.size-M{}/*中 缺省默认尺寸,可以不写,可以理解为:均码*/ -.size-L{}/*L*/ -.size-XL{}/*大*/ -.size-XXL{}/*加大*/ -.size-XXXL{}/*超大*/ - -.input-text,.btn,.input-text.size-M,.btn.size-M{ font-size:14px; height:31px;line-height:1.42857;padding:4px}/*默认为M,可以不写,可以理解为:均码*/ -a.btn,a.btn.size-M,span.btn,span.btn.size-M{ line-height:21px} -.btn,.btn.size-M{ padding:4px 12px} - -.input-text.size-MINI,.btn.size-MINI{font-size:12px; height:23px;padding:1px 2px;line-height:1.42857}/*迷你*/ -a.btn.size-MINI,span.btn.size-MINI{ line-height:21px} -.btn.size-MINI{ padding:1px 4px} - -.input-text.size-S,.btn.size-S{font-size:12px; height:27px;padding:3px;line-height:1.42857}/*小*/ -a.btn.size-S,span.btn.size-S{ line-height:19px} -.btn.size-S{ padding:3px 8px} - -.input-text.size-L,.btn.size-L{font-size:16px; height:41px; padding:8px}/*大*/ -a.btn.size-L,span.btn.size-L{ line-height:23px} -.btn.size-L{ padding:8px 16px} - -.input-text.size-XL,.btn.size-XL{font-size:18px; height:48px; padding:10px}/*特大*/ -a.btn.size-XL,span.btn.size-XL{ line-height:26px} -.btn.size-XL{ padding:10px 24px} - -@media (max-width: 767px) { - .responsive .input-text.size-MINI,.responsive .btn.size-MINI{height:24px} - .responsive .input-text.size-S,.responsive .btn.size-S{ font-size:14px; height:30px} - .responsive .input-text,.btn,.responsive .input-text.size-M,.responsive .btn.size-M{ font-size:16px; height:36px} - .responsive .input-text.size-L,.responsive .btn.size-L{ font-size:18px; height:42px} - .responsive .input-text.size-XL,.responsive .btn.size-XL{ font-size:20px; height:48px} -} - -/*3.2 代码 - Name: style_pre - - Example: ,
          转义过的代码
          - Explain: code:行内代码,pre:基本代码块;包装代码片段,.prettyprint颜色增强/.linenums显示行号 -*/ -code{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace} -pre .title,pre .keyword,pre .body,pre .des{color:#333}/*关键词*/ - -pre{display:block;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;padding:9.5px;margin-bottom:10px;font-size:12px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#333} -.prettyprint{margin-bottom:20px;padding:8px;background-color:#f7f7f9;border:1px solid #e1e1e8} -.prettyprint .com { color: #998;font-style:italic }/*注释*/ -.prettyprint .tag{color:#007}/*标签*/ -.prettyprint .lit { color: #195f91} -.prettyprint .pun,.prettyprint .opn,.prettyprint .clo { color: #93a1a1}/*等于*/ -.prettyprint .fun { color: #dc322f} -.prettyprint .str,.prettyprint .atv { color: #D14}/*值*/ -.prettyprint .kwd,.prettyprint .prettyprint .tag { color: #1e347b} -.prettyprint .typ,.prettyprint .atn,.prettyprint .dec,.prettyprint .var { color: teal}/*文档声明,属性*/ -.prettyprint .pln { color: #48484c} - -.prettyprint.linenums{box-shadow:inset 40px 0 0 #fbfbfc,inset 41px 0 0 #ececf0} -.pre-scrollable{max-height:340px;overflow-y:scroll} -ol.linenums{list-style:decimal outside none; margin-left:20px} -ol.linenums li{ line-height:28px; padding-left:10px} -pre ol.linenums{margin:0 0 0 33px} -pre ol.linenums li{padding-left:12px;color:#bbb;line-height:18px;text-shadow:0 1px 0 #fff} - -@media (max-width: 767px) { - pre ol.linenums{ margin-left:0; list-style:none} -} - -/*3.3 表格 - Name: style_table - Example:
          - Explain: 表格,None无样式,仅仅有列和行|.table行与行之间以水平线相隔|.table-bordered表格外围均有外边框|.table-striped奇数行背景设为浅灰色|.table-condensed竖直方向padding缩减一半,从8px变为4px,所有的 td 和 th 元素都受影响 -*/ -/*默认table*/ -table{width:100%;empty-cells:show;background-color:transparent;border-collapse:collapse;border-spacing:0} -table th{text-align:left; font-weight:400} -/*带水平线*/ -.table th{font-weight:bold} -.table th,.table td{padding:8px;line-height:20px} -.table td{text-align:left} -.table tbody tr.success > td{background-color:#dff0d8} -.table tbody tr.error > td{background-color:#f2dede} -.table tbody tr.warning > td{background-color:#fcf8e3} -.table tbody tr.info > td{background-color:#d9edf7} -.table tbody + tbody{border-top:2px solid #ddd} -.table .table{background-color:#fff} - -/*带横向分割线*/ -.table-border{border-top:1px solid #ddd} -.table-border th,.table-border td{border-bottom:1px solid #ddd} - -/*th带背景*/ -.table-bg thead th{background-color:#F5FAFE} -/*带外边框*/ -.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0} -.table-bordered th,.table-bordered td{border-left:1px solid #ddd} -.table-border.table-bordered{border-bottom:0} - -/*奇数行背景设为浅灰色*/ -.table-striped tbody > tr:nth-child(odd) > td,.table-striped tbody > tr:nth-child(odd) > th{background-color:#f9f9f9} -/*竖直方向padding缩减一半*/ -.table-condensed th,.table-condensed td{padding:4px 5px} -/*鼠标悬停样式*/ -.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color: #f5f5f5} -/*鼠标选择整行样式*/ -.table tbody tr.selected td{background-color:#F3F3F3} -/*定义颜色*/ -/*悬停在行*/ -.table tbody tr.active,.table tbody tr.active>td,.table tbody tr.active>th,.table tbody tr .active{background-color:#F5F5F5!important} -/*成功或积极*/ -.table tbody tr.success,.table tbody tr.success>td,.table tbody tr.success>th,.table tbody tr .success{background-color:#DFF0D8!important} - -/*警告或出错*/ -.table tbody tr.warning,.table tbody tr.warning>td,.table tbody tr.warning>th,.table tbody tr .warning{background-color:#FCF8E3!important} -/*危险*/ -.table tbody tr.danger,.table tbody tr.danger>td,.table tbody tr.danger>th,.table tbody tr .danger{background-color:#F2DEDE!important} - -/*表格文字对齐方式,默认是居左对齐*/ -.table .text-c th,.table .text-c td{text-align:center}/*整行居中*/ -.table .text-r th,.table .text-r td{text-align:right}/*整行居右*/ -.table th.text-l,.table td.text-l{text-align:left!important}/*单独列居左*/ -.table th.text-c,.table td.text-c{text-align:center!important}/*单独列居中*/ -.table th.text-r,.table td.text-r{text-align:right!important}/*单独列居右*/ - -/*datatable*/ -table.dataTable {border-collapse: separate;border-spacing: 0;clear: both} -table.dataTable thead .sorting_asc, table.dataTable thead .sorting_desc, table.dataTable thead .sorting {cursor: pointer; background-repeat:no-repeat;background-position:right center} -table.dataTable thead .sorting{background-image:url(../images/sort_both.png)} -table.dataTable thead .sorting_asc {background-image:url(../images/sort_asc.png)} -table.dataTable thead .sorting_desc {background-image:url(../images/sort_desc.png)} -.dataTable td.sorting_1 {background-color: #f5fafe} -.dataTables_wrapper .dataTables_length {float: left;padding-bottom:20px} -.dataTables_wrapper .dataTables_length .select{ width:50px} -.dataTables_wrapper .dataTables_filter {float: right;text-align: right} -.dataTables_wrapper .dataTables_filter .input-text { width:auto} -.dataTables_wrapper .dataTables_info {clear: both;float: left;padding-top:10px;font-size:14px; color:#666} -.dataTables_wrapper .dataTables_paginate {float: right;padding-top:10px;text-align: right} -.dataTables_wrapper .dataTables_paginate .paginate_button {border: 1px solid #ccc;cursor: pointer;display: inline-block;margin-left: 2px;text-align: center;text-decoration: none;color: #666;height: 26px;line-height: 26px;text-decoration: none;margin: 0 0px 6px 6px;padding: 0 10px;font-size:14px} -.dataTables_wrapper .dataTables_paginate .paginate_button:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {background:#5a98de;color:#fff} - -/*表格尺寸*/ -.table.size-MINI{}/*迷你*/ -.table.size-S{}/*小*/ -.table.size-M{}/*中*/ -.table.size-L{}/*默认为L,可以不写,可以理解为:均码*/ -.table.size-XL{}/*大*/ -.table.size-XXL{}/*加大*/ -.table.size-XXXL{}/*超大*/ - -/*让表格支持响应式*/ -/* -
          - - ... -
          -
          -*/ -@media (max-width: 767px) { - table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-x: scroll; - overflow-y: hidden; - border: 1px solid #dddddd; - -ms-overflow-style: -ms-autohiding-scrollbar; - -webkit-overflow-scrolling: touch} - table-responsive > .table { - margin-bottom: 0} - table-responsive > .table > thead > tr > th, - table-responsive > .table > tbody > tr > th, - table-responsive > .table > tfoot > tr > th, - table-responsive > .table > thead > tr > td, - table-responsive > .table > tbody > tr > td, - table-responsive > .table > tfoot > tr > td { - white-space: nowrap} - table-responsive > .table-bordered { - border: 0} - table-responsive > .table-bordered > thead > tr > th:first-child, - table-responsive > .table-bordered > tbody > tr > th:first-child, - table-responsive > .table-bordered > tfoot > tr > th:first-child, - table-responsive > .table-bordered > thead > tr > td:first-child, - table-responsive > .table-bordered > tbody > tr > td:first-child, - table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0} - table-responsive > .table-bordered > thead > tr > th:last-child, - table-responsive > .table-bordered > tbody > tr > th:last-child, - table-responsive > .table-bordered > tfoot > tr > th:last-child, - table-responsive > .table-bordered > thead > tr > td:last-child, - table-responsive > .table-bordered > tbody > tr > td:last-child, - table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0} - table-responsive > .table-bordered > tbody > tr:last-child > th, - table-responsive > .table-bordered > tfoot > tr:last-child > th, - table-responsive > .table-bordered > tbody > tr:last-child > td, - table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0} -} - -/*3.4 表单 - Name: style_form - Example: - Explain: - -*/ -/*3.4.1 input,textarea 文本域 文本区域*/ -/*默认状态*/ -.input-text,.textarea{box-sizing:border-box;border:solid 1px #ddd;width:100%; - -webkit-transition:all 0.2s linear 0s; - -moz-transition:all 0.2s linear 0s; - -o-transition:all 0.2s linear 0s; - transition:all 0.2s linear 0s} -.textarea{ height:100px; resize:none; font-size:14px; padding:4px} - .textarea-numberbar{ position:absolute; right:20px; bottom:5px; z-index:1; margin-bottom:0} - .textarea-length{ font-style:normal} -.input-text:hover,.textarea:hover{border: solid 1px #3bb4f2} -/*得到焦点后*/ -.input-text.focus,textarea.focus{border:solid 1px #0f9ae0 \9;border-color:rgba(82,168,236,0.8);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6)} -/*不可点击*/ -.input-text.disabled,.textarea.disabled,.input-text.disabled.focus,.textarea.disabled.focus{background-color:#ededed; cursor:default;border-color: #ddd; - -webkit-box-shadow:inset 0 2px 2px #e8e7e7; - -moz-box-shadow:inset 0 2px 2px #e8e7e7; - box-shadow:inset 0 2px 2px #e8e7e7} -/*只读状态*/ -.input-text.disabled,.textarea.disabled{background-color:#e6e6e6; cursor:default} -/*阴影*/ -.input-text.box-shadow,.textarea.box-shadow{-ms-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)} -/*行内元素*/ -.input-text.inline{ display:inline-block; width:auto} - -/*3.4.2 checkbox radio 单选 多选 - Example: -
          -
          - - -
          -
          - -
          -
          - - -
          -
          - Explain: -*/ -input[type="radio"],input[type="checkbox"] {line-height: normal; margin-top:-4px} -.check-box,.radio-box{ display:inline-block; box-sizing:border-box; cursor:pointer; position:relative; padding-left:30px; padding-right:20px} -.icheckbox, -.icheckbox-red, -.icheckbox-green, -.icheckbox-blue, -.icheckbox-aero, -.icheckbox-grey, -.icheckbox-orange, -.icheckbox-yellow, -.icheckbox-pink, -.icheckbox-purple, -.iradio, -.iradio-red, -.iradio-green, -.iradio-blue, -.iradio-aero, -.iradio-grey, -.iradio-orange, -.iradio-yellow, -.iradio-pink, -.iradio-purple {position: absolute;top:4px;left: 0} -@media (max-width: 767px) { - .responsive .check-box,.responsive .radio-box{ display:block} -} - -/*3.4.3 select 下拉框 - - - - Explain: - select 是表单元素中最难美化的一个,有两种美化方式: - 1、修改源生的,修改有限,只能修改个边框,背景,字体。优点:程序方便操作;缺点:丑,浏览器之间存在很大差异。 - 2、将源生的隐藏掉,用其他元素(如div li)通过js模拟下拉交互,然后再传值给源生的select。优点:好看,兼容好;缺点:代码冗余,依赖JS,不方便操作 -*/ -/*方法一、修改源生*/ -.select-box{border:solid 1px #ddd;box-sizing:border-box;vertical-align:middle; width:100%; display:inline-block} - .select{border:solid 1px #ddd;box-sizing:border-box;cursor: pointer;line-height:normal;font-weight: normal;width:100%} -.select-box .select{ border:none} -.select-box.inline,.select-box.inline .select{ width:auto} - -.select-box, -.select-box.size-M{height:31px;padding:4px 5px} - .select,.size-M .select{font-size: 14px} - -.select-box.size-MINI{height:23px;padding:0px 5px} - .size-MINI .select{font-size: 12px} - -.select-box.size-S{height:27px;padding:3px 5px} - .size-S .select{font-size: 12px} - -.select-box.size-L{height:41px;padding:8px 5px} - .size-L .select{font-size: 16px} - -.select-box.size-XL{height:48px;padding:10px 5px} - .size-XL .select{font-size: 18px} - -@media (max-width: 767px) { - .responsive .select-box{ border:none} - .responsive .select-box .select,.responsive .select{border:solid 1px #ddd; padding:10px;font-size:16px} - .responsive .select-box,.responsive .select-box.size-M,.responsive .select-box.size-MINI,.responsive .select-box.size-S,.responsive .select-box.size-L,.responsive .select-box.size-XL{ height:auto; padding:0} -} - -/*方法二、JS模拟 - -需要引用2个js文件 - - -页面调用方法 - -*/ -.select-wrapper {position:relative; display:inline-block;font-size:14px;cursor:default} -.select-default{zoom: 1;display:block; padding-left:10px; padding-right:30px;background-color:#fff;border:solid 1px #d0d0d0;height:34px;line-height:34px} -.jsselect.radius{ overflow:visible} -.jsselect.radius .select-default{ border-radius:4px} -.jsselect.radius .select-list{border-radius:4px;border-top-left-radius:0;border-top-right-radius:0} -.select-icon {position: absolute;height:8px;width:12px;right:10px;top:50%; margin-top:-4px;background: url(../images/iconpic-arrow-down2.png) no-repeat center} -.select-icon:hover {} -.unselectable {-moz-user-select: none;-khtml-user-select: none;-webkit-user-select: none;-o-user-select: none;user-select: none} -.select-list {position:absolute;left:0; right:0;top:100%;z-index:1;line-height:34px;max-height:320px; overflow:auto;_height:expression(this.scrollHeight > 319 ? "320px" : "auto");background-color:#fff;background-clip: padding-box;-moz-box-shadow:0 1px 2px rgba(0, 1, 1, 0.2);-webkit-box-shadow:0 1px 2px rgba(0, 1, 1, 0.2);box-shadow:0 1px 2px rgba(0, 1, 1, 0.2);box-sizing:border-box;border:solid 1px #d0d0d0;behavior: url(../lib/ie-css3.htc)} -.select-item {margin: 0;padding: 0} -.select-option {background:#fff;line-height:34px;text-align:left;white-space:nowrap; cursor:pointer; border-bottom:1px solid #f2f2f2; padding:0 10px} -.select-item .selected {background-color:#148cf1;color:#fff} - -/*3.4.4 input-file 文件上传 - Example: - - 󰀠 浏览文件 - - Explain:把文件选择域设为透明,通过绝对定位覆盖在长的好看的按钮上面。 -*/ -.btn-upload{position: relative; display:inline-block;height:31px; *display:inline;overflow:hidden;vertical-align:middle;cursor:pointer} - .upload-url{cursor: pointer; width:300px} - .input-file{position:absolute; right:0; top:0; cursor: pointer; z-index:1; font-size:30em;opacity:0;filter: alpha(opacity=0)} -.form-group .upload-btn{ margin-left:-1px} -.btn-upload .icon-add,.btn-upload .icon-minus{cursor: pointer;display: inline-block;font-family: Arial;font-size: 30px;height: 31px;line-height: 31px;text-align: center;vertical-align: middle;width: 36px} -@media (max-width: 767px) { - /*.btn-upload{ position:static} - .input-file{ position:static; opacity:1; font-size:16px}*/ - .upload-btn{ display:none} - .upload-url{ display:none} -} - -/*数字表单*/ -.numberControlBox{display:inline-block;overflow:hidden;vertical-align: middle} -.ncb-up,.ncb-down{font-size:0px;display:block;height:10px;background-color:#f4f4f4;background:-moz-linear-gradient(top,rgb(255,255,255) 0%,rgb(230,230,230) 50%,rgb(255,255,255) 100%);width:24px;border:1px solid #d1d1d1;cursor:pointer} -.ncb-up{margin-bottom:1px} -.numberControlBox .ncb_ico{display:block;height:10px;background-image:url(../img/icon-arrow.png);background-repeat:no-repeat} -.ncb-up .ncb_ico{background-position: -22px center} -.ncb-down .ncb_ico{background-position: 1px center} -.ncb_btn_hover{border:1px solid #9dc7e7;background-color:#dff2fc;background:-moz-linear-gradient(top,rgb(255,255,255) 0%,rgb(210,237,250) 50%,rgb(255,255,255) 100%)} -.ncb_btn_selected{border:1px solid #6198c2;background-color:#aee1fb;background:-moz-linear-gradient(top,rgb(255,255,255) 0%,rgb(174,225,251) 50%,rgb(255,255,255) 100%)} -.input-text[type="number"]{width:80px} - -/*3.4.5 表单布局*/ -label,.placeholder{font-size:14px} -.form legend{font-size:20px}/*表单名称*/ -.form .row{margin-top:15px}/*表单行*/ - .form-label{display:block; color:#555}/*表单标题*/ - .formControls{position:relative}/*表单控制区*/ - .formControls > *{vertical-align:middle} - .placeholder{position:absolute; left:4px; top:4px;color:#c6c6c6; cursor:text}/*表单默认值*/ -.form-horizontal .row{display:table;width:100%} -.form-horizontal .form-label{margin-top:3px;cursor:text;text-align:right;padding-right:10px} -.form-horizontal .formControls{ padding-right:10px} -.form-horizontal .Validform_checktip{ margin-top:5px} -/*设置placeholder颜色*/ -::-webkit-input-placeholder {color:#b3b3b3}/* WebKit browsers */ -:-moz-placeholder {color:#b3b3b3}/* Mozilla Firefox 4 to 18 */ -::-moz-placeholder {color:#b3b3b3}/* Mozilla Firefox 19+ */ -:-ms-input-placeholder {color:#b3b3b3}/* Internet Explorer 10+ */ -.placeholder{color:#adb0be; position:absolute; z-index:9}/*不兼容placeholder属性的浏览器,可使用表单默认值*/ -@media (max-width: 767px) { - .responsive .form-label{ text-align:left;padding-right:0; font-size:16px; float:none} - .responsive .formControls{ padding-right:0; float:none; margin-top:10px} -} -/*3.4.6 表单验证*/ -/*文本框的错误状态*/ -.Validform_error{background-color:#fbe2e2; border-color:#c66161; color:#c00} -.Validform_wrong,.Validform_right,.Validform_warning{display:inline-block;height:20px;font-size:12px;vertical-align:middle; padding-left:25px} -/*错误*/ -.Validform_wrong{background:url(../images/icon_error_s.png) no-repeat 0 center;color:#ef392b} -/*正确*/ -.Validform_right{background:url(../images/icon_right_s.png) no-repeat 0 center} -/*警告*/ -.Validform_warning{background:url(../images/icon_warning_s.png) no-repeat 0 center;color:#777} - -/*密码等级*/ -.passwordStrength b{font-weight:400} -.passwordStrength b,.passwordStrength span{display:inline-block; vertical-align:middle;line-height:16px;line-height:18px\9;height:16px} -.passwordStrength span{width:57px;text-align:center;background-color:#d0d0d0; border-right:1px solid #fff} -.passwordStrength .last{border-right:none} -.passwordStrength .bgStrength{color:#fff;background-color:#fcc900} -/*Validform对话框*/ -#Validform_msg{font-size:14px;width:300px; -webkit-box-shadow:2px 2px 3px #aaa; -moz-box-shadow:2px 2px 3px #aaa; background:#fff; position:absolute; top:0px; right:50px; z-index:99999; display:none;filter: progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=135, Color='#999999'); box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1)} -#Validform_msg .iframe{position:absolute; left:0px; top:-1px; z-index:-1} -#Validform_msg .Validform_title{font-size:20px; padding:10px;text-align:left;color:#fff; position:relative; background-color:#fcc900} -#Validform_msg a.Validform_close:link,#Validform_msg a.Validform_close:visited{position:absolute; right:8px; top:6px; color:#fff; text-decoration:none; font-family:Verdana} -#Validform_msg a.Validform_close:hover{color:#fff} -#Validform_msg .Validform_info{padding:10px;border:1px solid #bbb; border-top:none; text-align:left} -@media (max-width: 767px) { - .responsive .Validform_checktip{margin-top:10px} -} -/*3.5 按钮 - Name: style_button - Example: - Explain: btn-primary:主要|btn-info:信息|btn-success:成功|btn-warning:警告|btn-danger:危险|btn-inverse:反向|btn-link:链接 - -*/ -/*关闭*/ -.close{font-size:20px;color: #000;text-shadow: 0 1px 0 #fff;opacity: 0.2;filter: alpha(opacity=20)} -.close:hover,.close:focus{color: #000;text-decoration: none;cursor: pointer;opacity: 0.4;filter: alpha(opacity=40)} - -button.close{padding:0;cursor:pointer;background:transparent;border: 0;-webkit-appearance: none} -/*按钮*/ -.btn{display:inline-block;box-sizing:border-box;cursor:pointer;text-align:center;font-weight:400;white-space:nowrap;vertical-align: middle;-moz-padding-start:npx; -moz-padding-end:npx;border:solid 1px #ddd; background-color:#fff; width:auto;*zoom:1;*overflow:visible; - -webkit-transition:background-color .1s linear; - -moz-transition:background-color .1s linear; - -o-transition:background-color .1s linear; - transition:background-color .1s linear} -a.btn:hover,a.btn:focus,a.btn:active,a.btn.active,a.btn.disabled,a.btn[disabled]{text-decoration:none} -.btn:active,.btn.active{background-color:#ccc} -.btn:first-child{*margin-left:0} -.btn.active,.btn:active{-moz-box-shadow:0 1px 8px rgba(0, 0, 0, 0.125) inset;-webkit-box-shadow:0 1px 8px rgba(0, 0, 0, 0.125) inset; box-shadow:0 1px 8px rgba(0, 0, 0, 0.125) inset} - -/*默认——灰色 通常用于取消*/ -.btn-default{background-color:#e6e6e6;border-color:#e6e6e6} -.btn-default:hover, -.btn-default:focus, -.btn-default:active, -.btn-default.active{color:#333;background-color:#c7c7c7;border-color:#c7c7c7} - -/*主要——主色 通常用于确定、提交、购买、支付等*/ -.btn-primary{color:#fff;background-color:#5a98de; border-color:#5a98de} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active{color:#fff;background-color:#0a6999;border-color:#0a6999} - -/*次要按钮*/ -.btn-secondary{color:#fff;background-color:#3bb4f2; border-color:#3bb4f2} -.btn-secondary:hover, -.btn-secondary:focus, -.btn-secondary:active, -.btn-secondary.active{color:#fff;background-color:#0f9ae0;border-color:#0f9ae0} - -/*成功*/ -.btn-success{color:#fff;background-color:#5eb95e; border-color:#5eb95e} -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active{color:#fff;background-color:#429842;border-color:#429842} - -/*警告*/ -.btn-warning{color:#fff;background-color:#f37b1d; border-color:#f37b1d} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active{color:#fff;background-color:#c85e0b;border-color:#c85e0b} - -/*危险*/ -.btn-danger{color:#fff;background-color:#dd514c; border-color:#dd514c} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active{color:#fff;background-color:#c62b26;border-color:#c62b26} - -/*链接*/ -.btn-link{color:#0e90d2;cursor:pointer;border-color:transparent;background-color:transparent} -.btn-link:hover, -.btn-link:focus, -.btn-link:active, -.btn-link.active{color:#095f8a;text-decoration:underline;background-color:transparent} - -/*禁用状态*/ -.btn.disabled{cursor:not-allowed;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none; pointer-events:none} - -/*块级按钮*/ -.btn-block {-moz-box-sizing: border-box;display: block;padding-left: 0;padding-right: 0;width: 100%} - -/*表单组*/ -.form-group{ display:inline-block;vertical-align:middle} -.form-group .input-text{ position:relative; vertical-align:top} -.form-group.radius .input-text{border-radius:4px 0 0 4px} -.form-group.round .input-text{border-radius:1000px 0 0 1000px} -.form-group .btn{position:relative;margin-left:-1px} -.form-group.radius .btn{ border-radius:0 4px 4px 0} -.form-group.round .btn{ border-radius:0 1000px 1000px 0} - -/*3.6 图片*/ -.duang-opacity img{-webkit-transition:opacity .1s linear;-moz-transition:opacity .1s linear;-o-transition:opacity .1s linear;transition:opacity .1s linear} -.duang-opacity a:hover img,a:hover .opacity img{opacity:0.85;filter: alpha(opacity=85)} -/*3.6.1 图集效果 - Name: modal_album - Example: -
          -
          - -
          -
          《仙剑奇侠传》赵灵儿(20张)
          -
          -
          -
          -
          -
          */ -.album-item{} - .album-img{ border:1px solid #e0e0e0} - .album-img img{ display:block} - .album-title{display:block;text-align:left;padding:7px 5px;line-height:18px;color:#555;text-decoration:none;font-size:12px;border:solid 1px #e0e0e0;border-top:0} - .album-bg-Fir,.album-bg-Sec{border:1px solid #e6e6e6;border-top:1px solid #f5f5f5;height:1px;margin:0 auto;overflow:hidden} - .album-bg-Fir{ margin:0 3px} - .album-bg-Sec{ margin:0 6px} - -/*3.6.2 头像 - Name: mod_avatar - Example: -*/ -.avatar{display:inline-block;position:relative; overflow:hidden} -.avatar img{ display:block} -.avatar.radius,.avatar.radius img{border-radius:50%} -.avatar,.avatar img{width:32px; height:32px} -.avatar.size-MINI{ width:16px;height:16px} -.avatar.size-S,.avatar.size-S img{width:24px; height:24px} -.avatar.size-M,.avatar.size-M img{width:32px; height:32px}/*默认为中,可以不写,可以理解为:均码*/ -.avatar.size-L,.avatar.size-L img{width:40px; height:40px} -.avatar.size-XL,.avatar.size-XL img{width:64px; height:64px} -.avatar.size-XXL,.avatar.size-XXL img{width:100px; height:100px} -.avatar.size-XXXL,.avatar.size-XXXL img{width:128px; height:128px} - -/*3.7 图标 -H-ui采用Font Awesome 3.2.1的整套图标,因为是图标字体,所以可以像控制字体那样随心所欲改变这些图标的颜色、大小、阴影以及任何CSS能控制的属性 -*/ -.iconpic{display:inline-block; vertical-align:sub;*vertical-align:middle;_vertical-align:middle; width:16px; height:16px; background-position:center; background-repeat:no-repeat} -/*3.8 效果 - Name: style_animation - Example: -*/ -/* duang 加特效 */ -.hui-bounce,.hui-flip,.hui-flash,.hui-shake,.hui-swing,.hui-wobble,.hui-ring{-webkit-animation:1s ease;-moz-animation:1s ease;-ms-animation:1s ease;animation:1s ease} -.hui-fadein,.hui-fadeinT,.hui-fadeinR,.hui-fadeinB,.hui-fadeinL,.hui-bouncein,.hui-bounceinT,.hui-bounceinR,.hui-bounceinB,.hui-bounceinL,.hui-rotatein,.hui-rotateinLT,.hui-rotateinLB,.hui-rotateinRT,.hui-rotateinRB,.hui-flipin,.hui-flipinX,.hui-flipinY{-webkit-animation:1s ease-out backwards;-moz-animation:1s ease-out backwards;-ms-animation:1s ease-out backwards;animation:1s ease-out backwards} -.hui-fadeout,.hui-fadeoutT,.hui-fadeoutR,.hui-fadeoutB,.hui-fadeoutL,.hui-bounceout,.hui-bounceoutT,.hui-bounceoutR,.hui-bounceoutB,.hui-bounceoutL,.hui-rotateout,.hui-rotateoutLT,.hui-rotateoutLB,.hui-rotateoutRT,.hui-rotateoutRB,.hui-flipout,.hui-flipoutX,.hui-flipoutY{-webkit-animation:1s ease-in forwards;-moz-animation:1s ease-in forwards;-ms-animation:1s ease-in forwards;animation:1s ease-in forwards} - -/* 淡入 */ -.hui-fadein{-webkit-animation-name:fadein;-moz-animation-name:fadein;-ms-animation-name:fadein;animation-name:fadein} -/* 淡入-从上 */ -.hui-fadeinT{-webkit-animation-name:fadeinT;-moz-animation-name:fadeinT;-ms-animation-name:fadeinT;animation-name:fadeinT} -/* 淡入-从右 */ -.hui-fadeinR{-webkit-animation-name:fadeinR;-moz-animation-name:fadeinR;-ms-animation-name:fadeinR;animation-name:fadeinR} -/* 淡入-从下 */ -.hui-fadeinB{-webkit-animation-name:fadeinB;-moz-animation-name:fadeinB;-ms-animation-name:fadeinB;animation-name:fadeinB} -/* 淡入-从左 */ -.hui-fadeinL{-webkit-animation-name:fadeinL;-moz-animation-name:fadeinL;-ms-animation-name:fadeinL;animation-name:fadeinL} -/* 淡出 */ -.hui-fadeout{-webkit-animation-name:fadeout;-moz-animation-name:fadeout;-ms-animation-name:fadeout;animation-name:fadeout} - -/* 淡出-向上 */ -.hui-fadeoutT{-webkit-animation-name:fadeoutT;-moz-animation-name:fadeoutT;-ms-animation-name:fadeoutT;animation-name:fadeoutT} -/* 淡出-向右 */ -.hui-fadeoutR{-webkit-animation-name:fadeoutR;-moz-animation-name:fadeoutR;-ms-animation-name:fadeoutR;animation-name:fadeoutR} -/* 淡出-向下 */ -.hui-fadeoutB{-webkit-animation-name:fadeoutB;-moz-animation-name:fadeoutB;-ms-animation-name:fadeoutB;animation-name:fadeoutB} -/* 淡出-向左 */ -.hui-fadeoutL{-webkit-animation-name:fadeoutL;-moz-animation-name:fadeoutL;-ms-animation-name:fadeoutL;animation-name:fadeoutL} - -/* 弹跳 */ -.hui-bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-ms-animation-name:bounce;animation-name:bounce} - -/* 弹入 */ -.hui-bouncein{-webkit-animation-name:bouncein;-moz-animation-name:bouncein;-ms-animation-name:bouncein;animation-name:bouncein} -/* 弹入-从上 */ -.hui-bounceinT{-webkit-animation-name:bounceinT;-moz-animation-name:bounceinT;-ms-animation-name:bounceinT;animation-name:bounceinT} -/* 弹入-从右 */ -.hui-bounceinR{-webkit-animation-name:bounceinR;-moz-animation-name:bounceinR;-ms-animation-name:bounceinR;animation-name:bounceinR} -/* 弹入-从下 */ -.hui-bounceinB{-webkit-animation-name:bounceinB;-moz-animation-name:bounceinB;-ms-animation-name:bounceinB;animation-name:bounceinB} -/* 弹入-从左 */ -.hui-bounceinL{-webkit-animation-name:bounceinL;-moz-animation-name:bounceinL;-ms-animation-name:bounceinL;animation-name:bounceinL} - -/* 弹出 */ -.hui-bounceout{-webkit-animation-name:bounceout;-moz-animation-name:bounceout;-ms-animation-name:bounceout;animation-name:bounceout} -/* 弹出-向上 */ -.hui-bounceoutT{-webkit-animation-name:bounceoutT;-moz-animation-name:bounceoutT;-ms-animation-name:bounceoutT;animation-name:bounceoutT} -/* 弹出-向右 */ -.hui-bounceoutR{-webkit-animation-name:bounceoutR;-moz-animation-name:bounceoutR;-ms-animation-name:bounceoutR;animation-name:bounceoutR} -/* 弹出-向下 */ -.hui-bounceoutB{-webkit-animation-name:bounceoutB;-moz-animation-name:bounceoutB;-ms-animation-name:bounceoutB;animation-name:bounceoutB} -/* 弹出-向左 */ -.hui-bounceoutL{-webkit-animation-name:bounceoutL;-moz-animation-name:bounceoutL;-ms-animation-name:bounceoutL;animation-name:bounceoutL} - -/* 转入 */ -.hui-rotatein{-webkit-animation-name:rotatein;-moz-animation-name:rotatein;-ms-animation-name:rotatein;animation-name:rotatein} -/* 转入-从左上 */ -.hui-rotateinLT{-webkit-animation-name:rotateinLT;-moz-animation-name:rotateinLT;-ms-animation-name:rotateinLT;animation-name:rotateinLT} -/* 转入-从左下 */ -.hui-rotateinLB{-webkit-animation-name:rotateinLB;-moz-animation-name:rotateinLB;-ms-animation-name:rotateinLB;animation-name:rotateinLB} -/* 转入-从右上 */ -.hui-rotateinRT{-webkit-animation-name:rotateinRT;-moz-animation-name:rotateinRT;-ms-animation-name:rotateinRT;animation-name:rotateinRT} -/* 转入-从右下*/ -.hui-rotateinRB{-webkit-animation-name:rotateinRB;-moz-animation-name:rotateinRB;-ms-animation-name:rotateinRB;animation-name:rotateinRB} - -/* 转出 */ -.hui-rotateout{-webkit-animation-name:rotateout;-moz-animation-name:rotateout;-ms-animation-name:rotateout;animation-name:rotateout} -/* 转出-向左上 */ -.hui-rotateoutLT{-webkit-animation-name:rotateoutLT;-moz-animation-name:rotateoutLT;-ms-animation-name:rotateoutLT;animation-name:rotateoutLT} -/* 转出-向左下 */ -.hui-rotateoutLB{-webkit-animation-name:rotateoutLB;-moz-animation-name:rotateoutLB;-ms-animation-name:rotateoutLB;animation-name:rotateoutLB} -/* 转出-向右上 */ -.hui-rotateoutRT{-webkit-animation-name:rotateoutRT;-moz-animation-name:rotateoutRT;-ms-animation-name:rotateoutRT;animation-name:rotateoutRT} -/* 转出-向右下 */ -.hui-rotateoutRB{-webkit-animation-name:rotateoutRB;-moz-animation-name:rotateoutRB;-ms-animation-name:rotateoutRB;animation-name:rotateoutRB} - -/* 翻转 */ -.hui-flip{-webkit-animation-name:flip;-moz-animation-name:flip;-ms-animation-name:flip;animation-name:flip} -/* 翻入-X轴 */ -.hui-flipinX{-webkit-animation-name:flipinX;-moz-animation-name:flipinX;-ms-animation-name:flipinX;animation-name:flipinX} -/* 翻入-Y轴 */ -.hui-flipin,.hui-flipinY{-webkit-animation-name:flipinY;-moz-animation-name:flipinY;-ms-animation-name:flipinY;animation-name:flipinY} -/* 翻出-X轴 */ -.hui-flipoutX{-webkit-animation-name:flipoutX;-moz-animation-name:flipoutX;-ms-animation-name:flipoutX;animation-name:flipoutX} -/* 翻出-Y轴 */ -.hui-flipout,.hui-flipoutY{-webkit-animation-name:flipoutY;-moz-animation-name:flipoutY;-ms-animation-name:flipoutY;animation-name:flipoutY} - -/* 闪烁 */ -.hui-flash{-webkit-animation-name:flash;-moz-animation-name:flash;-ms-animation-name:flash;animation-name:flash} -/* 震颤 */ -.hui-shake{-webkit-animation-name:shake;-moz-animation-name:shake;-ms-animation-name:shake;animation-name:shake} -/* 摇摆 */ -.hui-swing{-webkit-animation-name:swing;-moz-animation-name:swing;-ms-animation-name:swing;animation-name:swing} -/* 摇晃 */ -.hui-wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-ms-animation-name:wobble;animation-name:wobble} -/* 震铃 */ -.hui-ring{-webkit-animation-name:ring;-moz-animation-name:ring;-ms-animation-name:ring;animation-name:ring} -/* define */ -/* 淡入 */ -@-webkit-keyframes fadein{ - 0%{opacity:0} - 100%{opacity:1} -} -@-moz-keyframes fadein{ - 0%{opacity:0} - 100%{opacity:1} -} -@-ms-keyframes fadein{ - 0%{opacity:0} - 100%{opacity:1} -} -@keyframes fadein{ - 0%{opacity:0} - 100%{opacity:1} -} -/* 淡入-从上 */ -@-webkit-keyframes fadeinT{ - 0%{opacity:0;-webkit-transform:translateY(-100px)} - 100%{opacity:1;-webkit-transform:translateY(0)} -} -@-moz-keyframes fadeinT{ - 0%{opacity:0;-moz-transform:translateY(-100px)} - 100%{opacity:1;-moz-transform:translateY(0)} -} -@-ms-keyframes fadeinT{ - 0%{opacity:0;-ms-transform:translateY(-100px)} - 100%{opacity:1;-ms-transform:translateY(0)} -} -@keyframes fadeinT{ - 0%{opacity:0;transform:translateY(-100px)} - 100%{opacity:1;transform:translateY(0)} -} -/* 淡入-从右 */ -@-webkit-keyframes fadeinR{ - 0%{opacity:0;-webkit-transform:translateX(100px)} - 100%{opacity:1;-webkit-transform:translateX(0)} -} -@-moz-keyframes fadeinR{ - 0%{opacity:0;-moz-transform:translateX(100px)} - 100%{opacity:1;-moz-transform:translateX(0)} -} -@-ms-keyframes fadeinR{ - 0%{opacity:0;-ms-transform:translateX(100px)} - 100%{opacity:1;-ms-transform:translateX(0)} -} -@keyframes fadeinR{ - 0%{opacity:0;transform:translateX(100px)} - 100%{opacity:1;transform:translateX(0)} -} -/* 淡入-从下 */ -@-webkit-keyframes fadeinB{ - 0%{opacity:0;-webkit-transform:translateY(100px)} - 100%{opacity:1;-webkit-transform:translateY(0)} -} -@-moz-keyframes fadeinB{ - 0%{opacity:0;-moz-transform:translateY(100px)} - 100%{opacity:1;-moz-transform:translateY(0)} -} -@-ms-keyframes fadeinB{ - 0%{opacity:0;-ms-transform:translateY(100px)} - 100%{opacity:1;-ms-transform:translateY(0)} -} -@keyframes fadeinB{ - 0%{opacity:0;transform:translateY(100px)} - 100%{opacity:1;transform:translateY(0)} -} -/* 淡入-从左 */ -@-webkit-keyframes fadeinL{ - 0%{opacity:0;-webkit-transform:translateX(-100px)} - 100%{opacity:1;-webkit-transform:translateX(0)} -} -@-moz-keyframes fadeinL{ - 0%{opacity:0;-moz-transform:translateX(-100px)} - 100%{opacity:1;-moz-transform:translateX(0)} -} -@-ms-keyframes fadeinL{ - 0%{opacity:0;-ms-transform:translateX(-100px)} - 100%{opacity:1;-ms-transform:translateX(0)} -} -@keyframes fadeinL{ - 0%{opacity:0;transform:translateX(-100px)} - 100%{opacity:1;transform:translateX(0)} -} -/* 淡出 */ -@-webkit-keyframes fadeout{ - 0%{opacity:1} - 100%{opacity:0} -} -@-moz-keyframes fadeout{ - 0%{opacity:1} - 100%{opacity:0} -} -@-ms-keyframes fadeout{ - 0%{opacity:1} - 100%{opacity:0} -} -@keyframes fadeout{ - 0%{opacity:1} - 100%{opacity:0} -} -/* 淡出-向上 */ -@-webkit-keyframes fadeoutT{ - 0%{opacity:1;-webkit-transform:translateY(0)} - 100%{opacity:0;-webkit-transform:translateY(-100px)} -} -@-moz-keyframes fadeoutT{ - 0%{opacity:1;-moz-transform:translateY(0)} - 100%{opacity:0;-moz-transform:translateY(-100px)} -} -@-ms-keyframes fadeoutT{ - 0%{opacity:1;-ms-transform:translateY(0)} - 100%{opacity:0;-ms-transform:translateY(-100px)} -} -@keyframes fadeoutT{ - 0%{opacity:1;transform:translateY(0)} - 100%{opacity:0;transform:translateY(-100px)} -} -/* 淡出-向右 */ -@-webkit-keyframes fadeoutR{ - 0%{opacity:1;-webkit-transform:translateX(0)} - 100%{opacity:0;-webkit-transform:translateX(100px)} -} -@-moz-keyframes fadeoutR{ - 0%{opacity:1;-moz-transform:translateX(0)} - 100%{opacity:0;-moz-transform:translateX(100px)} -} -@-ms-keyframes fadeoutR{ - 0%{opacity:1;-ms-transform:translateX(0)} - 100%{opacity:0;-ms-transform:translateX(100px)} -} -@keyframes fadeoutR{ - 0%{opacity:1;transform:translateX(0)} - 100%{opacity:0;transform:translateX(100px)} -} -/* 淡出-向下 */ -@-webkit-keyframes fadeoutB{ - 0%{opacity:1;-webkit-transform:translateY(0)} - 100%{opacity:0;-webkit-transform:translateY(100px)} -} -@-moz-keyframes fadeoutB{ - 0%{opacity:1;-moz-transform:translateY(0)} - 100%{opacity:0;-moz-transform:translateY(100px)} -} -@-ms-keyframes fadeoutB{ - 0%{opacity:1;-ms-transform:translateY(0)} - 100%{opacity:0;-ms-transform:translateY(100px)} -} -@keyframes fadeoutB{ - 0%{opacity:1;transform:translateY(0)} - 100%{opacity:0;transform:translateY(100px)} -} -/* 淡出-向左 */ -@-webkit-keyframes fadeoutL{ - 0%{opacity:1;-webkit-transform:translateX(0)} - 100%{opacity:0;-webkit-transform:translateX(-100px)} -} -@-moz-keyframes fadeoutL{ - 0%{opacity:1;-moz-transform:translateX(0)} - 100%{opacity:0;-moz-transform:translateX(-100px)} -} -@-ms-keyframes fadeoutL{ - 0%{opacity:1;-ms-transform:translateX(0)} - 100%{opacity:0;-ms-transform:translateX(-100px)} -} -@keyframes fadeoutL{ - 0%{opacity:1;transform:translateX(0)} - 100%{opacity:0;transform:translateX(-100px)} -} -/* 弹跳 */ -@-webkit-keyframes bounce{ - 0%,20%,50%,80%,100%{-webkit-transform:translateY(0)} - 40%{-webkit-transform:translateY(-30px)} - 60%{-webkit-transform:translateY(-15px)} -} -@-moz-keyframes bounce{ - 0%,20%,50%,80%,100%{-moz-transform:translateY(0)} - 40%{-moz-transform:translateY(-30px)} - 60%{-moz-transform:translateY(-15px)} -} -@-ms-keyframes bounce{ - 0%,20%,50%,80%,100%{-ms-transform:translateY(0)} - 40%{-ms-transform:translateY(-30px)} - 60%{-ms-transform:translateY(-15px)} -} -@keyframes bounce{ - 0%,20%,50%,80%,100%{transform:translateY(0)} - 40%{transform:translateY(-30px)} - 60%{transform:translateY(-15px)} -} -/* 弹入 */ -@-webkit-keyframes bouncein{ - 0%{opacity:0;-webkit-transform:scale(0.3)} - 50%{opacity:1;-webkit-transform:scale(1.05)} - 70%{-webkit-transform:scale(0.9)} - 100%{-webkit-transform:scale(1)} -} -@-moz-keyframes bouncein{ - 0%{opacity:0;-moz-transform:scale(0.3)} - 50%{opacity:1;-moz-transform:scale(1.05)} - 70%{-moz-transform:scale(0.9)} - 100%{-moz-transform:scale(1)} -} -@-ms-keyframes bouncein{ - 0%{opacity:0;-ms-transform:scale(0.3)} - 50%{opacity:1;-ms-transform:scale(1.05)} - 70%{-ms-transform:scale(0.9)} - 100%{-ms-transform:scale(1)} -} -@keyframes bouncein{ - 0%{opacity:0;transform:scale(0.3)} - 50%{opacity:1;transform:scale(1.05)} - 70%{transform:scale(0.9)} - 100%{transform:scale(1)} -} -/* 弹入-从上 */ -@-webkit-keyframes bounceinT{ - 0%{opacity:0;-webkit-transform:translateY(-100px)} - 60%{opacity:1;-webkit-transform:translateY(30px)} - 80%{-webkit-transform:translateY(-10px)} - 100%{-webkit-transform:translateY(0)} -} -@-moz-keyframes bounceinT{ - 0%{opacity:0;-moz-transform:translateY(-100px)} - 60%{opacity:1;-moz-transform:translateY(30px)} - 80%{-moz-transform:translateY(-10px)} - 100%{-moz-transform:translateY(0)} -} -@-ms-keyframes bounceinT{ - 0%{opacity:0;-ms-transform:translateY(-100px)} - 60%{opacity:1;-ms-transform:translateY(30px)} - 80%{-ms-transform:translateY(-10px)} - 100%{-ms-transform:translateY(0)} -} -@keyframes bounceinT{ - 0%{opacity:0;transform:translateY(-100px)} - 60%{opacity:1;transform:translateY(30px)} - 80%{transform:translateY(-10px)} - 100%{transform:translateY(0)} -} -/* 弹入-从右 */ -@-webkit-keyframes bounceinR{ - 0%{opacity:0;-webkit-transform:translateX(100px)} - 60%{opacity:1;-webkit-transform:translateX(-30px)} - 80%{-webkit-transform:translateX(10px)} - 100%{-webkit-transform:translateX(0)} -} -@-moz-keyframes bounceinR{ - 0%{opacity:0;-moz-transform:translateX(100px)} - 60%{opacity:1;-moz-transform:translateX(-30px)} - 80%{-moz-transform:translateX(10px)} - 100%{-moz-transform:translateX(0)} -} -@-ms-keyframes bounceinR{ - 0%{opacity:0;-ms-transform:translateX(100px)} - 60%{opacity:1;-ms-transform:translateX(-30px)} - 80%{-ms-transform:translateX(10px)} - 100%{-ms-transform:translateX(0)} -} -@keyframes bounceinR{ - 0%{opacity:0;transform:translateX(100px)} - 60%{opacity:1;transform:translateX(-30px)} - 80%{transform:translateX(10px)} - 100%{transform:translateX(0)} -} -/* 弹入-从下 */ -@-webkit-keyframes bounceinB{ - 0%{opacity:0;-webkit-transform:translateY(100px)} - 60%{opacity:1;-webkit-transform:translateY(-30px)} - 80%{-webkit-transform:translateY(10px)} - 100%{-webkit-transform:translateY(0)} -} -@-moz-keyframes bounceinB{ - 0%{opacity:0;-moz-transform:translateY(100px)} - 60%{opacity:1;-moz-transform:translateY(-30px)} - 80%{-moz-transform:translateY(10px)} - 100%{-moz-transform:translateY(0)} -} -@-ms-keyframes bounceinB{ - 0%{opacity:0;-ms-transform:translateY(100px)} - 60%{opacity:1;-ms-transform:translateY(-30px)} - 80%{-ms-transform:translateY(10px)} - 100%{-ms-transform:translateY(0)} -} -@keyframes bounceinB{ - 0%{opacity:0;transform:translateY(100px)} - 60%{opacity:1;transform:translateY(-30px)} - 80%{transform:translateY(10px)} - 100%{transform:translateY(0)} -} -/* 弹入-从左 */ -@-webkit-keyframes bounceinL{ - 0%{opacity:0;-webkit-transform:translateX(-100px)} - 60%{opacity:1;-webkit-transform:translateX(30px)} - 80%{-webkit-transform:translateX(-10px)} - 100%{-webkit-transform:translateX(0)} -} -@-moz-keyframes bounceinL{ - 0%{opacity:0;-moz-transform:translateX(-100px)} - 60%{opacity:1;-moz-transform:translateX(30px)} - 80%{-moz-transform:translateX(-10px)} - 100%{-moz-transform:translateX(0)} -} -@-ms-keyframes bounceinL{ - 0%{opacity:0;-ms-transform:translateX(-100px)} - 60%{opacity:1;-ms-transform:translateX(30px)} - 80%{-ms-transform:translateX(-10px)} - 100%{-ms-transform:translateX(0)} -} -@keyframes bounceinL{ - 0%{opacity:0;transform:translateX(-100px)} - 60%{opacity:1;transform:translateX(30px)} - 80%{transform:translateX(-10px)} - 100%{transform:translateX(0)} -} -/* 弹出 */ -@-webkit-keyframes bounceout{ - 0%{-webkit-transform:scale(1)} - 25%{-webkit-transform:scale(0.95)} - 50%{opacity:1;-webkit-transform:scale(1.1)} - 100%{opacity:0;-webkit-transform:scale(0.3)} -} -@-moz-keyframes bounceout{ - 0%{-moz-transform:scale(1)} - 25%{-moz-transform:scale(0.95)} - 50%{opacity:1;-moz-transform:scale(1.1)} - 100%{opacity:0;-moz-transform:scale(0.3)} -} -@-ms-keyframes bounceout{ - 0%{-ms-transform:scale(1)} - 25%{-ms-transform:scale(0.95)} - 50%{opacity:1;-ms-transform:scale(1.1)} - 100%{opacity:0;-ms-transform:scale(0.3)} -} -@keyframes bounceout{ - 0%{transform:scale(1)} - 25%{transform:scale(0.95)} - 50%{opacity:1;transform:scale(1.1)} - 100%{opacity:0;transform:scale(0.3)} -} -/* 弹出-向上*/ -@-webkit-keyframes bounceoutT{ - 0%{-webkit-transform:translateY(0)} - 20%{opacity:1;-webkit-transform:translateY(20px)} - 100%{opacity:0;-webkit-transform:translateY(-100px)} -} -@-moz-keyframes bounceoutT{ - 0%{-moz-transform:translateY(0)} - 20%{opacity:1;-moz-transform:translateY(20px)} - 100%{opacity:0;-moz-transform:translateY(-100px)} -} -@-ms-keyframes bounceoutT{ - 0%{-ms-transform:translateY(0)} - 20%{opacity:1;-ms-transform:translateY(20px)} - 100%{opacity:0;-ms-transform:translateY(-100px)} -} -@keyframes bounceoutT{ - 0%{transform:translateY(0)} - 20%{opacity:1;transform:translateY(20px)} - 100%{opacity:0;transform:translateY(-100px)} -} -/* 弹出-向右*/ -@-webkit-keyframes bounceoutR{ - 0%{-webkit-transform:translateX(0)} - 20%{opacity:1;-webkit-transform:translateX(-20px)} - 100%{opacity:0;-webkit-transform:translateX(100px)} -} -@-moz-keyframes bounceoutR{ - 0%{-moz-transform:translateX(0)} - 20%{opacity:1;-moz-transform:translateX(-20px)} - 100%{opacity:0;-moz-transform:translateX(100px)} -} -@-ms-keyframes bounceoutR{ - 0%{-ms-transform:translateX(0)} - 20%{opacity:1;-ms-transform:translateX(-20px)} - 100%{opacity:0;-ms-transform:translateX(100px)} -} -@keyframes bounceoutR{ - 0%{transform:translateX(0)} - 20%{opacity:1;transform:translateX(-20px)} - 100%{opacity:0;transform:translateX(100px)} -} -/* 弹出-向下 */ -@-webkit-keyframes bounceoutB{ - 0%{-webkit-transform:translateY(0)} - 20%{opacity:1;-webkit-transform:translateY(-20px)} - 100%{opacity:0;-webkit-transform:translateY(100px)} -} -@-moz-keyframes bounceoutB{ - 0%{-moz-transform:translateY(0)} - 20%{opacity:1;-moz-transform:translateY(-20px)} - 100%{opacity:0;-moz-transform:translateY(100px)} -} -@-ms-keyframes bounceoutB{ - 0%{-ms-transform:translateY(0)} - 20%{opacity:1;-ms-transform:translateY(-20px)} - 100%{opacity:0;-ms-transform:translateY(100px)} -} -@keyframes bounceoutB{ - 0%{transform:translateY(0)} - 20%{opacity:1;transform:translateY(-20px)} - 100%{opacity:0;transform:translateY(100px)} -} -/* 弹出-向左 */ -@-webkit-keyframes bounceoutL{ - 0%{-webkit-transform:translateX(0)} - 20%{opacity:1;-webkit-transform:translateX(20px)} - 100%{opacity:0;-webkit-transform:translateX(-100px)} -} -@-moz-keyframes bounceoutL{ - 0%{-moz-transform:translateX(0)} - 20%{opacity:1;-moz-transform:translateX(20px)} - 100%{opacity:0;-moz-transform:translateX(-100px)} -} -@-ms-keyframes bounceoutL{ - 0%{-ms-transform:translateX(0)} - 20%{opacity:1;-ms-transform:translateX(20px)} - 100%{opacity:0;-ms-transform:translateX(-100px)} -} -@keyframes bounceoutL{ - 0%{transform:translateX(0)} - 20%{opacity:1;transform:translateX(20px)} - 100%{opacity:0;transform:translateX(-200px)} -} -/* 转入 */ -@-webkit-keyframes rotatein{ - 0%{opacity:0;-webkit-transform:rotate(-200deg)} - 100%{opacity:1;-webkit-transform:rotate(0)} -} -@-moz-keyframes rotatein{ - 0%{opacity:0;-moz-transform:rotate(-200deg)} - 100%{opacity:1;-moz-transform:rotate(0)} -} -@-ms-keyframes rotatein{ - 0%{opacity:0;-ms-transform:rotate(-200deg)} - 100%{opacity:1;-ms-transform:rotate(0)} -} -@keyframes rotatein{ - 0%{opacity:0;transform:rotate(-200deg)} - 100%{opacity:1;transform:rotate(0)} -} -/* 转入-从左上 */ -@-webkit-keyframes rotateinLT{ - 0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0} - 100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1} -} -@-moz-keyframes rotateinLT{ - 0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0} - 100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1} -} -@-ms-keyframes rotateinLT{ - 0%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0} - 100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1} -} -@keyframes rotateinLT{ - 0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0} - 100%{transform-origin:left bottom;transform:rotate(0);opacity:1} -} -/* 转入-从左下 */ -@-webkit-keyframes rotateineftB{ - 0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0} - 100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1} -} -@-moz-keyframes rotateineftB{ - 0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0} - 100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1} -} -@-ms-keyframes rotateineftB{ - 0%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0} - 100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1} -} -@keyframes rotateineftB{ - 0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0} - 100%{transform-origin:left bottom;transform:rotate(0);opacity:1} -} -/* 转入-从右上 */ -@-webkit-keyframes rotateinRT{ - 0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0} - 100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1} -} -@-moz-keyframes rotateinRT{ - 0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0} - 100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1} -} -@-ms-keyframes rotateinRT{ - 0%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0} - 100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1} -} -@keyframes rotateinRT{ - 0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0} - 100%{transform-origin:right bottom;transform:rotate(0);opacity:1} -} -/* 转入-从右下*/ -@-webkit-keyframes rotateinRB{ - 0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0} - 100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1} -} -@-moz-keyframes rotateinRB{ - 0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0} - 100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1} -} -@-ms-keyframes rotateinRB{ - 0%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0} - 100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1} -} -@keyframes rotateinRB{ - 0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0} - 100%{transform-origin:right bottom;transform:rotate(0);opacity:1} -} -/* 转出 */ -@-webkit-keyframes rotateout{ - 0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1} - 100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0} -} -@-moz-keyframes rotateout{ - 0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1} - 100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0} -} -@-ms-keyframes rotateout{ - 0%{-ms-transform-origin:center center;-ms-transform:rotate(0);opacity:1} - 100%{-ms-transform-origin:center center;-ms-transform:rotate(200deg);opacity:0} -} -@keyframes rotateout{ - 0%{transform-origin:center center;transform:rotate(0);opacity:1} - 100%{transform-origin:center center;transform:rotate(200deg);opacity:0} -} -/* 转出-向左上 */ -@-webkit-keyframes rotateoutLT{ - 0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1} - 100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0} -} -@-moz-keyframes rotateoutLT{ - 0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1} - 100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0} -} -@-ms-keyframes rotateoutLT{ - 0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1} - 100%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0} -} -@keyframes rotateoutLT{ - 0%{transform-origin:left bottom;transform:rotate(0);opacity:1} - 100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0} -} -/* 转出-向左下 */ -@-webkit-keyframes rotateoutLB{ - 0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1} - 100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0} -} -@-moz-keyframes rotateoutLB{ - 0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1} - 100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0} -} -@-ms-keyframes rotateoutLB{ - 0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1} - 100%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0} -} -@keyframes rotateoutLB{ - 0%{transform-origin:left bottom;transform:rotate(0);opacity:1} - 100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0} -} -/* 转出-向右上 */ -@-webkit-keyframes rotateoutRT{ - 0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1} - 100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0} -} -@-moz-keyframes rotateoutRT{ - 0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1} - 100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0} -} -@-ms-keyframes rotateoutRT{ - 0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1} - 100%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0} -} -@keyframes rotateoutRT{ - 0%{transform-origin:right bottom;transform:rotate(0);opacity:1} - 100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0} -} -/* 转出-向右下 */ -@-webkit-keyframes rotateoutBR{ - 0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1} - 100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0} -} -@-moz-keyframes rotateoutBR{ - 0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1} - 100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0} -} -@-ms-keyframes rotateoutBR{ - 0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1} - 100%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0} -} -@keyframes rotateoutBR{ - 0%{transform-origin:right bottom;transform:rotate(0);opacity:1} - 100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0} -} -/* 翻转 */ -@-webkit-keyframes flip{ - 0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out} - 40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out} - 50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in} - 80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(0.95);-webkit-animation-timing-function:ease-in} - 100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in} -} -@-moz-keyframes flip{ - 0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out} - 40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out} - 50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in} - 80%{-moz-transform:perspective(400px) rotateY(360deg) scale(0.95);-moz-animation-timing-function:ease-in} - 100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in} -} -@-ms-keyframes flip{ - 0%{-ms-transform:perspective(400px) rotateY(0);-ms-animation-timing-function:ease-out} - 40%{-ms-transform:perspective(400px) translateZ(150px) rotateY(170deg);-ms-animation-timing-function:ease-out} - 50%{-ms-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-ms-animation-timing-function:ease-in} - 80%{-ms-transform:perspective(400px) rotateY(360deg) scale(0.95);-ms-animation-timing-function:ease-in} - 100%{-ms-transform:perspective(400px) scale(1);-ms-animation-timing-function:ease-in} -} -@keyframes flip{ - 0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out} - 40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out} - 50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in} - 80%{transform:perspective(400px) rotateY(360deg) scale(0.95);animation-timing-function:ease-in} - 100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in} -} -/* 翻入-X轴 */ -@-webkit-keyframes flipinX{ - 0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0} - 40%{-webkit-transform:perspective(400px) rotateX(-10deg)} - 70%{-webkit-transform:perspective(400px) rotateX(10deg)} - 100%{-webkit-transform:perspective(400px) rotateX(0);opacity:1} -} -@-moz-keyframes flipinX{ - 0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0} - 40%{-moz-transform:perspective(400px) rotateX(-10deg)} - 70%{-moz-transform:perspective(400px) rotateX(10deg)} - 100%{-moz-transform:perspective(400px) rotateX(0);opacity:1} -} -@-ms-keyframes flipinX{ - 0%{-ms-transform:perspective(400px) rotateX(90deg);opacity:0} - 40%{-ms-transform:perspective(400px) rotateX(-10deg)} - 70%{-ms-transform:perspective(400px) rotateX(10deg)} - 100%{-ms-transform:perspective(400px) rotateX(0);opacity:1} -} -@keyframes flipinX{ - 0%{transform:perspective(400px) rotateX(90deg);opacity:0} - 40%{transform:perspective(400px) rotateX(-10deg)} - 70%{transform:perspective(400px) rotateX(10deg)} - 100%{transform:perspective(400px) rotateX(0);opacity:1} -} -/* 翻入-Y轴 */ -@-webkit-keyframes flipinY{ - 0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0} - 40%{-webkit-transform:perspective(400px) rotateY(-10deg)} - 70%{-webkit-transform:perspective(400px) rotateY(10deg)} - 100%{-webkit-transform:perspective(400px) rotateY(0);opacity:1} -} -@-moz-keyframes flipinY{ - 0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0} - 40%{-moz-transform:perspective(400px) rotateY(-10deg)} - 70%{-moz-transform:perspective(400px) rotateY(10deg)} - 100%{-moz-transform:perspective(400px) rotateY(0);opacity:1} -} -@-ms-keyframes flipinY{ - 0%{-ms-transform:perspective(400px) rotateY(90deg);opacity:0} - 40%{-ms-transform:perspective(400px) rotateY(-10deg)} - 70%{-ms-transform:perspective(400px) rotateY(10deg)} - 100%{-ms-transform:perspective(400px) rotateY(0);opacity:1} -} -@keyframes flipinY{ - 0%{transform:perspective(400px) rotateY(90deg);opacity:0} - 40%{transform:perspective(400px) rotateY(-10deg)} - 70%{transform:perspective(400px) rotateY(10deg)} - 100%{transform:perspective(400px) rotateY(0);opacity:1} -} -/* 翻出-X轴 */ -@-webkit-keyframes flipoutX{ - 0%{-webkit-transform:perspective(400px) rotateX(0);opacity:1} - 100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0} -} -@-moz-keyframes flipoutX{ - 0%{-moz-transform:perspective(400px) rotateX(0);opacity:1} - 100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0} -} -@-ms-keyframes flipoutX{ - 0%{-ms-transform:perspective(400px) rotateX(0);opacity:1} - 100%{-ms-transform:perspective(400px) rotateX(90deg);opacity:0} -} -@keyframes flipoutX{ - 0%{transform:perspective(400px) rotateX(0);opacity:1} - 100%{transform:perspective(400px) rotateX(90deg);opacity:0} -} -/* 翻出-Y轴 */ -@-webkit-keyframes flipoutY{ - 0%{-webkit-transform:perspective(400px) rotateY(0);opacity:1} - 100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0} -} -@-moz-keyframes flipoutY{ - 0%{-moz-transform:perspective(400px) rotateY(0);opacity:1} - 100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0} -} -@-ms-keyframes flipoutY{ - 0%{-ms-transform:perspective(400px) rotateY(0);opacity:1} - 100%{-ms-transform:perspective(400px) rotateY(90deg);opacity:0} -} -@keyframes flipoutY{ - 0%{transform:perspective(400px) rotateY(0);opacity:1} - 100%{transform:perspective(400px) rotateY(90deg);opacity:0} -} -/* 闪烁 */ -@-webkit-keyframes flash{ - 0%,50%,100%{opacity:1} - 25%,75%{opacity:0} -} -@-moz-keyframes flash{ - 0%,50%,100%{opacity:1} - 25%,75%{opacity:0} -} -@-ms-keyframes flash{ - 0%,50%,100%{opacity:1} - 25%,75%{opacity:0} -} -@keyframes flash{ - 0%,50%,100%{opacity:1} - 25%,75%{opacity:0} -} -/* 震颤 */ -@-webkit-keyframes shake{ - 0%,100%{-webkit-transform:translateX(0)} - 10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)} - 20%,40%,60%,80%{-webkit-transform:translateX(10px)} -} -@-moz-keyframes shake{ - 0%,100%{-moz-transform:translateX(0)} - 10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)} - 20%,40%,60%,80%{-moz-transform:translateX(10px)} -} -@-ms-keyframes shake{ - 0%,100%{-ms-transform:translateX(0)} - 10%,30%,50%,70%,90%{-ms-transform:translateX(-10px)} - 20%,40%,60%,80%{-ms-transform:translateX(10px)} -} -@keyframes shake{ - 0%,100%{transform:translateX(0)} - 10%,30%,50%,70%,90%{transform:translateX(-10px)} - 20%,40%,60%,80%{transform:translateX(10px)} -} -/* 摇摆 */ -@-webkit-keyframes swing{ - 20%{-webkit-transform:rotate(15deg)} - 40%{-webkit-transform:rotate(-10deg)} - 60%{-webkit-transform:rotate(5deg)} - 80%{-webkit-transform:rotate(-5deg)} - 100%{-webkit-transform:rotate(0)} -} -@-moz-keyframes swing{ - 20%{-moz-transform:rotate(15deg)} - 40%{-moz-transform:rotate(-10deg)} - 60%{-moz-transform:rotate(5deg)} - 80%{-moz-transform:rotate(-5deg)} - 100%{-moz-transform:rotate(0)} -} -@-ms-keyframes swing{ - 20%{-ms-transform:rotate(15deg)} - 40%{-ms-transform:rotate(-10deg)} - 60%{-ms-transform:rotate(5deg)} - 80%{-ms-transform:rotate(-5deg)} - 100%{-ms-transform:rotate(0)} -} -@keyframes swing{ - 20%{transform:rotate(15deg)} - 40%{transform:rotate(-10deg)} - 60%{transform:rotate(5deg)} - 80%{transform:rotate(-5deg)} - 100%{transform:rotate(0)} -} -/* 摇晃 */ -@-webkit-keyframes wobble{ - 0%{-webkit-transform:translateX(0)} - 15%{-webkit-transform:translateX(-100px) rotate(-5deg)} - 30%{-webkit-transform:translateX(80px) rotate(3deg)} - 45%{-webkit-transform:translateX(-65px) rotate(-3deg)} - 60%{-webkit-transform:translateX(40px) rotate(2deg)} - 75%{-webkit-transform:translateX(-20px) rotate(-1deg)} - 100%{-webkit-transform:translateX(0)} -} -@-moz-keyframes wobble{ - 0%{-moz-transform:translateX(0)} - 15%{-moz-transform:translateX(-100px) rotate(-5deg)} - 30%{-moz-transform:translateX(80px) rotate(3deg)} - 45%{-moz-transform:translateX(-65px) rotate(-3deg)} - 60%{-moz-transform:translateX(40px) rotate(2deg)} - 75%{-moz-transform:translateX(-20px) rotate(-1deg)} - 100%{-moz-transform:translateX(0)} -} -@-ms-keyframes wobble{ - 0%{-ms-transform:translateX(0)} - 15%{-ms-transform:translateX(-100px) rotate(-5deg)} - 30%{-ms-transform:translateX(80px) rotate(3deg)} - 45%{-ms-transform:translateX(-65px) rotate(-3deg)} - 60%{-ms-transform:translateX(40px) rotate(2deg)} - 75%{-ms-transform:translateX(-20px) rotate(-1deg)} - 100%{-ms-transform:translateX(0)} -} -@keyframes wobble{ - 0%{transform:translateX(0)} - 15%{transform:translateX(-100px) rotate(-5deg)} - 30%{transform:translateX(80px) rotate(3deg)} - 45%{transform:translateX(-65px) rotate(-3deg)} - 60%{transform:translateX(40px) rotate(2deg)} - 75%{transform:translateX(-20px) rotate(-1deg)} - 100%{transform:translateX(0)} -} -/* 震铃 */ -@-webkit-keyframes ring{ - 0%{-webkit-transform:scale(1)} - 10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)} - 30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)} - 40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)} - 100%{-webkit-transform:scale(1) rotate(0)} -} -@-moz-keyframes ring{ - 0%{-moz-transform:scale(1)} - 10%,20%{-moz-transform:scale(0.9) rotate(-3deg)} - 30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)} - 40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)} - 100%{-moz-transform:scale(1) rotate(0)} -} -@-ms-keyframes ring{ - 0%{-ms-transform:scale(1)} - 10%,20%{-ms-transform:scale(0.9) rotate(-3deg)} - 30%,50%,70%,90%{-ms-transform:scale(1.1) rotate(3deg)} - 40%,60%,80%{-ms-transform:scale(1.1) rotate(-3deg)} - 100%{-ms-transform:scale(1) rotate(0)} -} -@keyframes ring{ - 0%{transform:scale(1)} - 10%,20%{transform:scale(0.9) rotate(-3deg)} - 30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)} - 40%,60%,80%{transform:scale(1.1) rotate(-3deg)} - 100%{transform:scale(1) rotate(0)} -} -/*4.1 按钮组 - Name: mod_btn-group - Example: -
          - 左边按钮 - 中间按钮 - 中间按钮 - 右边按钮 -
          - - Explain: -*/ -.btn-group{ font-size:0} -.btn-group .btn{ margin-left:-1px} -.btn-group .btn:not(:first-child):not(:last-child):not(.dropdown-toggle){ border-radius:0} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius: 0;border-top-right-radius: 0} -.btn-group > .btn:last-child:not(:first-child),.btn-group > .dropdown-toggle:not(:first-child) {border-bottom-left-radius: 0;border-top-left-radius: 0} - -/*4.2.1 导航条 - Name: mod_mainnav - Example: - - Explain: 鼠标经过状态a:hover,当前选中状态li:current。 -*/ -.mainnav{z-index:1;background-color:#222}/*导航条背景*/ -.mainnav > ul > li,.mainnav > ul > li > a{height:40px;line-height:40px}/*导航条高度*/ -.mainnav > ul > li{display:inline-block;color:#fff;font-size:14px;font-weight:bold}/*设置字体*/ -.mainnav > ul > li > a{display:inline-block;padding:0 18px;color:#fff;text-align:center}/*链接颜色*/ -.mainnav > ul > li > a:hover,.mainnav > ul > li.current > a{color:#fff;text-decoration:none; background-color:#000;-webkit-transition: background-color 0.3s ease 0s; -moz-transition: background-color 0.3s ease 0s; -o-transition: background-color 0.3s ease 0s; -ms-transition: background-color 0.3s ease 0s;transition: background-color 0.3s ease 0s}/*交互颜色*/ - -.Hui-nav-toggle{ display:none; position:absolute; top:0px; right:10px; padding:9px 10px; -moz-border-radius:4px;-webkit-border-radius:4px;-ms-border-radius:4px;border-radius:4px; background-color:rgba(0,0,0,0.5)} -@media (max-width: 767px) { - .mainnav > ul > li{font-size:1.125em} - .Hui-nav-toggle{ display:block} -} -@media (max-width: 480px) { - .mainnav > ul > li{text-align:center} - .mainnav > ul > li{width:20%} - .mainnav > ul > li > a{padding:0; width:100%} -} -/*4.2.2 面包屑导航 - Name: mod_breadcrumb - Example: - -*/ -.breadcrumb{border-bottom: 1px solid #E5E5E5;line-height: 39px; height:39px;padding-left:20px;overflow:hidden} -.breadcrumb span{padding:0 5px} -/*4.2.3 翻页导航 - Name: mod_pageNav - Example: - Explain: 需要调用pagenav.cn.js - -*/ -.pageNav{float:none;clear:both;font-size:0px;font-family:Arial,Helvetica,sans-serif;padding:18px 0px;text-align:center} -.pageNav span,.pageNav a,.pageNav b{font-size:14px;margin-right:5px;overflow:hidden;padding:3px 8px} -.pageNav a{border:1px solid #CCDBE4;cursor:pointer} -.pageNav b{color:#000} -.pageNav .mor{padding:3px;font-weight:bold} - -/*4.2.4 顶部导航 - Name: mod_topnav - Sample: -
          您好,欢迎来到Hui!
          - -*/ -.topnav{height:30px;line-height:30px;background:url(../images/bg_topnav.gif) repeat-x 0 0;border-bottom:1px solid #EBEBEB; font-size:12px} -.topbar{background-color: #ECECEC;border-bottom:1px solid #ddd} -.topbar a{margin-right:5px} -.r_nav{display:inline-block; color:#999} - -/*4.2.5 向导 - Name: mod_steps - Sample: -
          - 第一步 - 第二步 - 第三步 - 第四步 -
          -*/ -.steps,.step{display:inline-block;position:relative;padding:1em 2em 1em 3em;vertical-align:top;background-color:#FFF;color:#888;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box} -.step:after,.steps .step:after{position:absolute;z-index:2;content:'';top:0;right:-1.45em;border-bottom:1.5em solid transparent;border-left:1.5em solid #FFF;border-top:1.5em solid transparent;width:0;height:0} -.step,.steps .step,.steps .step:after{-webkit-transition:opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,box-shadow .1s ease} -.steps{cursor:pointer;display:inline-block;font-size:0;box-shadow:0 0 0 1px rgba(0,0,0,.1);line-height:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border-radius:.3125rem} -.steps .step:first-child{padding-left:1.35em;border-radius:.3125em 0 0 .3125em} -.steps .step:last-child{border-radius:0 .3125em .3125em 0} -.steps .step:only-child{border-radius:.3125em} -.steps .step:last-child{margin-right:0} -.steps .step:last-child:after{display:none} -.step:hover,.step.hover{background-color:#F7F7F7;color:rgba(0,0,0,.8)} -.steps .step.hover:after,.steps .step:hover:after,.step:hover,.step.hover::after{border-left-color:#F7F7F7} -.steps .step.down,.steps .step:active,.step.down,.step:active{background-color:#F0F0F0} -.steps .step.down:after,.steps .step:active:after,.steps.down::after,.steps:active::after{border-left-color:#F0F0F0} -.steps .step.active,.active.step{cursor:auto;background-color:#428BCA;color:#FFF;font-weight:700}.steps .step.active:after,.active.steps:after{border-left-color:#428BCA} -.steps .disabled.step,.disabled.step{cursor:auto;background-color:#FFF;color:#CBCBCB} -.disabled.step:after{border:0;background-color:#FFF;top:.42em;right:-1em;width:2.15em;height:2.15em;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);box-shadow:-1px -1px 0 0 rgba(0,0,0,.1) inset} -.attached.steps{margin:0;border-radius:.3125em .3125em 0 0} -.attached.steps .step:first-child{border-radius:.3125em 0 0} -.attached.steps .step:last-child{border-radius:0 .3125em 0 0} -.bottom.attached.steps{margin-top:-1px;border-radius:0 0 .3125em .3125em} -.bottom.attached.steps .step:first-child{border-radius:0 0 0 .3125em} -.bottom.attached.steps .step:last-child{border-radius:0 0 .3125em} - -/*向导数量*/ -.one.steps,.two.steps,.three.steps,.four.steps,.five.steps,.six.steps,.seven.steps,.eight.steps{display:block} -.one.steps>.step{width:100%} -.two.steps>.step{width:50%} -.three.steps>.step{width:33.333%} -.four.steps>.step{width:25%} -.five.steps>.step{width:20%} -.six.steps>.step{width:16.666%} -.seven.steps>.step{width:14.285%} -.eight.steps>.step{width:12.5%} - -/*向导尺寸*/ -.small.step,.small.steps .step{font-size:.8rem}/*小*/ -.step,.steps .step{font-size:1rem}/*默认*/ -.large.step,.large.steps .step{font-size:1.25rem}/*大*/ - -/*兼容写法 - Sample: - -*/ -.steps-ie,.step-ie,.step-ie .arrow{height:44px; line-height:44px} -.steps-ie{background-color:#eaf4fd; border:solid 1px #afcfcc} -.step-ie{position:relative;display:inline-block; float:left; cursor:pointer; padding:0 20px 0 40px; background:url(../images/step_bg.png) repeat-x 0 center} -.step-ie .arrow{position:absolute;right:-21px; top:0; width:21px; height:44px; display:block; cursor:pointer; background:url(../images/step_arrow.png) no-repeat 0 center;z-index:50} -.step-ie.active{background-image:url(../images/step_bg-active.png); color:#fff; z-index:100} -.step-ie.active .arrow{background-image:url(../images/step_arrow-active.png)} - -/*4.2.6 竖向导向tab导航 - Sample: - -*/ -.verticalTab{background:#fff url(../images/tab_bg.png) repeat-y 0 0; width:38px} -.verticalTab a{position:relative; display:block; width:18px; height:auto; text-align:center; position:relative; padding:26px 10px 6px 10px; background:url(../images/tabNav.png) no-repeat 0 0} -.verticalTab a em{position:absolute; left:0; bottom:-20px; width:38px; height:20px; background:url(../images/tabNav_right.png) no-repeat 0 0; z-index:50} -.verticalTab a.active{background-image:url(../images/tabNav-active.png); color:#fff; z-index:99} -.verticalTab a.active em{background-image:url(../images/tabNav_right-active.png)} - -/*4.2.6 横向导向tab导航 - Sample: -
            -
          • 导航一
          • -
          • 导航二
          • -
          • 导航三
          • -
          -*/ -.acrossTab{height:29px; background:url(../images/acrossTab-bg.png) repeat-x 0 0; padding-top:1px} -.acrossTab li,.acrossTab li em{background:url(../images/acrossTab.png) no-repeat 0 0} -.acrossTab li{position:relative;float:left; display:inline-block; height:29px; line-height:29px; font-size:12px;cursor:pointer;padding:0 30px; white-space:nowrap;color:#282828; background-position:0 0} -.acrossTab li em{position:absolute; width:23px;height:29px;right:-20px; top:0;z-index:50; background-position:right -30px} -.acrossTab li:hover{background-position:0 -60px} -.acrossTab li:hover em{background-position:right -90px} -.acrossTab li.active{background-position:0 -120px; z-index:99} -.acrossTab li.active em{background-position:right -150px} -.acrossTab li i{position:absolute; display:block; width:13px; height:13px; top:50%; margin-top:-6px; right:5px; font-size:0; line-height:0; cursor:pointer; background:url(../images/acrossTab-close.png) no-repeat 0 0} -.acrossTab li i:hover{background-position:0 bottom} - -/*4.3 下拉菜单 - Name: mod_dropDown - Example: 下拉菜单span> - Explain: 如需要在不同的地方显示不同的样式,请在 追加class,采用覆盖的方式重写默认样式。 - -*/ -.dropDown{display:inline-block} -.dropDown_A{display:inline-block} -.dropDown_A i{transition-duration:0.3s ;transition-property:all} -.dropDown-menu{ display:none;transition: all 0.3s ease 0s} -.dropDown:focus,.dropDown-menu:focus {outline:0} -.dropDown-menu li.arrow{ position:absolute;display:block; width:12px; height:8px; margin-top:-13px; margin-left:20%; line-height:0;background:url(../images/icon-jt.png) no-repeat 0 0} -/*鼠标经过*/ -.dropDown.hover .dropDown_A,.dropDown.open .dropDown_A{text-decoration:none;background-color:rgba(255,255,255,0.2)} -.dropDown.hover .dropDown_A i,.dropDown.open .dropDown_A i{transform: rotate(180deg);transition-duration:0.3s ;transition-property:all;_background-position:0 0} -/*打开菜单*/ -.dropDown.open{position:relative;z-index:990} -.dropDown.open .dropDown-menu{position:absolute;z-index:1000;display:inline-block;top:100%;left:-1px;min-width:100%;background-color:#fff;border:solid 1px #f2f2f2}/*默认左对齐*/ -.dropDown.open .dropDown-menu.box-shadow{ border-top-left-radius:0;border-top-right-radius:0} -.dropDown.open .dropDown-menu.radius{ border-top:none} -/*右对齐*/ -.dropDown.open.right .dropDown-menu{right:-1px!important;left:auto!important} -.dropDown.open .dropDown-menu li{float:none;display:inline} -.dropDown-menu li a{display:block;clear: both;border-bottom:solid 1px #f2f2f2;margin-bottom:-1px;padding:0px 20px; height:30px; line-height:30px; font-size:12px;text-align:left;font-weight: normal;white-space:nowrap} -.dropDown-menu li:last-child a{ border-bottom:none} -.dropDown-menu li a:hover,.dropDown-menu li a:focus{background-color:#f0f1f2;text-decoration:none} -/*禁用菜单*/ -.dropDown.open .dropDown-menu .disabled a,.dropDown.open .dropdown-menu .disabled a:hover,.dropDown.open .dropdown-menu .disabled a:focus{color:#999;text-decoration:none; cursor:no-drop; background-color:transparent} -.dropDown.open .dropDown-menu li.divider{ display:block;height:0px; line-height:0px;margin:9px 0;overflow:hidden; border-top:solid 1px #eee} - -/*4.4 幻灯片 - Name: module_slider - Sample: -
          - - -
            -
          • -
          • -
          • -
          -
          - - - Explain: 默认dots为圆点,在slider后面追加numSlider样式就变成带数字的方框,boxSlider为不带数字长方条 -*/ -.slider{position:relative;text-align:center; margin:0 auto} -.slider .tabcon li{float: left;overflow:hidden} -.dots{position:absolute; left:0;right:0px;bottom:10px;text-align:center} -.dots span{display:inline-block;text-align:center;width:8px; height:8px; font-size:0px;line-height:0px;margin-right:8px;cursor:pointer; background-color:#C2C2C2;border-radius:8px} -.dots span.active{background-color:#222} -.numSlider .dots span{width:20px; height:20px; line-height:20px; font-size:13px; margin-right:10px;line-height:20px;background-color:#fff;font-family:Arial;font-weight:bold; text-indent:inherit;border-radius:0px} -.numSlider .dots span.active{background-color:#222;color:#fff} -.boxSlider .dots span{width:40px; height:10px;border-radius:0px} -.boxRadius .dots span{width:40px} - -.unslider-arrow{display:block; position:absolute; top:50%; margin-top:-25px;height: 50px;width: 50px; z-index:3;opacity: 0.7;filter: alpha(opacity=70); background-color:#303030; background-image:url(../images/unslider-arrow.png); background-repeat:no-repeat} -.unslider-arrow:hover{opacity: 1;filter: alpha(opacity=100)} -.prev{left:0px; background-position:0 0} -.next{right:0px;background-position:right 0} -/*4.5 选项卡 - Name: module_slider - Sample: -
          -
          选项卡一选项卡二自适应宽度
          -
          内容一
          -
          内容二
          -
          内容三
          -
          -*/ -.tabBar {border-bottom: 2px solid #222} -.tabBar span {background-color: #e8e8e8;cursor: pointer;display: inline-block;float: left; -font-weight: bold;height: 30px;line-height: 30px;padding: 0 15px} -.tabBar span.current{background-color: #222;color: #fff} -.tabCon {display: none} -/*4.6 标签与标号 - Name: style_label - Example: 默认 - Explain: .label-default 默认|.label-primary 主要|.label-secondary 次要|.label-success 成功|.label-warning 警告|.label-danger 危险 - - Name: style_badge - Example: 默认 - Explain: .badge-default 默认|.badge-primary 主要|.badge-secondary 次要|.badge-success 成功|.badge-warning 警告|.badge-danger 危险 - -*/ -.label, .badge{display: inline-block;padding:2px 4px;font-size: 11.844px;font-weight: bold;line-height:14px;color: #fff;white-space: nowrap;vertical-align:middle;background-color: #999} -/*圆角*/ -.label.radius{border-radius: 3px} -.badge{padding-right:9px;padding-left:9px;border-radius:9px} -.label:empty, .badge:empty{display: none} -a.label:hover, a.label:focus, a.badge:hover, a.badge:focus{color: #fff;text-decoration: none;cursor: pointer} - -/*默认*/ -.label-default, .badge-default{background-color: #e6e6e6; color:#333} -.label-default[href], .badge-default[href]{background-color: #e6e6e6;color:#333} - -/*主要*/ -.label-primary, .badge-primary{background-color: #5a98de} -.label-primary[href], .badge-primary[href]{background-color: #5a98de} - -/*主要*/ -.label-secondary, .badge-secondary{background-color: #3bb4f2} -.label-secondary[href], .badge-secondary[href]{background-color: #3bb4f2} - -/*成功*/ -.label-success, .badge-success{background-color:#5eb95e} -.label-success[href], .badge-success[href]{background-color: #5eb95e} - -/*警告*/ -.label-warning, .badge-warning{background-color: #f37b1d} -.label-warning[href], .badge-warning[href]{background-color: #f37b1d} - -/*危险*/ -.label-danger, .badge-danger{background-color: #dd514c} -.label-danger[href], .badge-danger[href]{background-color: #dd514c} - -/*4.7 缩略图 - Name: style_img - Example: - Explain: 缩略图 -*/ -.imgbox{} -.img{} -.img-circle{border-radius: 50%} -@media (max-width: 480px) { - .responsive img,.thumbImage img{max-width:100%!important; height:auto!important;width:expression(this.width > 320 ? "320px" : this.width)!important} - .thumbImage {margin: auto;width: 320px} - *html .content img,*html .thumbImage img{width:expression(this.width>320&&this.width>this.height?320:auto)} -} - -/*4.8 警告 - Name: mod_Hui-alert - Example: -
          警告内容
          • ……
          - Explain: 警告,使用警告框jQuery插件 -*/ -.Huialert{position:relative;padding:8px 35px 8px 14px;margin-bottom: 20px;text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);background-color: #fcf8e3;border: 1px solid #fbeed5} -.Huialert, .Huialert h4{color: #c09853} -.Huialert h4{margin: 0} -.Huialert .Hui-iconfont{position:absolute;top:9px;right:10px;line-height: 20px;cursor:pointer; color:#000; opacity:0.2;_color:#666} -.Huialert .Hui-iconfont.hover{color:#000;opacity:0.8} -.Huialert-success{color: #468847;background-color: #dff0d8;border-color: #d6e9c6} -.Huialert-success h4{color: #468847} -.Huialert-danger{color: #b94a48;background-color: #f2dede;border-color: #eed3d7} -.Huialert-danger h4{color: #b94a48} -.Huialert-error{color: #fff;background-color: #f37b1d;border-color: #e56c0c} -.Huialert-error h4{color: #fff} -.Huialert-info{color: #31708f;background-color: #d9edf7;border-color: #bce8f1} -.Huialert-info h4{color:#31708f} -.Huialert-block{padding-top: 14px;padding-bottom: 14px} -.Huialert-block > p, .Huialert-block > ul{margin-bottom: 0} -.Huialert-block p + p{margin-top: 5px} - -/*4.9 进度条 loading - Name: mod_progress - Example: -
          - Explain: 警告,使用警告框jQuery插件 -*/ -.progress,.progress-bar,.sr-only{height:10px; font-size:0;line-height:0} -.progress{overflow:hidden; width:400px} -.progress.radius{}/*自定义圆角*/ -.progress-bar{width:100%;background-color:#efefef} -.sr-only{display:inline-block; background-color:#58b957} - -/*4.10 对话框 - Name: mod_modal - Example: -*/ -.loading{height: 50px; background: url(../images/loading_072.gif) no-repeat center} -.mask{position:fixed;top:0;left:0;z-index:999;width:100%;height:100%;background:url(../images/backdrop.png) repeat 0 0;-moz-transition:all 0.3s ease-in;-webkit-transition:all 0.3s ease-in;-o-transition:all 0.3s ease-in;transition:all 0.3s ease-in} - -* html .mask{position:absolute;left:expression(documentElement.scrollLeft + documentElement.clientWidth - this.offsetWidth);top:expression(documentElement.scrollTop + documentElement.clientHeight - this.offsetHeight)} - -/*Huimodal*/ -.modal-open{overflow:hidden}/*当弹出层出现时,隐藏body右侧滚动条*/ -.page-overflow{margin-right:16px}/*隐藏body滚动条时,页面偏移*/ -.modal-scrollable{position:fixed;top:0;right:0;bottom:0;left:0;overflow: auto}/*弹出层的最外层,全屏,用户响应点击和滚动*/ -.modal-overflow .modal-scrollable{overflow-y:scroll}/*弹窗超出屏幕高度时,弹出层替代body右侧滚动条,实现弹出层的整体滚动*/ -.modal-backdrop {position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1040;background-color:#000}/*默认遮罩层,全屏黑色*/ -* html .modal-backdrop{position:absolute;left:expression(documentElement.scrollLeft + documentElement.clientWidth - this.offsetWidth);top:expression(documentElement.scrollTop + documentElement.clientHeight - this.offsetHeight)}/*解决IE下 遮罩层兼容性*/ -.modal-backdrop.fade {opacity:0;filter: alpha(opacity=0)}/*遮罩层失去时,透明度为0*/ -.modal-backdrop,.modal-backdrop.fade.in {opacity: 0.7;filter: alpha(opacity=70)}/*遮罩层进入 0.7透明度*/ -.modal {position:absolute;top:50%;left:50%; width:500px;margin-left:-250px;z-index:1050;overflow: visible;background-color: #fff;background-clip: padding-box; - box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - -webkit-background-clip:padding-box; - -khtml-background-clip:padding-box; - -moz-background-clip:padding-box; - -ms-background-clip:padding-box; - -o-background-clip:padding-box; - background-clip:padding-box; - border-radius:6px; - border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999}/*弹出层,绝对定位,默认【宽度500px,高度自适应,背景白色,6px圆角,带阴影】,自定义宽度可在data-width中设置参数*/ -.fade {opacity: 0;filter: alpha(opacity=0);-webkit-transition: opacity 0.2s linear;-moz-transition: opacity 0.2s linear;-o-transition: opacity 0.2s linear;transition: opacity 0.2s linear} -.fade.in {opacity: 1;filter: alpha(opacity=100)} -.modal.fade {top: -100%}/*弹出层进入动画效果*/ -.modal.fade.in{top:50%}/*弹出层进入后居顶距离,配合margin-top负值,实现上下自动居中*/ -.modal.modal-overflow.fade.in{top:0px}/*如果弹出层高度大于窗口,弹出窗口距顶0像素*/ -.loading-spinner {position: absolute;top: 50%;left: 50%;margin: -12px 0 0 -12px}/*Ajax加载数据时loading*/ - /*弹出层header区*/ - .modal-header {padding: 9px 15px;border-bottom: 1px solid #eee; position:relative}/*弹出层头部*/ - .modal-header .close{position:absolute; right:10px; top:10px}/*关闭按钮,请调用4.1.1 按钮 .close*/ - .modal-header h3{margin:0}/*标题*/ - .modal-body {overflow-y:visible;padding: 15px} /*内容不限高度,内填充15px,不满意可自行修改*/ - .modal-form {margin-bottom: 0} /*弹出层表单*/ - /*弹出层footer区,放按钮*/ - .modal-footer {padding: 14px 15px 15px;margin-bottom: 0;text-align: right;background-color: #f5f5f5;border-top: 1px solid #ddd;*zoom: 1;border-radius: 0 0 6px 6px;box-shadow: inset 0 1px 0 #fff} - .modal-footer:before,.modal-footer:after {display: table;content: ""} - .modal-footer:after {clear: both} - .modal-footer .btn + .btn {margin-left: 5px;margin-bottom: 0} - .modal-footer .btn-group .btn + .btn {margin-left: -1px} -.modal-alert{position:fixed; width:300px;margin-left:-150px; margin-top:-30px; z-index:9999} -.modal-alert-info{padding:30px; text-align:center; font-size:14px; background-color:#fff} - -.mask_box{background-image:none;display:none;z-index:99} -.hover .mask_box{position:absolute;bottom:0px; left:0px;display:block;background:url(../images/backdrop.png) repeat 0 0;text-align:left} -.easyDialog_wrapper{width:320px; color:#444; border:3px solid rgba(0,0,0,0);border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,0.4); display:none} -.easyDialog_wrapper .easyDialog_content{border-radius:4px; background:#fff; border:1px solid #e5e5e5} -.easyDialog_wrapper .easyDialog_title{height:30px; line-height:30px; overflow:hidden; color:#666; padding:0 10px; font-size:14px; border-bottom:1px solid #e5e5e5; background:#f7f7f7; border-radius:4px 4px 0 0; margin:0 } -.easyDialog_wrapper .close_btn{font-family:arial; font-size:18px; _font-size:12px; font-weight:700; color:#999; text-decoration:none; float:right} -.easyDialog_wrapper .close_btn:hover{color:#333} -.easyDialog_wrapper .easyDialog_text{padding:25px 10px; font-size:13px; line-height:22px} -.easyDialog_wrapper .easyDialog_footer{padding:10px; text-align:right; *zoom:1} -.easyDialog_wrapper .easyDialog_footer:after{content:''; display:block; height:0; overflow:hidden; visibility:hidden; clear:both} -.easyDialog_wrapper .btn_highlight,.easyDialog_wrapper .btn_normal{border:1px solid; border-radius:2px; cursor:pointer;float:right; font-size:12px; padding:0 12px; height:24px; line-height:24px; margin-bottom:10px} -.easyDialog_wrapper .btn_highlight{background:#4787ed; background:-webkit-gradient(linear,center bottom,center top,from(#4787ed),to(#4d90fe)); background:-moz-linear-gradient(90deg, #4787ed, #4d90fe); border-color:#3079ed; color:#fff} -.easyDialog_wrapper .btn_normal{margin-left:10px; border-color:#c3c3c3; background:#ececec; color:#333; background:-webkit-gradient(linear,center bottom,center top,from(#ececec),to(#f4f4f4)); background:-moz-linear-gradient(90deg,#ececec,#f4f4f4)} - -.modal-open .dropdown-menu {z-index: 2050} -.modal-open .dropdown.open {*z-index: 2050} -.modal-open .popover {z-index: 2060} -.modal-open .tooltip {z-index: 2070} - -/*4.12 返回顶部 - Name: mod_totop - Level: Global - Example: - Explain: 返回顶部 -*/ -.toTop{position:fixed;bottom:10px;right:20px; z-index:999;display:none; font-size:16px;cursor: pointer;overflow:hidden;visibility:visible; background-color:#fff;border: 1px solid #d9d9d9;color: #9c9c9c;font-size: 16px;width: 38px;height: 38px;line-height: 38px;text-align: center; text-decoration:none;_position:absolute;_top:expression(documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight)} -.toTop:hover{ color:#fff; text-decoration:none; background-color:#999} - -/*4.13 分享到 - Name: mod_share - Example: - - Explain: 分享到 直接调用百度分享,http://share.baidu.com/code - -*/ -/*4.14 Panel 面板 - Name: mod_panel - Sample: -
          -
          默认面板
          -
          -*/ -.panel{ background-color:#fff; border:solid 1px transparent} - .panel-header{ border-bottom:solid 1px transparent; padding:8px 15px; font-size:14px; font-weight:700}/*面板标题*/ - .panel-body{ padding:15px}/*面板内容*/ - .panel-footer{background-color: #f5f5f5;border-top: 1px solid #ddd;padding:5px 20px}/*面板页脚*/ -/*默认面板*/ -.panel-default{border-color:#ddd;} -.panel-default > .panel-header{ border-color:#ddd; background-color:#f5f5f5; color:#444} - -/*主要面板*/ -.panel-primary{border-color:#5a98de;} -.panel-primary > .panel-header{ border-color:#5a98de; background-color:#5a98de; color:#fff} - -/*次要面板*/ -.panel-secondary{border-color:#3bb4f2;} -.panel-secondary > .panel-header{ border-color:#3bb4f2; background-color:#3bb4f2; color:#fff} - -/*成功面板*/ -.panel-success{border-color:#5eb95e;} -.panel-success > .panel-header{ border-color:#5eb95e; background-color:#5eb95e; color:#fff} - -/*警告面板*/ -.panel-warning{border-color:#f37b1d;} -.panel-warning > .panel-header{ border-color:#f37b1d; background-color:#f37b1d; color:#fff} - -/*危险面板*/ -.panel-danger{border-color:#dd514c;} -.panel-danger > .panel-header{ border-color:#dd514c; background-color:#dd514c; color:#fff} - -/*4.15 案例 - Name: mod_docs-example - Example:
          ……
          -*/ -.docs-example{position:relative;*position:static;*padding-top: 19px;margin: 15px 0;padding: 39px 19px 14px;background-color: #fff;border: 1px solid #ddd;border-radius: 4px} -.docs-example:after{content: "Example";position: absolute;top: -1px;left: -1px;*position:static;padding: 3px 7px;font-size: 12px;font-weight: bold;background-color: #f5f5f5;border: 1px solid #ddd;color: #9da0a4;border-radius: 4px 0 4px 0} -/*4.16 滚动 - Name: mod_rolling - Example:
          • ……
          -*/ -.marquee{height:22px;overflow:hidden;line-height:22px} -.rollpic .prev,.rollpic .next{display:block; height:38px; width:38px; cursor:pointer; float:left; background:url(../images/unslider-arrow2.png) no-repeat 0 0; margin-top:70px} -.rollpic .prev{background-position:0 0; margin-right:5px} -.rollpic .prev:hover{background-position:0 -38px} -.rollpic .next{background-position:0 -76px;margin-left:5px} -.rollpic .next:hover{background-position:0 -114px} -.rollpicshow{float:left; border:solid 1px #ddd} -.rollpicshow li{padding:10px} -/*4.17 搜索条 - Name: mod_searchBar - Sample: - -*/ -.searchBar{z-index: 100; width:460px;height: 33px;background:url(../images/search.gif) no-repeat 0 -48px;position:relative} - .form-search{margin-bottom:0px} - .searchTxt{float:left;width:350px;height:23px;line-height:23px;font-size:14px;color:#9a9a9a;margin-left:33px;margin-top:5px;border:none;background-color:#fff} - .searchTxt.focus{color:#333} - .searchBtn{float:right;display:block;border:none;width:73px;height:33px;cursor:pointer;text-indent:-9999px;background:url(../images/search.gif) no-repeat right -81px} - .searchBtn:hover{background-position:right -114px} - /*搜索下拉提示*/ - .ac_results{position:absolute;width:386px; height:auto;border:solid 1px #890800;background-color:#fff;top:32px; left:0px; display:none} - .ac_results ul{width:100%;list-style-position:outside;list-style:none;padding:0;margin:0} - .ac_results li p{float:left;margin:0;padding:0;overflow:hidden} - .ac_results li p tt{color:#666} - .ac_results li span{margin:0;padding:0;display:inline;float:right;color:#f93;width:90px; text-align:right; overflow:hidden} - .ac_results ul li{padding-left:5px;padding-right:5px;display:block;height:22px;line-height:22px;cursor:pointer;color:#000;font:宋体;font-size:12px} - .ac_results ul li.hover{background-color:#fef8ec;color:#000} - .ac_loading{background:#fff url(../images/loading_s.gif) right center no-repeat} - -.AD{text-align:center} -/*4.18.1 对联广告 - Name: mod_AD_dual - Sample: -
          对联的内容
          X关闭
          -
          对联的内容
          X关闭
          -*/ -.dual{top:260px;position:absolute; width:102px; overflow:hidden; display:none; z-index:100} -.dual_l{left:6px} -.dual_r{right:6px} -.dual_con{border:#CCC solid 1px;width:100px; height:300px; overflow:hidden; background-color:#0C9} -.dual_close{width:100%;height:24px; line-height:24px; text-align:center; display:block; font-size:13px; color:#555; text-decoration:none} - -/*4.19 标签*/ -/*4.19.1 标签输入效果 - Name: mod_Hui-tags - Sample: -
          -
          - Hui前端框架 - CSS3 - HTML5 -
          -
          -
          -
          暂无常用标签
          -
          前端框架 前端开发 H-ui
          -
          - -
          -*/ -.Hui-tags{border:solid 1px #dedede; padding:0 10px} - .Hui-tags-editor{position:relative; padding:10px 0 10px 24px} - .Hui-tags-editor .Hui-tags-icon{position:absolute; left:0; top:11px; font-size:14px; color:#666} - .Hui-tags-token{color:#aaa; float:left; font-size:12px; height:20px; line-height:20px; margin-right:8px; padding:0 1px; white-space:nowrap; cursor:pointer} - .Hui-tags-token:before{content:"#"} - .Hui-tags-token:hover{text-decoration:line-through} - .Hui-tags-iptwrap{position:relative; float:left} - .Hui-tags-input{position:relative;height:20px;min-width:60px; border:0 none; vertical-align:top;line-height:20px; color:#333;z-index:2;background: url(../images/empty.png) repeat scroll 0 0; display:inline-block; width:100%} - .Hui-tags-label{position:absolute; top:0; left:2px; width:240px; height:20px; line-height:20px; font-size:14px; overflow:hidden; z-index:1; color:#ccc} - .Hui-tags-list{padding:0 0 10px 0; display:none} - .Hui-notag{font-size:12px} - .Hui-tags-has span{cursor:pointer; font-size:12px; white-space:nowrap; margin-right:10px} - -/*4.19.2 标签混排效果 - Name: mod_tags - Sample: - -*/ -.tags a{height:26px; line-height:26px;padding-right:6px} - .tags0{} - .tags1{color:#C00; font-size:24px} - .tags2{color:#030; font-size:16px} - .tags3{color:#00F} - .tags4{font-size:16px} - .tags5{color:#C00; font-size:20px} - .tags6{color:#F06 font-size:20px} - .tags7{color:#030; font-weight:bold; font-size:18px} - .tags8{color:#F06; font-weight:bold} - .tags9{color:#C00; font-weight:bold;font-size:16px} -.tags a:hover{color:#F00; text-decoration:underline} - -/*4.19.3 tag云标签*/ -#tagyun {position:relative} -#tagyun a {position:absolute;top:0px;left:0px;font-weight:bold;text-decoration:none;padding:3px 6px} - -/*4.20 折叠 - Name: mod_Huifold - Sample: -
            -
          • 标题+

            内容
          • - …… -
          -*/ -.Huifold .item{position:relative} -.Huifold .item h4{margin:0;font-weight:bold;position:relative;border-top: 1px solid #fff;font-size:15px;line-height:22px;padding:7px 10px;background-color:#eee;cursor:pointer;padding-right:30px} -.Huifold .item h4 b{position:absolute;display: block; cursor:pointer;right:10px;top:7px;width:16px;height:16px; text-align:center; color:#666} -.Huifold .item .info{display:none;padding:10px} - -/*4.21 遮罩条 - Name: mod_maskBar -*/ -.maskBar{position:absolute;width:100%; height:auto;left:0; bottom:-60px; right:0;background-color:#000;z-index:2; color:#fff!important;opacity:0.6;filter:alpha(opacity=60)} -.maskWraper{position:relative; overflow:hidden} -.maskWraper.hover .maskBar{bottom:0px; - transition: bottom 200ms; - -moz-transition: bottom 200ms; /* Firefox 4 */ - -webkit-transition: bottom 200ms; /* Safari 和 Chrome */ - -o-transition: bottom 200ms; /* Opera */ -} -.maskBox{position:absolute;width:100%; height:100%;top:0;left:0; bottom:0;right:0;z-index:2;background-color:#000; color:#fff!important;opacity:0;filter:alpha(opacity=0)} -.maskWraper.hover .maskBox{opacity:0.2;filter:alpha(opacity=20); - transition: opacity 500ms; - -moz-transition: opacity 500ms; /* Firefox 4 */ - -webkit-transition: opacity 500ms; /* Safari 和 Chrome */ - -o-transition: opacity 500ms; /* Opera */ -} - -/*4.22 评论列表 - Name: mod_comment - Sample: -
            -
          • - -
            -
            -
            辉哥 评论于
            -
            -

            @某人 你是猴子派来的救兵吗?

            -
          • -
          -*/ -.commentList .item{list-style: none outside none;margin: 1.6rem 0 0} -.commentList .avatar{border: 1px solid transparent;float: left} - .comment-main{position:relative;margin-left:64px;border:1px solid #dedede;border-radius:2px} - .comment-main:before,.comment-main:after{position:absolute;top:11px;left:-16px;right:100%;width:0;height:0;display:block;content:" ";border-color:transparent;border-style:solid solid outset;pointer-events:none} - .comment-main:before{border-right-color:#dedede;border-width:8px} - .comment-main:after{border-width:7px;border-right-color:#f8f8f8;margin-top:1px;margin-left:2px} - .comment-header{padding:10px 15px;background:#f8f8f8;border-bottom:1px solid #eee} - .comment-title{margin:0 0 8px 0;font-size:1.6rem;line-height:1.2} - .comment-meta{font-size:13px;color:#999;line-height:1.2} - .comment-meta a{color:#999} - .comment-author{font-weight:700;color:#999} - .comment-body{padding:15px;overflow:hidden} - .comment-body>:last-child{margin-bottom:0} -.commentList .comment-flip .avatar {float: right} - .comment-flip .comment-main{margin-left: 0; margin-right: 64px} - .comment-flip .comment-main:before {border-left-color: #dedede;border-right-color: transparent} - .comment-flip .comment-main:before, .comment-flip .comment-main:after {left: 100%;position: absolute;right: -16px} - .comment-flip .comment-main:after {border-left-color: #f8f8f8;border-right-color: transparent;margin-left: auto;margin-right: 2px} - -/*4.23 tip效果 - Name: mod_tip -*/ -.tip{} - .tip-header{} - .tit-body{} - .tit-footer{} -.tip.left{} -.tip.right{} -.tip.top{} -.tip.bottom{} - -/*5 页面 - Name: page -*/ - -/*5.1 错误页-404*/ -.page-404{ color:#afb5bf; padding-top:60px} -.page-404 .error-title{font-size:80px} -.page-404 .error-title .iconfont{font-size:80px} -.page-404 .error-description{font-size:24px} -.page-404 .error-info{font-size:14px} -#page-404 .footer{ position:absolute; bottom:0; left:0; right:0} - -/*5.2 博客列表页*/ -.page-blog-list{} -/*5.3 博客详情页*/ -.page-blog-show{} -/*5.4 关于我们页*/ -.page-about-show{} -/*5.5 帮助列表页*/ -.page-help-list{} -/*5.6 帮助详情页*/ -.page-help-show{} -/*5.7 友情链接页*/ -.page-flink{} \ No newline at end of file diff --git a/SMMS/WebContent/static/h-ui/css/H-ui.login.css b/SMMS/WebContent/static/h-ui/css/H-ui.login.css deleted file mode 100644 index e9f420c..0000000 --- a/SMMS/WebContent/static/h-ui/css/H-ui.login.css +++ /dev/null @@ -1,36 +0,0 @@ -@charset "utf-8"; -/* -----------H-ui前端框架----------------------- -H-ui.login.css v2.2.1 -Copyright H-ui Inc. -http://www.H-ui.net -date:2015.6.5 -Created & Modified by guojunhui. -----------------------------------------------*/ -body{font-size:14px} - -.header,.footer{ position:absolute; left:0; right:0; width:100%; z-index:99} -.header{top:0; height:60px; background:#426374; padding: 0;} - -.loginWraper{ position:absolute;width:100%; left:0; top:0; bottom:0; right:0; z-index:1; background:#3283AC url(../images/admin-login-bg.jpg) no-repeat center} -.loginBox{ position:absolute; width:617px; height:330px; background:url(../images/admin-loginform-bg.png) no-repeat; left:50%; top:50%; margin-left:-309px; margin-top:-184px; padding-top:38px} -@media (max-width:617px) { - .loginbox{ width:100%; position:static; margin-top:0; margin-left:0;} -} -.loginBox .row{margin-top:20px;} -.loginBox .row .form-label .Hui-iconfont{ font-size:24px} -.loginBox .input-text{ width:360px} -@media (max-width:617px) { - .loginBox .input-text{ width:80%} -} - .yzm a{ color:#426374; font-size:12px} - -#span_msg{ font-size:14px; color:Red; line-height:40px; height:40px; margin-left:10px; width:160px;; float:left} - -.hd_msg{font-size:12px; color:#fff; height:30px; z-index:100;position: absolute; padding-left:50px; padding-top:5px} -.hd_msg a{ color:#fff} -.hd_msg a:hover{ color:#fff; text-decoration:underline} - -.footer{ height:46px; line-height:46px; bottom:0; text-align:center; color:#fff; font-size:12px; background-color:#426374} - -#ie6-warning{background:#fff url(/jscss/demoimg/201006/warning.gif) no-repeat 3px center;position:absolute;top:0;left:0;font-size:12px;color:#333;width:97%;padding: 2px 15px 2px 23px;text-align:left} -#ie6-warning a {text-decoration:none} \ No newline at end of file diff --git a/SMMS/WebContent/static/h-ui/css/H-ui.min.css b/SMMS/WebContent/static/h-ui/css/H-ui.min.css deleted file mode 100644 index 25b6a06..0000000 --- a/SMMS/WebContent/static/h-ui/css/H-ui.min.css +++ /dev/null @@ -1,12 +0,0 @@ -/* -----------H-ui前端框架----------------------- -H-ui.css v2.1.22 -date: 2015-08-07 -Created & Modified by guojunhui. -完全免费,简单灵活,兼容性,满足大多数中国网站。 -不断完善中,诚邀更多前端开发者加入,开发更多优秀的代码,服务于更多的中国网站。 -H-ui CSS file for H-ui -Copyright 北京颖杰联创科技有限公司 All rights reserved. -http://www.H-ui.net/ -Icons取自 alibaba Iconfont,授权依照 CC BY 3.0。 -----------------------------------------------*/ -@charset "utf-8";*{word-wrap:break-word}html,body,h1,h2,h3,h4,h5,h6,hr,p,iframe,dl,dt,dd,ul,ol,li,pre,form,button,input,textarea,th,td,fieldset{margin:0;padding:0}ul,ol,dl{list-style-type:none}html,body{*position:static}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:400}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit}input,button{overflow:visible;vertical-align:middle;outline:0}input[type="submit"],input[type="reset"],input[type="button"],input[type="text"],input[type="password"]{-webkit-appearance:none;outline:0}body,th,td,button,input,select,textarea{font-family:"Microsoft Yahei","Hiragino Sans GB","Helvetica Neue",Helvetica,tahoma,arial,"WenQuanYi Micro Hei",Verdana,sans-serif,"\5B8B\4F53";font-size:12px;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.6}h1,h2,h3,h4,h5,h6{font-size:100%}a,area{outline:0;blr:expression(this.onFocus=this.blur())}a{text-decoration:none;cursor:pointer}a:hover{text-decoration:underline;outline:0}a.ie6:hover{zoom:1}a:focus{outline:0}a:hover,a:active{outline:0}:focus{outline:0}sub,sup{vertical-align:baseline}button,input[type="button"],input[type="submit"]{line-height:normal!important}img{border:0;vertical-align:middle}a img,img{-ms-interpolation-mode:bicubic}@media(max-width:767px){.img-responsive{max-width:100%!important;height:auto!important}}*html{overflow:-moz-scrollbars-vertical;zoom:expression(function(ele){ele.style.zoom = "1";document.execCommand("BackgroundImageCache",false,true)}(this))}header,footer,section,aside,details,menu,article,section,nav,address,hgroup,figure,figcaption,legend{display:block;margin:0;padding:0}time{display:inline}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:40px;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}svg:not(:root){overflow:hidden}fieldset{border-width:0;padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}.cl:after,.clearfix:after{content:"\20";display:block;height:0;clear:both;visibility:hidden}.cl,.clearfix{zoom:1}.row{box-sizing:border-box}[class^="col-"],[class*=" col-"]{box-sizing:border-box;float:left;min-height:1px;position:relative}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%}.col-offset-0{margin-left:0}.col-offset-1{margin-left:8.33333%}.col-offset-2{margin-left:16.66667%}.col-offset-3{margin-left:25%}.col-offset-4{margin-left:33.33333%}.col-offset-5{margin-left:41.66667%}.col-offset-6{margin-left:50%}.col-offset-7{margin-left:58.33333%}.col-offset-8{margin-left:66.66667%}.col-offset-9{margin-left:75%}.col-offset-10{margin-left:83.33333%}.col-offset-11{margin-left:91.66667%}.col-push-0{position:relative;left:0;right:auto}.col-pull-0{right:0;left:auto}.col-push-1{left:8.33333%;right:auto}.col-pull-1{right:8.33333%;left:auto}.col-push-2{left:16.66667%;right:auto}.col-pull-2{right:16.66667%;left:auto}.col-push-3{left:25%;right:auto}.col-pull-3{right:25%;left:auto}.col-push-4{left:33.33333%;right:auto}.col-pull-4{right:33.33333%;left:auto}.col-push-5{left:41.66667%;right:auto}.col-pull-5{right:41.66667%;left:auto}.col-push-6{left:50%;right:auto}.col-pull-6{right:50%;left:auto}.col-push-7{left:58.33333%;right:auto}.col-pull-7{right:58.33333%;left:auto}.col-push-8{left:66.66667%;right:auto}.col-pull-8{right:66.66667%;left:auto}.col-push-9{left:75%;right:auto}.col-pull-9{right:75%;left:auto}.col-push-10{left:83.33333%;right:auto}.col-pull-10{right:83.33333%;left:auto}.col-push-11{left:91.66667%;right:auto}.col-pull-11{right:91.66667%;left:auto}.col-1-1{width:100%}.col-2-1{width:50%}.col-3-1{width:33.333333%}.col-3-2{width:66.666667%}.col-4-1{width:25%}.col-4-3{width:75%}.col-5-1{width:20%}.col-5-2{width:40%}.col-5-3{width:60%}.col-5-4{width:80%}.col-6-1{width:16.666667%}.col-6-5{width:83.333333%}@media(max-width:767px){.responsive [class^="col-"],.responsive [class*=" col-"]{float:none!important;width:auto!important}.responsive [class^="col-offset-"],.responsive [class*=" col-offset-"]{margin-left:0!important}}@media(min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.Hui-wraper,.wp,.container{margin-left:auto;margin-right:auto;text-align:left}.container-fluid{width:100%}.sd{float:right}.ct2 .mn{float:left}.ct2 .sd{float:right}.ct2_r .leftmenu{float:left}.ct2_r .mn{float:right}.ct3 .app{float:left;margin-right:20px}.ct3 .mn{float:left;border-left:solid 1px #ddd}.ct3 .sd{float:right}.w-1000{width:1000px}.w-980{width:980px}.w-300{width:300px}.w-200{width:200px}@media(max-width:1000px){.Hui-wraper,.wp,.container{width:auto!important;padding:0 10px!important}}@media print{.Hui-wraper,.container{width:auto}}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small{font-weight:400;line-height:1;color:#999}h1,h2,h3{padding-top:20px;padding-bottom:10px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:18px}h5{font-size:14px}h6{font-size:12px}p{margin-bottom:10px}small{font-size:85%}b,strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}mark{color:#000;background:#ff0}dfn{font-style:italic}del{font-family:Simsun}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.en{font-family:Arial!important}.text-l{text-align:left}.text-r{text-align:right}.text-c{text-align:center}.va *{vertical-align:sub!important;*vertical-align:middle!important;_vertical-align:middle!important}.va-t{vertical-align:top!important}.va-m{vertical-align:middle!important}.va-b{vertical-align:bottom!important}.pos-r{position:relative}.pos-a{position:absolute}.pos-f{position:fixed}.l,.f-l{float:left!important;_display:inline}.r,.f-r{float:right!important;_display:inline}[class*="span"].r,[class*="span"].f-r{float:right}.left{left:0;right:auto}.right{right:0;left:auto}.top{top:auto;bottom:0}.bottom{top:0;bottom:auto}.text-overflow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line{font-size:0;line-height:0;border-top:solid 1px #eee;float:none}.mt-5{margin-top:5px}.mt-10{margin-top:10px}.mt-15{margin-top:15px}.mt-20{margin-top:20px}.mt-25{margin-top:25px}.mt-30{margin-top:30px}.mt-35{margin-top:35px}.mt-40{margin-top:40px}.mt-50{margin-top:50px}.mb-5{margin-bottom:5px}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mb-20{margin-bottom:20px}.mb-30{margin-bottom:30px}.mb-40{margin-bottom:40px}.mb-50{margin-bottom:50px}.ml-5{margin-left:5px}.ml-10{margin-left:10px}.ml-15{margin-left:15px}.ml-20{margin-left:20px}.ml-30{margin-left:30px}.ml-40{margin-left:40px}.ml-50{margin-left:50px}.mr-5{margin-right:5px}.mr-10{margin-right:10px}.mr-15{margin-right:15px}.mr-20{margin-right:20px}.mr-30{margin-right:30px}.mr-40{margin-right:40px}.mr-50{margin-right:50px}.pt-5{padding-top:5px}.pt-10{padding-top:10px}.pt-20{padding-top:20px}.pb-5{padding-bottom:5px}.pb-10{padding-bottom:10px}.pb-20{padding-bottom:20px}.pl-5{padding-left:5px}.pl-10{padding-left:10px}.pl-20{padding-left:20px}.pr-5{padding-right:5px}.pr-10{padding-right:10px}.pr-20{padding-right:20px}.pd-5{padding:5px}.pd-10{padding:10px}.pd-15{padding:15px}.pd-20{padding:20px}.pd-30{padding:30px}.pd-40{padding:40px}.bk-gray{border:solid 1px #eee}.radius{border-radius:4px;overflow:hidden}.size-MINI.radius{border-radius:3px}.size-L.radius{border-radius:5px}.size-XL.radius{border-radius:6px}.round{border-radius:1000px;overflow:hidden}.circle{border-radius:50%;overflow:hidden}.box-shadow{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.1);box-shadow:0 1px 2px rgba(0,0,0,0.1)}.text-shadow{-webkit-text-shadow:0 0 2px rgba(0,0,0,0.2);text-shadow:0 0 2px rgba(0,0,0,0.2)}.pipe{margin:0 5px;color:#CCC;font-size:10px!important}.f-12{font-size:12px}.f-14{font-size:14px}.f-16{font-size:16px}.f-18{font-size:18px}.f-20{font-size:20px}.f-24{font-size:24px}.f-26{font-size:26px}.f-28{font-size:28px}.f-30{font-size:30px}.lh-16{line-height:16px}.lh-18{line-height:18px}.lh-20{line-height:20px}.lh-22{line-height:22px}.lh-24{line-height:24px}.lh-26{line-height:26px}.lh-28{line-height:28px}.lh-30{line-height:30px}.l16{line-height:16px}.l18{line-height:18px}.l20{line-height:20px}.l22{line-height:22px}.l-24{line-height:24px}.l-26{line-height:26px}.l-28{line-height:28px}.l-30{line-height:30px}body{background-color:#fff;color:#333}.bg-fff{background-color:#fff}a{color:#333}a:hover{color:#06c}.c-primary,.c-primary a,a.c-primary{color:#5a98de}.c-primary a:hover,a.c-primary:hover{color:#5a98de}.c-secondary,.c-secondary a,a.c-secondary{color:#555}.c-secondary a:hover,a.c-secondary:hover{color:#555}.c-success,.c-success a,a.c-success{color:#5eb95e}.c-success a:hover,a.c-success:hover{color:#5eb95e}.c-danger,.c-danger a,a.c-danger{color:#dd514c}.c-danger a:hover,a.c-danger:hover{color:#dd514c}.c-warning,.c-warning a,a.c-warning{color:#f37b1d}.c-warning a:hover,a.c-warning:hover{color:#f37b1d}.c-error,.c-error a,a.c-error{color:#c00}.c-error a:hover,a.c-error:hover{color:#c00}.c-333,.c-333 a,a.c-333{color:#333}.c-333 a:hover,a.c-333:hover{color:#333}.c-666,.c-666 a,a.c-666{color:#666}.c-666 a:hover,a.c-666:hover{color:#666}.c-999,.c-999 a,a.c-999{color:#999}.c-999 a:hover,a.c-999:hover{color:#999}.c-red,.c-red a,a.c-red{color:red}.c-red a:hover,a.c-red:hover{color:#red}.c-green,.c-green a,a.c-green{color:green}.c-red a:hover,a.c-red:hover{color:green}.c-blue,.c-blue a,a.c-blue{color:blue}.c-blue a:hover,a.c-blue:hover{color:blue}.c-white,.c-white a,a.c-white{color:white}.c-white a:hover,a.c-white:hover{color:white}.c-black,.c-black a{color:black}.c-black a:hover,a.c-black:hover{color:black}.c-orange,.c-orange a,a.c-orange{color:orange}.c-orange a:hover,a.c-orange:hover{color:orange}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.text-r{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.text-r p,blockquote.text-r small{text-align:right}blockquote.text-r small:before{content:''}blockquote.text-r small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}q{quotes:"\201C" "\201D" "\2018" "\2019"}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}.content{position:relative;font-size:14px;line-height:1.6;overflow:hidden;text-align:left}.content h3{margin-top:20px;font-size:16px}.content p{margin-top:20px}.indent{text-indent:2em}.content img{max-width:100%}.content ul{text-indent:2em}@media(max-width:480px){.content img{max-width:100%!important;height:auto!important;width:expression(this.width>320 ? "320px":this.width)!important}*html .content img{width:expression(this.width>320&&this.width>this.height?320:auto)}}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}.tlist li{line-height:22px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dot-1{padding-left:10px;background:url(../images/dot_1.gif) no-repeat 3px center}.box-1{padding-left:10px;background:url(../images/box_1.gif) no-repeat 3px center}.jt-1{padding-left:18px;background:url(../images/jt_1.gif) no-repeat 3px center}.jt-2{padding-left:18px;background:url(../images/jt_2.gif) no-repeat 3px center}.jt-3{padding-left:18px;background:url(../images/jt_3.gif) no-repeat 3px center}.top-list li{height:20px;line-height:20px;margin-bottom:15px;overflow:hidden;padding-left:30px;position:relative;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.top-list em{background-color:#f8f8f8;border:1px solid #ebebeb;color:#333;height:18px;left:0;line-height:18px;position:absolute;text-align:center;top:0;width:20px;font-style:normal}.top-list .top em{background-color:#390;border:0;color:#fff;height:20px;line-height:20px;width:22px}.top-list .date{color:#999;font-size:12px;position:absolute;right:0;top:0}.tlist .time{font-size:12px;font-family:Arial;color:#999}@media(max-width:767px){.tlist li{position:relative;font-size:18px;border-bottom:1px solid #eee}.tlist li a{display:block;padding:.7em 30px .7em 12px}.dot_1{padding-left:0}.night .tlist li{border-bottom:1px solid #1f1f1f}.tlist .time{display:none}.tlist i{background:url(../images/article/arrow.png) no-repeat 0 0;background-size:9px auto;height:15px;margin-top:-7px;position:absolute;right:10px;top:50%;width:9px}.night .tlist i{background-position:0 -75px}}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.hide{display:none}[hidden]{display:none}.hidden{display:none!important;visibility:hidden!important}.f-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}.show{display:block}.invisible{visibility:hidden}.input-text,.btn,.input-text.size-M,.btn.size-M{font-size:14px;height:31px;line-height:1.42857;padding:4px}a.btn,a.btn.size-M,span.btn,span.btn.size-M{line-height:21px}.btn,.btn.size-M{padding:4px 12px}.input-text.size-MINI,.btn.size-MINI{font-size:12px;height:23px;padding:1px 2px;line-height:1.42857}a.btn.size-MINI,span.btn.size-MINI{line-height:21px}.btn.size-MINI{padding:1px 4px}.input-text.size-S,.btn.size-S{font-size:12px;height:27px;padding:3px;line-height:1.42857}a.btn.size-S,span.btn.size-S{line-height:19px}.btn.size-S{padding:3px 8px}.input-text.size-L,.btn.size-L{font-size:16px;height:41px;padding:8px}a.btn.size-L,span.btn.size-L{line-height:23px}.btn.size-L{padding:8px 16px}.input-text.size-XL,.btn.size-XL{font-size:18px;height:48px;padding:10px}a.btn.size-XL,span.btn.size-XL{line-height:26px}.btn.size-XL{padding:10px 24px}@media(max-width:767px){.responsive .input-text.size-MINI,.responsive .btn.size-MINI{height:24px}.responsive .input-text.size-S,.responsive .btn.size-S{font-size:14px;height:30px}.responsive .input-text,.btn,.responsive .input-text.size-M,.responsive .btn.size-M{font-size:16px;height:36px}.responsive .input-text.size-L,.responsive .btn.size-L{font-size:18px;height:42px}.responsive .input-text.size-XL,.responsive .btn.size-XL{font-size:20px;height:48px}}code{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace}pre .title,pre .keyword,pre .body,pre .des{color:#333}pre{display:block;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;padding:9.5px;margin-bottom:10px;font-size:12px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#333}.prettyprint{margin-bottom:20px;padding:8px;background-color:#f7f7f9;border:1px solid #e1e1e8}.prettyprint .com{color:#998;font-style:italic}.prettyprint .tag{color:#007}.prettyprint .lit{color:#195f91}.prettyprint .pun,.prettyprint .opn,.prettyprint .clo{color:#93a1a1}.prettyprint .fun{color:#dc322f}.prettyprint .str,.prettyprint .atv{color:#D14}.prettyprint .kwd,.prettyprint .prettyprint .tag{color:#1e347b}.prettyprint .typ,.prettyprint .atn,.prettyprint .dec,.prettyprint .var{color:teal}.prettyprint .pln{color:#48484c}.prettyprint.linenums{box-shadow:inset 40px 0 0 #fbfbfc,inset 41px 0 0 #ececf0}.pre-scrollable{max-height:340px;overflow-y:scroll}ol.linenums{list-style:decimal outside none;margin-left:20px}ol.linenums li{line-height:28px;padding-left:10px}pre ol.linenums{margin:0 0 0 33px}pre ol.linenums li{padding-left:12px;color:#bbb;line-height:18px;text-shadow:0 1px 0 #fff}@media(max-width:767px){pre ol.linenums{margin-left:0;list-style:none}}table{width:100%;empty-cells:show;background-color:transparent;border-collapse:collapse;border-spacing:0}table th{text-align:left;font-weight:400}.table th{font-weight:bold}.table th,.table td{padding:8px;line-height:20px}.table td{text-align:left}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-border{border-top:1px solid #ddd}.table-border th,.table-border td{border-bottom:1px solid #ddd}.table-bg thead th{background-color:#f5fafe}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-border.table-bordered{border-bottom:0}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-condensed th,.table-condensed td{padding:4px 5px}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}.table tbody tr.selected td{background-color:#f3f3f3}.table tbody tr.active,.table tbody tr.active>td,.table tbody tr.active>th,.table tbody tr .active{background-color:#f5f5f5!important}.table tbody tr.success,.table tbody tr.success>td,.table tbody tr.success>th,.table tbody tr .success{background-color:#dff0d8!important}.table tbody tr.warning,.table tbody tr.warning>td,.table tbody tr.warning>th,.table tbody tr .warning{background-color:#fcf8e3!important}.table tbody tr.danger,.table tbody tr.danger>td,.table tbody tr.danger>th,.table tbody tr .danger{background-color:#f2dede!important}.table .text-c th,.table .text-c td{text-align:center}.table .text-r th,.table .text-r td{text-align:right}.table th.text-l,.table td.text-l{text-align:left!important}.table th.text-c,.table td.text-c{text-align:center!important}.table th.text-r,.table td.text-r{text-align:right!important}table.dataTable{border-collapse:separate;border-spacing:0;clear:both}table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting{cursor:pointer;background-repeat:no-repeat;background-position:right center}table.dataTable thead .sorting{background-image:url(../images/sort_both.png)}table.dataTable thead .sorting_asc{background-image:url(../images/sort_asc.png)}table.dataTable thead .sorting_desc{background-image:url(../images/sort_desc.png)}.dataTable td.sorting_1{background-color:#f5fafe}.dataTables_wrapper .dataTables_length{float:left;padding-bottom:20px}.dataTables_wrapper .dataTables_length .select{width:50px}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter .input-text{width:auto}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:10px;font-size:14px;color:#666}.dataTables_wrapper .dataTables_paginate{float:right;padding-top:10px;text-align:right}.dataTables_wrapper .dataTables_paginate .paginate_button{border:1px solid #ccc;cursor:pointer;display:inline-block;margin-left:2px;text-align:center;text-decoration:none;color:#666;height:26px;line-height:26px;text-decoration:none;margin:0 0 6px 6px;padding:0 10px;font-size:14px}.dataTables_wrapper .dataTables_paginate .paginate_button:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:#5a98de;color:#fff}@media(max-width:767px){table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}table-responsive>.table{margin-bottom:0}table-responsive>.table>thead>tr>th,table-responsive>.table>tbody>tr>th,table-responsive>.table>tfoot>tr>th,table-responsive>.table>thead>tr>td,table-responsive>.table>tbody>tr>td,table-responsive>.table>tfoot>tr>td{white-space:nowrap}table-responsive>.table-bordered{border:0}table-responsive>.table-bordered>thead>tr>th:first-child,table-responsive>.table-bordered>tbody>tr>th:first-child,table-responsive>.table-bordered>tfoot>tr>th:first-child,table-responsive>.table-bordered>thead>tr>td:first-child,table-responsive>.table-bordered>tbody>tr>td:first-child,table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}table-responsive>.table-bordered>thead>tr>th:last-child,table-responsive>.table-bordered>tbody>tr>th:last-child,table-responsive>.table-bordered>tfoot>tr>th:last-child,table-responsive>.table-bordered>thead>tr>td:last-child,table-responsive>.table-bordered>tbody>tr>td:last-child,table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}table-responsive>.table-bordered>tbody>tr:last-child>th,table-responsive>.table-bordered>tfoot>tr:last-child>th,table-responsive>.table-bordered>tbody>tr:last-child>td,table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}.input-text,.textarea{box-sizing:border-box;border:solid 1px #ddd;width:100%;-webkit-transition:all .2s linear 0s;-moz-transition:all .2s linear 0s;-o-transition:all .2s linear 0s;transition:all .2s linear 0s}.textarea{height:100px;resize:none;font-size:14px;padding:4px}.textarea-numberbar{position:absolute;right:20px;bottom:5px;z-index:1;margin-bottom:0}.textarea-length{font-style:normal}.input-text:hover,.textarea:hover{border:solid 1px #3bb4f2}.input-text.focus,textarea.focus{border:solid 1px #0f9ae0 \9;border-color:rgba(82,168,236,0.8);box-shadow:0 1px 1px rgba(0,0,0,0.075) inset,0 0 8px rgba(102,175,233,0.6)}.input-text.disabled,.textarea.disabled,.input-text.disabled.focus,.textarea.disabled.focus{background-color:#ededed;cursor:default;border-color:#ddd;-webkit-box-shadow:inset 0 2px 2px #e8e7e7;-moz-box-shadow:inset 0 2px 2px #e8e7e7;box-shadow:inset 0 2px 2px #e8e7e7}.input-text.disabled,.textarea.disabled{background-color:#e6e6e6;cursor:default}.input-text.box-shadow,.textarea.box-shadow{-ms-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.input-text.inline{display:inline-block;width:auto}input[type="radio"],input[type="checkbox"]{line-height:normal;margin-top:-4px}.check-box,.radio-box{display:inline-block;box-sizing:border-box;cursor:pointer;position:relative;padding-left:30px;padding-right:20px}.icheckbox,.icheckbox-red,.icheckbox-green,.icheckbox-blue,.icheckbox-aero,.icheckbox-grey,.icheckbox-orange,.icheckbox-yellow,.icheckbox-pink,.icheckbox-purple,.iradio,.iradio-red,.iradio-green,.iradio-blue,.iradio-aero,.iradio-grey,.iradio-orange,.iradio-yellow,.iradio-pink,.iradio-purple{position:absolute;top:4px;left:0}@media(max-width:767px){.responsive .check-box,.responsive .radio-box{display:block}}.select-box{border:solid 1px #ddd;box-sizing:border-box;vertical-align:middle;width:100%;display:inline-block}.select{border:solid 1px #ddd;box-sizing:border-box;cursor:pointer;line-height:normal;font-weight:normal;width:100%}.select-box .select{border:0}.select-box.inline,.select-box.inline .select{width:auto}.select-box,.select-box.size-M{height:31px;padding:4px 5px}.select,.size-M .select{font-size:14px}.select-box.size-MINI{height:23px;padding:0 5px}.size-MINI .select{font-size:12px}.select-box.size-S{height:27px;padding:3px 5px}.size-S .select{font-size:12px}.select-box.size-L{height:41px;padding:8px 5px}.size-L .select{font-size:16px}.select-box.size-XL{height:48px;padding:10px 5px}.size-XL .select{font-size:18px}@media(max-width:767px){.responsive .select-box{border:0}.responsive .select-box .select,.responsive .select{border:solid 1px #ddd;padding:10px;font-size:16px}.responsive .select-box,.responsive .select-box.size-M,.responsive .select-box.size-MINI,.responsive .select-box.size-S,.responsive .select-box.size-L,.responsive .select-box.size-XL{height:auto;padding:0}}.select-wrapper{position:relative;display:inline-block;font-size:14px;cursor:default}.select-default{zoom:1;display:block;padding-left:10px;padding-right:30px;background-color:#fff;border:solid 1px #d0d0d0;height:34px;line-height:34px}.jsselect.radius{overflow:visible}.jsselect.radius .select-default{border-radius:4px}.jsselect.radius .select-list{border-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.select-icon{position:absolute;height:8px;width:12px;right:10px;top:50%;margin-top:-4px;background:url(../images/iconpic-arrow-down2.png) no-repeat center}.unselectable{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.select-list{position:absolute;left:0;right:0;top:100%;z-index:1;line-height:34px;max-height:320px;overflow:auto;_height:expression(this.scrollHeight>319 ? "320px":"auto");background-color:#fff;background-clip:padding-box;-moz-box-shadow:0 1px 2px rgba(0,1,1,0.2);-webkit-box-shadow:0 1px 2px rgba(0,1,1,0.2);box-shadow:0 1px 2px rgba(0,1,1,0.2);box-sizing:border-box;border:solid 1px #d0d0d0;behavior:url(../lib/ie-css3.htc)}.select-item{margin:0;padding:0}.select-option{background:#fff;line-height:34px;text-align:left;white-space:nowrap;cursor:pointer;border-bottom:1px solid #f2f2f2;padding:0 10px}.select-item .selected{background-color:#148cf1;color:#fff}.btn-upload{position:relative;display:inline-block;height:31px;*display:inline;overflow:hidden;vertical-align:middle;cursor:pointer}.upload-url{cursor:pointer;width:300px}.input-file{position:absolute;right:0;top:0;cursor:pointer;z-index:1;font-size:30em;opacity:0;filter:alpha(opacity=0)}.form-group .upload-btn{margin-left:-1px}.btn-upload .icon-add,.btn-upload .icon-minus{cursor:pointer;display:inline-block;font-family:Arial;font-size:30px;height:31px;line-height:31px;text-align:center;vertical-align:middle;width:36px}@media(max-width:767px){.upload-btn{display:none}.upload-url{display:none}}.numberControlBox{display:inline-block;overflow:hidden;vertical-align:middle}.ncb-up,.ncb-down{font-size:0;display:block;height:10px;background-color:#f4f4f4;background:-moz-linear-gradient(top,#fff 0,#e6e6e6 50%,#fff 100%);width:24px;border:1px solid #d1d1d1;cursor:pointer}.ncb-up{margin-bottom:1px}.numberControlBox .ncb_ico{display:block;height:10px;background-image:url(../img/icon-arrow.png);background-repeat:no-repeat}.ncb-up .ncb_ico{background-position:-22px center}.ncb-down .ncb_ico{background-position:1px center}.ncb_btn_hover{border:1px solid #9dc7e7;background-color:#dff2fc;background:-moz-linear-gradient(top,#fff 0,#d2edfa 50%,#fff 100%)}.ncb_btn_selected{border:1px solid #6198c2;background-color:#aee1fb;background:-moz-linear-gradient(top,#fff 0,#aee1fb 50%,#fff 100%)}.input-text[type="number"]{width:80px}label,.placeholder{font-size:14px}.form legend{font-size:20px}.form .row{margin-top:15px}.form-label{display:block;color:#555}.formControls{position:relative}.formControls>*{vertical-align:middle}.placeholder{position:absolute;left:4px;top:4px;color:#c6c6c6;cursor:text}.form-horizontal .row{display:table;width:100%}.form-horizontal .form-label{margin-top:3px;cursor:text;text-align:right;padding-right:10px}.form-horizontal .formControls{padding-right:10px}.form-horizontal .Validform_checktip{margin-top:5px}::-webkit-input-placeholder{color:#b3b3b3}:-moz-placeholder{color:#b3b3b3}::-moz-placeholder{color:#b3b3b3}:-ms-input-placeholder{color:#b3b3b3}.placeholder{color:#adb0be;position:absolute;z-index:9}@media(max-width:767px){.responsive .form-label{text-align:left;padding-right:0;font-size:16px;float:none}.responsive .formControls{padding-right:0;float:none;margin-top:10px}}.Validform_error{background-color:#fbe2e2;border-color:#c66161;color:#c00}.Validform_wrong,.Validform_right,.Validform_warning{display:inline-block;height:20px;font-size:12px;vertical-align:middle;padding-left:25px}.Validform_wrong{background:url(../images/icon_error_s.png) no-repeat 0 center;color:#ef392b}.Validform_right{background:url(../images/icon_right_s.png) no-repeat 0 center}.Validform_warning{background:url(../images/icon_warning_s.png) no-repeat 0 center;color:#777}.passwordStrength b{font-weight:400}.passwordStrength b,.passwordStrength span{display:inline-block;vertical-align:middle;line-height:16px;line-height:18px\9;height:16px}.passwordStrength span{width:57px;text-align:center;background-color:#d0d0d0;border-right:1px solid #fff}.passwordStrength .last{border-right:0}.passwordStrength .bgStrength{color:#fff;background-color:#fcc900}#Validform_msg{font-size:14px;width:300px;-webkit-box-shadow:2px 2px 3px #aaa;-moz-box-shadow:2px 2px 3px #aaa;background:#fff;position:absolute;top:0;right:50px;z-index:99999;display:none;filter:progid:DXImageTransform.Microsoft.Shadow(Strength=3,Direction=135,Color='#999999');box-shadow:2px 2px 0 rgba(0,0,0,0.1)}#Validform_msg .iframe{position:absolute;left:0;top:-1px;z-index:-1}#Validform_msg .Validform_title{font-size:20px;padding:10px;text-align:left;color:#fff;position:relative;background-color:#fcc900}#Validform_msg a.Validform_close:link,#Validform_msg a.Validform_close:visited{position:absolute;right:8px;top:6px;color:#fff;text-decoration:none;font-family:Verdana}#Validform_msg a.Validform_close:hover{color:#fff}#Validform_msg .Validform_info{padding:10px;border:1px solid #bbb;border-top:0;text-align:left}@media(max-width:767px){.responsive .Validform_checktip{margin-top:10px}}.close{font-size:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;box-sizing:border-box;cursor:pointer;text-align:center;font-weight:400;white-space:nowrap;vertical-align:middle;-moz-padding-start:npx;-moz-padding-end:npx;border:solid 1px #ddd;background-color:#fff;width:auto;*zoom:1;*overflow:visible;-webkit-transition:background-color .1s linear;-moz-transition:background-color .1s linear;-o-transition:background-color .1s linear;transition:background-color .1s linear}a.btn:hover,a.btn:focus,a.btn:active,a.btn.active,a.btn.disabled,a.btn[disabled]{text-decoration:none}.btn:active,.btn.active{background-color:#ccc}.btn:first-child{*margin-left:0}.btn.active,.btn:active{-moz-box-shadow:0 1px 8px rgba(0,0,0,0.125) inset;-webkit-box-shadow:0 1px 8px rgba(0,0,0,0.125) inset;box-shadow:0 1px 8px rgba(0,0,0,0.125) inset}.btn-default{background-color:#e6e6e6;border-color:#e6e6e6}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active{color:#333;background-color:#c7c7c7;border-color:#c7c7c7}.btn-primary{color:#fff;background-color:#5a98de;border-color:#5a98de}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active{color:#fff;background-color:#0a6999;border-color:#0a6999}.btn-secondary{color:#fff;background-color:#3bb4f2;border-color:#3bb4f2}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active,.btn-secondary.active{color:#fff;background-color:#0f9ae0;border-color:#0f9ae0}.btn-success{color:#fff;background-color:#5eb95e;border-color:#5eb95e}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active{color:#fff;background-color:#429842;border-color:#429842}.btn-warning{color:#fff;background-color:#f37b1d;border-color:#f37b1d}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active{color:#fff;background-color:#c85e0b;border-color:#c85e0b}.btn-danger{color:#fff;background-color:#dd514c;border-color:#dd514c}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active{color:#fff;background-color:#c62b26;border-color:#c62b26}.btn-link{color:#0e90d2;cursor:pointer;border-color:transparent;background-color:transparent}.btn-link:hover,.btn-link:focus,.btn-link:active,.btn-link.active{color:#095f8a;text-decoration:underline;background-color:transparent}.btn.disabled{cursor:not-allowed;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none;pointer-events:none}.btn-block{-moz-box-sizing:border-box;display:block;padding-left:0;padding-right:0;width:100%}.form-group{display:inline-block;vertical-align:middle}.form-group .input-text{position:relative;vertical-align:top}.form-group.radius .input-text{border-radius:4px 0 0 4px}.form-group.round .input-text{border-radius:1000px 0 0 1000px}.form-group .btn{position:relative;margin-left:-1px}.form-group.radius .btn{border-radius:0 4px 4px 0}.form-group.round .btn{border-radius:0 1000px 1000px 0}.duang-opacity img{-webkit-transition:opacity .1s linear;-moz-transition:opacity .1s linear;-o-transition:opacity .1s linear;transition:opacity .1s linear}.duang-opacity a:hover img,a:hover .opacity img{opacity:.85;filter:alpha(opacity=85)}.album-img{border:1px solid #e0e0e0}.album-img img{display:block}.album-title{display:block;text-align:left;padding:7px 5px;line-height:18px;color:#555;text-decoration:none;font-size:12px;border:solid 1px #e0e0e0;border-top:0}.album-bg-Fir,.album-bg-Sec{border:1px solid #e6e6e6;border-top:1px solid #f5f5f5;height:1px;margin:0 auto;overflow:hidden}.album-bg-Fir{margin:0 3px}.album-bg-Sec{margin:0 6px}.avatar{display:inline-block;position:relative;overflow:hidden}.avatar img{display:block}.avatar.radius,.avatar.radius img{border-radius:50%}.avatar,.avatar img{width:32px;height:32px}.avatar.size-MINI{width:16px;height:16px}.avatar.size-S,.avatar.size-S img{width:24px;height:24px}.avatar.size-M,.avatar.size-M img{width:32px;height:32px}.avatar.size-L,.avatar.size-L img{width:40px;height:40px}.avatar.size-XL,.avatar.size-XL img{width:64px;height:64px}.avatar.size-XXL,.avatar.size-XXL img{width:100px;height:100px}.avatar.size-XXXL,.avatar.size-XXXL img{width:128px;height:128px}.iconpic{display:inline-block;vertical-align:sub;*vertical-align:middle;_vertical-align:middle;width:16px;height:16px;background-position:center;background-repeat:no-repeat}.hui-bounce,.hui-flip,.hui-flash,.hui-shake,.hui-swing,.hui-wobble,.hui-ring{-webkit-animation:1s ease;-moz-animation:1s ease;-ms-animation:1s ease;animation:1s ease}.hui-fadein,.hui-fadeinT,.hui-fadeinR,.hui-fadeinB,.hui-fadeinL,.hui-bouncein,.hui-bounceinT,.hui-bounceinR,.hui-bounceinB,.hui-bounceinL,.hui-rotatein,.hui-rotateinLT,.hui-rotateinLB,.hui-rotateinRT,.hui-rotateinRB,.hui-flipin,.hui-flipinX,.hui-flipinY{-webkit-animation:1s ease-out backwards;-moz-animation:1s ease-out backwards;-ms-animation:1s ease-out backwards;animation:1s ease-out backwards}.hui-fadeout,.hui-fadeoutT,.hui-fadeoutR,.hui-fadeoutB,.hui-fadeoutL,.hui-bounceout,.hui-bounceoutT,.hui-bounceoutR,.hui-bounceoutB,.hui-bounceoutL,.hui-rotateout,.hui-rotateoutLT,.hui-rotateoutLB,.hui-rotateoutRT,.hui-rotateoutRB,.hui-flipout,.hui-flipoutX,.hui-flipoutY{-webkit-animation:1s ease-in forwards;-moz-animation:1s ease-in forwards;-ms-animation:1s ease-in forwards;animation:1s ease-in forwards}.hui-fadein{-webkit-animation-name:fadein;-moz-animation-name:fadein;-ms-animation-name:fadein;animation-name:fadein}.hui-fadeinT{-webkit-animation-name:fadeinT;-moz-animation-name:fadeinT;-ms-animation-name:fadeinT;animation-name:fadeinT}.hui-fadeinR{-webkit-animation-name:fadeinR;-moz-animation-name:fadeinR;-ms-animation-name:fadeinR;animation-name:fadeinR}.hui-fadeinB{-webkit-animation-name:fadeinB;-moz-animation-name:fadeinB;-ms-animation-name:fadeinB;animation-name:fadeinB}.hui-fadeinL{-webkit-animation-name:fadeinL;-moz-animation-name:fadeinL;-ms-animation-name:fadeinL;animation-name:fadeinL}.hui-fadeout{-webkit-animation-name:fadeout;-moz-animation-name:fadeout;-ms-animation-name:fadeout;animation-name:fadeout}.hui-fadeoutT{-webkit-animation-name:fadeoutT;-moz-animation-name:fadeoutT;-ms-animation-name:fadeoutT;animation-name:fadeoutT}.hui-fadeoutR{-webkit-animation-name:fadeoutR;-moz-animation-name:fadeoutR;-ms-animation-name:fadeoutR;animation-name:fadeoutR}.hui-fadeoutB{-webkit-animation-name:fadeoutB;-moz-animation-name:fadeoutB;-ms-animation-name:fadeoutB;animation-name:fadeoutB}.hui-fadeoutL{-webkit-animation-name:fadeoutL;-moz-animation-name:fadeoutL;-ms-animation-name:fadeoutL;animation-name:fadeoutL}.hui-bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-ms-animation-name:bounce;animation-name:bounce}.hui-bouncein{-webkit-animation-name:bouncein;-moz-animation-name:bouncein;-ms-animation-name:bouncein;animation-name:bouncein}.hui-bounceinT{-webkit-animation-name:bounceinT;-moz-animation-name:bounceinT;-ms-animation-name:bounceinT;animation-name:bounceinT}.hui-bounceinR{-webkit-animation-name:bounceinR;-moz-animation-name:bounceinR;-ms-animation-name:bounceinR;animation-name:bounceinR}.hui-bounceinB{-webkit-animation-name:bounceinB;-moz-animation-name:bounceinB;-ms-animation-name:bounceinB;animation-name:bounceinB}.hui-bounceinL{-webkit-animation-name:bounceinL;-moz-animation-name:bounceinL;-ms-animation-name:bounceinL;animation-name:bounceinL}.hui-bounceout{-webkit-animation-name:bounceout;-moz-animation-name:bounceout;-ms-animation-name:bounceout;animation-name:bounceout}.hui-bounceoutT{-webkit-animation-name:bounceoutT;-moz-animation-name:bounceoutT;-ms-animation-name:bounceoutT;animation-name:bounceoutT}.hui-bounceoutR{-webkit-animation-name:bounceoutR;-moz-animation-name:bounceoutR;-ms-animation-name:bounceoutR;animation-name:bounceoutR}.hui-bounceoutB{-webkit-animation-name:bounceoutB;-moz-animation-name:bounceoutB;-ms-animation-name:bounceoutB;animation-name:bounceoutB}.hui-bounceoutL{-webkit-animation-name:bounceoutL;-moz-animation-name:bounceoutL;-ms-animation-name:bounceoutL;animation-name:bounceoutL}.hui-rotatein{-webkit-animation-name:rotatein;-moz-animation-name:rotatein;-ms-animation-name:rotatein;animation-name:rotatein}.hui-rotateinLT{-webkit-animation-name:rotateinLT;-moz-animation-name:rotateinLT;-ms-animation-name:rotateinLT;animation-name:rotateinLT}.hui-rotateinLB{-webkit-animation-name:rotateinLB;-moz-animation-name:rotateinLB;-ms-animation-name:rotateinLB;animation-name:rotateinLB}.hui-rotateinRT{-webkit-animation-name:rotateinRT;-moz-animation-name:rotateinRT;-ms-animation-name:rotateinRT;animation-name:rotateinRT}.hui-rotateinRB{-webkit-animation-name:rotateinRB;-moz-animation-name:rotateinRB;-ms-animation-name:rotateinRB;animation-name:rotateinRB}.hui-rotateout{-webkit-animation-name:rotateout;-moz-animation-name:rotateout;-ms-animation-name:rotateout;animation-name:rotateout}.hui-rotateoutLT{-webkit-animation-name:rotateoutLT;-moz-animation-name:rotateoutLT;-ms-animation-name:rotateoutLT;animation-name:rotateoutLT}.hui-rotateoutLB{-webkit-animation-name:rotateoutLB;-moz-animation-name:rotateoutLB;-ms-animation-name:rotateoutLB;animation-name:rotateoutLB}.hui-rotateoutRT{-webkit-animation-name:rotateoutRT;-moz-animation-name:rotateoutRT;-ms-animation-name:rotateoutRT;animation-name:rotateoutRT}.hui-rotateoutRB{-webkit-animation-name:rotateoutRB;-moz-animation-name:rotateoutRB;-ms-animation-name:rotateoutRB;animation-name:rotateoutRB}.hui-flip{-webkit-animation-name:flip;-moz-animation-name:flip;-ms-animation-name:flip;animation-name:flip}.hui-flipinX{-webkit-animation-name:flipinX;-moz-animation-name:flipinX;-ms-animation-name:flipinX;animation-name:flipinX}.hui-flipin,.hui-flipinY{-webkit-animation-name:flipinY;-moz-animation-name:flipinY;-ms-animation-name:flipinY;animation-name:flipinY}.hui-flipoutX{-webkit-animation-name:flipoutX;-moz-animation-name:flipoutX;-ms-animation-name:flipoutX;animation-name:flipoutX}.hui-flipout,.hui-flipoutY{-webkit-animation-name:flipoutY;-moz-animation-name:flipoutY;-ms-animation-name:flipoutY;animation-name:flipoutY}.hui-flash{-webkit-animation-name:flash;-moz-animation-name:flash;-ms-animation-name:flash;animation-name:flash}.hui-shake{-webkit-animation-name:shake;-moz-animation-name:shake;-ms-animation-name:shake;animation-name:shake}.hui-swing{-webkit-animation-name:swing;-moz-animation-name:swing;-ms-animation-name:swing;animation-name:swing}.hui-wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-ms-animation-name:wobble;animation-name:wobble}.hui-ring{-webkit-animation-name:ring;-moz-animation-name:ring;-ms-animation-name:ring;animation-name:ring}@-webkit-keyframes fadein{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadein{0%{opacity:0}100%{opacity:1}}@-ms-keyframes fadein{0%{opacity:0}100%{opacity:1}}@keyframes fadein{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeinT{0%{opacity:0;-webkit-transform:translateY(-100px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeinT{0%{opacity:0;-moz-transform:translateY(-100px)}100%{opacity:1;-moz-transform:translateY(0)}}@-ms-keyframes fadeinT{0%{opacity:0;-ms-transform:translateY(-100px)}100%{opacity:1;-ms-transform:translateY(0)}}@keyframes fadeinT{0%{opacity:0;transform:translateY(-100px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeinR{0%{opacity:0;-webkit-transform:translateX(100px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeinR{0%{opacity:0;-moz-transform:translateX(100px)}100%{opacity:1;-moz-transform:translateX(0)}}@-ms-keyframes fadeinR{0%{opacity:0;-ms-transform:translateX(100px)}100%{opacity:1;-ms-transform:translateX(0)}}@keyframes fadeinR{0%{opacity:0;transform:translateX(100px)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes fadeinB{0%{opacity:0;-webkit-transform:translateY(100px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeinB{0%{opacity:0;-moz-transform:translateY(100px)}100%{opacity:1;-moz-transform:translateY(0)}}@-ms-keyframes fadeinB{0%{opacity:0;-ms-transform:translateY(100px)}100%{opacity:1;-ms-transform:translateY(0)}}@keyframes fadeinB{0%{opacity:0;transform:translateY(100px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeinL{0%{opacity:0;-webkit-transform:translateX(-100px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeinL{0%{opacity:0;-moz-transform:translateX(-100px)}100%{opacity:1;-moz-transform:translateX(0)}}@-ms-keyframes fadeinL{0%{opacity:0;-ms-transform:translateX(-100px)}100%{opacity:1;-ms-transform:translateX(0)}}@keyframes fadeinL{0%{opacity:0;transform:translateX(-100px)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes fadeout{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeout{0%{opacity:1}100%{opacity:0}}@-ms-keyframes fadeout{0%{opacity:1}100%{opacity:0}}@keyframes fadeout{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeoutT{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-100px)}}@-moz-keyframes fadeoutT{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-100px)}}@-ms-keyframes fadeoutT{0%{opacity:1;-ms-transform:translateY(0)}100%{opacity:0;-ms-transform:translateY(-100px)}}@keyframes fadeoutT{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-100px)}}@-webkit-keyframes fadeoutR{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(100px)}}@-moz-keyframes fadeoutR{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(100px)}}@-ms-keyframes fadeoutR{0%{opacity:1;-ms-transform:translateX(0)}100%{opacity:0;-ms-transform:translateX(100px)}}@keyframes fadeoutR{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(100px)}}@-webkit-keyframes fadeoutB{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(100px)}}@-moz-keyframes fadeoutB{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(100px)}}@-ms-keyframes fadeoutB{0%{opacity:1;-ms-transform:translateY(0)}100%{opacity:0;-ms-transform:translateY(100px)}}@keyframes fadeoutB{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(100px)}}@-webkit-keyframes fadeoutL{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-100px)}}@-moz-keyframes fadeoutL{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-100px)}}@-ms-keyframes fadeoutL{0%{opacity:1;-ms-transform:translateX(0)}100%{opacity:0;-ms-transform:translateX(-100px)}}@keyframes fadeoutL{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-100px)}}@-webkit-keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px)}}@-moz-keyframes bounce{0%,20%,50%,80%,100%{-moz-transform:translateY(0)}40%{-moz-transform:translateY(-30px)}60%{-moz-transform:translateY(-15px)}}@-ms-keyframes bounce{0%,20%,50%,80%,100%{-ms-transform:translateY(0)}40%{-ms-transform:translateY(-30px)}60%{-ms-transform:translateY(-15px)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@-webkit-keyframes bouncein{0%{opacity:0;-webkit-transform:scale(0.3)}50%{opacity:1;-webkit-transform:scale(1.05)}70%{-webkit-transform:scale(0.9)}100%{-webkit-transform:scale(1)}}@-moz-keyframes bouncein{0%{opacity:0;-moz-transform:scale(0.3)}50%{opacity:1;-moz-transform:scale(1.05)}70%{-moz-transform:scale(0.9)}100%{-moz-transform:scale(1)}}@-ms-keyframes bouncein{0%{opacity:0;-ms-transform:scale(0.3)}50%{opacity:1;-ms-transform:scale(1.05)}70%{-ms-transform:scale(0.9)}100%{-ms-transform:scale(1)}}@keyframes bouncein{0%{opacity:0;transform:scale(0.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(0.9)}100%{transform:scale(1)}}@-webkit-keyframes bounceinT{0%{opacity:0;-webkit-transform:translateY(-100px)}60%{opacity:1;-webkit-transform:translateY(30px)}80%{-webkit-transform:translateY(-10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceinT{0%{opacity:0;-moz-transform:translateY(-100px)}60%{opacity:1;-moz-transform:translateY(30px)}80%{-moz-transform:translateY(-10px)}100%{-moz-transform:translateY(0)}}@-ms-keyframes bounceinT{0%{opacity:0;-ms-transform:translateY(-100px)}60%{opacity:1;-ms-transform:translateY(30px)}80%{-ms-transform:translateY(-10px)}100%{-ms-transform:translateY(0)}}@keyframes bounceinT{0%{opacity:0;transform:translateY(-100px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}100%{transform:translateY(0)}}@-webkit-keyframes bounceinR{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-30px)}80%{-webkit-transform:translateX(10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceinR{0%{opacity:0;-moz-transform:translateX(100px)}60%{opacity:1;-moz-transform:translateX(-30px)}80%{-moz-transform:translateX(10px)}100%{-moz-transform:translateX(0)}}@-ms-keyframes bounceinR{0%{opacity:0;-ms-transform:translateX(100px)}60%{opacity:1;-ms-transform:translateX(-30px)}80%{-ms-transform:translateX(10px)}100%{-ms-transform:translateX(0)}}@keyframes bounceinR{0%{opacity:0;transform:translateX(100px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}@-webkit-keyframes bounceinB{0%{opacity:0;-webkit-transform:translateY(100px)}60%{opacity:1;-webkit-transform:translateY(-30px)}80%{-webkit-transform:translateY(10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceinB{0%{opacity:0;-moz-transform:translateY(100px)}60%{opacity:1;-moz-transform:translateY(-30px)}80%{-moz-transform:translateY(10px)}100%{-moz-transform:translateY(0)}}@-ms-keyframes bounceinB{0%{opacity:0;-ms-transform:translateY(100px)}60%{opacity:1;-ms-transform:translateY(-30px)}80%{-ms-transform:translateY(10px)}100%{-ms-transform:translateY(0)}}@keyframes bounceinB{0%{opacity:0;transform:translateY(100px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}100%{transform:translateY(0)}}@-webkit-keyframes bounceinL{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(30px)}80%{-webkit-transform:translateX(-10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceinL{0%{opacity:0;-moz-transform:translateX(-100px)}60%{opacity:1;-moz-transform:translateX(30px)}80%{-moz-transform:translateX(-10px)}100%{-moz-transform:translateX(0)}}@-ms-keyframes bounceinL{0%{opacity:0;-ms-transform:translateX(-100px)}60%{opacity:1;-ms-transform:translateX(30px)}80%{-ms-transform:translateX(-10px)}100%{-ms-transform:translateX(0)}}@keyframes bounceinL{0%{opacity:0;transform:translateX(-100px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}100%{transform:translateX(0)}}@-webkit-keyframes bounceout{0%{-webkit-transform:scale(1)}25%{-webkit-transform:scale(0.95)}50%{opacity:1;-webkit-transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(0.3)}}@-moz-keyframes bounceout{0%{-moz-transform:scale(1)}25%{-moz-transform:scale(0.95)}50%{opacity:1;-moz-transform:scale(1.1)}100%{opacity:0;-moz-transform:scale(0.3)}}@-ms-keyframes bounceout{0%{-ms-transform:scale(1)}25%{-ms-transform:scale(0.95)}50%{opacity:1;-ms-transform:scale(1.1)}100%{opacity:0;-ms-transform:scale(0.3)}}@keyframes bounceout{0%{transform:scale(1)}25%{transform:scale(0.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(0.3)}}@-webkit-keyframes bounceoutT{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-100px)}}@-moz-keyframes bounceoutT{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(20px)}100%{opacity:0;-moz-transform:translateY(-100px)}}@-ms-keyframes bounceoutT{0%{-ms-transform:translateY(0)}20%{opacity:1;-ms-transform:translateY(20px)}100%{opacity:0;-ms-transform:translateY(-100px)}}@keyframes bounceoutT{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(-100px)}}@-webkit-keyframes bounceoutR{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(100px)}}@-moz-keyframes bounceoutR{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(-20px)}100%{opacity:0;-moz-transform:translateX(100px)}}@-ms-keyframes bounceoutR{0%{-ms-transform:translateX(0)}20%{opacity:1;-ms-transform:translateX(-20px)}100%{opacity:0;-ms-transform:translateX(100px)}}@keyframes bounceoutR{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}100%{opacity:0;transform:translateX(100px)}}@-webkit-keyframes bounceoutB{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(100px)}}@-moz-keyframes bounceoutB{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(-20px)}100%{opacity:0;-moz-transform:translateY(100px)}}@-ms-keyframes bounceoutB{0%{-ms-transform:translateY(0)}20%{opacity:1;-ms-transform:translateY(-20px)}100%{opacity:0;-ms-transform:translateY(100px)}}@keyframes bounceoutB{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}100%{opacity:0;transform:translateY(100px)}}@-webkit-keyframes bounceoutL{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-100px)}}@-moz-keyframes bounceoutL{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(20px)}100%{opacity:0;-moz-transform:translateX(-100px)}}@-ms-keyframes bounceoutL{0%{-ms-transform:translateX(0)}20%{opacity:1;-ms-transform:translateX(20px)}100%{opacity:0;-ms-transform:translateX(-100px)}}@keyframes bounceoutL{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}100%{opacity:0;transform:translateX(-200px)}}@-webkit-keyframes rotatein{0%{opacity:0;-webkit-transform:rotate(-200deg)}100%{opacity:1;-webkit-transform:rotate(0)}}@-moz-keyframes rotatein{0%{opacity:0;-moz-transform:rotate(-200deg)}100%{opacity:1;-moz-transform:rotate(0)}}@-ms-keyframes rotatein{0%{opacity:0;-ms-transform:rotate(-200deg)}100%{opacity:1;-ms-transform:rotate(0)}}@keyframes rotatein{0%{opacity:0;transform:rotate(-200deg)}100%{opacity:1;transform:rotate(0)}}@-webkit-keyframes rotateinLT{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateinLT{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-ms-keyframes rotateinLT{0%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0}100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1}}@keyframes rotateinLT{0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}@-webkit-keyframes rotateineftB{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateineftB{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-ms-keyframes rotateineftB{0%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0}100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1}}@keyframes rotateineftB{0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}@-webkit-keyframes rotateinRT{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateinRT{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-ms-keyframes rotateinRT{0%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0}100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1}}@keyframes rotateinRT{0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}@-webkit-keyframes rotateinRB{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateinRB{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-ms-keyframes rotateinRB{0%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0}100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1}}@keyframes rotateinRB{0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}@-webkit-keyframes rotateout{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0}}@-moz-keyframes rotateout{0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0}}@-ms-keyframes rotateout{0%{-ms-transform-origin:center center;-ms-transform:rotate(0);opacity:1}100%{-ms-transform-origin:center center;-ms-transform:rotate(200deg);opacity:0}}@keyframes rotateout{0%{transform-origin:center center;transform:rotate(0);opacity:1}100%{transform-origin:center center;transform:rotate(200deg);opacity:0}}@-webkit-keyframes rotateoutLT{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateoutLT{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}}@-ms-keyframes rotateoutLT{0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1}100%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0}}@keyframes rotateoutLT{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}}@-webkit-keyframes rotateoutLB{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateoutLB{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}}@-ms-keyframes rotateoutLB{0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1}100%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0}}@keyframes rotateoutLB{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}}@-webkit-keyframes rotateoutRT{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateoutRT{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}}@-ms-keyframes rotateoutRT{0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1}100%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0}}@keyframes rotateoutRT{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}}@-webkit-keyframes rotateoutBR{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateoutBR{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}}@-ms-keyframes rotateoutBR{0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1}100%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0}}@keyframes rotateoutBR{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(0.95);-webkit-animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in}}@-moz-keyframes flip{0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out}40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out}50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in}80%{-moz-transform:perspective(400px) rotateY(360deg) scale(0.95);-moz-animation-timing-function:ease-in}100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in}}@-ms-keyframes flip{0%{-ms-transform:perspective(400px) rotateY(0);-ms-animation-timing-function:ease-out}40%{-ms-transform:perspective(400px) translateZ(150px) rotateY(170deg);-ms-animation-timing-function:ease-out}50%{-ms-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-ms-animation-timing-function:ease-in}80%{-ms-transform:perspective(400px) rotateY(360deg) scale(0.95);-ms-animation-timing-function:ease-in}100%{-ms-transform:perspective(400px) scale(1);-ms-animation-timing-function:ease-in}}@keyframes flip{0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in}80%{transform:perspective(400px) rotateY(360deg) scale(0.95);animation-timing-function:ease-in}100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in}}@-webkit-keyframes flipinX{0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0);opacity:1}}@-moz-keyframes flipinX{0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateX(-10deg)}70%{-moz-transform:perspective(400px) rotateX(10deg)}100%{-moz-transform:perspective(400px) rotateX(0);opacity:1}}@-ms-keyframes flipinX{0%{-ms-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-ms-transform:perspective(400px) rotateX(-10deg)}70%{-ms-transform:perspective(400px) rotateX(10deg)}100%{-ms-transform:perspective(400px) rotateX(0);opacity:1}}@keyframes flipinX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}100%{transform:perspective(400px) rotateX(0);opacity:1}}@-webkit-keyframes flipinY{0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0);opacity:1}}@-moz-keyframes flipinY{0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateY(-10deg)}70%{-moz-transform:perspective(400px) rotateY(10deg)}100%{-moz-transform:perspective(400px) rotateY(0);opacity:1}}@-ms-keyframes flipinY{0%{-ms-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-ms-transform:perspective(400px) rotateY(-10deg)}70%{-ms-transform:perspective(400px) rotateY(10deg)}100%{-ms-transform:perspective(400px) rotateY(0);opacity:1}}@keyframes flipinY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}100%{transform:perspective(400px) rotateY(0);opacity:1}}@-webkit-keyframes flipoutX{0%{-webkit-transform:perspective(400px) rotateX(0);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}}@-moz-keyframes flipoutX{0%{-moz-transform:perspective(400px) rotateX(0);opacity:1}100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}}@-ms-keyframes flipoutX{0%{-ms-transform:perspective(400px) rotateX(0);opacity:1}100%{-ms-transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipoutX{0%{transform:perspective(400px) rotateX(0);opacity:1}100%{transform:perspective(400px) rotateX(90deg);opacity:0}}@-webkit-keyframes flipoutY{0%{-webkit-transform:perspective(400px) rotateY(0);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}}@-moz-keyframes flipoutY{0%{-moz-transform:perspective(400px) rotateY(0);opacity:1}100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}}@-ms-keyframes flipoutY{0%{-ms-transform:perspective(400px) rotateY(0);opacity:1}100%{-ms-transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipoutY{0%{transform:perspective(400px) rotateY(0);opacity:1}100%{transform:perspective(400px) rotateY(90deg);opacity:0}}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-moz-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-ms-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-ms-keyframes shake{0%,100%{-ms-transform:translateX(0)}10%,30%,50%,70%,90%{-ms-transform:translateX(-10px)}20%,40%,60%,80%{-ms-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg)}100%{-webkit-transform:rotate(0)}}@-moz-keyframes swing{20%{-moz-transform:rotate(15deg)}40%{-moz-transform:rotate(-10deg)}60%{-moz-transform:rotate(5deg)}80%{-moz-transform:rotate(-5deg)}100%{-moz-transform:rotate(0)}}@-ms-keyframes swing{20%{-ms-transform:rotate(15deg)}40%{-ms-transform:rotate(-10deg)}60%{-ms-transform:rotate(5deg)}80%{-ms-transform:rotate(-5deg)}100%{-ms-transform:rotate(0)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}100%{transform:rotate(0)}}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0)}15%{-webkit-transform:translateX(-100px) rotate(-5deg)}30%{-webkit-transform:translateX(80px) rotate(3deg)}45%{-webkit-transform:translateX(-65px) rotate(-3deg)}60%{-webkit-transform:translateX(40px) rotate(2deg)}75%{-webkit-transform:translateX(-20px) rotate(-1deg)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes wobble{0%{-moz-transform:translateX(0)}15%{-moz-transform:translateX(-100px) rotate(-5deg)}30%{-moz-transform:translateX(80px) rotate(3deg)}45%{-moz-transform:translateX(-65px) rotate(-3deg)}60%{-moz-transform:translateX(40px) rotate(2deg)}75%{-moz-transform:translateX(-20px) rotate(-1deg)}100%{-moz-transform:translateX(0)}}@-ms-keyframes wobble{0%{-ms-transform:translateX(0)}15%{-ms-transform:translateX(-100px) rotate(-5deg)}30%{-ms-transform:translateX(80px) rotate(3deg)}45%{-ms-transform:translateX(-65px) rotate(-3deg)}60%{-ms-transform:translateX(40px) rotate(2deg)}75%{-ms-transform:translateX(-20px) rotate(-1deg)}100%{-ms-transform:translateX(0)}}@keyframes wobble{0%{transform:translateX(0)}15%{transform:translateX(-100px) rotate(-5deg)}30%{transform:translateX(80px) rotate(3deg)}45%{transform:translateX(-65px) rotate(-3deg)}60%{transform:translateX(40px) rotate(2deg)}75%{transform:translateX(-20px) rotate(-1deg)}100%{transform:translateX(0)}}@-webkit-keyframes ring{0%{-webkit-transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0)}}@-moz-keyframes ring{0%{-moz-transform:scale(1)}10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}100%{-moz-transform:scale(1) rotate(0)}}@-ms-keyframes ring{0%{-ms-transform:scale(1)}10%,20%{-ms-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-ms-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-ms-transform:scale(1.1) rotate(-3deg)}100%{-ms-transform:scale(1) rotate(0)}}@keyframes ring{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}.btn-group{font-size:0}.btn-group .btn{margin-left:-1px}.btn-group .btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.mainnav{z-index:1;background-color:#222}.mainnav>ul>li,.mainnav>ul>li>a{height:40px;line-height:40px}.mainnav>ul>li{display:inline-block;color:#fff;font-size:14px;font-weight:bold}.mainnav>ul>li>a{display:inline-block;padding:0 18px;color:#fff;text-align:center}.mainnav>ul>li>a:hover,.mainnav>ul>li.current>a{color:#fff;text-decoration:none;background-color:#000;-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s}.Hui-nav-toggle{display:none;position:absolute;top:0;right:10px;padding:9px 10px;-moz-border-radius:4px;-webkit-border-radius:4px;-ms-border-radius:4px;border-radius:4px;background-color:rgba(0,0,0,0.5)}@media(max-width:767px){.mainnav>ul>li{font-size:1.125em}.Hui-nav-toggle{display:block}}@media(max-width:480px){.mainnav>ul>li{text-align:center}.mainnav>ul>li{width:20%}.mainnav>ul>li>a{padding:0;width:100%}}.breadcrumb{border-bottom:1px solid #e5e5e5;line-height:39px;height:39px;padding-left:20px;overflow:hidden}.breadcrumb span{padding:0 5px}.pageNav{float:none;clear:both;font-size:0;font-family:Arial,Helvetica,sans-serif;padding:18px 0;text-align:center}.pageNav span,.pageNav a,.pageNav b{font-size:14px;margin-right:5px;overflow:hidden;padding:3px 8px}.pageNav a{border:1px solid #ccdbe4;cursor:pointer}.pageNav b{color:#000}.pageNav .mor{padding:3px;font-weight:bold}.topnav{height:30px;line-height:30px;background:url(../images/bg_topnav.gif) repeat-x 0 0;border-bottom:1px solid #ebebeb;font-size:12px}.topbar{background-color:#ececec;border-bottom:1px solid #ddd}.topbar a{margin-right:5px}.r_nav{display:inline-block;color:#999}.steps,.step{display:inline-block;position:relative;padding:1em 2em 1em 3em;vertical-align:top;background-color:#FFF;color:#888;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.step:after,.steps .step:after{position:absolute;z-index:2;content:'';top:0;right:-1.45em;border-bottom:1.5em solid transparent;border-left:1.5em solid #FFF;border-top:1.5em solid transparent;width:0;height:0}.step,.steps .step,.steps .step:after{-webkit-transition:opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,box-shadow .1s ease}.steps{cursor:pointer;display:inline-block;font-size:0;box-shadow:0 0 0 1px rgba(0,0,0,.1);line-height:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border-radius:.3125rem}.steps .step:first-child{padding-left:1.35em;border-radius:.3125em 0 0 .3125em}.steps .step:last-child{border-radius:0 .3125em .3125em 0}.steps .step:only-child{border-radius:.3125em}.steps .step:last-child{margin-right:0}.steps .step:last-child:after{display:none}.step:hover,.step.hover{background-color:#f7f7f7;color:rgba(0,0,0,.8)}.steps .step.hover:after,.steps .step:hover:after,.step:hover,.step.hover::after{border-left-color:#f7f7f7}.steps .step.down,.steps .step:active,.step.down,.step:active{background-color:#f0f0f0}.steps .step.down:after,.steps .step:active:after,.steps.down::after,.steps:active::after{border-left-color:#f0f0f0}.steps .step.active,.active.step{cursor:auto;background-color:#428bca;color:#FFF;font-weight:700}.steps .step.active:after,.active.steps:after{border-left-color:#428bca}.steps .disabled.step,.disabled.step{cursor:auto;background-color:#FFF;color:#cbcbcb}.disabled.step:after{border:0;background-color:#FFF;top:.42em;right:-1em;width:2.15em;height:2.15em;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);box-shadow:-1px -1px 0 0 rgba(0,0,0,.1) inset}.attached.steps{margin:0;border-radius:.3125em .3125em 0 0}.attached.steps .step:first-child{border-radius:.3125em 0 0}.attached.steps .step:last-child{border-radius:0 .3125em 0 0}.bottom.attached.steps{margin-top:-1px;border-radius:0 0 .3125em .3125em}.bottom.attached.steps .step:first-child{border-radius:0 0 0 .3125em}.bottom.attached.steps .step:last-child{border-radius:0 0 .3125em}.one.steps,.two.steps,.three.steps,.four.steps,.five.steps,.six.steps,.seven.steps,.eight.steps{display:block}.one.steps>.step{width:100%}.two.steps>.step{width:50%}.three.steps>.step{width:33.333%}.four.steps>.step{width:25%}.five.steps>.step{width:20%}.six.steps>.step{width:16.666%}.seven.steps>.step{width:14.285%}.eight.steps>.step{width:12.5%}.small.step,.small.steps .step{font-size:.8rem}.step,.steps .step{font-size:1rem}.large.step,.large.steps .step{font-size:1.25rem}.steps-ie,.step-ie,.step-ie .arrow{height:44px;line-height:44px}.steps-ie{background-color:#eaf4fd;border:solid 1px #afcfcc}.step-ie{position:relative;display:inline-block;float:left;cursor:pointer;padding:0 20px 0 40px;background:url(../images/step_bg.png) repeat-x 0 center}.step-ie .arrow{position:absolute;right:-21px;top:0;width:21px;height:44px;display:block;cursor:pointer;background:url(../images/step_arrow.png) no-repeat 0 center;z-index:50}.step-ie.active{background-image:url(../images/step_bg-active.png);color:#fff;z-index:100}.step-ie.active .arrow{background-image:url(../images/step_arrow-active.png)}.verticalTab{background:#fff url(../images/tab_bg.png) repeat-y 0 0;width:38px}.verticalTab a{position:relative;display:block;width:18px;height:auto;text-align:center;position:relative;padding:26px 10px 6px 10px;background:url(../images/tabNav.png) no-repeat 0 0}.verticalTab a em{position:absolute;left:0;bottom:-20px;width:38px;height:20px;background:url(../images/tabNav_right.png) no-repeat 0 0;z-index:50}.verticalTab a.active{background-image:url(../images/tabNav-active.png);color:#fff;z-index:99}.verticalTab a.active em{background-image:url(../images/tabNav_right-active.png)}.acrossTab{height:29px;background:url(../images/acrossTab-bg.png) repeat-x 0 0;padding-top:1px}.acrossTab li,.acrossTab li em{background:url(../images/acrossTab.png) no-repeat 0 0}.acrossTab li{position:relative;float:left;display:inline-block;height:29px;line-height:29px;font-size:12px;cursor:pointer;padding:0 30px;white-space:nowrap;color:#282828;background-position:0 0}.acrossTab li em{position:absolute;width:23px;height:29px;right:-20px;top:0;z-index:50;background-position:right -30px}.acrossTab li:hover{background-position:0 -60px}.acrossTab li:hover em{background-position:right -90px}.acrossTab li.active{background-position:0 -120px;z-index:99}.acrossTab li.active em{background-position:right -150px}.acrossTab li i{position:absolute;display:block;width:13px;height:13px;top:50%;margin-top:-6px;right:5px;font-size:0;line-height:0;cursor:pointer;background:url(../images/acrossTab-close.png) no-repeat 0 0}.acrossTab li i:hover{background-position:0 bottom}.dropDown{display:inline-block}.dropDown_A{display:inline-block}.dropDown_A i{transition-duration:.3s;transition-property:all}.dropDown-menu{display:none;transition:all .3s ease 0s}.dropDown:focus,.dropDown-menu:focus{outline:0}.dropDown-menu li.arrow{position:absolute;display:block;width:12px;height:8px;margin-top:-13px;margin-left:20%;line-height:0;background:url(../images/icon-jt.png) no-repeat 0 0}.dropDown.hover .dropDown_A,.dropDown.open .dropDown_A{text-decoration:none;background-color:rgba(255,255,255,0.2)}.dropDown.hover .dropDown_A i,.dropDown.open .dropDown_A i{transform:rotate(180deg);transition-duration:.3s;transition-property:all;_background-position:0 0}.dropDown.open{position:relative;z-index:990}.dropDown.open .dropDown-menu{position:absolute;z-index:1000;display:inline-block;top:100%;left:-1px;min-width:100%;background-color:#fff;border:solid 1px #f2f2f2}.dropDown.open .dropDown-menu.box-shadow{border-top-left-radius:0;border-top-right-radius:0}.dropDown.open .dropDown-menu.radius{border-top:0}.dropDown.open.right .dropDown-menu{right:-1px!important;left:auto!important}.dropDown.open .dropDown-menu li{float:none;display:inline}.dropDown-menu li a{display:block;clear:both;border-bottom:solid 1px #f2f2f2;margin-bottom:-1px;padding:0 20px;height:30px;line-height:30px;font-size:12px;text-align:left;font-weight:normal;white-space:nowrap}.dropDown-menu li:last-child a{border-bottom:0}.dropDown-menu li a:hover,.dropDown-menu li a:focus{background-color:#f0f1f2;text-decoration:none}.dropDown.open .dropDown-menu .disabled a,.dropDown.open .dropdown-menu .disabled a:hover,.dropDown.open .dropdown-menu .disabled a:focus{color:#999;text-decoration:none;cursor:no-drop;background-color:transparent}.dropDown.open .dropDown-menu li.divider{display:block;height:0;line-height:0;margin:9px 0;overflow:hidden;border-top:solid 1px #eee}.slider{position:relative;text-align:center;margin:0 auto}.slider .tabcon li{float:left;overflow:hidden}.dots{position:absolute;left:0;right:0;bottom:10px;text-align:center}.dots span{display:inline-block;text-align:center;width:8px;height:8px;font-size:0;line-height:0;margin-right:8px;cursor:pointer;background-color:#c2c2c2;border-radius:8px}.dots span.active{background-color:#222}.numSlider .dots span{width:20px;height:20px;line-height:20px;font-size:13px;margin-right:10px;line-height:20px;background-color:#fff;font-family:Arial;font-weight:bold;text-indent:inherit;border-radius:0}.numSlider .dots span.active{background-color:#222;color:#fff}.boxSlider .dots span{width:40px;height:10px;border-radius:0}.boxRadius .dots span{width:40px}.unslider-arrow{display:block;position:absolute;top:50%;margin-top:-25px;height:50px;width:50px;z-index:3;opacity:.7;filter:alpha(opacity=70);background-color:#303030;background-image:url(../images/unslider-arrow.png);background-repeat:no-repeat}.unslider-arrow:hover{opacity:1;filter:alpha(opacity=100)}.prev{left:0;background-position:0 0}.next{right:0;background-position:right 0}.tabBar{border-bottom:2px solid #222}.tabBar span{background-color:#e8e8e8;cursor:pointer;display:inline-block;float:left;font-weight:bold;height:30px;line-height:30px;padding:0 15px}.tabBar span.current{background-color:#222;color:#fff}.tabCon{display:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;white-space:nowrap;vertical-align:middle;background-color:#999}.label.radius{border-radius:3px}.badge{padding-right:9px;padding-left:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default,.badge-default{background-color:#e6e6e6;color:#333}.label-default[href],.badge-default[href]{background-color:#e6e6e6;color:#333}.label-primary,.badge-primary{background-color:#5a98de}.label-primary[href],.badge-primary[href]{background-color:#5a98de}.label-secondary,.badge-secondary{background-color:#3bb4f2}.label-secondary[href],.badge-secondary[href]{background-color:#3bb4f2}.label-success,.badge-success{background-color:#5eb95e}.label-success[href],.badge-success[href]{background-color:#5eb95e}.label-warning,.badge-warning{background-color:#f37b1d}.label-warning[href],.badge-warning[href]{background-color:#f37b1d}.label-danger,.badge-danger{background-color:#dd514c}.label-danger[href],.badge-danger[href]{background-color:#dd514c}.img-circle{border-radius:50%}@media(max-width:480px){.responsive img,.thumbImage img{max-width:100%!important;height:auto!important;width:expression(this.width>320 ? "320px":this.width)!important}.thumbImage{margin:auto;width:320px}*html .content img,*html .thumbImage img{width:expression(this.width>320&&this.width>this.height?320:auto)}}.Huialert{position:relative;padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5}.Huialert,.Huialert h4{color:#c09853}.Huialert h4{margin:0}.Huialert .Hui-iconfont{position:absolute;top:9px;right:10px;line-height:20px;cursor:pointer;color:#000;opacity:.2;_color:#666}.Huialert .Hui-iconfont.hover{color:#000;opacity:.8}.Huialert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.Huialert-success h4{color:#468847}.Huialert-danger{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.Huialert-danger h4{color:#b94a48}.Huialert-error{color:#fff;background-color:#f37b1d;border-color:#e56c0c}.Huialert-error h4{color:#fff}.Huialert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.Huialert-info h4{color:#31708f}.Huialert-block{padding-top:14px;padding-bottom:14px}.Huialert-block>p,.Huialert-block>ul{margin-bottom:0}.Huialert-block p+p{margin-top:5px}.progress,.progress-bar,.sr-only{height:10px;font-size:0;line-height:0}.progress{overflow:hidden;width:400px}.progress-bar{width:100%;background-color:#efefef}.sr-only{display:inline-block;background-color:#58b957}.loading{height:50px;background:url(../images/loading_072.gif) no-repeat center}.mask{position:fixed;top:0;left:0;z-index:999;width:100%;height:100%;background:url(../images/backdrop.png) repeat 0 0;-moz-transition:all .3s ease-in;-webkit-transition:all .3s ease-in;-o-transition:all .3s ease-in;transition:all .3s ease-in}* html .mask{position:absolute;left:expression(documentElement.scrollLeft+documentElement.clientWidth - this.offsetWidth);top:expression(documentElement.scrollTop+documentElement.clientHeight - this.offsetHeight)}.modal-open{overflow:hidden}.page-overflow{margin-right:16px}.modal-scrollable{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.modal-overflow .modal-scrollable{overflow-y:scroll}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1040;background-color:#000}* html .modal-backdrop{position:absolute;left:expression(documentElement.scrollLeft+documentElement.clientWidth - this.offsetWidth);top:expression(documentElement.scrollTop+documentElement.clientHeight - this.offsetHeight)}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop,.modal-backdrop.fade.in{opacity:.7;filter:alpha(opacity=70)}.modal{position:absolute;top:50%;left:50%;width:500px;margin-left:-250px;z-index:1050;overflow:visible;background-color:#fff;background-clip:padding-box;box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-khtml-background-clip:padding-box;-moz-background-clip:padding-box;-ms-background-clip:padding-box;-o-background-clip:padding-box;background-clip:padding-box;border-radius:6px;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999}.fade{opacity:0;filter:alpha(opacity=0);-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-o-transition:opacity .2s linear;transition:opacity .2s linear}.fade.in{opacity:1;filter:alpha(opacity=100)}.modal.fade{top:-100%}.modal.fade.in{top:50%}.modal.modal-overflow.fade.in{top:0}.loading-spinner{position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px}.modal-header{padding:9px 15px;border-bottom:1px solid #eee;position:relative}.modal-header .close{position:absolute;right:10px;top:10px}.modal-header h3{margin:0}.modal-body{overflow-y:visible;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;*zoom:1;border-radius:0 0 6px 6px;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-alert{position:fixed;width:300px;margin-left:-150px;margin-top:-30px;z-index:9999}.modal-alert-info{padding:30px;text-align:center;font-size:14px;background-color:#fff}.mask_box{background-image:none;display:none;z-index:99}.hover .mask_box{position:absolute;bottom:0;left:0;display:block;background:url(../images/backdrop.png) repeat 0 0;text-align:left}.easyDialog_wrapper{width:320px;color:#444;border:3px solid rgba(0,0,0,0);border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,0.4);display:none}.easyDialog_wrapper .easyDialog_content{border-radius:4px;background:#fff;border:1px solid #e5e5e5}.easyDialog_wrapper .easyDialog_title{height:30px;line-height:30px;overflow:hidden;color:#666;padding:0 10px;font-size:14px;border-bottom:1px solid #e5e5e5;background:#f7f7f7;border-radius:4px 4px 0 0;margin:0}.easyDialog_wrapper .close_btn{font-family:arial;font-size:18px;_font-size:12px;font-weight:700;color:#999;text-decoration:none;float:right}.easyDialog_wrapper .close_btn:hover{color:#333}.easyDialog_wrapper .easyDialog_text{padding:25px 10px;font-size:13px;line-height:22px}.easyDialog_wrapper .easyDialog_footer{padding:10px;text-align:right;*zoom:1}.easyDialog_wrapper .easyDialog_footer:after{content:'';display:block;height:0;overflow:hidden;visibility:hidden;clear:both}.easyDialog_wrapper .btn_highlight,.easyDialog_wrapper .btn_normal{border:1px solid;border-radius:2px;cursor:pointer;float:right;font-size:12px;padding:0 12px;height:24px;line-height:24px;margin-bottom:10px}.easyDialog_wrapper .btn_highlight{background:#4787ed;background:-webkit-gradient(linear,center bottom,center top,from(#4787ed),to(#4d90fe));background:-moz-linear-gradient(90deg,#4787ed,#4d90fe);border-color:#3079ed;color:#fff}.easyDialog_wrapper .btn_normal{margin-left:10px;border-color:#c3c3c3;background:#ececec;color:#333;background:-webkit-gradient(linear,center bottom,center top,from(#ececec),to(#f4f4f4));background:-moz-linear-gradient(90deg,#ececec,#f4f4f4)}.modal-open .dropdown-menu{z-index:2050}.modal-open .dropdown.open{*z-index:2050}.modal-open .popover{z-index:2060}.modal-open .tooltip{z-index:2070}.toTop{position:fixed;bottom:10px;right:20px;z-index:999;display:none;font-size:16px;cursor:pointer;overflow:hidden;visibility:visible;background-color:#fff;border:1px solid #d9d9d9;color:#9c9c9c;font-size:16px;width:38px;height:38px;line-height:38px;text-align:center;text-decoration:none;_position:absolute;_top:expression(documentElement.scrollTop+documentElement.clientHeight-this.offsetHeight)}.toTop:hover{color:#fff;text-decoration:none;background-color:#999}.panel{background-color:#fff;border:solid 1px transparent}.panel-header{border-bottom:solid 1px transparent;padding:8px 15px;font-size:14px;font-weight:700}.panel-body{padding:15px}.panel-footer{background-color:#f5f5f5;border-top:1px solid #ddd;padding:5px 20px}.panel-default{border-color:#ddd}.panel-default>.panel-header{border-color:#ddd;background-color:#f5f5f5;color:#444}.panel-primary{border-color:#5a98de}.panel-primary>.panel-header{border-color:#5a98de;background-color:#5a98de;color:#fff}.panel-secondary{border-color:#3bb4f2}.panel-secondary>.panel-header{border-color:#3bb4f2;background-color:#3bb4f2;color:#fff}.panel-success{border-color:#5eb95e}.panel-success>.panel-header{border-color:#5eb95e;background-color:#5eb95e;color:#fff}.panel-warning{border-color:#f37b1d}.panel-warning>.panel-header{border-color:#f37b1d;background-color:#f37b1d;color:#fff}.panel-danger{border-color:#dd514c}.panel-danger>.panel-header{border-color:#dd514c;background-color:#dd514c;color:#fff}.docs-example{position:relative;*position:static;*padding-top:19px;margin:15px 0;padding:39px 19px 14px;background-color:#fff;border:1px solid #ddd;border-radius:4px}.docs-example:after{content:"Example";position:absolute;top:-1px;left:-1px;*position:static;padding:3px 7px;font-size:12px;font-weight:bold;background-color:#f5f5f5;border:1px solid #ddd;color:#9da0a4;border-radius:4px 0 4px 0}.marquee{height:22px;overflow:hidden;line-height:22px}.rollpic .prev,.rollpic .next{display:block;height:38px;width:38px;cursor:pointer;float:left;background:url(../images/unslider-arrow2.png) no-repeat 0 0;margin-top:70px}.rollpic .prev{background-position:0 0;margin-right:5px}.rollpic .prev:hover{background-position:0 -38px}.rollpic .next{background-position:0 -76px;margin-left:5px}.rollpic .next:hover{background-position:0 -114px}.rollpicshow{float:left;border:solid 1px #ddd}.rollpicshow li{padding:10px}.searchBar{z-index:100;width:460px;height:33px;background:url(../images/search.gif) no-repeat 0 -48px;position:relative}.form-search{margin-bottom:0}.searchTxt{float:left;width:350px;height:23px;line-height:23px;font-size:14px;color:#9a9a9a;margin-left:33px;margin-top:5px;border:0;background-color:#fff}.searchTxt.focus{color:#333}.searchBtn{float:right;display:block;border:0;width:73px;height:33px;cursor:pointer;text-indent:-9999px;background:url(../images/search.gif) no-repeat right -81px}.searchBtn:hover{background-position:right -114px}.ac_results{position:absolute;width:386px;height:auto;border:solid 1px #890800;background-color:#fff;top:32px;left:0;display:none}.ac_results ul{width:100%;list-style-position:outside;list-style:none;padding:0;margin:0}.ac_results li p{float:left;margin:0;padding:0;overflow:hidden}.ac_results li p tt{color:#666}.ac_results li span{margin:0;padding:0;display:inline;float:right;color:#f93;width:90px;text-align:right;overflow:hidden}.ac_results ul li{padding-left:5px;padding-right:5px;display:block;height:22px;line-height:22px;cursor:pointer;color:#000;font:宋体;font-size:12px}.ac_results ul li.hover{background-color:#fef8ec;color:#000}.ac_loading{background:#fff url(../images/loading_s.gif) right center no-repeat}.AD{text-align:center}.dual{top:260px;position:absolute;width:102px;overflow:hidden;display:none;z-index:100}.dual_l{left:6px}.dual_r{right:6px}.dual_con{border:#CCC solid 1px;width:100px;height:300px;overflow:hidden;background-color:#0C9}.dual_close{width:100%;height:24px;line-height:24px;text-align:center;display:block;font-size:13px;color:#555;text-decoration:none}.Hui-tags{border:solid 1px #dedede;padding:0 10px}.Hui-tags-editor{position:relative;padding:10px 0 10px 24px}.Hui-tags-editor .Hui-tags-icon{position:absolute;left:0;top:11px;font-size:14px;color:#666}.Hui-tags-token{color:#aaa;float:left;font-size:12px;height:20px;line-height:20px;margin-right:8px;padding:0 1px;white-space:nowrap;cursor:pointer}.Hui-tags-token:before{content:"#"}.Hui-tags-token:hover{text-decoration:line-through}.Hui-tags-iptwrap{position:relative;float:left}.Hui-tags-input{position:relative;height:20px;min-width:60px;border:0 none;vertical-align:top;line-height:20px;color:#333;z-index:2;background:url(../images/empty.png) repeat scroll 0 0;display:inline-block;width:100%}.Hui-tags-label{position:absolute;top:0;left:2px;width:240px;height:20px;line-height:20px;font-size:14px;overflow:hidden;z-index:1;color:#ccc}.Hui-tags-list{padding:0 0 10px 0;display:none}.Hui-notag{font-size:12px}.Hui-tags-has span{cursor:pointer;font-size:12px;white-space:nowrap;margin-right:10px}.tags a{height:26px;line-height:26px;padding-right:6px}.tags1{color:#C00;font-size:24px}.tags2{color:#030;font-size:16px}.tags3{color:#00F}.tags4{font-size:16px}.tags5{color:#C00;font-size:20px}.tags6{color:#F06 font-size:20px}.tags7{color:#030;font-weight:bold;font-size:18px}.tags8{color:#F06;font-weight:bold}.tags9{color:#C00;font-weight:bold;font-size:16px}.tags a:hover{color:#F00;text-decoration:underline}#tagyun{position:relative}#tagyun a{position:absolute;top:0;left:0;font-weight:bold;text-decoration:none;padding:3px 6px}.Huifold .item{position:relative}.Huifold .item h4{margin:0;font-weight:bold;position:relative;border-top:1px solid #fff;font-size:15px;line-height:22px;padding:7px 10px;background-color:#eee;cursor:pointer;padding-right:30px}.Huifold .item h4 b{position:absolute;display:block;cursor:pointer;right:10px;top:7px;width:16px;height:16px;text-align:center;color:#666}.Huifold .item .info{display:none;padding:10px}.maskBar{position:absolute;width:100%;height:auto;left:0;bottom:-60px;right:0;background-color:#000;z-index:2;color:#fff!important;opacity:.6;filter:alpha(opacity=60)}.maskWraper{position:relative;overflow:hidden}.maskWraper.hover .maskBar{bottom:0;transition:bottom 200ms;-moz-transition:bottom 200ms;-webkit-transition:bottom 200ms;-o-transition:bottom 200ms}.maskBox{position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0;z-index:2;background-color:#000;color:#fff!important;opacity:0;filter:alpha(opacity=0)}.maskWraper.hover .maskBox{opacity:.2;filter:alpha(opacity=20);transition:opacity 500ms;-moz-transition:opacity 500ms;-webkit-transition:opacity 500ms;-o-transition:opacity 500ms}.commentList .item{list-style:none outside none;margin:1.6rem 0 0}.commentList .avatar{border:1px solid transparent;float:left}.comment-main{position:relative;margin-left:64px;border:1px solid #dedede;border-radius:2px}.comment-main:before,.comment-main:after{position:absolute;top:11px;left:-16px;right:100%;width:0;height:0;display:block;content:" ";border-color:transparent;border-style:solid solid outset;pointer-events:none}.comment-main:before{border-right-color:#dedede;border-width:8px}.comment-main:after{border-width:7px;border-right-color:#f8f8f8;margin-top:1px;margin-left:2px}.comment-header{padding:10px 15px;background:#f8f8f8;border-bottom:1px solid #eee}.comment-title{margin:0 0 8px 0;font-size:1.6rem;line-height:1.2}.comment-meta{font-size:13px;color:#999;line-height:1.2}.comment-meta a{color:#999}.comment-author{font-weight:700;color:#999}.comment-body{padding:15px;overflow:hidden}.comment-body>:last-child{margin-bottom:0}.commentList .comment-flip .avatar{float:right}.comment-flip .comment-main{margin-left:0;margin-right:64px}.comment-flip .comment-main:before{border-left-color:#dedede;border-right-color:transparent}.comment-flip .comment-main:before,.comment-flip .comment-main:after{left:100%;position:absolute;right:-16px}.comment-flip .comment-main:after{border-left-color:#f8f8f8;border-right-color:transparent;margin-left:auto;margin-right:2px}.page-404{color:#afb5bf;padding-top:60px}.page-404 .error-title{font-size:80px}.page-404 .error-title .iconfont{font-size:80px}.page-404 .error-description{font-size:24px}.page-404 .error-info{font-size:14px}#page-404 .footer{position:absolute;bottom:0;left:0;right:0} \ No newline at end of file diff --git a/SMMS/WebContent/static/h-ui/images/acrossTab-2bak.png b/SMMS/WebContent/static/h-ui/images/acrossTab-2bak.png deleted file mode 100644 index 2f58bd8..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/acrossTab-2bak.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/acrossTab-bg.png b/SMMS/WebContent/static/h-ui/images/acrossTab-bg.png deleted file mode 100644 index 69d3eea..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/acrossTab-bg.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/acrossTab-close.png b/SMMS/WebContent/static/h-ui/images/acrossTab-close.png deleted file mode 100644 index c7f1a41..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/acrossTab-close.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/acrossTab.png b/SMMS/WebContent/static/h-ui/images/acrossTab.png deleted file mode 100644 index f948893..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/acrossTab.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/admin-login-bg.jpg b/SMMS/WebContent/static/h-ui/images/admin-login-bg.jpg deleted file mode 100644 index 62c5d90..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/admin-login-bg.jpg and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/admin-loginform-bg.png b/SMMS/WebContent/static/h-ui/images/admin-loginform-bg.png deleted file mode 100644 index 1bc5dbb..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/admin-loginform-bg.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/gq/cn.gif b/SMMS/WebContent/static/h-ui/images/gq/cn.gif deleted file mode 100644 index b052530..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/gq/cn.gif and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/gq/gj.png b/SMMS/WebContent/static/h-ui/images/gq/gj.png deleted file mode 100644 index 96fb149..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/gq/gj.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/gq/us.gif b/SMMS/WebContent/static/h-ui/images/gq/us.gif deleted file mode 100644 index 8f198f7..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/gq/us.gif and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/hamburger-retina.gif b/SMMS/WebContent/static/h-ui/images/hamburger-retina.gif deleted file mode 100644 index 44026d0..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/hamburger-retina.gif and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/hamburger.gif b/SMMS/WebContent/static/h-ui/images/hamburger.gif deleted file mode 100644 index 28967a0..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/hamburger.gif and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/icon-add.png b/SMMS/WebContent/static/h-ui/images/icon-add.png deleted file mode 100644 index eb7287c..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/icon-add.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/icon_error_s.png b/SMMS/WebContent/static/h-ui/images/icon_error_s.png deleted file mode 100644 index 3a232e5..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/icon_error_s.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/icon_jt2.png b/SMMS/WebContent/static/h-ui/images/icon_jt2.png deleted file mode 100644 index aae252b..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/icon_jt2.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/icon_right_s.png b/SMMS/WebContent/static/h-ui/images/icon_right_s.png deleted file mode 100644 index 3f548e9..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/icon_right_s.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/icon_warning_s.png b/SMMS/WebContent/static/h-ui/images/icon_warning_s.png deleted file mode 100644 index 7c32122..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/icon_warning_s.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/loading.gif b/SMMS/WebContent/static/h-ui/images/loading.gif deleted file mode 100644 index 5087c2a..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/loading.gif and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/loading_072.gif b/SMMS/WebContent/static/h-ui/images/loading_072.gif deleted file mode 100644 index 95b02aa..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/loading_072.gif and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/sort_asc.png b/SMMS/WebContent/static/h-ui/images/sort_asc.png deleted file mode 100644 index a88d797..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/sort_asc.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/sort_both.png b/SMMS/WebContent/static/h-ui/images/sort_both.png deleted file mode 100644 index 1867040..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/sort_both.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/sort_desc.png b/SMMS/WebContent/static/h-ui/images/sort_desc.png deleted file mode 100644 index def071e..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/sort_desc.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/totop.png b/SMMS/WebContent/static/h-ui/images/totop.png deleted file mode 100644 index cd4a9b1..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/totop.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/images/user.png b/SMMS/WebContent/static/h-ui/images/user.png deleted file mode 100644 index 2e7e760..0000000 Binary files a/SMMS/WebContent/static/h-ui/images/user.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/js/H-ui.admin.js b/SMMS/WebContent/static/h-ui/js/H-ui.admin.js deleted file mode 100644 index 7320425..0000000 --- a/SMMS/WebContent/static/h-ui/js/H-ui.admin.js +++ /dev/null @@ -1,194 +0,0 @@ -/*H-ui.admin.js v2.3.1 date:15:42 2015.08.19 by:guojunhui*/ -/*获取顶部选项卡总长度*/ -function tabNavallwidth(){ - var taballwidth=0, - $tabNav = $(".acrossTab"), - $tabNavWp = $(".Hui-tabNav-wp"), - $tabNavitem = $(".acrossTab li"), - $tabNavmore =$(".Hui-tabNav-more"); - if (!$tabNav[0]){return} - $tabNavitem.each(function(index, element) { - taballwidth+=Number(parseFloat($(this).width()+60))}); - $tabNav.width(taballwidth+25); - var w = $tabNavWp.width(); - if(taballwidth+25>w){ - $tabNavmore.show()} - else{ - $tabNavmore.hide(); - $tabNav.css({left:0})} -} - -/*左侧菜单响应式*/ -function Huiasidedisplay(){ - if($(window).width()>=768){ - $(".Hui-aside").show() - } -} -function getskincookie(){ - var v = getCookie("Huiskin"); - if(v==null||v==""){ - v="default"; - } - $("#skin").attr("href","skin/"+v+"/skin.css"); -} -$(function(){ - getskincookie(); - //layer.config({extend: 'extend/layer.ext.js'}); - Huiasidedisplay(); - var resizeID; - $(window).resize(function(){ - clearTimeout(resizeID); - resizeID = setTimeout(function(){ - Huiasidedisplay(); - },500); - }); - - $(".Hui-nav-toggle").click(function(){ - $(".Hui-aside").slideToggle(); - }); - $(".Hui-aside").on("click",".menu_dropdown dd li a",function(){ - if($(window).width()<768){ - $(".Hui-aside").slideToggle(); - } - }); - /*左侧菜单*/ - $.Huifold(".menu_dropdown dl dt",".menu_dropdown dl dd","fast",1,"click"); - /*选项卡导航*/ - - $(".Hui-aside").on("click",".menu_dropdown a",function(){ - if($(this).attr('_href')){ - var bStop=false; - var bStopIndex=0; - var _href=$(this).attr('_href'); - var _titleName=$(this).html(); - var topWindow=$(window.parent.document); - var show_navLi=topWindow.find("#min_title_list li"); - show_navLi.each(function() { - if($(this).find('span').attr("data-href")==_href){ - bStop=true; - bStopIndex=show_navLi.index($(this)); - return false; - } - }); - if(!bStop){ - creatIframe(_href,_titleName); - min_titleList(); - } - else{ - show_navLi.removeClass("active").eq(bStopIndex).addClass("active"); - var iframe_box=topWindow.find("#iframe_box"); - iframe_box.find(".show_iframe").hide().eq(bStopIndex).show().find("iframe").attr("src",_href); - } - } - }); - - function min_titleList(){ - var topWindow=$(window.parent.document); - var show_nav=topWindow.find("#min_title_list"); - var aLi=show_nav.find("li"); - }; - function creatIframe(href,titleName){ - var topWindow=$(window.parent.document); - var show_nav=topWindow.find('#min_title_list'); - show_nav.find('li').removeClass("active"); - var iframe_box=topWindow.find('#iframe_box'); - show_nav.append('
        • '+titleName+'
        • '); - tabNavallwidth(); - var iframeBox=iframe_box.find('.show_iframe'); - iframeBox.hide(); - iframe_box.append('
          '); - var showBox=iframe_box.find('.show_iframe:visible'); - showBox.find('iframe').attr("src",href).load(function(){ - showBox.find('.loading').hide(); - }); - } - - var num=0; - var oUl=$("#min_title_list"); - var hide_nav=$("#Hui-tabNav"); - $(document).on("click","#min_title_list li",function(){ - var bStopIndex=$(this).index(); - var iframe_box=$("#iframe_box"); - $("#min_title_list li").removeClass("active").eq(bStopIndex).addClass("active"); - iframe_box.find(".show_iframe").hide().eq(bStopIndex).show(); - }); - $(document).on("click","#min_title_list li i",function(){ - var aCloseIndex=$(this).parents("li").index(); - $(this).parent().remove(); - $('#iframe_box').find('.show_iframe').eq(aCloseIndex).remove(); - num==0?num=0:num--; - tabNavallwidth(); - }); - $(document).on("dblclick","#min_title_list li",function(){ - var aCloseIndex=$(this).index(); - var iframe_box=$("#iframe_box"); - if(aCloseIndex>0){ - $(this).remove(); - $('#iframe_box').find('.show_iframe').eq(aCloseIndex).remove(); - num==0?num=0:num--; - $("#min_title_list li").removeClass("active").eq(aCloseIndex-1).addClass("active"); - iframe_box.find(".show_iframe").hide().eq(aCloseIndex-1).show(); - tabNavallwidth(); - }else{ - return false; - } - }); - tabNavallwidth(); - - $('#js-tabNav-next').click(function(){ - num==oUl.find('li').length-1?num=oUl.find('li').length-1:num++; - toNavPos(); - }); - $('#js-tabNav-prev').click(function(){ - num==0?num=0:num--; - toNavPos(); - }); - - function toNavPos(){ - oUl.stop().animate({'left':-num*100},100); - } - - /*换肤*/ - $("#Hui-skin .dropDown-menu a").click(function(){ - var v = $(this).attr("data-val"); - setCookie("Huiskin", v); - $("#skin").attr("href","skin/"+v+"/skin.css"); - }); -}); -/*弹出层*/ -/* - 参数解释: - title 标题 - url 请求的url - id 需要操作的数据id - w 弹出层宽度(缺省调默认值) - h 弹出层高度(缺省调默认值) -*/ -function layer_show(title,url,w,h){ - if (title == null || title == '') { - title=false; - }; - if (url == null || url == '') { - url="404.html"; - }; - if (w == null || w == '') { - w=800; - }; - if (h == null || h == '') { - h=($(window).height() - 50); - }; - layer.open({ - type: 2, - area: [w+'px', h +'px'], - fix: false, //不固定 - maxmin: true, - shade:0.4, - title: title, - content: url - }); -} -/*关闭弹出框口*/ -function layer_close(){ - var index = parent.layer.getFrameIndex(window.name); - parent.layer.close(index); -} \ No newline at end of file diff --git a/SMMS/WebContent/static/h-ui/js/H-ui.js b/SMMS/WebContent/static/h-ui/js/H-ui.js deleted file mode 100644 index 8d32ed5..0000000 --- a/SMMS/WebContent/static/h-ui/js/H-ui.js +++ /dev/null @@ -1,664 +0,0 @@ -/*H-ui.js v2.3 date:9:53 2015-07-17 by:guojunhui*/ -if (navigator.userAgent.match(/IEMobile\/10\.0/)) { - var msViewportStyle = document.createElement("style") - msViewportStyle.appendChild( - document.createTextNode( - "@-ms-viewport{width:auto!important}" - ) - ) - document.getElementsByTagName("head")[0].appendChild(msViewportStyle); -} - - -/*添加收藏 -收藏本站 -*/ -/*收藏主站*/ -function addFavorite(name,site){ - try{window.external.addFavorite(site,name);} - catch(e){ - try{window.sidebar.addPanel(name,site,"");} - catch(e){alert("加入收藏失败,请使用Ctrl+D进行添加");} - } -} -/*收藏页面 -收藏本页 -*/ -function addFavoritepage(){var sURL=window.location.href;var sTitle=document.title;try{window.external.addFavorite(sURL,sTitle);}catch(e){try{window.sidebar.addPanel(sTitle,sURL,"");}catch(e){alert("加入收藏失败,请使用Ctrl+D进行添加");}}} - -/*设为首页*/ -function setHome(obj){ - try{obj.style.behavior="url(#default#homepage)";obj.setHomePage(webSite);} - catch(e){if(window.netscape){ - try {netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");} - catch(e){alert("此操作被浏览器拒绝!\n请在浏览器地址栏输入\"about:config\"并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为'true',双击即可。");} - var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); - prefs.setCharPref('browser.startup.homepage',url);}} -} -/*滚动*/ -function marquee(height,speed,delay){ - var scrollT; - var pause = false; - var ScrollBox = document.getElementById("marquee"); - if(document.getElementById("holder").offsetHeight <= height) return; - var _tmp = ScrollBox.innerHTML.replace('holder', 'holder2') - ScrollBox.innerHTML += _tmp; - ScrollBox.onmouseover = function(){pause = true} - ScrollBox.onmouseout = function(){pause = false} - ScrollBox.scrollTop = 0; - function start(){ - scrollT = setInterval(scrolling,speed); - if(!pause) ScrollBox.scrollTop += 2; - } - function scrolling(){ - if(ScrollBox.scrollTop % height != 0){ - ScrollBox.scrollTop += 2; - if(ScrollBox.scrollTop >= ScrollBox.scrollHeight/2) ScrollBox.scrollTop = 0; - } - else{ - clearInterval(scrollT); - setTimeout(start,delay); - } - } - setTimeout(start,delay); -} - -/*隐藏显示密码*/ -(function ( $ ) { - $.fn.togglePassword = function( options ) { - var s = $.extend( $.fn.togglePassword.defaults, options ), - input = $( this ); - - $( s.el ).on( s.ev, function() { - "password" == $( input ).attr( "type" ) ? - $( input ).attr( "type", "text" ) : - $( input ).attr( "type", "password" ); - }); - }; - - $.fn.togglePassword.defaults = { - ev: "click" - }; -}( jQuery )); -!function ($) { - "use strict"; - $(function () { - $.support.transition = (function () { - var transitionEnd = (function () { - var el = document.createElement('bootstrap'), - transEndEventNames = { - 'WebkitTransition' : 'webkitTransitionEnd', - 'MozTransition' : 'transitionend', - 'OTransition' : 'oTransitionEnd otransitionend', - 'transition' : 'transitionend' - }, - name - for (name in transEndEventNames){ - if (el.style[name] !== undefined) { - return transEndEventNames[name] - } - } - }()) - return transitionEnd && { - end: transitionEnd - } - })() - }); -}(window.jQuery); - -/*左侧菜单-隐藏显示*/ -function displaynavbar(obj){ - if($(obj).hasClass("open")){ - $(obj).removeClass("open"); - $("body").removeClass("big-page"); - }else{ - $(obj).addClass("open"); - $("body").addClass("big-page"); - - } -} - -/*模拟下拉菜单*/ -jQuery.Huiselect = function(divselectid,inputselectid) { - var inputselect = $(inputselectid); - $(divselectid+" cite").click(function(){ - var ul = $(divselectid+" ul"); - ul.slideToggle(); - }); - $(divselectid+" ul li a").click(function(){ - var txt = $(this).text(); - $(divselectid+" cite").html(txt); - var value = $(this).attr("selectid"); - inputselect.val(value); - $(divselectid+" ul").hide(); - }); - $(document).click(function(){$(divselectid+" ul").hide();}); -}; - -/*hover*/ -jQuery.Huihover =function(obj) { - $(obj).hover(function(){$(this).addClass("hover");},function(){$(this).removeClass("hover");}); -}; -/*得到失去焦点*/ -jQuery.Huifocusblur = function(obj) { - $(obj).focus(function() {$(this).addClass("focus").removeClass("inputError");}); - $(obj).blur(function() {$(this).removeClass("focus");}); -}; -/*tab选项卡*/ -jQuery.Huitab =function(tabBar,tabCon,class_name,tabEvent,i){ - var $tab_menu=$(tabBar); - // 初始化操作 - $tab_menu.removeClass(class_name); - $(tabBar).eq(i).addClass(class_name); - $(tabCon).hide(); - $(tabCon).eq(i).show(); - - $tab_menu.on(tabEvent,function(){ - $tab_menu.removeClass(class_name); - $(this).addClass(class_name); - var index=$tab_menu.index(this); - $(tabCon).hide(); - $(tabCon).eq(index).show(); - }); -} - -/*折叠*/ -jQuery.Huifold = function(obj,obj_c,speed,obj_type,Event){ - if(obj_type == 2){ - $(obj+":first").find("b").html("-"); - $(obj_c+":first").show(); - } - $(obj).on(Event,function(){ - if($(this).next().is(":visible")){ - if(obj_type == 2){ - return false; - }else{ - $(this).next().slideUp(speed).end().removeClass("selected"); - if($(this).find("b")){ - $(this).find("b").html("+"); - } - } - } - else{ - if(obj_type == 3){ - $(this).next().slideDown(speed).end().addClass("selected"); - if($(this).find("b")){ - $(this).find("b").html("-"); - } - }else{ - $(obj_c).slideUp(speed); - $(obj).removeClass("selected"); - if($(this).find("b")){ - $(obj).find("b").html("+"); - } - $(this).next().slideDown(speed).end().addClass("selected"); - if($(this).find("b")){ - $(this).find("b").html("-"); - } - } - } - }); -} -/*返回顶部*/ -var $backToTopEle=$('').appendTo($("body")).click(function(){ - $("html, body").animate({ scrollTop: 0 }, 120); -}); -var $backToTopFun = function() { - var st = $(document).scrollTop(), winh = $(window).height(); - (st > 0)? $backToTopEle.show(): $backToTopEle.hide(); - /*IE6下的定位*/ - if(!window.XMLHttpRequest){ - $backToTopEle.css("top", st + winh - 166); - } -}; -/*textarea 字数限制*/ -function textarealength(obj,maxlength){ - var v = $(obj).val(); - var l = v.length; - if( l > maxlength){ - v = v.substring(0,maxlength); - } - $(obj).parent().find(".textarea-length").text(v.length); -} -/*Huimodalalert*/ -function Huimodal_alert(info,speed){ - $(document.body).append( - '' - ); - $("#modal-alert").fadeIn(); - - setTimeout("Huimodal_alert_hide()",speed); -} -function Huimodal_alert_hide() { - $("#modal-alert").fadeOut("normal",function(){ - $("#modal-alert").remove(); - }); -} -/*设置cookie*/ -function setCookie(name, value, Days){ - if(Days == null || Days == ''){ - Days = 300; - } - var exp = new Date(); - exp.setTime(exp.getTime() + Days*24*60*60*1000); - document.cookie = name + "="+ escape (value) + "; path=/;expires=" + exp.toGMTString(); -} - -/*获取cookie*/ -function getCookie(name) { - var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); - if(arr=document.cookie.match(reg)) - return unescape(arr[2]); - else - return null; -} -$(function(){ - /*****表单*****/ - $.Huifocusblur(".input-text,.textarea"); - /*按钮loading*/ - $('.btn-loading').click(function () { - var $btn = $(this); - var btnval = $btn.val(); - $btn.addClass("disabled").val("loading").attr("disabled","disabled"); - setTimeout(function(){ - $btn.removeClass("disabled").val(btnval).removeAttr("disabled"); - }, 3000); - }); - /**/ - $.Huiselect("#divselect","#inputselect"); - - /*全选*/ - $("table thead th input:checkbox").on("click" , function(){ - $(this).closest("table").find("tr > td:first-child input:checkbox").prop("checked",$("table thead th input:checkbox").prop("checked")); - }); - - /*上传*/ - $(document).on("change",".input-file",function(){ - var uploadVal=$(this).val(); - $(this).parent().find(".upload-url").val(uploadVal).focus().blur(); - }); - - /*下拉菜单*/ - $(document).on("mouseenter",".dropDown",function(){ - $(this).addClass("hover"); - }); - $(document).on("mouseleave",".dropDown",function(){ - $(this).removeClass("hover"); - }); - $(document).on("mouseenter",".dropDown_hover",function(){ - $(this).addClass("open"); - }); - $(document).on("mouseleave",".dropDown_hover",function(){ - $(this).removeClass("open"); - }); - $(document).on("click",".dropDown-menu li a",function(){ - $(".dropDown").removeClass('open'); - }); - $(document).on('click', function(event){ - var e_t = $(event.target).parents('.dropDown_click'); - if($(".dropDown_click").hasClass('open')){ - if(e_t.hasClass('open')){ - e_t.removeClass('open'); - return; - } - $(".dropDown_click").removeClass('open'); - e_t.toggleClass('open'); - }else{ - e_t.toggleClass('open'); - } - }); - - /*搜索框*/ - $.Huifocusblur('.searchTxt'); - $.Huihover('.ac_results li'); - $(".ac_results li").click(function (event){ - $(".searchTxt").addClass("focus").val($(this).find("p").text()); - $(".ac_results").hide(); - //$(".form-search").submit();/*提交表单*/ - b_onclick();/*临时测试*/ - return false; - }); - $(".searchTxt").focus(function(){$(".ac_results").show();return false;}); - $(".ac_results").blur(function(){$(this).hide();}); - $("body").click(function(){$(".ac_results").hide();}); - $(".searchTxt").click(function(){$(".ac_results").show();return false;}); - function BindEnter(obj){ - var searchBtn = $("#searchBtn"); - if(obj.keyCode == 13){searchBtn.click();obj.returnValue = false;} - } - - /*tag标签*/ - var tags_a = $(".tags a"); - tags_a.each(function(){ - var x = 9; - var y = 0; - var rand = parseInt(Math.random() * (x - y + 1) + y); - $(this).addClass("tags"+rand); - }); - - /*对联广告*/ - var dual = $(".dual"); - var dual_close = $("a.dual_close"); - var screen_w = screen.width; - if(screen_w>1024){dual.show();} - $(window).scroll(function(){ - var scrollTop = $(window).scrollTop(); - dual.stop().animate({top:scrollTop+260}); - }); - dual_close.click(function(){ - $(this).parent().hide(); - return false; - }); - - /*顶部展开定时自动关闭广告*/ - $("#banner").slideDown("slow"); - - /*图片预览*/ - $("a.preview").hover( - function(){ - $(this).addClass("active"); - $("#tooltip-preview").remove(); - var winW=$(window).width(); - var winW5=winW/2; - this.myTitle = this.title; - this.title = ""; - var midimg = $(this).attr('data-preview'); - if(midimg ==''){return false;} - else{ - var imgT=$(this).parents(".imgItem").offset().top; - var imgL=$(this).parents(".imgItem").offset().left; - var imgW=$(this).parents(".imgItem").width(); - var imgH=$(this).parents(".imgItem").height(); - var ww=(imgL+imgW/2); - if(ww < winW5){ - var tooltipLeft=(imgW+imgL)+"px"; - } - else{ - var tooltipRight=(winW-imgL)+"px"; - } - var tooltip_keleyi_com = "
          "; - $("body").append(tooltip_keleyi_com); - var midimgW = $(this).attr('data-width'); - var midimgH = $(this).attr('data-height'); - var imgTitle = this.myTitle ? "
          " + this.myTitle + " 产品预览图" : ""; - /*图片预加载*/ - var image = new Image();/*创建一个Image对象*/ - image.onload = function () { - if($('a.preview.active').attr('data-preview') == midimg){ - var midingW2 = this.width; - var midingH2 = this.height; - $("#tooltip-keleyi-div").css({"width":midingW2+"px","height":midingH2+"px"}); - $('#tooltip-keleyi-div').append(this); - } - }; - image.src = midimg; - } - }, - function(){ - $(this).removeClass("active"); - this.title = this.myTitle; - $("#tooltip-preview").remove(); - } - ); - - /*Huialert*/ - $.Huihover('.Huialert i'); - $(".Huialert i").on("click",function(){ - var Huialert = $(this).parents(".Huialert"); - Huialert.fadeOut("normal",function(){ - Huialert.remove(); - }); - }); - - /*tag标签*/ - var time1; - $(".Hui-tags-lable").show(); - $(".Hui-tags-input").val(""); - $(document).on("blur",".Hui-tags-input",function(){ - time1 = setTimeout(function(){ - $(this).parents(".Hui-tags").find(".Hui-tags-list").slideUp(); - }, 400); - }); - $(document).on("focus",".Hui-tags-input",function(){ - clearTimeout(time1); - }); - $(document).on("click",".Hui-tags-input",function(){ - $(this).find(".Hui-tags-input").focus(); - $(this).find(".Hui-tags-list").slideDown(); - }); - function gettagval(obj){ - var str =""; - var token =$(obj).parents(".Hui-tags").find(".Hui-tags-token"); - //alert(token.length) - if(token.length<1){ - $(obj).parents(".Hui-tags").find(".Hui-tags-val").val(""); - return false; - } - for(var i = 0;i< token.length;i++){ - str += token.eq(i).text() + ","; - $(obj).parents(".Hui-tags").find(".Hui-tags-val").val(str); - } - } - $(document).on("keydown",".Hui-tags-input",function(event){ - $(this).next().hide(); - var v = $(this).val().replace(/\s+/g, ""); - var reg=/^,|,$/gi; - v=v.replace(reg,""); - v=$.trim(v); - var token =$(this).parents(".Hui-tags").find(".Hui-tags-token"); - if(v!=''){ - if(event.keyCode==13||event.keyCode==108||event.keyCode==32){ - $(''+v+'').insertBefore($(this).parents(".Hui-tags").find(".Hui-tags-iptwrap")); - $(this).val(""); - gettagval(this); - } - }else{ - if(event.keyCode==8){ - if(token.length>=1){ - $(this).parents(".Hui-tags").find(".Hui-tags-token:last").remove(); - gettagval(this); - } - else{ - $(this).parents(".Hui-tags").find(".Hui-tags-lable").show(); - return false; - } - - } - } - }); - - $(document).on("click",".Hui-tags-has span",function(){ - var taghasV = $(this).text(); - taghasV=taghasV.replace(/(^\s*)|(\s*$)/g,""); - $(''+taghasV+'').insertBefore($(this).parents(".Hui-tags").find(".Hui-tags-iptwrap")); - gettagval(this); - $(this).parents(".Hui-tags").find(".Hui-tags-input").focus(); - }); - $(document).on("click",".Hui-tags-token",function(){ - var token =$(this).parents(".Hui-tags").find(".Hui-tags-token"); - var it = $(this).parents(".Hui-tags"); - $(this).remove(); - switch(token.length){ - case 1 : it.find(".Hui-tags-lable").show(); - break; - } - var str =""; - var token =it.find(".Hui-tags-token"); - //alert(token.length) - if(token.length<1){ - it.find(".Hui-tags-val").val(""); - return false; - } - for(var i = 0;i< token.length;i++){ - str += token.eq(i).text() + ","; - it.find(".Hui-tags-val").val(str); - } - }); -}); - -function displayimg(){ - $("#banner").slideUp(1000,function(){ - $("#top").slideDown(1000); - }); -} -setTimeout("displayimg()",4000); -/*placeholder兼容性处理*/ -(function(window, document, $) { - var isInputSupported = 'placeholder' in document.createElement('input'); - var isTextareaSupported = 'placeholder' in document.createElement('textarea'); - var prototype = $.fn; - var valHooks = $.valHooks; - var propHooks = $.propHooks; - var hooks; - var placeholder; - - if (isInputSupported && isTextareaSupported) { - placeholder = prototype.placeholder = function() { - return this; - }; - placeholder.input = placeholder.textarea = true; - } else { - placeholder = prototype.placeholder = function() { - var $this = this; - $this - .filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]') - .not('.placeholder') - .bind({ - 'focus.placeholder': clearPlaceholder, - 'blur.placeholder': setPlaceholder - }) - .data('placeholder-enabled', true) - .trigger('blur.placeholder'); - return $this; - }; - placeholder.input = isInputSupported; - placeholder.textarea = isTextareaSupported; - hooks = { - 'get': function(element) { - var $element = $(element); - var $passwordInput = $element.data('placeholder-password'); - if ($passwordInput) { - return $passwordInput[0].value; - } - return $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value; - }, - 'set': function(element, value) { - var $element = $(element); - var $passwordInput = $element.data('placeholder-password'); - if ($passwordInput) { - return $passwordInput[0].value = value; - } - if (!$element.data('placeholder-enabled')) { - return element.value = value; - } - if (value == '') { - element.value = value; - if (element != safeActiveElement()) { - setPlaceholder.call(element); - } - } else if ($element.hasClass('placeholder')) { - clearPlaceholder.call(element, true, value) || (element.value = value); - } else { - element.value = value; - } - return $element; - } - }; - - if (!isInputSupported) { - valHooks.input = hooks; - propHooks.value = hooks; - } - if (!isTextareaSupported) { - valHooks.textarea = hooks; - propHooks.value = hooks; - } - - $(function() { - $(document).delegate('form', 'submit.placeholder', function() { - var $inputs = $('.placeholder', this).each(clearPlaceholder); - setTimeout(function() { - $inputs.each(setPlaceholder); - }, 10); - }); - }); - - $(window).bind('beforeunload.placeholder', function() { - $('.placeholder').each(function() { - this.value = ''; - }); - }); - } - - function args(elem) { - var newAttrs = {}; - var rinlinejQuery = /^jQuery\d+$/; - $.each(elem.attributes, function(i, attr) { - if (attr.specified && !rinlinejQuery.test(attr.name)) { - newAttrs[attr.name] = attr.value; - } - }); - return newAttrs; - } - - function clearPlaceholder(event, value) { - var input = this; - var $input = $(input); - if (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) { - if ($input.data('placeholder-password')) { - $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id')); - if (event === true) { - return $input[0].value = value; - } - $input.focus(); - } else { - input.value = ''; - $input.removeClass('placeholder'); - input == safeActiveElement() && input.select(); - } - } - } - - function setPlaceholder() { - var $replacement; - var input = this; - var $input = $(input); - var id = this.id; - if (input.value == '') { - if (input.type == 'password') { - if (!$input.data('placeholder-textinput')) { - try { - $replacement = $input.clone().prop('type','text'); - } catch(e) { - $replacement = $('').prop($.extend(args(this), { 'type': 'text' })); - } - $replacement - .removeAttr('name') - .data({ - 'placeholder-password': $input, - 'placeholder-id': id - }) - .bind('focus.placeholder', clearPlaceholder); - $input - .data({ - 'placeholder-textinput': $replacement, - 'placeholder-id': id - }) - .before($replacement); - } - $input = $input.removeAttr('id').hide().prev().attr('id', id).show(); - } - $input.addClass('placeholder'); - $input[0].value = $input.attr('placeholder'); - } else { - $input.removeClass('placeholder'); - } - } - function safeActiveElement() { - try { - return document.activeElement; - } catch (exception) {} - } -}(this, document, jQuery)); \ No newline at end of file diff --git a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/demo.html b/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/demo.html deleted file mode 100644 index 453acad..0000000 --- a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/demo.html +++ /dev/null @@ -1,1204 +0,0 @@ - - - - -IconFont - - - - - -
          -

          H-ui.admin_v2.3 图标字库

          -

          操作相关

          -
            -
          • -
            返回顶部
            -
            &#xe684;
            -
            .Hui-iconfont-gotop
            -
          • -
          • -
            剪切
            -
            &#xe64e;
            -
            .Hui-iconfont-jiandao
            -
          • -
          • -
            搜索
            -
            &#xe665;
            -
            .Hui-iconfont-search2
            -
          • -
          • -
            保存
            -
            &#xe632;
            -
            .save
            -
          • -
          • -
            撤销
            -
            &#xe66b;
            -
            .Hui-iconfont-chexiao
            -
          • -
          • -
            重做
            -
            &#xe66c;
            -
            .Hui-iconfont-zhongzuo
            -
          • -
          • -
            下载
            -
            &#xe640;
            -
            .Hui-iconfont-down
            -
          • -
          • -
            切换器右
            -
            &#xe63d;
            -
            .Hui-iconfont-slider-right
            -
          • -
          • -
            切换器左
            -
            &#xe67d;
            -
            .Hui-iconfont-slider-left
            -
          • -
          • -
            发布
            -
            &#xe603;
            -
            .Hui-iconfont-fabu
            -
          • -
          • -
            添加
            -
            &#xe604;
            -
            .Hui-iconfont-add2
            -
          • -
          • -
            换一批
            -
            &#xe68f;
            -
            .Hui-iconfont-huanyipi
            -
          • -
          • -
            等待
            -
            &#xe606;
            -
            .Hui-iconfont-dengdai
            -
          • -
          • -
            导出
            -
            &#xe644;
            -
            .Hui-iconfont-daochu
            -
          • -
          • -
            导入
            -
            &#xe645;
            -
            .Hui-iconfont-daoru
            -
          • -
          • -
            删除
            -
            &#xe60b;
            -
            .Hui-iconfont-del
            -
          • -
          • -
            删除
            -
            &#xe609;
            -
            .Hui-iconfont-del2
            -
          • -
          • -
            删除
            -
            &#xe6e2;
            -
            .Hui-iconfont-del3
            -
          • -
          • -
            输入
            -
            &#xe647;
            -
            .Hui-iconfont-shuru
            -
          • -
          • -
            添加
            -
            &#xe600;
            -
            .Hui-iconfont-add
            -
          • -
          • -
            减号
            -
            &#xe6a1;
            -
            .Hui-iconfont-jianhao
            -
          • -
          • -
            编辑
            -
            &#xe60c;
            -
            .Hui-iconfont-edit
            -
          • -
          • -
            管理
            -
            &#xe61d;
            -
            .Hui-iconfont-manage
            -
          • -
          • -
            添加
            -
            &#xe610;
            -
            .Hui-iconfont-add3
            -
          • -
          • -
            添加
            -
            &#xe61f;
            -
            .Hui-iconfont-add4
            -
          • -
          • -
            密码
            -
            &#xe63f;
            -
            .Hui-iconfont-key
            -
          • -
          • -
            解锁
            -
            &#xe605;
            -
            .Hui-iconfont-jiesuo
            -
          • -
          • -
            锁定
            -
            &#xe60e;
            -
            .Hui-iconfont-suoding
            -
          • -
          • -
            关闭
            -
            &#xe6a6;
            -
            .Hui-iconfont-close
            -
          • -
          • -
            选择
            -
            &#xe6a7;
            -
            .Hui-iconfont-xuanze
            -
          • -
          • -
            未选
            -
            &#xe608;
            -
            .Hui-iconfont-weigouxuan2
            -
          • -
          • -
            选中
            -
            &#xe6a8;
            -
            .Hui-iconfont-xuanzhong1
            -
          • -
          • -
            选中
            -
            &#xe676;
            -
            .Hui-iconfont-xuanzhong
            -
          • -
          • -
            未选中
            -
            &#xe677;
            -
            .Hui-iconfont-weixuanzhong
            -
          • -
          • -
            启用
            -
            &#xe601;
            -
            .Hui-iconfont-gouxuan2
            -
          • -
          • -
            勾选
            -
            &#xe617;
            -
            .Hui-iconfont-selected
            -
          • -
          • -
            上架
            -
            &#xe6dc;
            -
            .Hui-iconfont-shangjia
            -
          • -
          • -
            下架
            -
            &#xe6de;
            -
            .Hui-iconfont-xiajia
            -
          • -
          • -
            上传
            -
            &#xe642;
            -
            .Hui-iconfont-upload
            -
          • -
          • -
            下载
            -
            &#xe641;
            -
            .Hui-iconfont-yundown
            -
          • -
          • -
            剪裁
            -
            &#xe6bc;
            -
            .Hui-iconfont-caiqie
            -
          • -
          • -
            旋转
            -
            &#xe6bd;
            -
            .Hui-iconfont-xuanzhuan
            -
          • -
          • -
            启用
            -
            &#xe615;
            -
            .Hui-iconfont-gouxuan
            -
          • -
          • -
            未勾选
            -
            &#xe614;
            -
            .Hui-iconfont-weigouxuan
            -
          • -
          • -
            录音
            -
            &#xe619;
            -
            .Hui-iconfont-luyin
            -
          • -
          • -
            编辑
            -
            &#xe6df;
            -
            .Hui-iconfont-edit
            -
          • -
          • -
            预览
            -
            &#xe695;
            -
            .Hui-iconfont-yulan
            -
          • -
          • -
            审核不通过
            -
            &#xe6e0;
            -
            .shenhe-weitongguo
            -
          • -
          • -
            审核不通过
            -
            &#xe6dd;
            -
            .shenhe-butongguo2
            -
          • -
          • -
            审核通过
            -
            &#xe6e1;
            -
            .shenhe-tongguo
            -
          • -
          • -
            停用
            -
            &#xe631;
            -
            .shenhe-tingyong
            -
          • -
          -

          菜单相关

          -
            -
          • -
            home
            -
            &#xe625;
            -
            .Hui-iconfont-home
            -
          • -
          • -
            小箭头
            -
            &#xe67f;
            -
            .Hui-iconfont-home2
            -
          • -
          • -
            cmstop新闻
            -
            &#xe616;
            -
            .Hui-iconfont-news
            -
          • -
          • -
            图片
            -
            &#xe613;
            -
            .Hui-iconfont-tuku
            -
          • -
          • -
            音乐
            -
            &#xe60f;
            -
            .Hui-iconfont-music
            -
          • -
          • -
            标签
            -
            &#xe64b;
            -
            .Hui-iconfont-tags
            -
          • -
          • -
            语音
            -
            &#xe66f;
            -
            .Hui-iconfont-yuyin3
            -
          • -
          • -
            系统
            -
            &#xe62e;
            -
            .Hui-iconfont-system
            -
          • -
          • -
            帮助
            -
            &#xe633;
            -
            .Hui-iconfont-help
            -
          • -
          • -
            出库
            -
            &#xe634;
            -
            .Hui-iconfont-chuku
            -
          • -
          • -
            图片
            -
            &#xe646;
            -
            .Hui-iconfont-picture
            -
          • -
          • -
            分类
            -
            &#xe681;
            -
            .Hui-iconfont-fenlei
            -
          • -
          • -
            合同管理
            -
            &#xe636;
            -
            .Hui-iconfont-hetong
            -
          • -
          • -
            全部订单
            -
            &#xe687;
            -
            .Hui-iconfont-quanbudingdan
            -
          • -
          • -
            任务管理
            -
            &#xe637;
            -
            .Hui-iconfont-renwu
            -
          • -
          • -
            问题反馈
            -
            &#xe691;
            -
            .Hui-iconfont-feedback
            -
          • -
          • -
            意见反馈
            -
            &#xe692;
            -
            .Hui-iconfont-feedback2
            -
          • -
          • -
            合同
            -
            &#xe639;
            -
            .Hui-iconfont-dangan
            -
          • -
          • -
            日志
            -
            &#xe623;
            -
            .Hui-iconfont-log
            -
          • -
          • -
            列表页面
            -
            &#xe626;
            -
            .Hui-iconfont-pages
            -
          • -
          • -
            文件
            -
            &#xe63e;
            -
            .Hui-iconfont-file
            -
          • -
          • -
            管理
            -
            &#xe63c;
            -
            .Hui-iconfont-manage2
            -
          • -
          • -
            订单
            -
            &#xe627;
            -
            .Hui-iconfont-order
            -
          • -
          • -
            语音
            -
            &#xe6a4;
            -
            .Hui-iconfont-yuyin2
            -
          • -
          • -
            语音
            -
            &#xe6a5;
            -
            .Hui-iconfont-yuyin
            -
          • -
          • -
            图片
            -
            &#xe612;
            -
            .Hui-iconfont-picture1
            -
          • -
          • -
            图文详情
            -
            &#xe685;
            -
            .Hui-iconfont-tuwenxiangqing
            -
          • -
          -

          天气相关

          -
            -
          • -
            多云
            -
            &#xe6ac;
            -
            .Hui-iconfont-tianqi-duoyun
            -
          • -
          • -
            -
            &#xe6ad;
            -
            .Hui-iconfont-tianqi-mai
            -
          • -
          • -
            -
            &#xe6ae;
            -
            .Hui-iconfont-tianqi-qing
            -
          • -
          • -
            -
            &#xe6af;
            -
            .Hui-iconfont-tianqi-wu
            -
          • -
          • -
            -
            &#xe6b0;
            -
            .Hui-iconfont-tianqi-xue
            -
          • -
          • -
            -
            &#xe6b1;
            -
            .Hui-iconfont-tianqi-yin
            -
          • -
          • -
            -
            &#xe6b2;
            -
            .Hui-iconfont-tianqi-yu
            -
          • -
          -

          用户相关

          -
            -
          • -
            用户
            -
            &#xe62c;
            -
            .Hui-iconfont-user
            -
          • -
          • -
            用户
            -
            &#xe60d;
            -
            .Hui-iconfont-user2
            -
          • -
          • -
            用户头像
            -
            &#xe60a;
            -
            .Hui-iconfont-avatar
            -
          • -
          • -
            添加用户
            -
            &#xe607;
            -
            .Hui-iconfont-user-add
            -
          • -
          • -
            用户ID
            -
            &#xe602;
            -
            .Hui-iconfont-userid
            -
          • -
          • -
            证照管理
            -
            &#xe638;
            -
            .Hui-iconfont-zhizhao
            -
          • -
          • -
            群组
            -
            &#xe62b;
            -
            .Hui-iconfont-user-group
            -
          • -
          • -
            站长
            -
            &#xe653;
            -
            .Hui-iconfont-user-zhanzhang
            -
          • -
          • -
            管理员
            -
            &#xe62d;
            -
            .Hui-iconfont-root
            -
          • -
          • -
            公司
            -
            &#xe643;
            -
            .Hui-iconfont-gongsi
            -
          • -
          • -
            会员卡
            -
            &#xe6b4;
            -
            .Hui-iconfont-vip-card2
            -
          • -
          • -
            会员
            -
            &#xe6cc;
            -
            .Hui-iconfont-vip
            -
          • -
          • -
            群组
            -
            &#xe611;
            -
            .Hui-iconfont-usergroup2
            -
          • -
          • -
            客服
            -
            &#xe6d0;
            -
            .Hui-iconfont-kefu
            -
          • -
          -

          表情相关

          -
            -
          • -
            表情
            -
            &#xe68e;
            -
            .Hui-iconfont-face2
            -
          • -
          • -
            表情
            -
            &#xe668;
            -
            .Hui-iconfont-face
            -
          • -
          • -
            微笑
            -
            &#xe656;
            -
            .Hui-iconfont-face-weixiao
            -
          • -
          • -
            哭脸
            -
            &#xe688;
            -
            .face-ku
            -
          • -
          • -
            吃惊
            -
            &#xe657;
            -
            .Hui-iconfont-face-chijing
            -
          • -
          • -
            -
            &#xe658;
            -
            .Hui-iconfont-face-dai
            -
          • -
          • -
            耍酷
            -
            &#xe659;
            -
            .Hui-iconfont-face-shuaku
            -
          • -
          • -
            魔鬼
            -
            &#xe65a;
            -
            .Hui-iconfont-face-mogui
            -
          • -
          • -
            尴尬
            -
            &#xe65b;
            -
            .Hui-iconfont-face-ganga
            -
          • -
          • -
            -
            &#xe65c;
            -
            .Hui-iconfont-face-qin
            -
          • -
          • -
            -
            &#xe65d;
            -
            .Hui-iconfont-face-nu
            -
          • -
          • -
            眨眼
            -
            &#xe65e;
            -
            .Hui-iconfont-face-zhayan
            -
          • -
          • -
            生气
            -
            &#xe65f;
            -
            .Hui-iconfont-face-shengqi
            -
          • -
          • -
            -
            &#xe660;
            -
            .Hui-iconfont-face-ma
            -
          • -
          • -
            鄙视
            -
            &#xe661;
            -
            .Hui-iconfont-face-bishi
            -
          • -
          • -
            卖萌
            -
            &#xe662;
            -
            .Hui-iconfont-face-maimeng
            -
          • -
          • -
            惊呆
            -
            &#xe663;
            -
            .Hui-iconfont-face-jingdai
            -
          • -
          • -
            -
            &#xe664;
            -
            .Hui-iconfont-face-yun
            -
          • -
          -

          社区相关

          -
            -
          • -
            分享
            -
            &#xe666;
            -
            .Hui-iconfont-share2
            -
          • -
          • -
            分享
            -
            &#xe6aa;
            -
            .Hui-iconfont-share
            -
          • -
          • -
            人人网
            -
            &#xe6d8;
            -
            .Hui-iconfont-share-renren
            -
          • -
          • -
            腾讯微博
            -
            &#xe6d9;
            -
            .Hui-iconfont-share-tweibo
            -
          • -
          • -
            豆瓣
            -
            &#xe67c;
            -
            .Hui-iconfont-share-douban
            -
          • -
          • -
            朋友圈
            -
            &#xe693;
            -
            .Hui-iconfont-share-pengyouquan
            -
          • -
          • -
            微信
            -
            &#xe694;
            -
            .Hui-iconfont-share-weixin
            -
          • -
          • -
            QQ
            -
            &#xe67b;
            -
            .Hui-iconfont-share-qq
            -
          • -
          • -
            QQ空间
            -
            &#xe6c8;
            -
            .Hui-iconfont-share-qzone
            -
          • -
          • -
            微博
            -
            &#xe6da;
            -
            .Hui-iconfont-share-weibo
            -
          • -
          • -
            知乎
            -
            &#xe689;
            -
            .Hui-iconfont-share-zhihu
            -
          • -
          • -
            喜欢
            -
            &#xe649;
            -
            .Hui-iconfont-like
            -
          • -
          • -
            喜欢
            -
            &#xe648;
            -
            .Hui-iconfont-like2
            -
          • -
          • -
            已关注
            -
            &#xe680;
            -
            .Hui-iconfont-yiguanzhu
            -
          • -
          • -
            评论
            -
            &#xe622;
            -
            .Hui-iconfont-comment
            -
          • -
          • -
            累计评价
            -
            &#xe686;
            -
            .Hui-iconfont-leijipingjia
            -
          • -
          • -
            消息
            -
            &#xe68a;
            -
            .Hui-iconfont-xiaoxi
            -
          • -
          • -
            收藏
            -
            &#xe61b;
            -
            .Hui-iconfont-cang
            -
          • -
          • -
            收藏-选中
            -
            &#xe630;
            -
            .Hui-iconfont-cang-selected
            -
          • -
          • -
            收藏
            -
            &#xe69e;
            -
            .Hui-iconfont-cang2
            -
          • -
          • -
            收藏-选中
            -
            &#xe69d;
            -
            .Hui-iconfont-cang2-selected
            -
          • -
          • -
            关注-更多操作
            -
            &#xe68b;
            -
            .Hui-iconfont-more
            -
          • -
          • -
            赞扬
            -
            &#xe66d;
            -
            .Hui-iconfont-zan
            -
          • -
          • -
            批评
            -
            &#xe66e;
            -
            .Hui-iconfont-cai
            -
          • -
          • -
            点赞
            -
            &#xe697;
            -
            .Hui-iconfont-zan2
            -
          • -
          • -
            通知
            -
            &#xe62f;
            -
            .Hui-iconfont-msg
            -
          • -
          • -
            消息管理
            -
            &#xe63b;
            -
            .Hui-iconfont-email
            -
          • -
          • -
            已关注店铺
            -
            &#xe6a9;
            -
            .Hui-iconfont-yiguanzhu1
            -
          • -
          • -
            转发
            -
            &#xe6ab;
            -
            .Hui-iconfont-zhuanfa
            -
          • -
          • -
            待评价
            -
            &#xe6b3;
            -
            .Hui-iconfont-daipingjia
            -
          • -
          • -
            积分
            -
            &#xe6b5;
            -
            .Hui-iconfont-jifen
            -
          • -
          • -
            消息
            -
            &#xe6c5;
            -
            .Hui-iconfont-xiaoxi1
            -
          • -
          • -
            订阅
            -
            &#xe6ce;
            -
            .Hui-iconfont-dingyue
            -
          • -
          • -
            提示
            -
            &#xe6cd;
            -
            .Hui-iconfont-tishi
            -
          • -
          -

          统计相关

          -
            -
          • -
            数据统计
            -
            &#xe621;
            -
            .Hui-iconfont-tongji-bing
            -
          • -
          • -
            统计管理
            -
            &#xe635;
            -
            .Hui-iconfont-ad
            -
          • -
          • -
            数据统计
            -
            &#xe61e;
            -
            .Hui-iconfont-shujutongji
            -
          • -
          • -
            统计
            -
            &#xe61a;
            -
            .Hui-iconfont-tongji
            -
          • -
          • -
            柱状统计
            -
            &#xe618;
            -
            .Hui-iconfont-tongji-zhu
            -
          • -
          • -
            线状统计
            -
            &#xe61c;
            -
            .Hui-iconfont-tongji-xian
            -
          • -
          • -
            排行榜
            -
            &#xe6cf;
            -
            .Hui-iconfont-paixingbang
            -
          • -
          -

          箭头相关

          -
            -
          • -
            向左
            -
            &#xe678;
            -
            .Hui-iconfont-arrow1-bottom
            -
          • -
          • -
            向下
            -
            &#xe674;
            -
            .Hui-iconfont-arrow1-bottom
            -
          • -
          • -
            向上
            -
            &#xe679;
            -
            .Hui-iconfont-arrow1-top
            -
          • -
          • -
            向右
            -
            &#xe67a;
            -
            .Hui-iconfont-arrow1-right
            -
          • -
          • -
            向左
            -
            &#xe6d4;
            -
            .Hui-iconfont-arrow2-left
            -
          • -
          • -
            向上
            -
            &#xe6d6;
            -
            .Hui-iconfont-arrow2-top
            -
          • -
          • -
            向右
            -
            &#xe6d7;
            -
            .Hui-iconfont-arrow2-right
            -
          • -
          • -
            向下
            -
            &#xe6d5;
            -
            .Hui-iconfont-arrow2-bottom
            -
          • -
          • -
            向左
            -
            &#xe69b;
            -
            .Hui-iconfont-arrow3-left
            -
          • -
          • -
            向上
            -
            &#xe699;
            -
            .Hui-iconfont-arrow3-top
            -
          • -
          • -
            向右
            -
            &#xe69a;
            -
            .Hui-iconfont-arrow3-right
            -
          • -
          • -
            向下
            -
            &#xe698;
            -
            .Hui-iconfont-arrow3-bottom
            -
          • -
          • -
            向右
            -
            &#xe67e;
            -
            .Hui-iconfont-sanjiao
            -
          • -
          -

          电商相关

          -
            -
          • -
            物流
            -
            &#xe669;
            -
            .Hui-iconfont-wuliu
            -
          • -
          • -
            店铺
            -
            &#xe66a;
            -
            .Hui-iconfont-dianpu
            -
          • -
          • -
            购物车
            -
            &#xe670;
            -
            .Hui-iconfont-cart2-selected
            -
          • -
          • -
            购物车满
            -
            &#xe672;
            -
            .Hui-iconfont-cart2-man
            -
          • -
          • -
            购物车空
            -
            &#xe673;
            -
            .Hui-iconfont-card2-kong
            -
          • -
          • -
            购物车-选中
            -
            &#xe6b8;
            -
            .Hui-iconfont-cart-selected
            -
          • -
          • -
            购物车
            -
            &#xe6b9;
            -
            .Hui-iconfont-cart-kong
            -
          • -
          • -
            降价
            -
            &#xe6ba;
            -
            .Hui-iconfont-jiangjia
            -
          • -
          • -
            信用卡还款
            -
            &#xe628;
            -
            .Hui-iconfont-bank
            -
          • -
          • -
            礼物
            -
            &#xe6bb;
            -
            .Hui-iconfont-liwu
            -
          • -
          • -
            优惠券
            -
            &#xe6b6;
            -
            .Hui-iconfont-youhuiquan
            -
          • -
          • -
            红包
            -
            &#xe6b7;
            -
            .Hui-iconfont-hongbao
            -
          • -
          • -
            优惠券
            -
            &#xe6ca;
            -
            .Hui-iconfont-hongbao2
            -
          • -
          • -
            资金
            -
            &#xe63a;
            -
            .Hui-iconfont-money
            -
          • -
          • -
            商品
            -
            &#xe620;
            -
            .Hui-iconfont-goods
            -
          • -
          -

          其他

          -
            -
          • -
            电话
            -
            &#xe6c7;
            -
            .Hui-iconfont-tel
            -
          • -
          • -
            电话
            -
            &#xe6a3;
            -
            .Hui-iconfont-tel2
            -
          • -
          • -
            电话
            -
            &#xe696;
            -
            .Hui-iconfont-phone
            -
          • -
          • -
            平板电脑
            -
            &#xe64c;
            -
            .Hui-iconfont-pad
            -
          • -
          • -
            PC
            -
            &#xe64f;
            -
            .Hui-iconfont-xianshiqi
            -
          • -
          • -
            照相机
            -
            &#xe650;
            -
            .Hui-iconfont-zhaoxiangji
            -
          • -
          • -
            单反相机
            -
            &#xe651;
            -
            .Hui-iconfont-danfanxiangji
            -
          • -
          • -
            打印机
            -
            &#xe652;
            -
            .Hui-iconfont-dayinji
            -
          • -
          • -
            轮胎
            -
            &#xe64d;
            -
            .Hui-iconfont-lunzi
            -
          • -
          • -
            插件
            -
            &#xe654;
            -
            .Hui-iconfont-chajian
            -
          • -
          • -
            节日
            -
            &#xe655;
            -
            .Hui-iconfont-jieri
            -
          • -
          • -
            排序
            -
            &#xe675;
            -
            .Hui-iconfont-paixu
            -
          • -
          • -
            匿名
            -
            &#xe624;
            -
            .Hui-iconfont-niming
            -
          • -
          • -
            换肤
            -
            &#xe62a;
            -
            .Hui-iconfont-pifu
            -
          • -
          • -
            二维码
            -
            &#xe6cb;
            -
            .Hui-iconfont-2code
            -
          • -
          • -
            扫一扫
            -
            &#xe682;
            -
            .Hui-iconfont-saoyisao
            -
          • -
          • -
            搜索
            -
            &#xe683;
            -
            .Hui-iconfont-search
            -
          • -
          • -
            中图模式
            -
            &#xe68c;
            -
            .Hui-iconfont-zhongtumoshi
            -
          • -
          • -
            大图模式
            -
            &#xe68d;
            -
            .Hui-iconfont-datumoshi
            -
          • -
          • -
            大图模式
            -
            &#xe6be;
            -
            .Hui-iconfont-bigpic
            -
          • -
          • -
            中图模式
            -
            &#xe6c0;
            -
            .Hui-iconfont-middle
            -
          • -
          • -
            列表模式
            -
            &#xe6bf;
            -
            .Hui-iconfont-list
            -
          • -
          • -
            时间
            -
            &#xe690;
            -
            .Hui-iconfont-shijian
            -
          • -
          • -
            更多
            -
            &#xe69c;
            -
            .Hui-iconfont-more2
            -
          • -
          • -
            SIM卡
            -
            &#xe629;
            -
            .Hui-iconfont-sim
            -
          • -
          • -
            火热
            -
            &#xe6c1;
            -
            .Hui-iconfont-hot
            -
          • -
          • -
            拍摄
            -
            &#xe6c2;
            -
            .Hui-iconfont-paishe
            -
          • -
          • -
            热销
            -
            &#xe6c3;
            -
            .Hui-iconfont-hot1
            -
          • -
          • -
            上新
            -
            &#xe6c4;
            -
            .Hui-iconfont-new
            -
          • -
          • -
            产品参数
            -
            &#xe6c6;
            -
            .Hui-iconfont-canshu
            -
          • -
          • -
            定位
            -
            &#xe6c9;
            -
            .Hui-iconfont-dingwei
            -
          • -
          • -
            定位
            -
            &#xe671;
            -
            .Hui-iconfont-weizhi
            -
          • -
          • -
            HTML
            -
            &#xe69f;
            -
            .Hui-iconfont-html
            -
          • -
          • -
            CSS
            -
            &#xe6a0;
            -
            .Hui-iconfont-css
            -
          • -
          • -
            苹果
            -
            &#xe64a;
            -
            .Hui-iconfont-apple
            -
          • -
          • -
            android
            -
            &#xe6a2;
            -
            .Hui-iconfont-android
            -
          • -
          • -
            github
            -
            &#xe6d1;
            -
            .Hui-iconfont-github
            -
          • -
          • -
            html5
            -
            &#xe6d2;
            -
            .Hui-iconfont-html5
            -
          • -
          • -
            皇冠
            -
            &#xe6d3;
            -
            .Hui-iconfont-huangguan
            -
          • -
          -
          第一步:使用font-face声明字体 -
          -@font-face {font-family: 'Hui-iconfont';
          -    src: url('iconfont.eot'); /* IE9*/
          -    src: url('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
          -    url('iconfont.woff') format('woff'), /* chrome、firefox */
          -    url('iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
          -    url('iconfont.svg#Hui-iconfont') format('svg'); /* iOS 4.1- */
          -}
          -
          - 第二步:定义使用iconfont的样式 -
          -.Hui-iconfont{
          -    font-family:"Hui-iconfont" !important;
          -    font-size:16px;font-style:normal;
          -    -webkit-font-smoothing: antialiased;
          -    -webkit-text-stroke-width: 0.2px;
          -    -moz-osx-font-smoothing: grayscale;}
          -
          - 第三步:挑选相应图标并获取字体编码,应用于页面 -
          -<i class="Hui-iconfont">&#x33;</i>
          -
          -
          -
          - - diff --git a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.css b/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.css deleted file mode 100644 index db0e2c4..0000000 --- a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.css +++ /dev/null @@ -1,242 +0,0 @@ - -@font-face {font-family: "Hui-iconfont"; - src: url('iconfont.eot'); /* IE9*/ - src: url('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('iconfont.woff') format('woff'), /* chrome、firefox */ - url('iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ - url('iconfont.svg#Hui-iconfont') format('svg'); /* iOS 4.1- */ -} - -.Hui-iconfont { - font-family:"Hui-iconfont" !important; - - font-style:normal; - -webkit-font-smoothing: antialiased; - -webkit-text-stroke-width: 0.2px; - -moz-osx-font-smoothing: grayscale; -} -.Hui-iconfont-gotop:before { content: "\e684"; } -.Hui-iconfont-music:before { content: "\e60f"; } -.Hui-iconfont-tags:before { content: "\e64b"; } -.Hui-iconfont-pad:before { content: "\e64c"; } -.Hui-iconfont-lunzi:before { content: "\e64d"; } -.Hui-iconfont-jiandao:before { content: "\e64e"; } -.Hui-iconfont-xianshiqi:before { content: "\e64f"; } -.Hui-iconfont-zhaoxiangji:before { content: "\e650"; } -.Hui-iconfont-danfanxiangji:before { content: "\e651"; } -.Hui-iconfont-dayinji:before { content: "\e652"; } -.Hui-iconfont-user-zhanzhang:before { content: "\e653"; } -.Hui-iconfont-chajian:before { content: "\e654"; } -.Hui-iconfont-arrow1-bottom:before { content: "\e674"; } -.Hui-iconfont-arrow1-left:before { content: "\e678"; } -.Hui-iconfont-arrow1-top:before { content: "\e679"; } -.Hui-iconfont-arrow1-right:before { content: "\e67a"; } -.Hui-iconfont-jieri:before { content: "\e655"; } -.Hui-iconfont-face-weixiao:before { content: "\e656"; } -.Hui-iconfont-face-chijing:before { content: "\e657"; } -.Hui-iconfont-face-dai:before { content: "\e658"; } -.Hui-iconfont-face-shuaku:before { content: "\e659"; } -.Hui-iconfont-face-mogui:before { content: "\e65a"; } -.Hui-iconfont-face-ganga:before { content: "\e65b"; } -.Hui-iconfont-face-qin:before { content: "\e65c"; } -.Hui-iconfont-face-nu:before { content: "\e65d"; } -.Hui-iconfont-face-zhayan:before { content: "\e65e"; } -.Hui-iconfont-face-shengqi:before { content: "\e65f"; } -.Hui-iconfont-face-ma:before { content: "\e660"; } -.Hui-iconfont-face-bishi:before { content: "\e661"; } -.Hui-iconfont-face-maimeng:before { content: "\e662"; } -.Hui-iconfont-face-jingdai:before { content: "\e663"; } -.Hui-iconfont-face-yun:before { content: "\e664"; } -.Hui-iconfont-home2:before { content: "\e67f"; } -.Hui-iconfont-search2:before { content: "\e665"; } -.Hui-iconfont-share2:before { content: "\e666"; } -.Hui-iconfont-face:before { content: "\e668"; } -.Hui-iconfont-wuliu:before { content: "\e669"; } -.Hui-iconfont-dianpu:before { content: "\e66a"; } -.Hui-iconfont-chexiao:before { content: "\e66b"; } -.Hui-iconfont-zhongzuo:before { content: "\e66c"; } -.Hui-iconfont-zan:before { content: "\e66d"; } -.Hui-iconfont-cai:before { content: "\e66e"; } -.Hui-iconfont-yuyin3:before { content: "\e66f"; } -.Hui-iconfont-cart2-selected:before { content: "\e670"; } -.Hui-iconfont-weizhi:before { content: "\e671"; } -.Hui-iconfont-face-ku:before { content: "\e688"; } -.Hui-iconfont-down:before { content: "\e640"; } -.Hui-iconfont-cart2-man:before { content: "\e672"; } -.Hui-iconfont-card2-kong:before { content: "\e673"; } -.Hui-iconfont-luyin:before { content: "\e619"; } -.Hui-iconfont-html:before { content: "\e69f"; } -.Hui-iconfont-css:before { content: "\e6a0"; } -.Hui-iconfont-android:before { content: "\e6a2"; } -.Hui-iconfont-github:before { content: "\e6d1"; } -.Hui-iconfont-html5:before { content: "\e6d2"; } -.Hui-iconfont-huangguan:before { content: "\e6d3"; } -.Hui-iconfont-news:before { content: "\e616"; } -.Hui-iconfont-slider-right:before { content: "\e63d"; } -.Hui-iconfont-slider-left:before { content: "\e67d"; } -.Hui-iconfont-tuku:before { content: "\e613"; } -.Hui-iconfont-shuru:before { content: "\e647"; } -.Hui-iconfont-sanjiao:before { content: "\e67e"; } -.Hui-iconfont-share-renren:before { content: "\e6d8"; } -.Hui-iconfont-share-tweibo:before { content: "\e6d9"; } -.Hui-iconfont-arrow2-left:before { content: "\e6d4"; } -.Hui-iconfont-paixu:before { content: "\e675"; } -.Hui-iconfont-niming:before { content: "\e624"; } -.Hui-iconfont-add:before { content: "\e600"; } -.Hui-iconfont-root:before { content: "\e62d"; } -.Hui-iconfont-xuanzhong:before { content: "\e676"; } -.Hui-iconfont-weixuanzhong:before { content: "\e677"; } -.Hui-iconfont-arrow2-bottom:before { content: "\e6d5"; } -.Hui-iconfont-arrow2-top:before { content: "\e6d6"; } -.Hui-iconfont-like2:before { content: "\e648"; } -.Hui-iconfont-arrow2-right:before { content: "\e6d7"; } -.Hui-iconfont-share-weixin:before { content: "\e694"; } -.Hui-iconfont-shenhe-tingyong:before { content: "\e631"; } -.Hui-iconfont-gouxuan2:before { content: "\e601"; } -.Hui-iconfont-selected:before { content: "\e617"; } -.Hui-iconfont-jianhao:before { content: "\e6a1"; } -.Hui-iconfont-user-group:before { content: "\e62b"; } -.Hui-iconfont-yiguanzhu:before { content: "\e680"; } -.Hui-iconfont-comment:before { content: "\e622"; } -.Hui-iconfont-tongji-zhu:before { content: "\e618"; } -.Hui-iconfont-like:before { content: "\e649"; } -.Hui-iconfont-shangjia:before { content: "\e6dc"; } -.Hui-iconfont-save:before { content: "\e632"; } -.Hui-iconfont-gongsi:before { content: "\e643"; } -.Hui-iconfont-system:before { content: "\e62e"; } -.Hui-iconfont-pifu:before { content: "\e62a"; } -.Hui-iconfont-msg:before { content: "\e62f"; } -.Hui-iconfont-userid:before { content: "\e602"; } -.Hui-iconfont-cang-selected:before { content: "\e630"; } -.Hui-iconfont-yundown:before { content: "\e641"; } -.Hui-iconfont-help:before { content: "\e633"; } -.Hui-iconfont-chuku:before { content: "\e634"; } -.Hui-iconfont-picture:before { content: "\e646"; } -.Hui-iconfont-ad:before { content: "\e635"; } -.Hui-iconfont-fenlei:before { content: "\e681"; } -.Hui-iconfont-saoyisao:before { content: "\e682"; } -.Hui-iconfont-search:before { content: "\e683"; } -.Hui-iconfont-tuwenxiangqing:before { content: "\e685"; } -.Hui-iconfont-leijipingjia:before { content: "\e686"; } -.Hui-iconfont-hetong:before { content: "\e636"; } -.Hui-iconfont-tongji:before { content: "\e61a"; } -.Hui-iconfont-quanbudingdan:before { content: "\e687"; } -.Hui-iconfont-cang:before { content: "\e61b"; } -.Hui-iconfont-xiaoxi:before { content: "\e68a"; } -.Hui-iconfont-renwu:before { content: "\e637"; } -.Hui-iconfont-more:before { content: "\e68b"; } -.Hui-iconfont-zhizhao:before { content: "\e638"; } -.Hui-iconfont-fabu:before { content: "\e603"; } -.Hui-iconfont-shenhe-butongguo2:before { content: "\e6dd"; } -.Hui-iconfont-share-qq:before { content: "\e67b"; } -.Hui-iconfont-upload:before { content: "\e642"; } -.Hui-iconfont-add2:before { content: "\e604"; } -.Hui-iconfont-jiesuo:before { content: "\e605"; } -.Hui-iconfont-zhongtumoshi:before { content: "\e68c"; } -.Hui-iconfont-datumoshi:before { content: "\e68d"; } -.Hui-iconfont-face2:before { content: "\e68e"; } -.Hui-iconfont-huanyipi:before { content: "\e68f"; } -.Hui-iconfont-shijian:before { content: "\e690"; } -.Hui-iconfont-feedback:before { content: "\e691"; } -.Hui-iconfont-feedback2:before { content: "\e692"; } -.Hui-iconfont-share-pengyouquan:before { content: "\e693"; } -.Hui-iconfont-zan2:before { content: "\e697"; } -.Hui-iconfont-arrow3-bottom:before { content: "\e698"; } -.Hui-iconfont-arrow3-top:before { content: "\e699"; } -.Hui-iconfont-arrow3-right:before { content: "\e69a"; } -.Hui-iconfont-arrow3-left:before { content: "\e69b"; } -.Hui-iconfont-more2:before { content: "\e69c"; } -.Hui-iconfont-cang2-selected:before { content: "\e69d"; } -.Hui-iconfont-cang2:before { content: "\e69e"; } -.Hui-iconfont-dangan:before { content: "\e639"; } -.Hui-iconfont-money:before { content: "\e63a"; } -.Hui-iconfont-share-weibo:before { content: "\e6da"; } -.Hui-iconfont-email:before { content: "\e63b"; } -.Hui-iconfont-tongji-xian:before { content: "\e61c"; } -.Hui-iconfont-bank:before { content: "\e628"; } -.Hui-iconfont-home:before { content: "\e625"; } -.Hui-iconfont-user:before { content: "\e62c"; } -.Hui-iconfont-log:before { content: "\e623"; } -.Hui-iconfont-pages:before { content: "\e626"; } -.Hui-iconfont-sim:before { content: "\e629"; } -.Hui-iconfont-dengdai:before { content: "\e606"; } -.Hui-iconfont-user-add:before { content: "\e607"; } -.Hui-iconfont-file:before { content: "\e63e"; } -.Hui-iconfont-share-douban:before { content: "\e67c"; } -.Hui-iconfont-share-zhihu:before { content: "\e689"; } -.Hui-iconfont-daochu:before { content: "\e644"; } -.Hui-iconfont-daoru:before { content: "\e645"; } -.Hui-iconfont-weigouxuan2:before { content: "\e608"; } -.Hui-iconfont-phone:before { content: "\e696"; } -.Hui-iconfont-manage2:before { content: "\e63c"; } -.Hui-iconfont-edit:before { content: "\e6df"; } -.Hui-iconfont-del2:before { content: "\e609"; } -.Hui-iconfont-avatar:before { content: "\e60a"; } -.Hui-iconfont-del:before { content: "\e60b"; } -.Hui-iconfont-edit1:before { content: "\e60c"; } -.Hui-iconfont-apple:before { content: "\e64a"; } -.Hui-iconfont-xiajia:before { content: "\e6de"; } -.Hui-iconfont-manage:before { content: "\e61d"; } -.Hui-iconfont-user2:before { content: "\e60d"; } -.Hui-iconfont-share-qzone:before { content: "\e6c8"; } -.Hui-iconfont-suoding:before { content: "\e60e"; } -.Hui-iconfont-tel2:before { content: "\e6a3"; } -.Hui-iconfont-order:before { content: "\e627"; } -.Hui-iconfont-shujutongji:before { content: "\e61e"; } -.Hui-iconfont-del3:before { content: "\e6e2"; } -.Hui-iconfont-add3:before { content: "\e610"; } -.Hui-iconfont-add4:before { content: "\e61f"; } -.Hui-iconfont-key:before { content: "\e63f"; } -.Hui-iconfont-yuyin2:before { content: "\e6a4"; } -.Hui-iconfont-yuyin:before { content: "\e6a5"; } -.Hui-iconfont-close:before { content: "\e6a6"; } -.Hui-iconfont-xuanze:before { content: "\e6a7"; } -.Hui-iconfont-xuanzhong1:before { content: "\e6a8"; } -.Hui-iconfont-yiguanzhu1:before { content: "\e6a9"; } -.Hui-iconfont-share:before { content: "\e6aa"; } -.Hui-iconfont-zhuanfa:before { content: "\e6ab"; } -.Hui-iconfont-tianqi-duoyun:before { content: "\e6ac"; } -.Hui-iconfont-tianqi-mai:before { content: "\e6ad"; } -.Hui-iconfont-tianqi-qing:before { content: "\e6ae"; } -.Hui-iconfont-tianqi-wu:before { content: "\e6af"; } -.Hui-iconfont-tianqi-xue:before { content: "\e6b0"; } -.Hui-iconfont-tianqi-yin:before { content: "\e6b1"; } -.Hui-iconfont-tianqi-yu:before { content: "\e6b2"; } -.Hui-iconfont-daipingjia:before { content: "\e6b3"; } -.Hui-iconfont-vip-card2:before { content: "\e6b4"; } -.Hui-iconfont-jifen:before { content: "\e6b5"; } -.Hui-iconfont-youhuiquan:before { content: "\e6b6"; } -.Hui-iconfont-hongbao:before { content: "\e6b7"; } -.Hui-iconfont-cart-selected:before { content: "\e6b8"; } -.Hui-iconfont-cart-kong:before { content: "\e6b9"; } -.Hui-iconfont-jiangjia:before { content: "\e6ba"; } -.Hui-iconfont-liwu:before { content: "\e6bb"; } -.Hui-iconfont-caiqie:before { content: "\e6bc"; } -.Hui-iconfont-xuanzhuan:before { content: "\e6bd"; } -.Hui-iconfont-bigpic:before { content: "\e6be"; } -.Hui-iconfont-list:before { content: "\e6bf"; } -.Hui-iconfont-middle:before { content: "\e6c0"; } -.Hui-iconfont-hot:before { content: "\e6c1"; } -.Hui-iconfont-paishe:before { content: "\e6c2"; } -.Hui-iconfont-hot1:before { content: "\e6c3"; } -.Hui-iconfont-new:before { content: "\e6c4"; } -.Hui-iconfont-xiaoxi1:before { content: "\e6c5"; } -.Hui-iconfont-canshu:before { content: "\e6c6"; } -.Hui-iconfont-tel:before { content: "\e6c7"; } -.Hui-iconfont-dingwei:before { content: "\e6c9"; } -.Hui-iconfont-hongbao2:before { content: "\e6ca"; } -.Hui-iconfont-2code:before { content: "\e6cb"; } -.Hui-iconfont-vip:before { content: "\e6cc"; } -.Hui-iconfont-tishi:before { content: "\e6cd"; } -.Hui-iconfont-dingyue:before { content: "\e6ce"; } -.Hui-iconfont-yulan:before { content: "\e695"; } -.Hui-iconfont-usergroup2:before { content: "\e611"; } -.Hui-iconfont-goods:before { content: "\e620"; } -.Hui-iconfont-paixingbang:before { content: "\e6cf"; } -.Hui-iconfont-kefu:before { content: "\e6d0"; } -.Hui-iconfont-picture1:before { content: "\e612"; } -.Hui-iconfont-weigouxuan:before { content: "\e614"; } -.Hui-iconfont-shenhe-weitongguo:before { content: "\e6e0"; } -.Hui-iconfont-shenhe-tongguo:before { content: "\e6e1"; } -.Hui-iconfont-tongji-bing:before { content: "\e621"; } -.Hui-iconfont-gouxuan:before { content: "\e615"; } diff --git a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.eot b/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.eot deleted file mode 100644 index c0e05e3..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.eot and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.svg b/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.svg deleted file mode 100644 index 9a8a606..0000000 --- a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.svg +++ /dev/null @@ -1,985 +0,0 @@ - - - - -Created by FontForge 20120731 at Thu Aug 6 17:16:23 2015 - By Ads - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.ttf b/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.ttf deleted file mode 100644 index 64b7bf0..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.ttf and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.woff b/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.woff deleted file mode 100644 index e9c8ae9..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/Hui-iconfont/1.0.1/iconfont.woff and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/aero.png b/SMMS/WebContent/static/h-ui/lib/icheck/aero.png deleted file mode 100644 index dccf774..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/aero.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/aero@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/aero@2x.png deleted file mode 100644 index 5537ee3..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/aero@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/blue.png b/SMMS/WebContent/static/h-ui/lib/icheck/blue.png deleted file mode 100644 index af04cee..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/blue.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/blue@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/blue@2x.png deleted file mode 100644 index f19210a..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/blue@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/green.png b/SMMS/WebContent/static/h-ui/lib/icheck/green.png deleted file mode 100644 index 9171ebc..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/green.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/green@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/green@2x.png deleted file mode 100644 index 7f18f96..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/green@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/grey.png b/SMMS/WebContent/static/h-ui/lib/icheck/grey.png deleted file mode 100644 index 22dcdbc..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/grey.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/grey@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/grey@2x.png deleted file mode 100644 index 85e82dd..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/grey@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/icheck.css b/SMMS/WebContent/static/h-ui/lib/icheck/icheck.css deleted file mode 100644 index 7b22c41..0000000 --- a/SMMS/WebContent/static/h-ui/lib/icheck/icheck.css +++ /dev/null @@ -1,182 +0,0 @@ -/* iCheck.js Minimal skin ------------------------------------ */ -.icheckbox,.iradio{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(minimal.png) no-repeat;border: none;cursor: pointer} -.icheckbox,.icheckbox.static:hover{background-position: 0 0} -.icheckbox.hover,.icheckbox:hover{background-position: -20px 0} -.icheckbox.checked{background-position: -40px 0} -.icheckbox.disabled{background-position: -60px 0;cursor: default} -.icheckbox.checked.disabled{background-position: -80px 0} -.iradio,.iradio.static:hover{background-position: -100px 0} -.iradio.hover,.iradio:hover{background-position: -120px 0} -.iradio.checked{background-position: -140px 0} -.iradio.disabled{background-position: -160px 0;cursor: default} -.iradio.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox,.iradio{background-image: url(minimal@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* red */ -.icheckbox-red,.iradio-red{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(red.png) no-repeat;border: none;cursor: pointer} -.icheckbox-red,.icheckbox-red.static:hover{background-position: 0 0} -.icheckbox-red.hover,.icheckbox-red:hover{background-position: -20px 0} -.icheckbox-red.checked{background-position: -40px 0} -.icheckbox-red.disabled{background-position: -60px 0;cursor: default} -.icheckbox-red.checked.disabled{background-position: -80px 0} -.iradio-red,.iradio-red.static:hover{background-position: -100px 0} -.iradio-red.hover,.iradio-red:hover{background-position: -120px 0} -.iradio-red.checked{background-position: -140px 0} -.iradio-red.disabled{background-position: -160px 0;cursor: default} -.iradio-red.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-red,.iradio-red{background-image: url(red@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* green */ -.icheckbox-green,.iradio-green{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(green.png) no-repeat;border: none;cursor: pointer} -.icheckbox-green,.icheckbox-green.static:hover{background-position: 0 0} -.icheckbox-green.hover,.icheckbox-green:hover{background-position: -20px 0} -.icheckbox-green.checked{background-position: -40px 0} -.icheckbox-green.disabled{background-position: -60px 0;cursor: default} -.icheckbox-green.checked.disabled{background-position: -80px 0} -.iradio-green,.iradio-green.static:hover{background-position: -100px 0} -.iradio-green.hover,.iradio-green:hover{background-position: -120px 0} -.iradio-green.checked{background-position: -140px 0} -.iradio-green.disabled{background-position: -160px 0;cursor: default} -.iradio-green.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-green,.iradio-green{background-image: url(green@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* blue */ -.icheckbox-blue,.iradio-blue{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(blue.png) no-repeat;border: none;cursor: pointer} -.icheckbox-blue,.icheckbox-blue.static:hover{background-position: 0 0} -.icheckbox-blue.hover,.icheckbox-blue:hover{background-position: -20px 0} -.icheckbox-blue.checked{background-position: -40px 0} -.icheckbox-blue.disabled{background-position: -60px 0;cursor: default} -.icheckbox-blue.checked.disabled{background-position: -80px 0} -.iradio-blue,.iradio-blue.static:hover{background-position: -100px 0} -.iradio-blue.hover,.iradio-blue:hover{background-position: -120px 0} -.iradio-blue.checked{background-position: -140px 0} -.iradio-blue.disabled{background-position: -160px 0;cursor: default} -.iradio-blue.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-blue,.iradio-blue{background-image: url(blue@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* aero */ -.icheckbox-aero,.iradio-aero{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(aero.png) no-repeat;border: none;cursor: pointer} -.icheckbox-aero,.icheckbox-aero.static:hover{background-position: 0 0} -.icheckbox-aero.hover,.icheckbox-aero:hover{background-position: -20px 0} -.icheckbox-aero.checked{background-position: -40px 0} -.icheckbox-aero.disabled{background-position: -60px 0;cursor: default} -.icheckbox-aero.checked.disabled{background-position: -80px 0} -.iradio-aero,.iradio-aero.static:hover{background-position: -100px 0} -.iradio-aero.hover,.iradio-aero:hover{background-position: -120px 0} -.iradio-aero.checked{background-position: -140px 0} -.iradio-aero.disabled{background-position: -160px 0;cursor: default} -.iradio-aero.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-aero,.iradio-aero{background-image: url(aero@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* grey */ -.icheckbox-grey,.iradio-grey{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(grey.png) no-repeat;border: none;cursor: pointer} -.icheckbox-grey,.icheckbox-grey.static:hover{background-position: 0 0} -.icheckbox-grey.hover,.icheckbox-grey:hover{background-position: -20px 0} -.icheckbox-grey.checked{background-position: -40px 0} -.icheckbox-grey.disabled{background-position: -60px 0;cursor: default} -.icheckbox-grey.checked.disabled{background-position: -80px 0} -.iradio-grey,.iradio-grey.static:hover{background-position: -100px 0} -.iradio-grey.hover,.iradio-grey:hover{background-position: -120px 0} -.iradio-grey.checked{background-position: -140px 0} -.iradio-grey.disabled{background-position: -160px 0;cursor: default} -.iradio-grey.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-grey,.iradio-grey{background-image: url(grey@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* orange */ -.icheckbox-orange,.iradio-orange{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(orange.png) no-repeat;border: none;cursor: pointer} -.icheckbox-orange,.icheckbox-orange.static:hover{background-position: 0 0} -.icheckbox-orange.hover,.icheckbox-orange:hover{background-position: -20px 0} -.icheckbox-orange.checked{background-position: -40px 0} -.icheckbox-orange.disabled{background-position: -60px 0;cursor: default} -.icheckbox-orange.checked.disabled{background-position: -80px 0} -.iradio-orange,.iradio-orange.static:hover{background-position: -100px 0} -.iradio-orange.hover,.iradio-orange:hover{background-position: -120px 0} -.iradio-orange.checked{background-position: -140px 0} -.iradio-orange.disabled{background-position: -160px 0;cursor: default} -.iradio-orange.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-orange,.iradio-orange{background-image: url(orange@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* yellow */ -.icheckbox-yellow,.iradio-yellow{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(yellow.png) no-repeat;border: none;cursor: pointer} -.icheckbox-yellow,.icheckbox-yellow.static:hover{background-position: 0 0} -.icheckbox-yellow.hover,.icheckbox-yellow:hover{background-position: -20px 0} -.icheckbox-yellow.checked{background-position: -40px 0} -.icheckbox-yellow.disabled{background-position: -60px 0;cursor: default} -.icheckbox-yellow.checked.disabled{background-position: -80px 0} -.iradio-yellow,.iradio-yellow.static:hover{background-position: -100px 0} -.iradio-yellow.hover,.iradio-yellow:hover{background-position: -120px 0} -.iradio-yellow.checked{background-position: -140px 0} -.iradio-yellow.disabled{background-position: -160px 0;cursor: default} -.iradio-yellow.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-yellow,.iradio-yellow{background-image: url(yellow@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* pink */ -.icheckbox-pink,.iradio-pink{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(pink.png) no-repeat;border: none;cursor: pointer} -.icheckbox-pink,.icheckbox-pink.static:hover{background-position: 0 0} -.icheckbox-pink.hover,.icheckbox-pink:hover{background-position: -20px 0} -.icheckbox-pink.checked{background-position: -40px 0} -.icheckbox-pink.disabled{background-position: -60px 0;cursor: default} -.icheckbox-pink.checked.disabled{background-position: -80px 0} -.iradio-pink,.iradio-pink.static:hover{background-position: -100px 0} -.iradio-pink.hover,.iradio-pink:hover{background-position: -120px 0} -.iradio-pink.checked{background-position: -140px 0} -.iradio-pink.disabled{background-position: -160px 0;cursor: default} -.iradio-pink.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-pink,.iradio-pink{background-image: url(pink@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} -/* purple */ -.icheckbox-purple,.iradio-purple{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(purple.png) no-repeat;border: none;cursor: pointer} -.icheckbox-purple,.icheckbox-purple.static:hover{background-position: 0 0} -.icheckbox-purple.hover,.icheckbox-purple:hover{background-position: -20px 0} -.icheckbox-purple.checked{background-position: -40px 0} -.icheckbox-purple.disabled{background-position: -60px 0;cursor: default} -.icheckbox-purple.checked.disabled{background-position: -80px 0} -.iradio-purple,.iradio-purple.static:hover{background-position: -100px 0} -.iradio-purple.hover,.iradio-purple:hover{background-position: -120px 0} -.iradio-purple.checked{background-position: -140px 0} -.iradio-purple.disabled{background-position: -160px 0;cursor: default} -.iradio-purple.checked.disabled{background-position: -180px 0} - -/* Retina support */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-purple,.iradio-purple{background-image: url(purple@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px} -} - diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/jquery.icheck.min.js b/SMMS/WebContent/static/h-ui/lib/icheck/jquery.icheck.min.js deleted file mode 100644 index e69610d..0000000 --- a/SMMS/WebContent/static/h-ui/lib/icheck/jquery.icheck.min.js +++ /dev/null @@ -1,9 +0,0 @@ -// iCheck v0.7, http://git.io/uhUPMA -(function(b){function m(a,b,d,c){var e=a[0],l=a.parent(),j=/disable|enable/.test(d)?"disabled":"checked",f="update"==d?{checked:e.checked,disabled:e.disabled}:e[j];if(/^check|disable/.test(d)&&!f)n(a,!0,l,j);else if(/uncheck|enable/.test(d)&&f)p(a,!0,l,j);else if("update"==d)for(j in f)f[j]?n(a,!1,l,j,c):p(a,!1,l,j,c);else b||(!0==d&&!e.disabled&&a.trigger("is.Clicked"),f?n(a,!0,l,j):p(a,!0,l,j))}function n(a,k,d,c,e){k&&(a[0][c]=!0);!0!==d.data(c)&&("checked"==c&&("radio"==a[0].type&&a[0].name)&& -b("input[name="+a[0].name+"]").each(function(){this!==a[0]&&b(this).data("icheck")&&p(b(this),!0,b(this).parent(),c)}),(k||e)&&a.trigger("is.Changed"),k&&a.trigger("is."+c.replace("di","Di").replace("ch","Ch")),d.data(c,!0).addClass(r(a,c)))}function p(a,b,d,c,e){var l="disabled"==c?"Enabled":"Unchecked";b&&(a[0][c]=!1);!1!==d.data(c)&&((b||e)&&a.trigger("is.Changed"),b&&a.trigger("is."+l),d.data(c,!1).removeClass(r(a,c)))}function u(a,k){if(a.data("icheck")){var d=a[0].id,c=b("label[for="+d+"]"); -a.parent().html(a.attr("style",a.data("icheck").style||"").trigger(k||""));a.removeData("icheck").unbind(".df").unwrap();d&&c.length&&c.unbind(".df")}}function r(a,b){if(a.data("icheck"))return a.data("icheck").options[b+"Class"]}b.fn.iCheck=function(a){if(/^(check|uncheck|disable|enable|update|destroy)$/.test(a))return this.each(function(){/destroy/.test(a)?u(b(this),"is.Destroyed"):m(b(this),!0,a)});if("object"==typeof a||!a){var k=navigator.userAgent,d=b.extend({},{checkboxClass:"icheckbox",radioClass:"iradio", -checkedClass:"checked",disabledClass:"disabled",hoverClass:"hover",focusClass:"focus",activeClass:"active",labelHover:!0,labelHoverClass:"hover"},a),c=/^(checkbox|radio)$/.test(d.handle)?":"+d.handle:":checkbox, :radio",e=(""+d.increaseArea).replace("%","")|0;-50>e&&(e=-50);return this.each(function(){(b(this).is(c)?b(this):b(this).find(c)).each(function(){u(b(this));var a=this,c=a.id,f={position:"absolute",top:-e+"%",left:-e+"%",display:"block",width:100+2*e+"%",height:100+2*e+"%",margin:0,padding:0, -background:"#fff",border:0,opacity:0},r=/ipad|iphone|ipod|android|blackberry|windows phone|opera mini/i.test(k)?{position:"absolute",visibility:"hidden"}:e|0?f:{position:"absolute",opacity:0},w="checkbox"==a.type?d.checkboxClass:d.radioClass,h=b(this).data("icheck",{style:b(this).attr("style"),options:d}).css(r),q=b("label[for="+c+"]"),g=h.wrap('
          ').trigger("is.Created").parent().append(d.insert),f=b("").css(f).appendTo(g).click(function(){h.click();m(h,!1,!0)}),s=d.hoverClass, -t=d.labelHoverClass,v;!0==d.cursor&&f.css("cursor","pointer");!0==d.inheritClass&&g.addClass(a.className);!0==d.inheritID&&c&&g.attr("id","icheck-"+c);"static"==g.css("position")&&g.css("position","relative");m(h,!0,"update");c&&q.length&&q.bind("click.df mouseenter.df mouseleave.df touchbegin.df touchend.df",function(c){var e=c.type,f=b(this);"click"==e?(c.preventDefault(),h.click(),m(h,!1,!0)):!0==d.labelHover&&!a.disabled&&(/mouseenter|touchbegin/.test(e)?(g.addClass(s),f.addClass(t)):(g.removeClass(s), -f.removeClass(t)))});h.bind("focus.df blur.df keyup.df keydown.df keypress.df",function(c){var b=c.type,e=c.keyCode||c.charCode||c.which;c=/MSIE [5-8]/.test(k)?"keyup"==b&&"keypress"!==v:"keyup"==b;e="keypress"==b&&32==e;/focus|blur/.test(b)?"focus"==b?g.addClass(d.focusClass):g.removeClass(d.focusClass):"radio"==a.type?(c?m(h,!0,"update",!0):e&&!a.checked&&n(h,!1,g,"checked",!0),v=b):"checkbox"==a.type&&e&&(a.checked?p(h,!1,g,"checked",!0):n(h,!1,g,"checked",!0))});f.bind("mousedown mouseup mouseout mouseenter mouseleave touchbegin touchend", -function(b){b=b.type;var e=/mousedown|mouseup|mouseout/.test(b)?d.activeClass:s;a.disabled||(/mousedown|mouseenter|touchbegin/.test(b)?g.addClass(e):g.removeClass(e),c&&(q.length&&!0==d.labelHover&&e==s)&&(/mouseleave|touchend/.test(b)?q.removeClass(t):q.addClass(t)))})})})}return this}})(jQuery); \ No newline at end of file diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/minimal.png b/SMMS/WebContent/static/h-ui/lib/icheck/minimal.png deleted file mode 100644 index 943be16..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/minimal.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/minimal@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/minimal@2x.png deleted file mode 100644 index d62291d..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/minimal@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/orange.png b/SMMS/WebContent/static/h-ui/lib/icheck/orange.png deleted file mode 100644 index f2a3149..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/orange.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/orange@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/orange@2x.png deleted file mode 100644 index 68c8359..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/orange@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/pink.png b/SMMS/WebContent/static/h-ui/lib/icheck/pink.png deleted file mode 100644 index 660553c..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/pink.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/pink@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/pink@2x.png deleted file mode 100644 index 7d7b385..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/pink@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/purple.png b/SMMS/WebContent/static/h-ui/lib/icheck/purple.png deleted file mode 100644 index 48dec79..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/purple.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/purple@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/purple@2x.png deleted file mode 100644 index 3bb7041..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/purple@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/red.png b/SMMS/WebContent/static/h-ui/lib/icheck/red.png deleted file mode 100644 index 4443f80..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/red.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/red@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/red@2x.png deleted file mode 100644 index 2eb55a6..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/red@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/yellow.png b/SMMS/WebContent/static/h-ui/lib/icheck/yellow.png deleted file mode 100644 index 0999b7e..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/yellow.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/icheck/yellow@2x.png b/SMMS/WebContent/static/h-ui/lib/icheck/yellow@2x.png deleted file mode 100644 index c16f2b7..0000000 Binary files a/SMMS/WebContent/static/h-ui/lib/icheck/yellow@2x.png and /dev/null differ diff --git a/SMMS/WebContent/static/h-ui/lib/jquery/1.9.1/jquery.js b/SMMS/WebContent/static/h-ui/lib/jquery/1.9.1/jquery.js deleted file mode 100644 index e2c203f..0000000 --- a/SMMS/WebContent/static/h-ui/lib/jquery/1.9.1/jquery.js +++ /dev/null @@ -1,9597 +0,0 @@ -/*! - * jQuery JavaScript Library v1.9.1 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2013-2-4 - */ -(function( window, undefined ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -//"use strict"; -var - // The deferred used on DOM ready - readyList, - - // A central reference to the root jQuery(document) - rootjQuery, - - // Support: IE<9 - // For `typeof node.method` instead of `node.method !== undefined` - core_strundefined = typeof undefined, - - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - location = window.location, - - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$, - - // [[Class]] -> type pairs - class2type = {}, - - // List of deleted data cache ids, so we can reuse them - core_deletedIds = [], - - core_version = "1.9.1", - - // Save a reference to some core methods - core_concat = core_deletedIds.concat, - core_push = core_deletedIds.push, - core_slice = core_deletedIds.slice, - core_indexOf = core_deletedIds.indexOf, - core_toString = class2type.toString, - core_hasOwn = class2type.hasOwnProperty, - core_trim = core_version.trim, - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }, - - // Used for matching numbers - core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, - - // Used for splitting on whitespace - core_rnotwhite = /\S+/g, - - // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - // Match a standalone tag - rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, - - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, - rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }, - - // The ready event handler - completed = function( event ) { - - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } - }, - // Clean-up method for dom ready events - detach = function() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: core_version, - - constructor: jQuery, - init: function( selector, context, rootjQuery ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return rootjQuery.ready( selector ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - toArray: function() { - return core_slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == null ? - - // Return a 'clean' array - this.toArray() : - - // Return just the object - ( num < 0 ? this[ this.length + num ] : this[ num ] ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - ready: function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; - }, - - slice: function() { - return this.pushStack( core_slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: core_push, - sort: [].sort, - splice: [].splice -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - noConflict: function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; - }, - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.trigger ) { - jQuery( document ).trigger("ready").off("ready"); - } - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - return !isNaN( parseFloat(obj) ) && isFinite( obj ); - }, - - type: function( obj ) { - if ( obj == null ) { - return String( obj ); - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ core_toString.call(obj) ] || "object" : - typeof obj; - }, - - isPlainObject: function( obj ) { - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !core_hasOwn.call(obj, "constructor") && - !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - - var key; - for ( key in obj ) {} - - return key === undefined || core_hasOwn.call( obj, key ); - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - error: function( msg ) { - throw new Error( msg ); - }, - - // data: string of html - // context (optional): If specified, the fragment will be created in this context, defaults to document - // keepScripts (optional): If true, will include scripts passed in the html string - parseHTML: function( data, context, keepScripts ) { - if ( !data || typeof data !== "string" ) { - return null; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - context = context || document; - - var parsed = rsingleTag.exec( data ), - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[1] ) ]; - } - - parsed = jQuery.buildFragment( [ data ], context, scripts ); - if ( scripts ) { - jQuery( scripts ).remove(); - } - return jQuery.merge( [], parsed.childNodes ); - }, - - parseJSON: function( data ) { - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - return window.JSON.parse( data ); - } - - if ( data === null ) { - return data; - } - - if ( typeof data === "string" ) { - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - if ( data ) { - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test( data.replace( rvalidescape, "@" ) - .replace( rvalidtokens, "]" ) - .replace( rvalidbraces, "")) ) { - - return ( new Function( "return " + data ) )(); - } - } - } - - jQuery.error( "Invalid JSON: " + data ); - }, - - // Cross-browser xml parsing - parseXML: function( data ) { - var xml, tmp; - if ( !data || typeof data !== "string" ) { - return null; - } - try { - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data , "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - } catch( e ) { - xml = undefined; - } - if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; - }, - - noop: function() {}, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Use native String.trim function wherever possible - trim: core_trim && !core_trim.call("\uFEFF\xA0") ? - function( text ) { - return text == null ? - "" : - core_trim.call( text ); - } : - - // Otherwise use our own trimming functionality - function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - core_push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( core_indexOf ) { - return core_indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var l = second.length, - i = first.length, - j = 0; - - if ( typeof l === "number" ) { - for ( ; j < l; j++ ) { - first[ i++ ] = second[ j ]; - } - } else { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, inv ) { - var retVal, - ret = [], - i = 0, - length = elems.length; - inv = !!inv; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - retVal = !!callback( elems[ i ], i ); - if ( inv !== retVal ) { - ret.push( elems[ i ] ); - } - } - - return ret; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - } - - // Flatten any nested arrays - return core_concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = core_slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - // Multifunctional method to get and set values of a collection - // The value/s can optionally be executed if it's a function - access: function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; - }, - - now: function() { - return ( new Date() ).getTime(); - } -}); - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - var length = obj.length, - type = jQuery.type( obj ); - - if ( jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || type !== "function" && - ( length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj ); -} - -// All jQuery objects should point back to these -rootjQuery = jQuery(document); -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( list && ( !fired || stack ) ) { - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var action = tuple[ 0 ], - fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = core_slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; - if( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); -jQuery.support = (function() { - - var support, all, a, - input, select, fragment, - opt, eventName, isSupported, i, - div = document.createElement("div"); - - // Setup - div.setAttribute( "className", "t" ); - div.innerHTML = "
          a"; - - // Support tests won't run in some limited or non-browser environments - all = div.getElementsByTagName("*"); - a = div.getElementsByTagName("a")[ 0 ]; - if ( !all || !a || !all.length ) { - return {}; - } - - // First batch of tests - select = document.createElement("select"); - opt = select.appendChild( document.createElement("option") ); - input = div.getElementsByTagName("input")[ 0 ]; - - a.style.cssText = "top:1px;float:left;opacity:.5"; - support = { - // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) - getSetAttribute: div.className !== "t", - - // IE strips leading whitespace when .innerHTML is used - leadingWhitespace: div.firstChild.nodeType === 3, - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - tbody: !div.getElementsByTagName("tbody").length, - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - htmlSerialize: !!div.getElementsByTagName("link").length, - - // Get the style information from getAttribute - // (IE uses .cssText instead) - style: /top/.test( a.getAttribute("style") ), - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - hrefNormalized: a.getAttribute("href") === "/a", - - // Make sure that element opacity exists - // (IE uses filter instead) - // Use a regex to work around a WebKit issue. See #5145 - opacity: /^0.5/.test( a.style.opacity ), - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - cssFloat: !!a.style.cssFloat, - - // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) - checkOn: !!input.value, - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - optSelected: opt.selected, - - // Tests for enctype support on a form (#6743) - enctype: !!document.createElement("form").enctype, - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>", - - // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode - boxModel: document.compatMode === "CSS1Compat", - - // Will be defined later - deleteExpando: true, - noCloneEvent: true, - inlineBlockNeedsLayout: false, - shrinkWrapBlocks: false, - reliableMarginRight: true, - boxSizingReliable: true, - pixelPosition: false - }; - - // Make sure checked status is properly cloned - input.checked = true; - support.noCloneChecked = input.cloneNode( true ).checked; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as disabled) - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Support: IE<9 - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - - // Check if we can trust getAttribute("value") - input = document.createElement("input"); - input.setAttribute( "value", "" ); - support.input = input.getAttribute( "value" ) === ""; - - // Check if an input maintains its value after becoming a radio - input.value = "t"; - input.setAttribute( "type", "radio" ); - support.radioValue = input.value === "t"; - - // #11217 - WebKit loses check when the name is after the checked attribute - input.setAttribute( "checked", "t" ); - input.setAttribute( "name", "t" ); - - fragment = document.createDocumentFragment(); - fragment.appendChild( input ); - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - support.appendChecked = input.checked; - - // WebKit doesn't clone checked state correctly in fragments - support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php - for ( i in { submit: true, change: true, focusin: true }) { - div.setAttribute( eventName = "on" + i, "t" ); - - support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; - } - - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - // Run tests that need a body at doc ready - jQuery(function() { - var container, marginDiv, tds, - divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", - body = document.getElementsByTagName("body")[0]; - - if ( !body ) { - // Return for frameset docs that don't have a body - return; - } - - container = document.createElement("div"); - container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; - - body.appendChild( container ).appendChild( div ); - - // Support: IE8 - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - div.innerHTML = "
          t
          "; - tds = div.getElementsByTagName("td"); - tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; - isSupported = ( tds[ 0 ].offsetHeight === 0 ); - - tds[ 0 ].style.display = ""; - tds[ 1 ].style.display = "none"; - - // Support: IE8 - // Check if empty table cells still have offsetWidth/Height - support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); - - // Check box-sizing and margin behavior - div.innerHTML = ""; - div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; - support.boxSizing = ( div.offsetWidth === 4 ); - support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); - - // Use window.getComputedStyle because jsdom on node.js will break without it. - if ( window.getComputedStyle ) { - support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; - support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; - - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. (#3333) - // Fails in WebKit before Feb 2011 nightlies - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - marginDiv = div.appendChild( document.createElement("div") ); - marginDiv.style.cssText = div.style.cssText = divReset; - marginDiv.style.marginRight = marginDiv.style.width = "0"; - div.style.width = "1px"; - - support.reliableMarginRight = - !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); - } - - if ( typeof div.style.zoom !== core_strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.innerHTML = ""; - div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; - support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); - - // Support: IE6 - // Check if elements with layout shrink-wrap their children - div.style.display = "block"; - div.innerHTML = "
          "; - div.firstChild.style.width = "5px"; - support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); - - if ( support.inlineBlockNeedsLayout ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); - - // Null elements to avoid leaks in IE - container = div = tds = marginDiv = null; - }); - - // Null elements to avoid leaks in IE - all = select = fragment = opt = a = input = null; - - return support; -})(); - -var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, - rmultiDash = /([A-Z])/g; - -function internalData( elem, name, data, pvt /* Internal Use Only */ ){ - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, ret, - internalKey = jQuery.expando, - getByName = typeof name === "string", - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - cache[ id ] = {}; - - // Avoids exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( getByName ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var i, l, thisCache, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - for ( i = 0, l = name.length; i < l; i++ ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - } else if ( jQuery.support.deleteExpando || cache != cache.window ) { - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // Unique for each copy of jQuery on the page - // Non-digits removed to match rinlinejQuery - expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), - - // The following elements throw uncatchable exceptions if you - // attempt to add expando properties to them. - noData: { - "embed": true, - // Ban all objects except for Flash (which handle expandos) - "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", - "applet": true - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - }, - - // A method for determining if a DOM node can handle the data expando - acceptData: function( elem ) { - // Do not set data on non-element because it will not be cleared (#8335). - if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { - return false; - } - - var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; - - // nodes accept data unless otherwise specified; rejection can be conditional - return !noData || noData !== true && elem.getAttribute("classid") === noData; - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var attrs, name, - elem = this[0], - i = 0, - data = null; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - attrs = elem.attributes; - for ( ; i < attrs.length; i++ ) { - name = attrs[i].name; - - if ( !name.indexOf( "data-" ) ) { - name = jQuery.camelCase( name.slice(5) ); - - dataAttr( elem, name, data[ name ] ); - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return jQuery.access( this, function( value ) { - - if ( value === undefined ) { - // Try to fetch any internally stored data first - return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; - } - - this.each(function() { - jQuery.data( this, key, value ); - }); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - hooks.cur = fn; - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - // Based off of the plugin by Clint Helfers, with permission. - // http://blindsignals.com/index.php/2009/07/jquery-delay/ - delay: function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = setTimeout( next, time ); - hooks.stop = function() { - clearTimeout( timeout ); - }; - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var nodeHook, boolHook, - rclass = /[\t\r\n]/g, - rreturn = /\r/g, - rfocusable = /^(?:input|select|textarea|button|object)$/i, - rclickable = /^(?:a|area)$/i, - rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, - ruseDefault = /^(?:checked|selected)$/i, - getSetAttribute = jQuery.support.getSetAttribute, - getSetInput = jQuery.support.input; - -jQuery.fn.extend({ - attr: function( name, value ) { - return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - }, - - prop: function( name, value ) { - return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - }, - - addClass: function( value ) { - var classes, elem, cur, clazz, j, - i = 0, - len = this.length, - proceed = typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).addClass( value.call( this, j, this.className ) ); - }); - } - - if ( proceed ) { - // The disjunction here is for better compressibility (see removeClass) - classes = ( value || "" ).match( core_rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - " " - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - elem.className = jQuery.trim( cur ); - - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, clazz, j, - i = 0, - len = this.length, - proceed = arguments.length === 0 || typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).removeClass( value.call( this, j, this.className ) ); - }); - } - if ( proceed ) { - classes = ( value || "" ).match( core_rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - "" - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - elem.className = value ? jQuery.trim( cur ) : ""; - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isBool = typeof stateVal === "boolean"; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( i ) { - jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - state = stateVal, - classNames = value.match( core_rnotwhite ) || []; - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space separated list - state = isBool ? state : !self.hasClass( className ); - self[ state ? "addClass" : "removeClass" ]( className ); - } - - // Toggle whole class name - } else if ( type === core_strundefined || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // If the element has a class name or if we're passed "false", - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " ", - i = 0, - l = this.length; - for ( ; i < l; i++ ) { - if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { - return true; - } - } - - return false; - }, - - val: function( value ) { - var ret, hooks, isFunction, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - // handle most common string cases - ret.replace(rreturn, "") : - // handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var val, - self = jQuery(this); - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, self.val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map(val, function ( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - // attributes.value is undefined in Blackberry 4.7 but - // uses .value. See #6932 - var val = elem.attributes.value; - return !val || val.specified ? elem.value : elem.text; - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one" || index < 0, - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // oldIE doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - // Don't return options that are disabled or in a disabled optgroup - ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && - ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var values = jQuery.makeArray( value ); - - jQuery(elem).find("option").each(function() { - this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; - }); - - if ( !values.length ) { - elem.selectedIndex = -1; - } - return values; - } - } - }, - - attr: function( elem, name, value ) { - var hooks, notxml, ret, - nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === core_strundefined ) { - return jQuery.prop( elem, name, value ); - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // All attributes are lowercase - // Grab necessary hook if one is defined - if ( notxml ) { - name = name.toLowerCase(); - hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - - } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, value + "" ); - return value; - } - - } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - - // In IE9+, Flash objects don't have .getAttribute (#12945) - // Support: IE9+ - if ( typeof elem.getAttribute !== core_strundefined ) { - ret = elem.getAttribute( name ); - } - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, value ) { - var name, propName, - i = 0, - attrNames = value && value.match( core_rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( (name = attrNames[i++]) ) { - propName = jQuery.propFix[ name ] || name; - - // Boolean attributes get special treatment (#10870) - if ( rboolean.test( name ) ) { - // Set corresponding property to false for boolean attributes - // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8 - if ( !getSetAttribute && ruseDefault.test( name ) ) { - elem[ jQuery.camelCase( "default-" + name ) ] = - elem[ propName ] = false; - } else { - elem[ propName ] = false; - } - - // See #9699 for explanation of this approach (setting first, then removal) - } else { - jQuery.attr( elem, name, "" ); - } - - elem.removeAttribute( getSetAttribute ? name : propName ); - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { - // Setting the type on a radio button after the value resets the value in IE6-9 - // Reset value to default in case type is set after value during creation - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - propFix: { - tabindex: "tabIndex", - readonly: "readOnly", - "for": "htmlFor", - "class": "className", - maxlength: "maxLength", - cellspacing: "cellSpacing", - cellpadding: "cellPadding", - rowspan: "rowSpan", - colspan: "colSpan", - usemap: "useMap", - frameborder: "frameBorder", - contenteditable: "contentEditable" - }, - - prop: function( elem, name, value ) { - var ret, hooks, notxml, - nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - if ( notxml ) { - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - return ( elem[ name ] = value ); - } - - } else { - if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - return elem[ name ]; - } - } - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - var attributeNode = elem.getAttributeNode("tabindex"); - - return attributeNode && attributeNode.specified ? - parseInt( attributeNode.value, 10 ) : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - undefined; - } - } - } -}); - -// Hook for boolean attributes -boolHook = { - get: function( elem, name ) { - var - // Use .prop to determine if this attribute is understood as boolean - prop = jQuery.prop( elem, name ), - - // Fetch it accordingly - attr = typeof prop === "boolean" && elem.getAttribute( name ), - detail = typeof prop === "boolean" ? - - getSetInput && getSetAttribute ? - attr != null : - // oldIE fabricates an empty string for missing boolean attributes - // and conflates checked/selected into attroperties - ruseDefault.test( name ) ? - elem[ jQuery.camelCase( "default-" + name ) ] : - !!attr : - - // fetch an attribute node for properties not recognized as boolean - elem.getAttributeNode( name ); - - return detail && detail.value !== false ? - name.toLowerCase() : - undefined; - }, - set: function( elem, value, name ) { - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - // IE<8 needs the *property* name - elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); - - // Use defaultChecked and defaultSelected for oldIE - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; - } - - return name; - } -}; - -// fix oldIE value attroperty -if ( !getSetInput || !getSetAttribute ) { - jQuery.attrHooks.value = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - return jQuery.nodeName( elem, "input" ) ? - - // Ignore the value *property* by using defaultValue - elem.defaultValue : - - ret && ret.specified ? ret.value : undefined; - }, - set: function( elem, value, name ) { - if ( jQuery.nodeName( elem, "input" ) ) { - // Does not return so that setAttribute is also used - elem.defaultValue = value; - } else { - // Use nodeHook if defined (#1954); otherwise setAttribute is fine - return nodeHook && nodeHook.set( elem, value, name ); - } - } - }; -} - -// IE6/7 do not support getting/setting some attributes with get/setAttribute -if ( !getSetAttribute ) { - - // Use this for any attribute in IE6/7 - // This fixes almost every IE6/7 issue - nodeHook = jQuery.valHooks.button = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ? - ret.value : - undefined; - }, - set: function( elem, value, name ) { - // Set the existing or create a new attribute node - var ret = elem.getAttributeNode( name ); - if ( !ret ) { - elem.setAttributeNode( - (ret = elem.ownerDocument.createAttribute( name )) - ); - } - - ret.value = value += ""; - - // Break association with cloned elements by also using setAttribute (#9646) - return name === "value" || value === elem.getAttribute( name ) ? - value : - undefined; - } - }; - - // Set contenteditable to false on removals(#10429) - // Setting to empty string throws an error as an invalid value - jQuery.attrHooks.contenteditable = { - get: nodeHook.get, - set: function( elem, value, name ) { - nodeHook.set( elem, value === "" ? false : value, name ); - } - }; - - // Set width and height to auto instead of 0 on empty string( Bug #8150 ) - // This is for removals - jQuery.each([ "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - set: function( elem, value ) { - if ( value === "" ) { - elem.setAttribute( name, "auto" ); - return value; - } - } - }); - }); -} - - -// Some attributes require a special call on IE -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !jQuery.support.hrefNormalized ) { - jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - get: function( elem ) { - var ret = elem.getAttribute( name, 2 ); - return ret == null ? undefined : ret; - } - }); - }); - - // href/src property should get the full normalized URL (#10299/#12915) - jQuery.each([ "href", "src" ], function( i, name ) { - jQuery.propHooks[ name ] = { - get: function( elem ) { - return elem.getAttribute( name, 4 ); - } - }; - }); -} - -if ( !jQuery.support.style ) { - jQuery.attrHooks.style = { - get: function( elem ) { - // Return undefined in the case of empty string - // Note: IE uppercases css property names, but if we were to .toLowerCase() - // .cssText, that would destroy case senstitivity in URL's, like in "background" - return elem.style.cssText || undefined; - }, - set: function( elem, value ) { - return ( elem.style.cssText = value + "" ); - } - }; -} - -// Safari mis-reports the default selected property of an option -// Accessing the parent's selectedIndex property fixes it -if ( !jQuery.support.optSelected ) { - jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { - get: function( elem ) { - var parent = elem.parentNode; - - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - return null; - } - }); -} - -// IE6/7 call enctype encoding -if ( !jQuery.support.enctype ) { - jQuery.propFix.enctype = "encoding"; -} - -// Radios and checkboxes getter/setter -if ( !jQuery.support.checkOn ) { - jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - get: function( elem ) { - // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified - return elem.getAttribute("value") === null ? "on" : elem.value; - } - }; - }); -} -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); - } - } - }); -}); -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - // jQuery(...).bind("mouseover mouseout", fn); - types = ( types || "" ).match( core_rnotwhite ) || [""]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( core_rnotwhite ) || [""]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = core_hasOwn.call( event, "type" ) ? event.type : event, - namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - event.isTrigger = true; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { - event.preventDefault(); - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && - !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = core_slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - for ( ; cur != this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - } - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== document.activeElement && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === document.activeElement && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - - beforeunload: { - postDispatch: function( event ) { - - // Even when returnValue equals to undefined Firefox will still show alert - if ( event.result !== undefined ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === core_strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || - src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = returnTrue; - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !jQuery.support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !jQuery.support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !jQuery.support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler while someone wants focusin/focusout - var attaches = 0, - handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - if ( attaches++ === 0 ) { - document.addEventListener( orig, handler, true ); - } - }, - teardown: function() { - if ( --attaches === 0 ) { - document.removeEventListener( orig, handler, true ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - bind: function( types, data, fn ) { - return this.on( types, null, data, fn ); - }, - unbind: function( types, fn ) { - return this.off( types, null, fn ); - }, - - delegate: function( selector, types, data, fn ) { - return this.on( types, selector, data, fn ); - }, - undelegate: function( selector, types, fn ) { - // ( namespace ) or ( selector, types [, fn] ) - return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2012 jQuery Foundation and other contributors - * Released under the MIT license - * http://sizzlejs.com/ - */ -(function( window, undefined ) { - -var i, - cachedruns, - Expr, - getText, - isXML, - compile, - hasDuplicate, - outermostContext, - - // Local document vars - setDocument, - document, - docElem, - documentIsXML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - sortOrder, - - // Instance-specific data - expando = "sizzle" + -(new Date()), - preferredDoc = window.document, - support = {}, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - - // General-purpose constants - strundefined = typeof undefined, - MAX_NEGATIVE = 1 << 31, - - // Array methods - arr = [], - pop = arr.pop, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf if we can't use a native one - indexOf = arr.indexOf || function( elem ) { - var i = 0, - len = this.length; - for ( ; i < len; i++ ) { - if ( this[i] === elem ) { - return i; - } - } - return -1; - }, - - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors - operators = "([*^$|!~]?=)", - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + - "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", - - // Prefer arguments quoted, - // then not containing pseudos/brackets, - // then attribute selectors/non-parenthetical expressions, - // then anything else - // These preferences are here to reduce the number of selectors - // needing tokenize in the PSEUDO preFilter - pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rsibling = /[\x20\t\r\n\f]*[+~]/, - - rnative = /^[^{]+\{\s*\[native code/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rescape = /'|\\/g, - rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, - funescape = function( _, escaped ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - return high !== high ? - escaped : - // BMP codepoint - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }; - -// Use a stripped-down slice if we can't use a native one -try { - slice.call( preferredDoc.documentElement.childNodes, 0 )[0].nodeType; -} catch ( e ) { - slice = function( i ) { - var elem, - results = []; - while ( (elem = this[i++]) ) { - results.push( elem ); - } - return results; - }; -} - -/** - * For feature detection - * @param {Function} fn The function to test for native support - */ -function isNative( fn ) { - return rnative.test( fn + "" ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var cache, - keys = []; - - return (cache = function( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key += " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key ] = value); - }); -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return fn( div ); - } catch (e) { - return false; - } finally { - // release memory in IE - div = null; - } -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; - } - - if ( !documentIsXML && !seed ) { - - // Shortcuts - if ( (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getByClassName && context.getElementsByClassName ) { - push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); - return results; - } - } - - // QSA path - if ( support.qsa && !rbuggyQSA.test(selector) ) { - old = true; - nid = expando; - newContext = context; - newSelector = nodeType === 9 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && context.parentNode || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, slice.call( newContext.querySelectorAll( - newSelector - ), 0 ) ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Detect xml - * @param {Element|Object} elem An element or a document - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - - // Support tests - documentIsXML = isXML( doc ); - - // Check if getElementsByTagName("*") returns only elements - support.tagNameNoComments = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Check if attributes should be retrieved by attribute nodes - support.attributes = assert(function( div ) { - div.innerHTML = ""; - var type = typeof div.lastChild.getAttribute("multiple"); - // IE8 returns a string for some attributes even when not present - return type !== "boolean" && type !== "string"; - }); - - // Check if getElementsByClassName can be trusted - support.getByClassName = assert(function( div ) { - // Opera can't find a second classname (in 9.6) - div.innerHTML = ""; - if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { - return false; - } - - // Safari 3.2 caches class attributes and doesn't catch changes - div.lastChild.className = "e"; - return div.getElementsByClassName("e").length === 2; - }); - - // Check if getElementById returns elements by name - // Check if getElementsByName privileges form controls or returns elements by ID - support.getByName = assert(function( div ) { - // Inject content - div.id = expando + 0; - div.innerHTML = "
          "; - docElem.insertBefore( div, docElem.firstChild ); - - // Test - var pass = doc.getElementsByName && - // buggy browsers will return fewer than the correct 2 - doc.getElementsByName( expando ).length === 2 + - // buggy browsers will return more than the correct 0 - doc.getElementsByName( expando + 0 ).length; - support.getIdNotName = !doc.getElementById( expando ); - - // Cleanup - docElem.removeChild( div ); - - return pass; - }); - - // IE6/7 return modified attributes - Expr.attrHandle = assert(function( div ) { - div.innerHTML = ""; - return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && - div.firstChild.getAttribute("href") === "#"; - }) ? - {} : - { - "href": function( elem ) { - return elem.getAttribute( "href", 2 ); - }, - "type": function( elem ) { - return elem.getAttribute("type"); - } - }; - - // ID find and filter - if ( support.getIdNotName ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && !documentIsXML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [m] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && !documentIsXML ) { - var m = context.getElementById( id ); - - return m ? - m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? - [m] : - undefined : - []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.tagNameNoComments ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { - return context.getElementsByTagName( tag ); - } - } : - function( tag, context ) { - var elem, - tmp = [], - i = 0, - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Name - Expr.find["NAME"] = support.getByName && function( tag, context ) { - if ( typeof context.getElementsByName !== strundefined ) { - return context.getElementsByName( name ); - } - }; - - // Class - Expr.find["CLASS"] = support.getByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && !documentIsXML ) { - return context.getElementsByClassName( className ); - } - }; - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21), - // no need to also add to buggyMatches since matches checks buggyQSA - // A support test would require too much code (would include document ready) - rbuggyQSA = [ ":focus" ]; - - if ( (support.qsa = isNative(doc.querySelectorAll)) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explictly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - div.innerHTML = ""; - - // IE8 - Some boolean attributes are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - }); - - assert(function( div ) { - - // Opera 10-12/IE8 - ^= $= *= and empty values - // Should not select anything - div.innerHTML = ""; - if ( div.querySelectorAll("[i^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || - docElem.mozMatchesSelector || - docElem.webkitMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = new RegExp( rbuggyMatches.join("|") ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - // Document order sorting - sortOrder = docElem.compareDocumentPosition ? - function( a, b ) { - var compare; - - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - if ( (compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b )) ) { - if ( compare & 1 || a.parentNode && a.parentNode.nodeType === 11 ) { - if ( a === doc || contains( preferredDoc, a ) ) { - return -1; - } - if ( b === doc || contains( preferredDoc, b ) ) { - return 1; - } - return 0; - } - return compare & 4 ? -1 : 1; - } - - return a.compareDocumentPosition ? -1 : 1; - } : - function( a, b ) { - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - - // Parentless nodes are either documents or disconnected - } else if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - // Always assume the presence of duplicates if sort doesn't - // pass them to our comparison function (as in Google Chrome). - hasDuplicate = false; - [0, 0].sort( sortOrder ); - support.detectDuplicates = hasDuplicate; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - // rbuggyQSA always contains :focus, so no need for an existence check - if ( support.matchesSelector && !documentIsXML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch(e) {} - } - - return Sizzle( expr, document, null, [elem] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - var val; - - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - if ( !documentIsXML ) { - name = name.toLowerCase(); - } - if ( (val = Expr.attrHandle[ name ]) ) { - return val( elem ); - } - if ( documentIsXML || support.attributes ) { - return elem.getAttribute( name ); - } - return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? - name : - val && val.specified ? val.value : null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -// Document sorting and removing duplicates -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - i = 1, - j = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - results.sort( sortOrder ); - - if ( hasDuplicate ) { - for ( ; (elem = results[i]); i++ ) { - if ( elem === results[ i - 1 ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - return results; -}; - -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -// Returns a function to use in pseudos for input types -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -// Returns a function to use in pseudos for buttons -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -// Returns a function to use in pseudos for positionals -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - for ( ; (node = elem[i]); i++ ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (see #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[5] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[4] ) { - match[2] = match[4]; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeName ) { - if ( nodeName === "*" ) { - return function() { return true; }; - } - - nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifider - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsXML ? - elem.getAttribute("xml:lang") || elem.getAttribute("lang") : - elem.lang) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), - // not comment, processing instructions, or others - // Thanks to Diego Perini for the nodeName shortcut - // Greater than "@" means alpha characters (specifically not starting with "#" or "?") - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) - // use getAttribute instead to test this case - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -function tokenize( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( tokens = [] ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push( { - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -} - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var data, cache, outerCache, - dirkey = dirruns + " " + doneName; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { - if ( (data = cache[1]) === true || data === cachedruns ) { - return data === true; - } - } else { - cache = outerCache[ dir ] = [ dirkey ]; - cache[1] = matcher( elem, context, xml ) || cachedruns; - if ( cache[1] === true ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - // A counter to specify which element is currently being matched - var matcherCachedRuns = 0, - bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, expandContext ) { - var elem, j, matcher, - setMatched = [], - matchedCount = 0, - i = "0", - unmatched = seed && [], - outermost = expandContext != null, - contextBackup = outermostContext, - // We must always have either seed elements or context - elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); - - if ( outermost ) { - outermostContext = context !== document && context; - cachedruns = matcherCachedRuns; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - for ( ; (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - cachedruns = ++matcherCachedRuns; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !group ) { - group = tokenize( selector ); - } - i = group.length; - while ( i-- ) { - cached = matcherFromTokens( group[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - } - return cached; -}; - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function select( selector, context, results, seed ) { - var i, tokens, token, type, find, - match = tokenize( selector ); - - if ( !seed ) { - // Try to minimize operations if there is only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - context.nodeType === 9 && !documentIsXML && - Expr.relative[ tokens[1].type ] ) { - - context = Expr.find["ID"]( token.matches[0].replace( runescape, funescape ), context )[0]; - if ( !context ) { - return results; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && context.parentNode || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, slice.call( seed, 0 ) ); - return results; - } - - break; - } - } - } - } - } - - // Compile and execute a filtering function - // Provide `match` to avoid retokenization if we modified the selector above - compile( selector, match )( - seed, - context, - documentIsXML, - results, - rsibling.test( selector ) - ); - return results; -} - -// Deprecated -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Easy API for creating new setFilters -function setFilters() {} -Expr.filters = setFilters.prototype = Expr.pseudos; -Expr.setFilters = new setFilters(); - -// Initialize with the default document -setDocument(); - -// Override sizzle attribute retrieval -Sizzle.attr = jQuery.attr; -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - -})( window ); -var runtil = /Until$/, - rparentsprev = /^(?:parents|prev(?:Until|All))/, - isSimple = /^.[^:#\[\.,]*$/, - rneedsContext = jQuery.expr.match.needsContext, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend({ - find: function( selector ) { - var i, ret, self, - len = this.length; - - if ( typeof selector !== "string" ) { - self = this; - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - ret = []; - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, this[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = ( this.selector ? this.selector + " " : "" ) + selector; - return ret; - }, - - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - not: function( selector ) { - return this.pushStack( winnow(this, selector, false) ); - }, - - filter: function( selector ) { - return this.pushStack( winnow(this, selector, true) ); - }, - - is: function( selector ) { - return !!selector && ( - typeof selector === "string" ? - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - rneedsContext.test( selector ) ? - jQuery( selector, this.context ).index( this[0] ) >= 0 : - jQuery.filter( selector, this ).length > 0 : - this.filter( selector ).length > 0 ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - ret = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - cur = this[i]; - - while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { - if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { - ret.push( cur ); - break; - } - cur = cur.parentNode; - } - } - - return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - var set = typeof selector === "string" ? - jQuery( selector, context ) : - jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), - all = jQuery.merge( this.get(), set ); - - return this.pushStack( jQuery.unique(all) ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -jQuery.fn.andSelf = jQuery.fn.addBack; - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( this.length > 1 && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret ); - }; -}); - -jQuery.extend({ - filter: function( expr, elems, not ) { - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 ? - jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : - jQuery.find.matches(expr, elems); - }, - - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, keep ) { - - // Can't pass null or undefined to indexOf in Firefox 4 - // Set to 0 to skip string check - qualifier = qualifier || 0; - - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep(elements, function( elem, i ) { - var retVal = !!qualifier.call( elem, i, elem ); - return retVal === keep; - }); - - } else if ( qualifier.nodeType ) { - return jQuery.grep(elements, function( elem ) { - return ( elem === qualifier ) === keep; - }); - - } else if ( typeof qualifier === "string" ) { - var filtered = jQuery.grep(elements, function( elem ) { - return elem.nodeType === 1; - }); - - if ( isSimple.test( qualifier ) ) { - return jQuery.filter(qualifier, filtered, !keep); - } else { - qualifier = jQuery.filter( qualifier, filtered ); - } - } - - return jQuery.grep(elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; - }); -} -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "" ], - legend: [ 1, "
          ", "
          " ], - area: [ 1, "", "" ], - param: [ 1, "", "" ], - thead: [ 1, "", "
          " ], - tr: [ 2, "", "
          " ], - col: [ 2, "", "
          " ], - td: [ 3, "", "
          " ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
          ", "
          " ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -jQuery.fn.extend({ - text: function( value ) { - return jQuery.access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - wrapAll: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapAll( html.call(this, i) ); - }); - } - - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); - - if ( this[0].parentNode ) { - wrap.insertBefore( this[0] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { - elem = elem.firstChild; - } - - return elem; - }).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each(function(i) { - jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); - }); - }, - - unwrap: function() { - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - }, - - append: function() { - return this.domManip(arguments, true, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip(arguments, true, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.insertBefore( elem, this.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, false, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, false, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - // keepData is for internal use only--do not document - remove: function( selector, keepData ) { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - if ( !selector || jQuery.filter( selector, [ elem ] ).length > 0 ) { - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function () { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return jQuery.access( this, function( value ) { - var elem = this[0] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function( value ) { - var isFunc = jQuery.isFunction( value ); - - // Make sure that the elements are removed from the DOM before they are inserted - // this can help fix replacing a parent with child elements - if ( !isFunc && typeof value !== "string" ) { - value = jQuery( value ).not( this ).detach(); - } - - return this.domManip( [ value ], true, function( elem ) { - var next = this.nextSibling, - parent = this.parentNode; - - if ( parent ) { - jQuery( this ).remove(); - parent.insertBefore( elem, next ); - } - }); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, table, callback ) { - - // Flatten any nested arrays - args = core_concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, table ? self.html() : undefined ); - } - self.domManip( args, table, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - table = table && jQuery.nodeName( first, "tr" ); - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( - table && jQuery.nodeName( this[i], "table" ) ? - findOrAppend( this[i], "tbody" ) : - this[i], - node, - i - ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Hope ajax is available... - jQuery.ajax({ - url: node.src, - type: "GET", - dataType: "script", - async: false, - global: false, - "throws": true - }); - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -function findOrAppend( elem, tag ) { - return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - var attr = elem.getAttributeNode("type"); - elem.type = ( attr && attr.specified ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - core_push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( manipulation_rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted from table fragments - if ( !jQuery.support.tbody ) { - - // String was a , *may* have spurious - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare or - wrap[1] === "
          " && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !jQuery.support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = jQuery.support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== core_strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - core_deletedIds.push( id ); - } - } - } - } - } -}); -var iframe, getStyles, curCSS, - ralpha = /alpha\([^)]*\)/i, - ropacity = /opacity\s*=\s*([^)]*)/, - rposition = /^(top|right|bottom|left)$/, - // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" - // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rmargin = /^margin/, - rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), - rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), - rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), - elemdisplay = { BODY: "block" }, - - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: 0, - fontWeight: 400 - }, - - cssExpand = [ "Top", "Right", "Bottom", "Left" ], - cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; - -// return a css property mapped to a potentially vendor prefixed property -function vendorPropName( style, name ) { - - // shortcut for names that are not vendor prefixed - if ( name in style ) { - return name; - } - - // check for vendor prefixed names - var capName = name.charAt(0).toUpperCase() + name.slice(1), - origName = name, - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in style ) { - return name; - } - } - - return origName; -} - -function isHidden( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); -} - -function showHide( elements, show ) { - var display, elem, hidden, - values = [], - index = 0, - length = elements.length; - - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - values[ index ] = jQuery._data( elem, "olddisplay" ); - display = elem.style.display; - if ( show ) { - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !values[ index ] && display === "none" ) { - elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( elem.style.display === "" && isHidden( elem ) ) { - values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); - } - } else { - - if ( !values[ index ] ) { - hidden = isHidden( elem ); - - if ( display && display !== "none" || !hidden ) { - jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); - } - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( index = 0; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - if ( !show || elem.style.display === "none" || elem.style.display === "" ) { - elem.style.display = show ? values[ index ] || "" : "none"; - } - } - - return elements; -} - -jQuery.fn.extend({ - css: function( name, value ) { - return jQuery.access( this, function( elem, name, value ) { - var len, styles, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - }, - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - var bool = typeof state === "boolean"; - - return this.each(function() { - if ( bool ? state : isHidden( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - }); - } -}); - -jQuery.extend({ - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Exclude the following css properties to add px - cssNumber: { - "columnCount": true, - "fillOpacity": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - // normalize float css property - "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // convert relative number strings (+= or -=) to relative numbers. #7345 - if ( type === "string" && (ret = rrelNum.exec( value )) ) { - value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); - // Fixes bug #9237 - type = "number"; - } - - // Make sure that NaN and null values aren't set. See: #7116 - if ( value == null || type === "number" && isNaN( value ) ) { - return; - } - - // If a number was passed in, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, - // but it would mean to define eight (for every problematic property) identical functions - if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { - - // Wrapped to prevent IE from throwing errors when 'invalid' values are provided - // Fixes bug #5509 - try { - style[ name ] = value; - } catch(e) {} - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var num, val, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - //convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Return, converting to number if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; - } - return val; - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; - } -}); - -// NOTE: we've included the "window" in window.getComputedStyle -// because jsdom on node.js will break without it. -if ( window.getComputedStyle ) { - getStyles = function( elem ) { - return window.getComputedStyle( elem, null ); - }; - - curCSS = function( elem, name, _computed ) { - var width, minWidth, maxWidth, - computed = _computed || getStyles( elem ), - - // getPropertyValue is only needed for .css('filter') in IE9, see #12537 - ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, - style = elem.style; - - if ( computed ) { - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right - // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret; - }; -} else if ( document.documentElement.currentStyle ) { - getStyles = function( elem ) { - return elem.currentStyle; - }; - - curCSS = function( elem, name, _computed ) { - var left, rs, rsLeft, - computed = _computed || getStyles( elem ), - ret = computed ? computed[ name ] : undefined, - style = elem.style; - - // Avoid setting ret to empty string here - // so we don't default to auto - if ( ret == null && style && style[ name ] ) { - ret = style[ name ]; - } - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - // but not position css attributes, as those are proportional to the parent element instead - // and we can't measure the parent instead because it might trigger a "stacking dolls" problem - if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { - - // Remember the original values - left = style.left; - rs = elem.runtimeStyle; - rsLeft = rs && rs.left; - - // Put in the new values to get a computed value out - if ( rsLeft ) { - rs.left = elem.currentStyle.left; - } - style.left = name === "fontSize" ? "1em" : ret; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - if ( rsLeft ) { - rs.left = rsLeft; - } - } - - return ret === "" ? "auto" : ret; - }; -} - -function setPositiveNumber( elem, value, subtract ) { - var matches = rnumsplit.exec( value ); - return matches ? - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - // If we already have the right measurement, avoid augmentation - 4 : - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - // both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // at this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - // at this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // at this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var valueIsBorderBox = true, - val = name === "width" ? elem.offsetWidth : elem.offsetHeight, - styles = getStyles( elem ), - isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test(val) ) { - return val; - } - - // we need the check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -// Try to determine the default display value of an element -function css_defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - // Use the already-created iframe if possible - iframe = ( iframe || - jQuery(" - - \ No newline at end of file diff --git a/SMMS/WebContent/view/system.jsp b/SMMS/WebContent/view/system.jsp deleted file mode 100644 index 7cf19f5..0000000 --- a/SMMS/WebContent/view/system.jsp +++ /dev/null @@ -1,79 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - - - 学生管理系统 管理员后台 - - - - - - - - - - - - - -
          - ${user.name} 您好   安全退出 - 学生信息管理系统 -
          -
          - -
          -
          - - -
          -
          -
          - -
          -
          - - - \ No newline at end of file diff --git a/SMMS/WebContent/view/teacherList.jsp b/SMMS/WebContent/view/teacherList.jsp deleted file mode 100644 index f5298a7..0000000 --- a/SMMS/WebContent/view/teacherList.jsp +++ /dev/null @@ -1,486 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - - - 教师列表 - - - - - - - - - - -
          - -
          - -
          - - -
          -
          - -
          - - - -
          -   姓名: -
          -
          - 班级: - 搜索 - 清空搜索 -
          -
          - - -
          -
          - - - - - - - - - - - - - - - - - - - -
          姓名:性别:
          用户名: - - 联系方式:
          是否是导员:班级:
          -
          -
          - - -
          -
          - - - - - - - - - - - - - - - - - - - - - -
          姓名:性别:
          用户名: - - 联系方式:
          是否是导员:班级:
          -
          -
          - - \ No newline at end of file diff --git a/SMMS/WebContent/view/welcome.jsp b/SMMS/WebContent/view/welcome.jsp deleted file mode 100644 index 448dd01..0000000 --- a/SMMS/WebContent/view/welcome.jsp +++ /dev/null @@ -1,24 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - - -Insert title here - - - -
          -

          欢迎使用学生成绩管理系统

          -

          开发人员:李月恒

          -

          开发周期:2025/05/06 --- 2025/05/16(共计10天)

          -
          -

          系统环境

          -

          系统环境:Windows

          -

          开发工具:Eclipse

          -

          Java版本:JDK 1.8

          -

          服务器:tomcat 9.0

          -

          数据库:MySQL 8.1

          -

          系统采用技术: Servlet+Jsp+Jdbc+dbutils+EasyUI+jQuery+Ajax+面向接口编程

          -
          - - \ No newline at end of file diff --git a/SMMS/build/classes/com/chinasofti/dao/ClazzDao.class b/SMMS/build/classes/com/chinasofti/dao/ClazzDao.class deleted file mode 100644 index 702b5ab..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/ClazzDao.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/CreditRecordsDao.class b/SMMS/build/classes/com/chinasofti/dao/CreditRecordsDao.class deleted file mode 100644 index 7cef4c3..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/CreditRecordsDao.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/LeaveDao.class b/SMMS/build/classes/com/chinasofti/dao/LeaveDao.class deleted file mode 100644 index 7165dbe..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/LeaveDao.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/RoleDao.class b/SMMS/build/classes/com/chinasofti/dao/RoleDao.class deleted file mode 100644 index 5034b86..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/RoleDao.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/StudentDao.class b/SMMS/build/classes/com/chinasofti/dao/StudentDao.class deleted file mode 100644 index 153d68a..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/StudentDao.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/TeacherDao.class b/SMMS/build/classes/com/chinasofti/dao/TeacherDao.class deleted file mode 100644 index b56debf..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/TeacherDao.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/UserDao.class b/SMMS/build/classes/com/chinasofti/dao/UserDao.class deleted file mode 100644 index 70ee67f..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/UserDao.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/impl/BasicDaoImpl.class b/SMMS/build/classes/com/chinasofti/dao/impl/BasicDaoImpl.class deleted file mode 100644 index 4f9ac2b..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/impl/BasicDaoImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/impl/ClazzDaoImpl.class b/SMMS/build/classes/com/chinasofti/dao/impl/ClazzDaoImpl.class deleted file mode 100644 index 3d19f2c..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/impl/ClazzDaoImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/impl/CreditRecordsDaoImpl.class b/SMMS/build/classes/com/chinasofti/dao/impl/CreditRecordsDaoImpl.class deleted file mode 100644 index aa049ef..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/impl/CreditRecordsDaoImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/impl/LeaveDaoImpl.class b/SMMS/build/classes/com/chinasofti/dao/impl/LeaveDaoImpl.class deleted file mode 100644 index c4fc750..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/impl/LeaveDaoImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/impl/RoleDaoImpl.class b/SMMS/build/classes/com/chinasofti/dao/impl/RoleDaoImpl.class deleted file mode 100644 index 91aabfa..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/impl/RoleDaoImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/impl/StudentDaoImpl.class b/SMMS/build/classes/com/chinasofti/dao/impl/StudentDaoImpl.class deleted file mode 100644 index ca6c392..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/impl/StudentDaoImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/impl/TeacherDaoImpl.class b/SMMS/build/classes/com/chinasofti/dao/impl/TeacherDaoImpl.class deleted file mode 100644 index c2d0973..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/impl/TeacherDaoImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/dao/impl/UserDaoImpl.class b/SMMS/build/classes/com/chinasofti/dao/impl/UserDaoImpl.class deleted file mode 100644 index f7a0e9b..0000000 Binary files a/SMMS/build/classes/com/chinasofti/dao/impl/UserDaoImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/CreditType.class b/SMMS/build/classes/com/chinasofti/enums/CreditType.class deleted file mode 100644 index 5c02093..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/CreditType.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/DeductCredit.class b/SMMS/build/classes/com/chinasofti/enums/DeductCredit.class deleted file mode 100644 index a593b23..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/DeductCredit.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/FileName.class b/SMMS/build/classes/com/chinasofti/enums/FileName.class deleted file mode 100644 index 918ef86..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/FileName.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/IsCounselor.class b/SMMS/build/classes/com/chinasofti/enums/IsCounselor.class deleted file mode 100644 index 78c3b4d..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/IsCounselor.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/LeaveStatus.class b/SMMS/build/classes/com/chinasofti/enums/LeaveStatus.class deleted file mode 100644 index 0913518..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/LeaveStatus.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/MathType.class b/SMMS/build/classes/com/chinasofti/enums/MathType.class deleted file mode 100644 index e7b1bb6..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/MathType.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/OperationResult.class b/SMMS/build/classes/com/chinasofti/enums/OperationResult.class deleted file mode 100644 index 4742af2..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/OperationResult.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/PageScope.class b/SMMS/build/classes/com/chinasofti/enums/PageScope.class deleted file mode 100644 index c6e55ce..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/PageScope.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/PassWord.class b/SMMS/build/classes/com/chinasofti/enums/PassWord.class deleted file mode 100644 index bb2be4b..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/PassWord.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/RoleCode.class b/SMMS/build/classes/com/chinasofti/enums/RoleCode.class deleted file mode 100644 index 47bd282..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/RoleCode.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/RoleId.class b/SMMS/build/classes/com/chinasofti/enums/RoleId.class deleted file mode 100644 index b6113c3..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/RoleId.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/ScoreNow.class b/SMMS/build/classes/com/chinasofti/enums/ScoreNow.class deleted file mode 100644 index 95ffe77..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/ScoreNow.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/enums/Sex.class b/SMMS/build/classes/com/chinasofti/enums/Sex.class deleted file mode 100644 index 9256eb6..0000000 Binary files a/SMMS/build/classes/com/chinasofti/enums/Sex.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/filter/CharacterFilter.class b/SMMS/build/classes/com/chinasofti/filter/CharacterFilter.class deleted file mode 100644 index 0955e27..0000000 Binary files a/SMMS/build/classes/com/chinasofti/filter/CharacterFilter.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/filter/LoginFilter.class b/SMMS/build/classes/com/chinasofti/filter/LoginFilter.class deleted file mode 100644 index b8c2551..0000000 Binary files a/SMMS/build/classes/com/chinasofti/filter/LoginFilter.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/Clazz.class b/SMMS/build/classes/com/chinasofti/model/Clazz.class deleted file mode 100644 index 106ee0d..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/Clazz.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/CreditRecords.class b/SMMS/build/classes/com/chinasofti/model/CreditRecords.class deleted file mode 100644 index cd3fc57..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/CreditRecords.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/Leave.class b/SMMS/build/classes/com/chinasofti/model/Leave.class deleted file mode 100644 index 4c42e18..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/Leave.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/Role.class b/SMMS/build/classes/com/chinasofti/model/Role.class deleted file mode 100644 index 20ccf67..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/Role.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/Student.class b/SMMS/build/classes/com/chinasofti/model/Student.class deleted file mode 100644 index eadad41..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/Student.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/Teacher.class b/SMMS/build/classes/com/chinasofti/model/Teacher.class deleted file mode 100644 index d005a41..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/Teacher.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/TeacherClazz.class b/SMMS/build/classes/com/chinasofti/model/TeacherClazz.class deleted file mode 100644 index 47370cf..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/TeacherClazz.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/User.class b/SMMS/build/classes/com/chinasofti/model/User.class deleted file mode 100644 index f74db23..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/User.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/view/LeaveView.class b/SMMS/build/classes/com/chinasofti/model/view/LeaveView.class deleted file mode 100644 index 2b8c943..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/view/LeaveView.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/view/Page.class b/SMMS/build/classes/com/chinasofti/model/view/Page.class deleted file mode 100644 index bf4996d..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/view/Page.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/view/StudentView.class b/SMMS/build/classes/com/chinasofti/model/view/StudentView.class deleted file mode 100644 index 32f93ab..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/view/StudentView.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/model/view/TeacherView.class b/SMMS/build/classes/com/chinasofti/model/view/TeacherView.class deleted file mode 100644 index 398327a..0000000 Binary files a/SMMS/build/classes/com/chinasofti/model/view/TeacherView.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/pool/JdbcUtils.class b/SMMS/build/classes/com/chinasofti/pool/JdbcUtils.class deleted file mode 100644 index ed9f160..0000000 Binary files a/SMMS/build/classes/com/chinasofti/pool/JdbcUtils.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/ClazzService.class b/SMMS/build/classes/com/chinasofti/service/ClazzService.class deleted file mode 100644 index a6f2ee9..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/ClazzService.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/CreditRecordsService.class b/SMMS/build/classes/com/chinasofti/service/CreditRecordsService.class deleted file mode 100644 index 029c5c0..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/CreditRecordsService.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/LeaveService.class b/SMMS/build/classes/com/chinasofti/service/LeaveService.class deleted file mode 100644 index 5be2a36..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/LeaveService.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/LoginService.class b/SMMS/build/classes/com/chinasofti/service/LoginService.class deleted file mode 100644 index 1fbd8bd..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/LoginService.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/RoleService.class b/SMMS/build/classes/com/chinasofti/service/RoleService.class deleted file mode 100644 index 4cf984c..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/RoleService.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/StudentService.class b/SMMS/build/classes/com/chinasofti/service/StudentService.class deleted file mode 100644 index 352b8c2..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/StudentService.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/TeacherService.class b/SMMS/build/classes/com/chinasofti/service/TeacherService.class deleted file mode 100644 index c4dd485..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/TeacherService.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/UserService.class b/SMMS/build/classes/com/chinasofti/service/UserService.class deleted file mode 100644 index 8ad598a..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/UserService.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/impl/ClazzServiceImpl.class b/SMMS/build/classes/com/chinasofti/service/impl/ClazzServiceImpl.class deleted file mode 100644 index 6bdea82..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/impl/ClazzServiceImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/impl/CreditRecordsServiceImpl.class b/SMMS/build/classes/com/chinasofti/service/impl/CreditRecordsServiceImpl.class deleted file mode 100644 index 875a8c0..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/impl/CreditRecordsServiceImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/impl/LeaveServiceImpl.class b/SMMS/build/classes/com/chinasofti/service/impl/LeaveServiceImpl.class deleted file mode 100644 index 4981cd3..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/impl/LeaveServiceImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/impl/LoginServiceImpl.class b/SMMS/build/classes/com/chinasofti/service/impl/LoginServiceImpl.class deleted file mode 100644 index ed573fb..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/impl/LoginServiceImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/impl/RoleServiceImpl.class b/SMMS/build/classes/com/chinasofti/service/impl/RoleServiceImpl.class deleted file mode 100644 index 33a1412..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/impl/RoleServiceImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/impl/StudentServiceImpl.class b/SMMS/build/classes/com/chinasofti/service/impl/StudentServiceImpl.class deleted file mode 100644 index 1443a8c..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/impl/StudentServiceImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/impl/TeacherServiceImpl.class b/SMMS/build/classes/com/chinasofti/service/impl/TeacherServiceImpl.class deleted file mode 100644 index 450631a..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/impl/TeacherServiceImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/service/impl/UserServiceImpl.class b/SMMS/build/classes/com/chinasofti/service/impl/UserServiceImpl.class deleted file mode 100644 index ddea990..0000000 Binary files a/SMMS/build/classes/com/chinasofti/service/impl/UserServiceImpl.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/servlet/ClazzServlet.class b/SMMS/build/classes/com/chinasofti/servlet/ClazzServlet.class deleted file mode 100644 index 4872e41..0000000 Binary files a/SMMS/build/classes/com/chinasofti/servlet/ClazzServlet.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/servlet/CreditRecordsServlet.class b/SMMS/build/classes/com/chinasofti/servlet/CreditRecordsServlet.class deleted file mode 100644 index 70287af..0000000 Binary files a/SMMS/build/classes/com/chinasofti/servlet/CreditRecordsServlet.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/servlet/LeaveServlet.class b/SMMS/build/classes/com/chinasofti/servlet/LeaveServlet.class deleted file mode 100644 index 873dda3..0000000 Binary files a/SMMS/build/classes/com/chinasofti/servlet/LeaveServlet.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/servlet/LoginServlet.class b/SMMS/build/classes/com/chinasofti/servlet/LoginServlet.class deleted file mode 100644 index f88bb56..0000000 Binary files a/SMMS/build/classes/com/chinasofti/servlet/LoginServlet.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/servlet/StudentServlet.class b/SMMS/build/classes/com/chinasofti/servlet/StudentServlet.class deleted file mode 100644 index c7df49c..0000000 Binary files a/SMMS/build/classes/com/chinasofti/servlet/StudentServlet.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/servlet/SystemServlet.class b/SMMS/build/classes/com/chinasofti/servlet/SystemServlet.class deleted file mode 100644 index d4ae784..0000000 Binary files a/SMMS/build/classes/com/chinasofti/servlet/SystemServlet.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/servlet/TeacherServlet.class b/SMMS/build/classes/com/chinasofti/servlet/TeacherServlet.class deleted file mode 100644 index 0c3d158..0000000 Binary files a/SMMS/build/classes/com/chinasofti/servlet/TeacherServlet.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/servlet/UserServlet.class b/SMMS/build/classes/com/chinasofti/servlet/UserServlet.class deleted file mode 100644 index 6d392a7..0000000 Binary files a/SMMS/build/classes/com/chinasofti/servlet/UserServlet.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/utils/ChineseToPinyin.class b/SMMS/build/classes/com/chinasofti/utils/ChineseToPinyin.class deleted file mode 100644 index 37350f7..0000000 Binary files a/SMMS/build/classes/com/chinasofti/utils/ChineseToPinyin.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/utils/IsDate.class b/SMMS/build/classes/com/chinasofti/utils/IsDate.class deleted file mode 100644 index 9859023..0000000 Binary files a/SMMS/build/classes/com/chinasofti/utils/IsDate.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/utils/IsNumber.class b/SMMS/build/classes/com/chinasofti/utils/IsNumber.class deleted file mode 100644 index 9aac976..0000000 Binary files a/SMMS/build/classes/com/chinasofti/utils/IsNumber.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/utils/IsPhoneNumber.class b/SMMS/build/classes/com/chinasofti/utils/IsPhoneNumber.class deleted file mode 100644 index 42d8c10..0000000 Binary files a/SMMS/build/classes/com/chinasofti/utils/IsPhoneNumber.class and /dev/null differ diff --git a/SMMS/build/classes/com/chinasofti/utils/SM3PasswordEncoder.class b/SMMS/build/classes/com/chinasofti/utils/SM3PasswordEncoder.class deleted file mode 100644 index 9a6223d..0000000 Binary files a/SMMS/build/classes/com/chinasofti/utils/SM3PasswordEncoder.class and /dev/null differ diff --git a/SMMS/sql/smms.sql b/SMMS/sql/smms.sql deleted file mode 100644 index 7ed06c4..0000000 --- a/SMMS/sql/smms.sql +++ /dev/null @@ -1,631 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : 本机 - Source Server Type : MySQL - Source Server Version : 80040 (8.0.40) - Source Host : localhost:3306 - Source Schema : smms - - Target Server Type : MySQL - Target Server Version : 80040 (8.0.40) - File Encoding : 65001 - - Date: 19/05/2025 10:59:22 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for smms_clazz --- ---------------------------- -DROP TABLE IF EXISTS `smms_clazz`; -CREATE TABLE `smms_clazz` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `clazz_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '班级名称', - `clazz_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '班级编码', - `clazzs` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学级', - `clazz_ads` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学届', - `user_id` bigint NOT NULL COMMENT '责任人', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `user_id_fk_clazz`(`user_id` ASC) USING BTREE, - CONSTRAINT `user_id_fk_clazz` FOREIGN KEY (`user_id`) REFERENCES `smms_user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '班级表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_clazz --- ---------------------------- -INSERT INTO `smms_clazz` VALUES (1, '大数据23', 'big_date', '2023', '2026', 20, '', NULL, '管理员', '2025-05-16 13:55:32'); -INSERT INTO `smms_clazz` VALUES (2, '人工智能23', 'rgzn', '2023', '2026', 20, '管理员', '2025-05-08 11:04:05', '管理员', '2025-05-16 13:55:24'); -INSERT INTO `smms_clazz` VALUES (4, '计算机2306', 'jsj2306', '2023', '2026', 56, '管理员', '2025-05-16 16:10:40', '', NULL); - --- ---------------------------- --- Table structure for smms_credit_records --- ---------------------------- -DROP TABLE IF EXISTS `smms_credit_records`; -CREATE TABLE `smms_credit_records` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `credit` int NOT NULL COMMENT '增减学分', - `credit_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学分增减范围,1:本周学分;2:本科学分', - `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学分增减原因', - `number` bigint NOT NULL COMMENT '学号', - `student_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学生姓名', - `clazz_id` bigint NOT NULL COMMENT '班级Id', - `clazz_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '班级名称', - `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作人姓名', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 783 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '学分记录信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_credit_records --- ---------------------------- -INSERT INTO `smms_credit_records` VALUES (782, -2, '2', '请假扣分', 1234567890111, '唐凯', 1, '大数据23', '刘老师', '刘老师', '2025-05-16 16:47:30'); - --- ---------------------------- --- Table structure for smms_leave --- ---------------------------- -DROP TABLE IF EXISTS `smms_leave`; -CREATE TABLE `smms_leave` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `student_id` bigint NOT NULL COMMENT '学生id', - `teacher_id` bigint NOT NULL COMMENT '审批教师id', - `info` varchar(512) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '请假申请信息', - `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '审批状态,0:等待审核;1:审核通过;2:审核不通过', - `remark` varchar(512) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '审批回复', - `apply_time` datetime NOT NULL COMMENT '申请时间', - `approve_time` datetime NULL DEFAULT NULL COMMENT '审批时间', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '请假记录表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_leave --- ---------------------------- -INSERT INTO `smms_leave` VALUES (4, 1, 4, '肚子不舒服', '1', '快去吧', '2025-05-16 16:45:57', '2025-05-18 11:40:45', '唐凯', '2025-05-16 16:45:57', '刘老师', '2025-05-18 11:40:45'); -INSERT INTO `smms_leave` VALUES (5, 1, 4, '...', '2', '审核超时', '2025-05-16 21:03:02', '2025-05-18 11:54:51', '唐凯', '2025-05-16 21:03:02', 'admin', '2025-05-18 11:54:51'); -INSERT INTO `smms_leave` VALUES (6, 8, 4, '家里有事', '2', '审核超时', '2025-05-17 10:19:55', '2025-05-18 11:54:51', '郭东剑', '2025-05-17 10:19:55', 'admin', '2025-05-18 11:54:51'); - --- ---------------------------- --- Table structure for smms_role --- ---------------------------- -DROP TABLE IF EXISTS `smms_role`; -CREATE TABLE `smms_role` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `role_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名', - `role_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色编码', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_role --- ---------------------------- -INSERT INTO `smms_role` VALUES (1, '管理员', 'admin', 'admin', '2025-05-02 20:17:08', 'admin', '2025-05-02 20:17:17'); -INSERT INTO `smms_role` VALUES (2, '老师', 'teacher', 'admin', '2025-05-02 20:17:12', 'admin', '2025-05-02 20:17:20'); -INSERT INTO `smms_role` VALUES (3, '学生', 'student', 'admin', '2025-05-02 20:17:14', 'admin', '2025-05-02 20:17:22'); - --- ---------------------------- --- Table structure for smms_student --- ---------------------------- -DROP TABLE IF EXISTS `smms_student`; -CREATE TABLE `smms_student` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `clazz_id` bigint NOT NULL COMMENT '班级', - `user_id` bigint NOT NULL COMMENT '用户', - `number` bigint NOT NULL COMMENT '学号', - `birthday` date NULL DEFAULT NULL COMMENT '生日', - `major` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '专业', - `honor` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '个人荣誉', - `score_now` int NOT NULL COMMENT '本周当前学分', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `number_idx`(`number` ASC) USING BTREE, - INDEX `user_id_idx`(`user_id` ASC) USING BTREE, - INDEX `clazz_id_idx`(`clazz_id` ASC) USING BTREE, - CONSTRAINT `clazz_id_fk_student` FOREIGN KEY (`clazz_id`) REFERENCES `smms_clazz` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `user_id_fk_student` FOREIGN KEY (`user_id`) REFERENCES `smms_user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB AUTO_INCREMENT = 87 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '学生信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_student --- ---------------------------- -INSERT INTO `smms_student` VALUES (1, 1, 3, 1234567890111, '2004-01-28', '大数据', 'xxxx,xxxxxx,xxxxxx', 100, 'liyueheng', '2025-05-03 08:35:04', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (8, 1, 22, 2300700001, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (9, 1, 23, 2300700002, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (10, 1, 24, 2300700003, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (11, 1, 25, 2300700004, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (12, 1, 26, 2300700005, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (13, 1, 27, 2300700006, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (14, 1, 28, 2300700007, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (15, 1, 29, 2300700008, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (16, 1, 30, 2300700009, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (17, 1, 31, 2300700010, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (18, 1, 32, 2300700011, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (19, 1, 33, 2300700012, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (20, 1, 34, 2300700013, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (21, 1, 35, 2300700014, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (22, 1, 36, 2300700015, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (23, 1, 37, 2300700016, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (24, 1, 38, 2300700017, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (25, 1, 39, 2300700019, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (26, 1, 40, 2300700020, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (27, 1, 41, 2300700021, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (28, 1, 42, 2300700022, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (29, 1, 43, 2300700023, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (30, 1, 44, 2300700024, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (31, 1, 45, 2300700025, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (32, 1, 46, 2300700026, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (33, 1, 47, 2300700027, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (34, 1, 48, 2300700028, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (35, 1, 49, 2300700029, '2003-12-31', '大数据', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (36, 2, 50, 2300700030, '2003-12-31', '人工智能', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (37, 2, 51, 2300700031, '2003-12-31', '人工智能', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (38, 2, 52, 2300700032, '2003-12-31', '人工智能', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (39, 2, 53, 2300700033, '2003-12-31', '人工智能', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (40, 2, 54, 2300700034, '2003-12-31', '人工智能', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (41, 2, 55, 2300700035, '2003-12-31', '人工智能', '无', 100, 'admin', '2025-05-16 14:04:18', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (42, 4, 57, 2300600001, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (43, 4, 58, 2300600002, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (44, 4, 59, 2300600003, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (45, 4, 60, 2300600004, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (46, 4, 61, 2300600005, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (47, 4, 62, 2300600006, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (48, 4, 63, 2300600007, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (49, 4, 64, 2300600008, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (50, 4, 65, 2300600009, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (51, 4, 66, 2300600010, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (52, 4, 67, 2300600011, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (53, 4, 68, 2300600012, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (54, 4, 69, 2300600013, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (55, 4, 70, 2300600014, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (56, 4, 71, 2300600015, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (57, 4, 72, 2300600016, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (58, 4, 73, 2300600017, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (59, 4, 74, 2300600018, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (60, 4, 75, 2300600019, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (61, 4, 76, 2300600020, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (62, 4, 77, 2300600021, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (63, 4, 78, 2300600022, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (64, 4, 79, 2300600023, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (65, 4, 80, 2300600024, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (66, 4, 81, 2300600025, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (67, 4, 82, 2300600026, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (68, 4, 83, 2300600027, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (69, 4, 84, 2300600028, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (70, 4, 85, 2300600029, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (71, 4, 86, 2300600030, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (72, 4, 87, 2300600031, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (73, 4, 88, 2300600032, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (74, 4, 89, 2300600033, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (75, 4, 90, 2300600034, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (76, 4, 91, 2300600035, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (77, 4, 92, 2300600036, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (78, 4, 93, 2300600037, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (79, 4, 94, 2300600038, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); -INSERT INTO `smms_student` VALUES (80, 4, 95, 2300600039, '2023-12-31', '计算机应用技术', '无', 100, 'admin', '2025-05-16 16:15:58', 'admin', '2025-05-19 10:35:10'); - --- ---------------------------- --- Table structure for smms_teacher --- ---------------------------- -DROP TABLE IF EXISTS `smms_teacher`; -CREATE TABLE `smms_teacher` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `user_id` bigint NOT NULL COMMENT '关联用户', - `is_counselor` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否是辅导员,y:是;n:不是', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '教师表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_teacher --- ---------------------------- -INSERT INTO `smms_teacher` VALUES (2, 16, 'n', 'admin', '2025-05-08 15:13:48', 'admin', '2025-05-16 13:56:17'); -INSERT INTO `smms_teacher` VALUES (4, 20, 'y', 'admin', '2025-05-16 13:53:54', '', NULL); -INSERT INTO `smms_teacher` VALUES (6, 56, 'y', 'admin', '2025-05-16 16:09:40', 'admin', '2025-05-16 16:10:55'); -INSERT INTO `smms_teacher` VALUES (8, 97, 'n', 'admin', '2025-05-16 16:44:14', 'admin', '2025-05-17 19:37:30'); -INSERT INTO `smms_teacher` VALUES (9, 98, 'n', 'admin', '2025-05-16 16:45:17', '', NULL); - --- ---------------------------- --- Table structure for smms_teacher_clazz --- ---------------------------- -DROP TABLE IF EXISTS `smms_teacher_clazz`; -CREATE TABLE `smms_teacher_clazz` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `teacher_id` bigint NOT NULL COMMENT '教师ID', - `clazz_id` bigint NOT NULL COMMENT '班级ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 36 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '教师与班级关联表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_teacher_clazz --- ---------------------------- -INSERT INTO `smms_teacher_clazz` VALUES (15, 4, 1); -INSERT INTO `smms_teacher_clazz` VALUES (16, 4, 2); -INSERT INTO `smms_teacher_clazz` VALUES (20, 6, 4); -INSERT INTO `smms_teacher_clazz` VALUES (25, 9, 4); -INSERT INTO `smms_teacher_clazz` VALUES (34, 8, 1); -INSERT INTO `smms_teacher_clazz` VALUES (35, 8, 2); - --- ---------------------------- --- Table structure for smms_user --- ---------------------------- -DROP TABLE IF EXISTS `smms_user`; -CREATE TABLE `smms_user` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `role_id` bigint NOT NULL COMMENT '角色', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '姓名', - `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '性别,0男,1女', - `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名', - `pass_word` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '111111' COMMENT '密码', - `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系方式', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `user_name`(`user_name` ASC) USING BTREE, - INDEX `role_id`(`role_id` ASC) USING BTREE, - CONSTRAINT `role_id_fk_user` FOREIGN KEY (`role_id`) REFERENCES `smms_role` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB AUTO_INCREMENT = 107 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_user --- ---------------------------- -INSERT INTO `smms_user` VALUES (1, 1, '管理员', '0', 'admin', 'cfe7b0e818326739bf097484612b4031:9390cbdb19d4a1ebaead4f356681020f9da2be9e0e84950f7d49d4ba2d7d9b91', '15555555555', 'admin', '2025-05-03 08:35:24', 'admin', '2025-05-13 11:22:17'); -INSERT INTO `smms_user` VALUES (3, 3, '唐凯', '0', 'tangkai', '6a1c49045467435049fff1590621a42f:7d110931fd764bad1d8d90a49928651b5a56ae5f4e6ffb135e5fa1dd4a6bb19f', '15555555555', 'admin', '2025-05-03 08:35:59', 'tangkai', '2025-05-13 11:14:43'); -INSERT INTO `smms_user` VALUES (20, 2, '刘老师', '0', 'liuyang', '743a15ad821d2fc0639eb458f61ba8a7:dfd4383f0d5ec281903b568282ec89a3089190640091c135967c563621bd0561', '18888888888', 'admin', '2025-05-16 13:53:54', '', NULL); -INSERT INTO `smms_user` VALUES (22, 3, '郭东剑', '0', 'guodongjian', 'd59f6c929536c5e30fe86be2da317aa8:72df31033f19930c25c56cce0065d5577ff3690e93427abfb654395bbf31955c', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (23, 3, '李禹鑫', '0', 'liyuxin', '8e1f914eb2384fe906a077ee32a7e92b:c71b4875497a38995ed1c535f92f62c505059c078cf233dc854c41e40789b7c1', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (24, 3, '李志杰', '1', 'lizhijie', '39243ffd371bba6ef46a050639f3603c:0abcf0b53892ea41b93f4ebd9f913986857ecc0df4981db6d55cfdf7cdd3eeaa', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (25, 3, '林子雄', '0', 'linzixiong', 'd22a858665ead4d23728d01f09ff32b7:94cca2937b39741a70b64711b35f57c7c8a820e9e8ed7af442ef2732357a744d', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (26, 3, '周子淇', '0', 'zhouziqi', 'fb36f291877003fd175520ee93c87a34:b33c880f3d66436b07c15f2053a32c7d8d24427f132bf562b8bd44a147bab376', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (27, 3, '张翀', '0', 'zhangchong', '14a4deff64a2ccf42340091bf971383e:1156f80ad520c2b67e92ce34c480c468744d0de2e57e500324b2f5944b5b95b1', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (28, 3, '张继文', '0', 'zhangjiwen', '523be8b4ae161a066880e50bc4c6a84d:3444e77c303962e474da1907f714174a922de984672eafa130cdca3aa5a002d5', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (29, 3, '张姊妍', '1', 'zhangziyan', '9fe606b4a749b04424feb2149626450b:97f777f09d89863a0931e2bd644a1ad77abb9e002a1c49f6b4309a162e9eff4c', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (30, 3, '蒋松竹', '1', 'jiangsongzhu', 'b0b38dc1939d20a4f62b8bb0e5e1e0e0:b0d2a7ab69cf8fa5ec370e479e65ca41ead9367623bdc20e83ff4ec1f8b68d62', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (31, 3, '王建达', '0', 'wangjianda', '859f3073d0bd16a25733949cddde3d7e:4d9741e8139895f04995cd00353e288ae1df78d7aef12e0f630ba29c6597bd4e', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (32, 3, '艾君婷', '1', 'aijunting', 'afdaf4005ec756d3083b33cbff8c9df9:3e14e625a4413929d278e8af532f3ac754963323f27fdd3f717e5951beeed9be', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (33, 3, '李福升', '0', 'lifusheng', '4b45fc7d79bdb44486100907ba95ecfe:9539f321cbc1f61fb2cd2f7c688e456d19614b9ccf1a236470d2e21e7f746114', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (34, 3, '田昕', '0', 'tianxin', '1571d44daa98a74c26cca1312321c1e7:ffca75792708dfb8d18ba9ac29ea8dfbaedc59d89b83a408914a6eeee38a7818', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (35, 3, '李士龙', '0', 'lishilong', 'dcf94f48fa0a0f94504a47062f520233:575a88541546354de0e489a65a23dc9eeb1e7e58310ff3a0c435bf4769ef7809', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (36, 3, '尹红博', '0', 'yinhongbo', 'ae6a7c67a1894f952afce38fdda15d1a:7c36ed9aecbd299ef153cdfff5ccc96d1ff05a2ec1602575ddc2f79e3f8d3b04', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (37, 3, '阮诚', '0', 'ruancheng', '6c860af89b84992694c41d695ace3c45:2afaf1ab84a5fc1bf8d7f95d3c9fdf5a11bb3b0c361752d22cd0c066bb3cc4a6', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (38, 3, '马镜博', '0', 'majingbo', 'a74dab4e90009cf988fb4e048f3c494f:9687f1b96f54e932ca6e72799ab3bb9af7d300a58a18ec3247814f4c551cd005', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (39, 3, '刘运达', '0', 'liuyunda', 'eba1a67893fa285f4ddeaa82b9a9b9ef:df0761e0b0f1ab233c501c6532f98e906a236a5bf5cb50b87ab1edc89d39b1f7', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (40, 3, '冯思远', '0', 'fengsiyuan', '57b6871c2951617555becc492b5760e3:203a4a7ae50e311be8b36ff1cdce24b0cbf009b86402adafa25b9ad484ea75fc', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (41, 3, '刘静仪', '1', 'liujingyi', 'ff8a6e861341a96bc8297005cb456267:d10578ba74bd0de4920b0894c0107af0392a25c800aa0cac7cab89b3d9e4c4b6', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (42, 3, '冯小刚', '0', 'fengxiaogang', 'd7ec76db1ad27c5e379a9700ed947a30:3ef8e3723d709577d96f26da6b304e54927118ae241ddf565f465f4f7b57fc5b', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (43, 3, '宿云捷', '1', 'suyunjie', '52831eb8dba526c5cb2fe9d169e3cabd:c3e167d0b9c9f10c73886802a99e190856b89bb8af54700a97b119acb60ee174', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (44, 3, '屈美鑫', '1', 'qumeixin', 'e15354ad82261bef0ca27b3237d30188:cf1522cd1931091e7e4de0b8e55b01de32684e8f46c925f353c3d1932a9f7652', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (45, 3, '姚博原', '1', 'yaoboyuan', '3391b168c838d45264939fdf5e46ce58:00ecfe489ee2af643aaec24db66d3d9cc43f526b116a84e32e0225048ae8958f', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (46, 3, '李名赫', '0', 'liminghe', '5a9f6a0ba5bf217726a22549c9c47a89:afc80d3e0012983508fa23c78f5072c79e30e0caa98c99935f4561308569d6eb', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (47, 3, '刘嘉成', '0', 'liujiacheng', '11abe255d22b905a11a0a429583b23de:a8b5e7cffb0109f740a1af9f9521c82573350b6169915306c308bed17c5e309e', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (48, 3, '池雨桐', '1', 'chiyutong', 'b15f668e72a051bbffc8847b2ec7bb12:9bfeadcf0ffc86d8b733eb63a2bd3aa176745f3476db2c5db3665eb2e4ad539c', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (49, 3, '陈佳怡', '1', 'chenjiayi', 'de0fb97838114e3036b99bff7df98181:948a93199a0c700e5f122104caa0e49c92373190316924027a5c27c359b40eb3', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (50, 3, '孙铭远', '0', 'sunmingyuan', 'ae349bb30cf83a9522ffcbd1d9324ebf:852c59efc42184b42ba6ccde0c51c1219f768d8cb3dfa21fea56a149c8121774', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (51, 3, '王天磊', '0', 'wangtianlei', '4079dcfb23a07ef9f7445b37d60fc911:4099c184b754efb421bdf4480c01e3147e905066b149ea1ccb4b02fce16c2430', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (52, 3, '孙恺', '0', 'sunkai', 'e8a03ba378ef09528b31d747ee707d28:23da071d3956c0d005f1b96b2d87e47c326a3bb6abc1f2b127a2d2ccdd04f34d', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (53, 3, '谭力夫', '0', 'tanlifu', '24bf96cdcfd0d129215aa34337a59fbe:28e26301d0fe4e9d7dc6c8342b968bceb57c19b15a00d5723a1aab5636deabdd', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (54, 3, '杨朔一', '0', 'yangshuoyi', 'd48fb36a8c343de9256cf00a8105e282:c65a93d3a5379e66e0aeb7fd45d7d32227227ef17942338acafdffb457f0be81', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (55, 3, '李金宇', '0', 'lijinyu', '23a590efb3850f70b0da0ccc2d63fa37:7e5c880c8a8174a709002010cf43fdb795847a0d31a5e32d7e8e03aa2a4ebdba', '18888888888', 'admin', '2025-05-16 14:04:18', '', NULL); -INSERT INTO `smms_user` VALUES (56, 2, '宿老师', '1', 'sumingyuan', '5bc337b4df16977a05d3ce619699af2e:ffb1ec00af4a981f5fe544cd44dab1e98939d7d6135f8f19182ad97e1b587117', '18888888888', 'admin', '2025-05-16 16:09:40', 'sumingyuan', '2025-05-16 16:10:55'); -INSERT INTO `smms_user` VALUES (57, 3, '邹佳洋', '0', 'zoujiayang', 'c3ff11e2819faef47c677480f4f0f620:7e376b80165dea42437e3712ab034e018d3f67527be1c000f10e24fbc44242bc', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (58, 3, '周靖沅', '0', 'zhoujingyuan', '604d9274db127aee4aaed1a1ed073c89:8d9eb5ec3d4dacbe99f532fc77a846e51ccf795f64ff30585fab16dd6525c60e', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (59, 3, '郑健', '0', 'zhengjian', '7c209c8e622f46eaa8805ba90be90353:056b8b17d7b4025ce1edb738acadc3fa5b5fb584d47bcbe4295e5769547f5de1', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (60, 3, '赵可鑫', '1', 'zhaokexin', '4f8c1cc9129efaee5d9b1d9b3877699c:7dd52fbd40bc9fec060219e55ebc7b3cd833f3edb4273a61affbe2306c721e49', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (61, 3, '张展鹏', '0', 'zhangzhanpeng', '0b23c37974e78597d498490d6c6a7216:55f4262e1c22eb5326fefa4b0a18769a5d6a154e118f14636fd38ab454dd24aa', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (62, 3, '张馨月', '1', 'zhangxinyue', '95004a8ba87eadbc17a88f230f838538:3c4812731caacd0ea2f5e36a9888c37528693e903e8011eaa1a897839707b006', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (63, 3, '张思宇', '1', 'zhangsiyu', '7fb435bc5a38d9dc54a605c8f8c7d24c:2e0b8793a86d55ae3d67989310858899e57ee68dfaf42f809e5816232dd6d90d', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (64, 3, '张凯强', '0', 'zhangkaiqiang', 'aa22d8692c1aba7d22e71bfb9501c04f:e7a239c03d99f04da490c8232e35bb114fcfd42d62d04aeed9cf3b5c015e8c51', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (65, 3, '张嘉琦', '0', 'zhangjiaqi', '6dab00f31c120e82cfab3e6f3539f655:abeebc6976425821be19d67ac875962ddc6db66a14cc8294b722522c3db15827', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (66, 3, '张浩燃', '0', 'zhanghaoran', '3e2a7eb384a87498624061442cd8c884:2553b1b29dd5bdb959c2310355af892d964410a731df291f8656c512273627ee', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (67, 3, '焉潆丹', '1', 'yanyingdan', 'fd5220913243a69282aa20ba33abef9a:b9b3831f9bf176a0e1c3083837739b7e61c3251389850b1dfc24c1b65fb07120', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (68, 3, '薛博雯', '1', 'xuebowen', 'a16221293bf88dc806d8772a05fe467a:eb26d5610b99908db911382a6ef2dcf5af92fc584caaff6334e6a69d9eeaa461', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (69, 3, '魏洛洋', '0', 'weiluoyang', 'f71a6eb3ff82437595ddf67e320eb237:e574165fa2449f530fe9c496d989c8a18d6ae226ffd3f2c8d6a5a1986ccfbc47', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (70, 3, '王欣宇', '0', 'wangxinyu', 'f1a87acaad56be1cb2243f7543532252:8283bfd17238a6844ba50991a38adccdd2f1985335c93bed0393d72f387efe80', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (71, 3, '王梁玉', '1', 'wangliangyu', '4675460143c6147686b6963e578315d0:391a509655e79afe79a7d6049b1cd83bac7c25cf9abeef23eca15432a8602526', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (72, 3, '王凯', '0', 'wangkai', '11a2c5231d7bd8aa02fcc7bd9c00b360:b976af1f7c2e41b25ea7390f102af196a366f7cf5c1e40c1c7f021f700dc0842', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (73, 3, '王泓博', '0', 'wanghongbo', '31bd911b5c6639436ef8ee9d96bda15e:2e0ab547aad2224b98338a60a2f0a08e44ccd237f3ccc5d024e19f13145f3e27', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (74, 3, '王博', '0', 'wangbo', '73c1178ace89d42d53d6248ddd32d802:1459d8b676e4d58410180f42daccdc3732313ec58b5c6be95d6e3ee54c562b46', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (75, 3, '万玺峻', '0', 'wanxijun', '8f7beaaf9f5f61da88274588c1bfcaaf:3d6b2f68c1d535836e84d1cbd1672d1dd9c9ed882432c8039b0a5d2a7b4018d1', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (76, 3, '孙嘉远', '0', 'sunjiayuan', '47b012561c29c2f8973d0febbba29e32:a2a07feea4bb78e2541acd8a797f3bb69a4141399d1a10f5cbf790335d666b7a', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (77, 3, '孙涵', '0', 'sunhan', '9b4e8480b6fa3a8903fbafde552591d8:72294af66d458a3e49b8aacb026a9ab7c9c8624f8da79436485e5e810b776992', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (78, 3, '沈枫轩', '0', 'shenfengxuan', '889728498a827bedb575741c78f629e1:fa0129c6c66107b895272fd6fb12a28cdef65bc84b719eb83bb08757c97ecdce', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (79, 3, '邱建东', '0', 'qiujiandong', 'f8b3c2d2ce1635e2be0d06816264492a:589b3dec930685dc5fddde7c8c173066a423254c08863a9cf3bdc50b6bb9ac1f', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (80, 3, '罗帅', '0', 'luoshuai', 'c5b0d692f2b73aa997588b07e8342d42:f31bc6ea3e747c72f5eaf0fa6d3066c02b18b9c1f12de7987750c11a9a0ccd1d', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (81, 3, '刘奕萌', '1', 'liuyimeng', '811d09fa34b0af018d09e06e8608b424:27c1210988d66d9ec8a5d7a4117a4cf892f2e33d61734e8269dc1ee53eedafce', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (82, 3, '刘美煊', '1', 'liumeixuan', '869dc56e8c264465e41985bd73836530:f1724ba1623f6b589f8f611c374f2b874dcec3bc04903b131e73a10345ab6766', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (83, 3, '刘珈源', '0', 'liujiayuan', '2f3f3a092073b10a604dbe782329ebe3:f717d58118f5c4845fa98d9aa88a412ec2da63c68e2831ad41c2732863a305ca', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (84, 3, '刘佳铜', '0', 'liujiatong', '688bdfb24ddf477796da8840cfb4f172:7dcc04ac9e9132f5f006f30f09bce98aa010444c066d66d57566a6dc99c796e5', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (85, 3, '李卓睿', '0', 'lizhuorui', 'b5a659f34e13fbeac743e46e194999d5:2ab70e2549cee7ec1287196d07befd6d6b977b5be6f94940630acdf42897fa58', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (86, 3, '李鹏达', '0', 'lipengda', '8f06c168537a93d374f875a38e1ab3b7:dc4c599f0ff83822b52916f1f0cf4d855fe6118a0172c6f7918b5fe25e12b2c2', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (87, 3, '李明', '0', 'liming', '5b62d0609be52d679e707c20a08a0773:91f007652196c2fde8dfc8eee80eeda53a5c95784bb0e0a13dcba1d57e8fc0c8', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (88, 3, '李春浩', '0', 'lichunhao', 'bb9cc818641d65c35c7b138dc00cf7bd:efff0fbe3d520a5e3d607b6ed477a947f35fdbb05000aec3fffca00290ecfa61', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (89, 3, '雷彤', '1', 'leitong', 'c7726cef32678606fc6d33d2cc6f47a8:4e00545e0c92f1826503a59f08c4c761799f0c607c1beaa74582078c4162fa03', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (90, 3, '姜雅玲', '1', 'jiangyaling', '5a8af235644c535fdf89881b5b98e1d7:e6e85aad047f58a1456dc283eb8e47f80dadd2dc355033fe5c0fd5c9b11b0792', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (91, 3, '胡育铭', '0', 'huyuming', '1d82c9461f34df6719429b2a3650ba28:28e3bbce538e701d36b461017a2472b7b8e3e3b090bbf44ba7ad6a87bd0e19c5', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (92, 3, '高誉荧', '1', 'gaoyuying', '00011325798f858e3076cbbe5fca709f:14ab098ac77bfcfec3fd82de5510a554dd1180e72c794fa9a88a7f1363db5fdb', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (93, 3, '陈浩铮', '0', 'chenhaozheng', 'ac7203e5e0e965b711bf7801ad1e19f3:286939a8e7d9cfe62f605729ce8432595fee17ebb131fd2614490fda3dd7dc8b', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (94, 3, '卞胤淇', '0', 'bianyinqi', '1371e1bbc18979d2a21cafdcf4bee0ea:3381ec3fa49e5c4f47fec579c0064f5050c7aaa7ccb468f8f3a30f4ddbb745c3', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (95, 3, '毕洪博', '0', 'bihongbo', '4ae00365c2983b48566b9317e799ca9b:36344f0b49c7741d821b6d138e6af8c8fe7dc4fafc05ab9ed35df8e938997da9', '18888888888', 'admin', '2025-05-16 16:15:58', '', NULL); -INSERT INTO `smms_user` VALUES (97, 2, '李月恒', '0', 'liyueheng', '43def75240375976f0f0174a6e7f47ea:a33f22309f1414fecbb631b66cadcbe87f818c04aba85b78ae3ddad590dbbc6b', '18888888888', 'admin', '2025-05-16 16:44:14', 'liyueheng', '2025-05-17 19:37:30'); -INSERT INTO `smms_user` VALUES (98, 2, '康师傅', '0', 'kang', 'b36e0884cd9875170ddf91782024b069:a4c65f72a0febe8884edc219c42aec58f70a4f3a04e58425f12c579bf409a615', '18888888888', 'admin', '2025-05-16 16:45:17', '', NULL); - --- ---------------------------- --- Table structure for smms_week_credit_record --- ---------------------------- -DROP TABLE IF EXISTS `smms_week_credit_record`; -CREATE TABLE `smms_week_credit_record` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `student_id` bigint NOT NULL COMMENT '学生ID', - `student_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学生姓名', - `credit` int NOT NULL COMMENT '学分', - `adjust` datetime NOT NULL COMMENT '核算时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '周学分记录信息表' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of smms_week_credit_record --- ---------------------------- -INSERT INTO `smms_week_credit_record` VALUES (2, 42, '邹佳洋', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (3, 43, '周靖沅', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (4, 44, '郑健', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (5, 45, '赵可鑫', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (6, 46, '张展鹏', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (7, 47, '张馨月', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (8, 48, '张思宇', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (9, 49, '张凯强', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (10, 50, '张嘉琦', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (11, 51, '张浩燃', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (12, 52, '焉潆丹', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (13, 53, '薛博雯', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (14, 54, '魏洛洋', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (15, 55, '王欣宇', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (16, 56, '王梁玉', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (17, 57, '王凯', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (18, 58, '王泓博', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (19, 59, '王博', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (20, 60, '万玺峻', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (21, 61, '孙嘉远', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (22, 62, '孙涵', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (23, 63, '沈枫轩', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (24, 64, '邱建东', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (25, 65, '罗帅', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (26, 66, '刘奕萌', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (27, 67, '刘美煊', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (28, 68, '刘珈源', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (29, 69, '刘佳铜', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (30, 70, '李卓睿', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (31, 71, '李鹏达', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (32, 72, '李明', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (33, 73, '李春浩', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (34, 74, '雷彤', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (35, 75, '姜雅玲', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (36, 76, '胡育铭', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (37, 77, '高誉荧', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (38, 78, '陈浩铮', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (39, 79, '卞胤淇', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (40, 80, '毕洪博', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (41, 8, '郭东剑', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (42, 9, '李禹鑫', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (43, 10, '李志杰', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (44, 11, '林子雄', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (45, 12, '周子淇', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (46, 13, '张翀', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (47, 14, '张继文', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (48, 15, '张姊妍', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (49, 16, '蒋松竹', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (50, 17, '王建达', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (51, 18, '艾君婷', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (52, 19, '李福升', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (53, 20, '田昕', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (54, 21, '李士龙', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (55, 22, '尹红博', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (56, 23, '阮诚', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (57, 24, '马镜博', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (58, 25, '刘运达', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (59, 26, '冯思远', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (60, 27, '刘静仪', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (61, 28, '冯小刚', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (62, 29, '宿云捷', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (63, 30, '屈美鑫', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (64, 31, '姚博原', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (65, 32, '李名赫', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (66, 33, '刘嘉成', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (67, 34, '池雨桐', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (68, 35, '陈佳怡', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (69, 36, '孙铭远', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (70, 37, '王天磊', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (71, 38, '孙恺', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (72, 39, '谭力夫', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (73, 40, '杨朔一', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (74, 41, '李金宇', 100, '2025-05-19 10:35:10'); -INSERT INTO `smms_week_credit_record` VALUES (75, 1, '唐凯', 90, '2025-05-19 10:35:10'); - --- ---------------------------- --- Procedure structure for smms_drop --- ---------------------------- -DROP PROCEDURE IF EXISTS `smms_drop`; -delimiter ;; -CREATE PROCEDURE `smms_drop`() -BEGIN - DECLARE v_cnt INT; - DECLARE v_finished INT DEFAULT FALSE; - DECLARE v_id BIGINT; - - -- 声明游标 - DECLARE myCursor CURSOR FOR - SELECT c.id FROM smms_clazz c WHERE clazz_ads + 2 < YEAR(CURDATE()); - - -- 处理游标读取完毕的情况 - DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_finished = TRUE; - - -- 查询符合条件的数据条数 - SELECT COUNT(1) INTO v_cnt FROM smms_clazz c WHERE clazz_ads + 4 < YEAR(CURDATE()); - - IF v_cnt > 0 THEN - OPEN myCursor; - - read_loop: LOOP - FETCH myCursor INTO v_id; - IF v_finished THEN - LEAVE read_loop; - END IF; - - -- 业务处理逻辑 - DELETE FROM smms_user WHERE id IN (SELECT user_id FROM smms_student WHERE clazz_id = v_id); - DELETE FROM smms_student WHERE clazz_id = v_id; - DELETE FROM smms_teacher_clazz WHERE clazz_id = v_id; - DELETE FROM smms_clazz WHERE id = v_id; - END LOOP; - - CLOSE myCursor; - END IF; -END -;; -delimiter ; - --- ---------------------------- --- Procedure structure for smms_leave_status_change --- ---------------------------- -DROP PROCEDURE IF EXISTS `smms_leave_status_change`; -delimiter ;; -CREATE PROCEDURE `smms_leave_status_change`() -BEGIN - DECLARE v_cnt INT; - DECLARE v_finished INT DEFAULT FALSE; - DECLARE v_id BIGINT; - - -- 声明游标 - DECLARE myCursor CURSOR FOR - SELECT l.id FROM smms_leave l WHERE ADDDATE(l.apply_time, INTERVAL 1 DAY) < SYSDATE(); - - -- 处理游标读取完毕的情况 - DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_finished = TRUE; - - -- 查询符合条件的数据条数 - SELECT COUNT(1) INTO v_cnt FROM smms_leave l WHERE l.apply_time < SYSDATE(); - - IF v_cnt > 0 THEN - OPEN myCursor; - - read_loop: LOOP - FETCH myCursor INTO v_id; - IF v_finished THEN - LEAVE read_loop; - END IF; - - -- 业务处理逻辑 - UPDATE smms_leave - SET status = '2',-- 表示“已过期自动审批” - remark = '审核超时', - approve_time = SYSDATE(), - update_by = 'admin', - update_time = SYSDATE() - WHERE id = v_id AND status = '0'; - END LOOP; - - CLOSE myCursor; - END IF; -END -;; -delimiter ; - --- ---------------------------- --- Procedure structure for smms_week_credit_change --- ---------------------------- -DROP PROCEDURE IF EXISTS `smms_week_credit_change`; -delimiter ;; -CREATE PROCEDURE `smms_week_credit_change`() -BEGIN - DECLARE v_cnt INT; - DECLARE v_finished INT DEFAULT FALSE; - DECLARE v_id BIGINT; - - -- 声明游标 - DECLARE myCursor CURSOR FOR - SELECT s.id FROM smms_student s; - - -- 处理游标读取完毕的情况 - DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_finished = TRUE; - - -- 查询符合条件的数据条数 - SELECT COUNT(1) INTO v_cnt FROM smms_student s; - - IF v_cnt > 0 THEN - OPEN myCursor; - - read_loop: LOOP - FETCH myCursor INTO v_id; - IF v_finished THEN - LEAVE read_loop; - END IF; - - -- 业务处理逻辑 - INSERT INTO smms_week_credit_record (student_id,student_name,credit,adjust) - SELECT s.id,u.name,s.score_now,SYSDATE() FROM smms_student s ,smms_user u WHERE s.user_id = u.id AND s.id = v_id; - UPDATE smms_student SET score_now = 100,update_by = 'admin',update_time = SYSDATE() WHERE id = v_id; - END LOOP; - - CLOSE myCursor; - END IF; -END -;; -delimiter ; - --- ---------------------------- --- Event structure for smms_drop --- ---------------------------- -DROP EVENT IF EXISTS `smms_drop`; -delimiter ;; -CREATE EVENT `smms_drop` -ON SCHEDULE -EVERY '1' YEAR STARTS '2025-01-01 00:00:00' -DO CALL smms_drop -;; -delimiter ; - --- ---------------------------- --- Event structure for smms_leave_status_change --- ---------------------------- -DROP EVENT IF EXISTS `smms_leave_status_change`; -delimiter ;; -CREATE EVENT `smms_leave_status_change` -ON SCHEDULE -EVERY '1' DAY STARTS '2025-05-06 00:00:00' -DO CALL smms_leave_status_change -;; -delimiter ; - --- ---------------------------- --- Event structure for smms_week_credit_change --- ---------------------------- -DROP EVENT IF EXISTS `smms_week_credit_change`; -delimiter ;; -CREATE EVENT `smms_week_credit_change` -ON SCHEDULE -EVERY '1' WEEK STARTS '2025-05-28 00:00:00' -DO CALL smms_week_credit_change -;; -delimiter ; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/SMMS/src/com/chinasofti/dao/ClazzDao.java b/SMMS/src/com/chinasofti/dao/ClazzDao.java deleted file mode 100644 index 4c93e67..0000000 --- a/SMMS/src/com/chinasofti/dao/ClazzDao.java +++ /dev/null @@ -1,212 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年5月3日 下午8:09:18 - */ -package com.chinasofti.dao; - -import java.util.List; - -import com.chinasofti.model.Clazz; -import com.chinasofti.model.view.Page; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: ClazzDao.java -* @Description: 班级数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月3日 下午8:09:18 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月3日 李洪涛 v1.0.0 新建文件 -*/ -public interface ClazzDao { - - /** - * - * @Function: insertClazz - * @Description: 添加 - * - * @param: 班级实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Clazz insertClazz(Clazz clazz); - - /** - * - * @Function: updateClazz - * @Description: 修改 - * - * @param: 班级实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void updateClazz(Clazz clazz); - - /** - * - * @Function: removeClazz - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeClazz(long id); - - /** - * - * @Function: removeTeacherClazzByClazzId - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeTeacherClazzByClazzId(long clazzId); - - /** - * - * @Function: findClazzPage - * @Description: 查询所有记录 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzPage(Clazz clazz,Page page); - - /** - * - * @Function: findClazzsByClazzIds - * @Description: 根据班级查询班级实体 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzsByClazzIds(String clazzIds,Clazz clazz,Page page); - - /** - * - * @Function: findClazzsByTeacherId - * @Description: 根据教师Id查询班级实体 - * - * @param: 教师Id - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzsByTeacherId(long teacherId); - - /** - * - * @Function: findClazzByClazzName - * @Description: 根据班级名称查询 - * - * @param: 班级名称 - * @return:班级实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Clazz findClazzByClazzName(String clazzName); - - /** - * - * @Function: findClazzsByUserIds - * @Description: 根据责任人查询班级实体 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzsByUserIds(String uderIds); -} diff --git a/SMMS/src/com/chinasofti/dao/CreditRecordsDao.java b/SMMS/src/com/chinasofti/dao/CreditRecordsDao.java deleted file mode 100644 index 124a8d8..0000000 --- a/SMMS/src/com/chinasofti/dao/CreditRecordsDao.java +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年5月3日 下午8:09:18 - */ -package com.chinasofti.dao; - -import java.util.List; - -import com.chinasofti.model.CreditRecords; -import com.chinasofti.model.view.Page; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: CreditRecordsDao.java -* @Description: 学分记录信息数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月3日 下午8:09:18 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月3日 李洪涛 v1.0.0 新建文件 -*/ -public interface CreditRecordsDao { - - /** - * - * @Function: insertCreditRecords - * @Description: 添加 - * - * @param: 学分实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public CreditRecords insertCreditRecords(Long studentId,CreditRecords creditRecords); - - /** - * - * @Function: findCreditRecordsPages - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findCreditRecordsPages(String startTime,String endTime,CreditRecords creditRecords,String clazzIds,Page page); - -} diff --git a/SMMS/src/com/chinasofti/dao/LeaveDao.java b/SMMS/src/com/chinasofti/dao/LeaveDao.java deleted file mode 100644 index fcd7953..0000000 --- a/SMMS/src/com/chinasofti/dao/LeaveDao.java +++ /dev/null @@ -1,214 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年5月9日 下午1:03:49 - */ -package com.chinasofti.dao; - -import java.util.List; - -import com.chinasofti.model.Leave; -import com.chinasofti.model.view.LeaveView; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LeaveDao.java -* @Description: 请假记录数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月9日 下午1:03:49 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月9日 李洪涛 v1.0.0 新建文件 -*/ -public interface LeaveDao { - - /** - * - * @Function: insertLeave - * @Description: 添加 - * - * @param: 角色实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void insertLeave(Leave leave); - - /** - * - * @Function: updateLeave - * @Description: 修改 - * - * @param: 角色实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void updateLeave(Leave leave); - - /** - * - * @Function: removeLeave - * @Description: 删除 - * - * @param: Leave - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeLeave(Leave leave); - - /** - * - * @Function: findLeavePages - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeavePages(Leave leave,Page page); - - /** - * - * @Function: findLeavePagesByClazzIds - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeavePagesByClazzIds(Leave leave,Page page,String clazzIds); - - /** - * - * @Function: findLeaveViews - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeaveViews(Leave leave); - - /** - * - * @Function: findLeaveViewsByClazzIds - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeaveViewsByClazzIds(Leave leave,String clazzIds); - - /** - * - * @Function: findLeaveByTeacherIdsAndStatus - * @Description: 根据教师id与状态查询 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeaveByTeacherIdsAndStatus(String teacherIds); - - /** - * - * @Function: findApproveTeacherViews - * @Description: 获取审批教师信息 - * - * @param: 教师ID - * @return:审批教师实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年5月17日 上午9:12:14 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年5月17日 李洪涛 v1.0.0 新建方法 - */ - public List findApproveTeacherViews(Long teacherId); -} diff --git a/SMMS/src/com/chinasofti/dao/RoleDao.java b/SMMS/src/com/chinasofti/dao/RoleDao.java deleted file mode 100644 index d5d5d51..0000000 --- a/SMMS/src/com/chinasofti/dao/RoleDao.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年4月8日 上午9:06:00 - */ -package com.chinasofti.dao; - - -import com.chinasofti.model.Role; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: RoleDao.java -* @Description: 角色类数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月8日 上午9:06:00 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月8日 李洪涛 v1.0.0 新建文件 -*/ -public interface RoleDao { - - /** - * - * @Function: findRoleById - * @Description: 根据id查询 - * - * @param: id值 - * @return:角色实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Role findRoleById(long id); -} diff --git a/SMMS/src/com/chinasofti/dao/StudentDao.java b/SMMS/src/com/chinasofti/dao/StudentDao.java deleted file mode 100644 index 32afb94..0000000 --- a/SMMS/src/com/chinasofti/dao/StudentDao.java +++ /dev/null @@ -1,174 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:45:18 - */ -package com.chinasofti.dao; - -import java.util.List; - -import com.chinasofti.model.Student; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.StudentView; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: StudentDao.java -* @Description: 学生类数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月6日 上午10:45:18 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月6日 李洪涛 v1.0.0 新建文件 -*/ -public interface StudentDao { - /** - * - * @Function: insertStudent - * @Description: 添加 - * - * @param: 学生实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String insertStudent(Student student,User user); - - /** - * - * @Function: updateStudent - * @Description: 修改 - * - * @param: 学生实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String updateStudent(Student student,User user); - - /** - * - * @Function: removeStudent - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String removeStudent(String studentIds,String userIds); - - /** - * - * @Function: findStudentByUserId - * @Description: 根据id查询 - * - * @param: userId值 - * @return:学生实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Student findStudentByUserId(long userId); - - /** - * - * @Function: findStudentViews - * @Description: 查询所有记录 - * - * @param: 学生实体 - * @return:学生实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findStudentViews(StudentView studentView,Page page); - - /** - * - * @Function: findStudentViewsByClazzIds - * @Description: 根据班级查询学生实体 - * - * @param: 学生实体 - * @return:学生实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findStudentViewsByClazzIds(StudentView studentView,String clazzIds,Page page); - - /** - * - * @Function: updateStudentScoreNow - * @Description: 修改 - * - * @param: 本周学分变动 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void updateStudentScoreNow(int score,Student student); - -} diff --git a/SMMS/src/com/chinasofti/dao/TeacherDao.java b/SMMS/src/com/chinasofti/dao/TeacherDao.java deleted file mode 100644 index 83a8f32..0000000 --- a/SMMS/src/com/chinasofti/dao/TeacherDao.java +++ /dev/null @@ -1,214 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年5月4日 下午10:53:00 - */ -package com.chinasofti.dao; - -import java.util.List; - -import com.chinasofti.model.Teacher; -import com.chinasofti.model.TeacherClazz; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: TeacherDao.java -* @Description: 教师数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月4日 下午10:53:00 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月4日 李洪涛 v1.0.0 新建文件 -*/ -public interface TeacherDao { - /** - * - * @Function: insertTeacher - * @Description: 添加 - * - * @param: 教师实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String insertTeacher(Teacher teacher,User user,TeacherClazz teacherClazz,String [] clazzIds); - - /** - * - * @Function: updateTeacher - * @Description: 修改 - * - * @param: 教师实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String updateTeacher(Teacher teacher,String [] clazzIds,User user); - - /** - * - * @Function: removeTeacher - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeTeacher(long id); - - /** - * - * @Function: findTeacher - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Teacher findTeacher(Teacher teacher); - - /** - * - * @Function: findClazzIdsByTeacherId - * @Description: 查询 - * - * @param: teacherID - * @return:List - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzIdsByTeacherId(Long teacherID); - - /** - * - * @Function: findTeacherViews - * @Description: 查询所有记录 - * - * @param: 教师实体 - * @return:教师实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findTeacherViews(TeacherView teacherView,Page page); - - /** - * - * @Function: insertTeacherClazz - * @Description: 添加 - * - * @param: 教师与班级关联关系实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public TeacherClazz insertTeacherClazz(TeacherClazz teacherClazz); - - /** - * - * @Function: removeTeacherClazz - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeTeacherClazz(long teacherId); - - /** - * - * @Function: findTeacherByStudentId - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Teacher findTeacherByStudentId(Long studentId); -} diff --git a/SMMS/src/com/chinasofti/dao/UserDao.java b/SMMS/src/com/chinasofti/dao/UserDao.java deleted file mode 100644 index 89f46f2..0000000 --- a/SMMS/src/com/chinasofti/dao/UserDao.java +++ /dev/null @@ -1,132 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:45:53 - */ -package com.chinasofti.dao; - -import java.util.List; - -import com.chinasofti.model.User; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: UserDao.java -* @Description: 用户类数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月6日 上午10:45:53 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月6日 李洪涛 v1.0.0 新建文件 -*/ -public interface UserDao { - - /** - * - * @Function: insertUser - * @Description: 添加 - * - * @param: 用户实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public User insertUser(User user); - - /** - * - * @Function: updateUser - * @Description: 修改 - * - * @param: 用户实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void updateUser(User user); - - /** - * - * @Function: removeUser - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeUser(long id); - - /** - * - * @Function: findUser - * @Description: 查询单个用户 - * - * @param: User - * @return:用户实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public User findUser(User user); - - /** - * - * @Function: findUsers - * @Description: 查询所有记录 - * - * @param: 用户实体 - * @return:用户实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findUsers(User user); - -} diff --git a/SMMS/src/com/chinasofti/dao/impl/BasicDaoImpl.java b/SMMS/src/com/chinasofti/dao/impl/BasicDaoImpl.java deleted file mode 100644 index adbf034..0000000 --- a/SMMS/src/com/chinasofti/dao/impl/BasicDaoImpl.java +++ /dev/null @@ -1,164 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao.impl - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:39:52 - */ -package com.chinasofti.dao.impl; - -import org.apache.commons.dbutils.BasicRowProcessor; -import org.apache.commons.dbutils.GenerousBeanProcessor; -import org.apache.commons.dbutils.QueryRunner; -import org.apache.commons.dbutils.handlers.BeanHandler; -import org.apache.commons.dbutils.handlers.BeanListHandler; -import org.apache.commons.dbutils.handlers.ScalarHandler; - -import java.sql.Connection; -import java.sql.SQLException; -import java.util.List; -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: BasicDaoImpl.java -* @Description: 该类的功能描述 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月6日 上午10:39:52 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月6日 李洪涛 v1.0.0 新建文件 -*/ -public class BasicDaoImpl { - - /** - * - * @Function: getBean - * @Description: 封装查询返回一条记录 - * - * @param: 连接 - * @param: sql语句 - * @param: where条件 - * @return:实际对象 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:41:11 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public T getBean(Connection conn,String sql,Class type,Object...params) { - QueryRunner runner = new QueryRunner(); - BasicRowProcessor basicRowProcessor = new BasicRowProcessor(new GenerousBeanProcessor()); - BeanHandler beanHandler = new BeanHandler(type,basicRowProcessor); - try { - T t = runner.query(conn, sql, beanHandler,params); - return t; - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * - * @Function: getListBean - * @Description: 封装查询返回多条记录 - * - * @param: 连接 - * @param: sql语句 - * @param: where条件 - * @return:实际对象集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:43:15 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List getListBean(Connection conn,String sql,Class type,Object...params) { - QueryRunner runner = new QueryRunner(); - BasicRowProcessor basicRowProcessor = new BasicRowProcessor(new GenerousBeanProcessor()); - BeanListHandler beanListHandler = new BeanListHandler(type,basicRowProcessor); - try { - List list = runner.query(conn, sql, beanListHandler,params); - return list; - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * - * @Function: update - * @Description: 修改 - * - * @param: 连接 - * @param: sql语句 - * @param: where条件 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:43:15 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public int update(Connection conn,String sql,Object...params) { - int res = 0; - QueryRunner runner = new QueryRunner(); - try { - res = runner.update(conn, sql, params); - } catch (SQLException e) { - e.printStackTrace(); - } - return res; - } - - /** - * - * @Function: insert - * @Description: 新增 - * - * @param: 连接 - * @param: sql语句 - * @param: where条件 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:43:15 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public T insert(Connection conn,String sql,Class type,Object...params) { - QueryRunner runner = new QueryRunner(); - try { - T t = runner.insert(conn, sql, new ScalarHandler(),params); - return t; - } catch (SQLException e) { - e.printStackTrace(); - } - return null; - } - -} diff --git a/SMMS/src/com/chinasofti/dao/impl/ClazzDaoImpl.java b/SMMS/src/com/chinasofti/dao/impl/ClazzDaoImpl.java deleted file mode 100644 index 5ae50ca..0000000 --- a/SMMS/src/com/chinasofti/dao/impl/ClazzDaoImpl.java +++ /dev/null @@ -1,337 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao.impl - * @author: 李洪涛 - * @date: 2025年5月3日 下午8:11:53 - */ -package com.chinasofti.dao.impl; - -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.dao.ClazzDao; -import com.chinasofti.model.Clazz; -import com.chinasofti.model.view.Page; -import com.chinasofti.pool.JdbcUtils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: ClazzDaoImpl.java -* @Description: 班级数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月3日 下午8:09:18 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月3日 李洪涛 v1.0.0 新建文件 -*/ -public class ClazzDaoImpl extends BasicDaoImpl implements ClazzDao { - - /** - * @see com.chinasofti.dao.ClazzDao#insertClazz(com.chinasofti.model.Clazz) - * @Function: insertClazz - * @Description: 添加 - * - * @param: 班级实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Clazz insertClazz(Clazz clazz) { - String sql = "INSERT INTO smms_clazz (user_id, clazz_name, clazz_code, clazzs, clazz_ads, create_by, create_time) VALUES (?, ?, ?, ?, ?, ?, ?)"; - List paramList = new ArrayList(); - paramList.add(clazz.getUserId()); - paramList.add(clazz.getClazzName()); - paramList.add(clazz.getClazzCode()); - paramList.add(clazz.getClazzs()); - paramList.add(clazz.getClazzAds()); - paramList.add(clazz.getCreateBy()); - paramList.add(clazz.getCreateTime()); - BigInteger primaryKey = insert(JdbcUtils.getConnection(), sql, BigInteger.class,paramList.toArray()); - clazz.setId(primaryKey.longValue()); - JdbcUtils.closeResource(); - return clazz; - } - - /** - * @see com.chinasofti.dao.ClazzDao#updateClazz(com.chinasofti.model.Clazz) - * @Function: updateClazz - * @Description: 修改 - * - * @param: 班级实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void updateClazz(Clazz clazz) { - String updateBy = " update_by = ?,update_time = ?"; - List paramList = new ArrayList(); - paramList.add(clazz.getUpdateBy()); - paramList.add(clazz.getUpdateTime()); - String update = ""; - if (null != clazz.getUserId() && 0 < clazz.getUserId()) { - update += ",user_id = ?"; - paramList.add(clazz.getUserId()); - } - if (!StringUtils.isEmpty(clazz.getClazzName())) { - update += ",clazz_name = ?"; - paramList.add(clazz.getClazzName()); - } - if (!StringUtils.isEmpty(clazz.getClazzCode())) { - update += ",clazz_code = ?"; - paramList.add(clazz.getClazzCode()); - } - if (!StringUtils.isEmpty(clazz.getClazzs())) { - update += ",clazzs = ?"; - paramList.add(clazz.getClazzs()); - } - if (!StringUtils.isEmpty(clazz.getClazzAds())) { - update += ",clazz_ads = ?"; - paramList.add(clazz.getClazzAds()); - } - paramList.add(clazz.getId()); - String sql = "update smms_clazz set"+updateBy+update+" where id = ?"; - update(JdbcUtils.getConnection(), sql,paramList.toArray()); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.ClazzDao#removeClazz(long) - * @Function: removeClazz - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeClazz(long id) { - String sql = "delete from smms_clazz where id = ?"; - update(JdbcUtils.getConnection(), sql,id); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.ClazzDao#findClazzPage(com.chinasofti.model.Clazz, com.chinasofti.model.view.Page) - * @Function: findClazzPage - * @Description: 查询所有记录 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzPage(Clazz clazz, Page page) { - String sql = "select * from smms_clazz where 1 = 1"; - List paramList = new ArrayList(); - if (!StringUtils.isEmpty(clazz.getClazzName())) { - sql += " and clazz_name like ?"; - paramList.add("%"+clazz.getClazzName()+"%"); - } - if (null != clazz.getUserId() && clazz.getUserId() > 0) { - sql += " and user_id = ?"; - paramList.add(clazz.getUserId()); - } - if (!StringUtils.isEmpty(clazz.getClazzAds())) { - sql += " and clazz_ads = ?";; - paramList.add(clazz.getClazzAds()); - } - sql += " limit ?,?"; - paramList.add(page.getStart()); - paramList.add(page.getPageSize()); - List clazzs = getListBean(JdbcUtils.getConnection(), sql, Clazz.class,paramList.toArray()); - JdbcUtils.closeResource(); - return clazzs; - } - - /** - * @see com.chinasofti.dao.ClazzDao#findClazzsByClazzIds(java.lang.String, com.chinasofti.model.view.Page) - * @Function: findClazzsByClazzIds - * @Description: 根据班级查询班级实体 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzsByClazzIds(String clazzIds,Clazz clazz, Page page) { - String sql = "select * from smms_clazz where 1 = 1"; - List paramList = new ArrayList(); - if (!StringUtils.isEmpty(clazz.getClazzName())) { - sql += " and clazz_name like ?"; - paramList.add("%"+clazz.getClazzName()+"%"); - } - if (null != clazz.getUserId() && clazz.getUserId() > 0) { - sql += " and user_id = ?"; - paramList.add(clazz.getUserId()); - } - if (!StringUtils.isEmpty(clazz.getClazzAds())) { - sql += " and clazz_ads = ?";; - paramList.add(clazz.getClazzAds()); - } - sql += " and id in ("+clazzIds+") limit ?,?"; - paramList.add(page.getStart()); - paramList.add(page.getPageSize()); - List clazzs = getListBean(JdbcUtils.getConnection(), sql, Clazz.class,paramList.toArray()); - JdbcUtils.closeResource(); - return clazzs; - } - - /** - * @see com.chinasofti.dao.ClazzDao#removeTeacherClazzByClazzId(long) - * @Function: removeTeacherClazzByClazzId - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeTeacherClazzByClazzId(long clazzId) { - String sql = "delete from smms_teacher_clazz where clazz_id = ?"; - update(JdbcUtils.getConnection(), sql,clazzId); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.ClazzDao#findClazzsByTeacherId(long) - * @Function: findClazzsByTeacherId - * @Description: 根据教师Id查询班级实体 - * - * @param: 教师Id - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzsByTeacherId(long teacherId) { - String sql = "select * from smms_clazz c where EXISTS(SELECT 1 FROM smms_teacher_clazz tc where c.id = tc.clazz_id and tc.teacher_id = ?)"; - List clazzs = getListBean(JdbcUtils.getConnection(), sql, Clazz.class,teacherId); - JdbcUtils.closeResource(); - return clazzs; - } - - /** - * @see com.chinasofti.dao.ClazzDao#findClazzByClazzName(java.lang.String) - * @Function: findClazzByClazzName - * @Description: 根据班级名称查询 - * - * @param: 班级名称 - * @return:班级实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Clazz findClazzByClazzName(String clazzName) { - String sql = "select * from smms_clazz where clazz_name = ?"; - Clazz clazz = getBean(JdbcUtils.getConnection(), sql, Clazz.class,clazzName);; - JdbcUtils.closeResource(); - return clazz; - } - - /** - * @see com.chinasofti.dao.ClazzDao#findClazzsByUserIds(java.lang.String) - * @Function: findClazzsByUserIds - * @Description: 根据责任人查询班级实体 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzsByUserIds(String uderIds) { - List paramList = new ArrayList(); - String sql = "select * from smms_clazz where user_id in (" +uderIds+")"; - List clazzs = getListBean(JdbcUtils.getConnection(), sql, Clazz.class,paramList.toArray()); - JdbcUtils.closeResource(); - return clazzs; - } - -} diff --git a/SMMS/src/com/chinasofti/dao/impl/CreditRecordsDaoImpl.java b/SMMS/src/com/chinasofti/dao/impl/CreditRecordsDaoImpl.java deleted file mode 100644 index e55ffe5..0000000 --- a/SMMS/src/com/chinasofti/dao/impl/CreditRecordsDaoImpl.java +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年5月3日 下午8:09:18 - */ -package com.chinasofti.dao.impl; - -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.dao.CreditRecordsDao; -import com.chinasofti.model.CreditRecords; -import com.chinasofti.model.view.Page; -import com.chinasofti.pool.JdbcUtils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: CreditRecordsDaoImpl.java -* @Description: 学分记录信息数据层实现类 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月3日 下午8:09:18 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月3日 李洪涛 v1.0.0 新建文件 -*/ -public class CreditRecordsDaoImpl extends BasicDaoImpl implements CreditRecordsDao { - - /** - * @see com.chinasofti.dao.CreditRecordsDao#insertCreditRecords(com.chinasofti.model.CreditRecords) - * @Function: insertCreditRecords - * @Description: 添加 - * - * @param: 学分实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public CreditRecords insertCreditRecords(Long studentId,CreditRecords creditRecords) { - String sql = "INSERT INTO smms_credit_records (credit, credit_type, remark, number, student_name, clazz_id, clazz_name, user_name, create_by, create_time) SELECT ?,?,?,s.number,u.name,c.id,c.clazz_name,?,?,? FROM smms_student s LEFT JOIN smms_clazz c ON s.clazz_id = c.id LEFT JOIN smms_user u ON s.user_id = u.id WHERE s.id = ?;"; - List paramList = new ArrayList(); - paramList.add(creditRecords.getCredit()); - paramList.add(creditRecords.getCreditType()); - paramList.add(creditRecords.getRemark()); - paramList.add(creditRecords.getUserName()); - paramList.add(creditRecords.getCreateBy()); - paramList.add(creditRecords.getCreateTime()); - paramList.add(studentId); - BigInteger primaryKey = insert(JdbcUtils.getConnection(), sql, BigInteger.class,paramList.toArray()); - creditRecords.setId(primaryKey.longValue()); - JdbcUtils.closeResource(); - return creditRecords; - } - - /** - * @see com.chinasofti.dao.CreditRecordsDao#findCreditRecordsPages(com.chinasofti.model.CreditRecords, com.chinasofti.model.view.Page) - * @Function: findCreditRecordsPages - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findCreditRecordsPages(String startTime,String endTime,CreditRecords creditRecords,String clazzIds, Page page) { - String sql = "select * from smms_credit_records where 1 = 1"; - if (!StringUtils.isEmpty(clazzIds)) { - sql = "select * from smms_credit_records where clazz_id in ("+clazzIds+")"; - } - List paramList = new ArrayList(); - if (!StringUtils.isEmpty(startTime)) { - sql += " and create_time >= ?"; - paramList.add(startTime); - } - if (!StringUtils.isEmpty(endTime)) { - sql += " and create_time <= ?"; - paramList.add(endTime); - } - if (!StringUtils.isEmpty(creditRecords.getStudentName())) { - sql += " and student_name like ?"; - paramList.add("%"+creditRecords.getStudentName()+"%"); - } - if (null != creditRecords.getNumber() && creditRecords.getNumber() > 0) { - sql += " and number = ?"; - paramList.add(creditRecords.getNumber()); - } - if (!StringUtils.isEmpty(creditRecords.getClazzName())) { - sql += " and clazz_name like ?"; - paramList.add("%"+creditRecords.getClazzName()+"%"); - } - if (!StringUtils.isEmpty(creditRecords.getCreditType())) { - sql += " and credit_type = ?"; - paramList.add(creditRecords.getCreditType()); - } - sql += " limit ?,?"; - paramList.add(page.getStart()); - paramList.add(page.getPageSize()); - List res = getListBean(JdbcUtils.getConnection(), sql, CreditRecords.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - -} diff --git a/SMMS/src/com/chinasofti/dao/impl/LeaveDaoImpl.java b/SMMS/src/com/chinasofti/dao/impl/LeaveDaoImpl.java deleted file mode 100644 index 78ca8b6..0000000 --- a/SMMS/src/com/chinasofti/dao/impl/LeaveDaoImpl.java +++ /dev/null @@ -1,370 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao.impl - * @author: 李洪涛 - * @date: 2025年5月9日 下午1:07:54 - */ -package com.chinasofti.dao.impl; - -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.dao.LeaveDao; -import com.chinasofti.enums.LeaveStatus; -import com.chinasofti.model.Leave; -import com.chinasofti.model.view.LeaveView; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; -import com.chinasofti.pool.JdbcUtils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LeaveDaoImpl.java -* @Description: 请假记录数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月9日 下午1:03:49 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月9日 李洪涛 v1.0.0 新建文件 -*/ -public class LeaveDaoImpl extends BasicDaoImpl implements LeaveDao { - - /** - * @see com.chinasofti.dao.LeaveDao#insertLeave(com.chinasofti.model.Leave) - * @Function: insertLeave - * @Description: 添加 - * - * @param: 角色实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void insertLeave(Leave leave) { - String sql = "INSERT INTO smms_leave (student_id, teacher_id, info, status, apply_time, create_by, create_time) VALUES (?,?,?,?,?,?,?)"; - List paramList = new ArrayList(); - paramList.add(leave.getStudentId()); - paramList.add(leave.getTeacherId()); - paramList.add(leave.getInfo()); - paramList.add(leave.getStatus()); - paramList.add(leave.getApplyTime()); - paramList.add(leave.getCreateBy()); - paramList.add(leave.getCreateTime()); - insert(JdbcUtils.getConnection(), sql, BigInteger.class,paramList.toArray()); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.LeaveDao#updateLeave(com.chinasofti.model.Leave) - * @Function: updateLeave - * @Description: 修改 - * - * @param: 角色实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void updateLeave(Leave leave) { - String updateBy = " update_by = ?,update_time = ?"; - List paramList = new ArrayList(); - paramList.add(leave.getUpdateBy()); - paramList.add(leave.getUpdateTime()); - String update = ""; - if (!StringUtils.isEmpty(leave.getStatus())) { - update += ",status = ?"; - paramList.add(leave.getStatus()); - } - if (!StringUtils.isEmpty(leave.getRemark())) { - update += ",remark = ?"; - paramList.add(leave.getRemark()); - } - if (null != leave.getApproveTime()) { - update += ",approve_time = ?"; - paramList.add(leave.getApproveTime()); - } - paramList.add(leave.getId()); - String sql = "update smms_leave set"+updateBy+update+" where id = ?"; - update(JdbcUtils.getConnection(), sql,paramList.toArray()); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.LeaveDao#removeLeave(long) - * @Function: removeLeave - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeLeave(Leave leave) { - if (null != leave.getStudentId() && leave.getStudentId() > 0) { - String sql = "delete from smms_leave where student_id = ?"; - update(JdbcUtils.getConnection(), sql,leave.getStudentId()); - JdbcUtils.closeResource(); - } - if (null != leave.getTeacherId() && leave.getTeacherId() > 0) { - String sql = "delete from smms_leave where teacher_id = ?"; - update(JdbcUtils.getConnection(), sql,leave.getTeacherId()); - JdbcUtils.closeResource(); - } - } - - /** - * @see com.chinasofti.dao.LeaveDao#findfindLeavePages(com.chinasofti.model.Leave, com.chinasofti.model.view.Page) - * @Function: findLeavePages - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeavePages(Leave leave, Page page) { - String sql = "select * from smms_leave where 1 = 1"; - List paramList = new ArrayList(); - if (null != leave.getStudentId() && leave.getStudentId() > 0) { - sql += " and student_id = ?"; - paramList.add(leave.getStudentId()); - } - if (null != leave.getTeacherId() && leave.getTeacherId() > 0) { - sql += " and teacher_id = ?"; - paramList.add(leave.getTeacherId()); - } - if (!StringUtils.isEmpty(leave.getStatus())) { - sql += " and status = ?"; - paramList.add(leave.getStatus()); - } - sql += " limit ?,?"; - paramList.add(page.getStart()); - paramList.add(page.getPageSize()); - List res = getListBean(JdbcUtils.getConnection(), sql, Leave.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - - /** - * @see com.chinasofti.dao.LeaveDao#findLeaveViews(com.chinasofti.model.Leave) - * @Function: findLeaveViews - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeaveViews(Leave leave) { - String sql = "select (select u1.name from smms_user u1,smms_student s where u1.id = s.user_id and s.id = l.student_id) student_name,(select u2.name from smms_user u2,smms_teacher t where u2.id = t.user_id and t.id = l.teacher_id) teacher_name,l.info,(CASE WHEN l.`status` = '0' THEN '等待审核' WHEN l.`status` = 1 THEN '审核通过' ELSE '审核不通过' END) AS `status`,l.remark,l.apply_time,l.approve_time from smms_leave l where 1 = 1"; - List paramList = new ArrayList(); - if (null != leave.getStudentId() && leave.getStudentId() > 0) { - sql += " and l.student_id = ?"; - paramList.add(leave.getStudentId()); - } - if (null != leave.getTeacherId() && leave.getTeacherId() > 0) { - sql += " and l.teacher_id = ?"; - paramList.add(leave.getTeacherId()); - } - if (!StringUtils.isEmpty(leave.getStatus())) { - sql += " and l.status = ?"; - paramList.add(leave.getStatus()); - } - List res = getListBean(JdbcUtils.getConnection(), sql, LeaveView.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - - /** - * @see com.chinasofti.dao.LeaveDao#findLeaveByTeacherIdsAndStatus(java.lang.String) - * @Function: findLeaveByTeacherIdsAndStatus - * @Description: 根据教师id与状态查询 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeaveByTeacherIdsAndStatus(String teacherIds) { - List paramList = new ArrayList(); - String sql = "select * from smms_leave where status = ? and teacher_id in (" +teacherIds+")"; - paramList.add(LeaveStatus.WAIT.getstatus()); - List res = getListBean(JdbcUtils.getConnection(), sql, Leave.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - - /** - * @see com.chinasofti.dao.LeaveDao#findLeavePagesByClazzIds(com.chinasofti.model.Leave, com.chinasofti.model.view.Page, java.lang.String) - * @Function: findLeavePagesByClazzIds - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeavePagesByClazzIds(Leave leave, Page page, String clazzIds) { - String sql = "select l.* from smms_leave l where EXISTS (select 1 from smms_student s where s.id = l.student_id and s.clazz_id in ("+clazzIds+"))"; - List paramList = new ArrayList(); - if (null != leave.getStudentId() && leave.getStudentId() > 0) { - sql += " and l.student_id = ?"; - paramList.add(leave.getStudentId()); - } - if (null != leave.getTeacherId() && leave.getTeacherId() > 0) { - sql += " and l.teacher_id = ?"; - paramList.add(leave.getTeacherId()); - } - if (!StringUtils.isEmpty(leave.getStatus())) { - sql += " and l.status = ?"; - paramList.add(leave.getStatus()); - } - sql += " limit ?,?"; - paramList.add(page.getStart()); - paramList.add(page.getPageSize()); - List res = getListBean(JdbcUtils.getConnection(), sql, Leave.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - - /** - * @see com.chinasofti.dao.LeaveDao#findLeaveViewsByClazzIds(com.chinasofti.model.Leave, java.lang.String) - * @Function: findLeaveViewsByClazzIds - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeaveViewsByClazzIds(Leave leave, String clazzIds) { - String sql = "select (select u1.name from smms_user u1,smms_student s where u1.id = s.user_id and s.id = l.student_id) student_name,(select u2.name from smms_user u2,smms_teacher t where u2.id = t.user_id and t.id = l.teacher_id) teacher_name,l.info,(CASE WHEN l.`status` = '0' THEN '等待审核' WHEN l.`status` = 1 THEN '审核通过' ELSE '审核不通过' END) AS `status`,l.remark,l.apply_time,l.approve_time from smms_leave l where EXISTS (select 1 from smms_student s where s.id = l.student_id and s.clazz_id in ("+clazzIds+"))"; - List paramList = new ArrayList(); - if (null != leave.getStudentId() && leave.getStudentId() > 0) { - sql += " and l.student_id = ?"; - paramList.add(leave.getStudentId()); - } - if (null != leave.getTeacherId() && leave.getTeacherId() > 0) { - sql += " and l.teacher_id = ?"; - paramList.add(leave.getTeacherId()); - } - if (!StringUtils.isEmpty(leave.getStatus())) { - sql += " and l.status = ?"; - paramList.add(leave.getStatus()); - } - List res = getListBean(JdbcUtils.getConnection(), sql, LeaveView.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - - /** - * @see com.chinasofti.dao.LeaveDao#findApproveTeacherViews(long) - * @Function: findApproveTeacherViews - * @Description: 获取审批教师信息 - * - * @param: 教师ID - * @return:审批教师实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年5月17日 上午9:12:14 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年5月17日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findApproveTeacherViews(Long teacherId) { - String sql = "select distinct u.id user_id,t.id teacher_id,u.name,u.sex,u.user_name,u.phone,t.is_counselor from smms_teacher t,smms_user u,smms_clazz c where t.user_id = u.id and u.id = c.user_id"; - List paramList = new ArrayList(); - if (null != teacherId && teacherId > 0) { - sql += " and exists(select 1 from smms_teacher_clazz tc where c.id = tc.clazz_id and tc.teacher_id = ?)"; - paramList.add(teacherId); - } - List res = getListBean(JdbcUtils.getConnection(), sql, TeacherView.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - -} diff --git a/SMMS/src/com/chinasofti/dao/impl/RoleDaoImpl.java b/SMMS/src/com/chinasofti/dao/impl/RoleDaoImpl.java deleted file mode 100644 index ba1a616..0000000 --- a/SMMS/src/com/chinasofti/dao/impl/RoleDaoImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao.impl - * @author: 李洪涛 - * @date: 2025年4月8日 上午9:13:06 - */ -package com.chinasofti.dao.impl; - -import com.chinasofti.dao.RoleDao; -import com.chinasofti.model.Role; -import com.chinasofti.pool.JdbcUtils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: RoleDaoImpl.java -* @Description: 角色类数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月8日 上午9:13:06 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月8日 李洪涛 v1.0.0 新建文件 -*/ -public class RoleDaoImpl extends BasicDaoImpl implements RoleDao { - - /** - * @see com.chinasofti.dao.RoleDao#findRoleById(long) - * @Function: findRoleById - * @Description: 根据id查询 - * - * @param: id值 - * @return:角色实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Role findRoleById(long id) { - String sql = "select * from smms_role where id = ?"; - Role role = getBean(JdbcUtils.getConnection(), sql, Role.class,id); - JdbcUtils.closeResource(); - return role; - } - -} diff --git a/SMMS/src/com/chinasofti/dao/impl/StudentDaoImpl.java b/SMMS/src/com/chinasofti/dao/impl/StudentDaoImpl.java deleted file mode 100644 index d913ab7..0000000 --- a/SMMS/src/com/chinasofti/dao/impl/StudentDaoImpl.java +++ /dev/null @@ -1,370 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年3月27日 上午10:57:29 - */ -package com.chinasofti.dao.impl; - -import java.math.BigInteger; -import java.sql.Connection; -import java.sql.SQLException; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.dao.StudentDao; -import com.chinasofti.enums.OperationResult; -import com.chinasofti.model.Student; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.StudentView; -import com.chinasofti.pool.JdbcUtils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: StudentDao.java -* @Description: 学生类数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午10:57:29 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 -*/ -public class StudentDaoImpl extends BasicDaoImpl implements StudentDao { - - /** - * @see com.chinasofti.dao.StudentDao#insertStudent(com.chinasofti.model.Student) - * @Function: StudentDaoImpl.java - * @Description: 该函数的功能描述 - * - * @param:描述1描述 - * @return:返回结果描述 - * @throws:异常描述 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年5月3日 上午9:03:35 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年5月3日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String insertStudent(Student student,User user) { - - String res = OperationResult.ERROR.getResult(); - try { - Connection connection = JdbcUtils.getAutoConnection(); - - String sql2 = "INSERT INTO smms_user (role_id, name, sex, user_name, pass_word, phone, create_by, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; - List paramList2 = new ArrayList(); - paramList2.add(user.getRoleId()); - paramList2.add(user.getName()); - paramList2.add(user.getSex()); - paramList2.add(user.getUserName()); - paramList2.add(user.getPassWord()); - paramList2.add(user.getPhone()); - paramList2.add(user.getCreateBy()); - paramList2.add(user.getCreateTime()); - BigInteger primaryKey2 = insert(connection, sql2, BigInteger.class,paramList2.toArray()); - user.setId(primaryKey2.longValue()); - - String sql1 = "INSERT INTO smms_student (clazz_id, user_id, number, birthday, major, honor, score_now, create_by, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);"; - List paramList1 = new ArrayList(); - paramList1.add(student.getClazzId()); - paramList1.add(user.getId()); - paramList1.add(student.getNumber()); - paramList1.add(student.getBirthday()); - paramList1.add(student.getMajor()); - paramList1.add(student.getHonor()); - paramList1.add(student.getScoreNow()); - paramList1.add(student.getCreateBy()); - paramList1.add(student.getCreateTime()); - BigInteger primaryKey1 = insert(connection, sql1, BigInteger.class,paramList1.toArray()); - student.setId(primaryKey1.longValue()); - - connection.commit(); - res = OperationResult.SUCCESS.getResult(); - } catch (SQLException e) { - e.printStackTrace(); - } finally { - JdbcUtils.closeResource(); - } - return res; - } - - /** - * @see com.chinasofti.dao.StudentDao#updateStudent(com.chinasofti.model.Student) - * @Function: StudentDaoImpl.java - * @Description: 该函数的功能描述 - * - * @param:描述1描述 - * @return:返回结果描述 - * @throws:异常描述 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年5月3日 上午9:03:35 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年5月3日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String updateStudent(Student student,User user) { - String res = OperationResult.ERROR.getResult(); - try { - Connection connection = JdbcUtils.getAutoConnection(); - - String updateBy1 = " update_by = ?,update_time = ?"; - List paramList1 = new ArrayList(); - paramList1.add(student.getUpdateBy()); - paramList1.add(student.getUpdateTime()); - String update1 = ""; - if (null != student.getNumber() && 0 < student.getNumber()) { - update1 += ",number = ?"; - paramList1.add(student.getNumber()); - } - if (!StringUtils.isEmpty(student.getHonor())) { - update1 += ",honor = ?"; - paramList1.add(student.getHonor()); - } - if (null != student.getClazzId() && 0 < student.getClazzId()) { - update1 += ",clazz_id = ?"; - paramList1.add(student.getClazzId()); - } - if (0 < student.getScoreNow()) { - update1 += ",score_now = ?"; - paramList1.add(student.getScoreNow()); - } - paramList1.add(student.getId()); - String sql1 = "update smms_student set"+updateBy1+update1+" where id = ?"; - - String updateBy2 = " update_by = ?,update_time = ?"; - List paramList2 = new ArrayList(); - paramList2.add(user.getUserName()); - paramList2.add(LocalDateTime.now()); - String update2 = ""; - if (!StringUtils.isEmpty(user.getPassWord())) { - update2 += ",pass_word = ?"; - paramList2.add(user.getPassWord()); - } - if (!StringUtils.isEmpty(user.getName())) { - update2 += ",name = ?"; - paramList2.add(user.getName()); - } - if (!StringUtils.isEmpty(user.getSex())) { - update2 += ",sex = ?"; - paramList2.add(user.getSex()); - } - if (!StringUtils.isEmpty(user.getUserName())) { - update2 += ",user_name = ?"; - paramList2.add(user.getUserName()); - } - if (!StringUtils.isEmpty(user.getPhone())) { - update2 += ",phone = ?"; - paramList2.add(user.getPhone()); - } - paramList2.add(user.getId()); - String sql2 = "update smms_user set"+updateBy2+update2+"where id = ?"; - - int res1 = update(connection, sql1,paramList1.toArray()); - int res2 = update(connection, sql2,paramList2.toArray()); - if (res1+res2 > 0) { - res = OperationResult.SUCCESS.getResult(); - } - connection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - } finally { - JdbcUtils.closeResource(); - } - return res; - } - - /** - * @see com.chinasofti.dao.StudentDao#removeStudent(long) - * @Function: StudentDaoImpl.java - * @Description: 该函数的功能描述 - * - * @param:描述1描述 - * @return:返回结果描述 - * @throws:异常描述 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年5月3日 上午9:03:35 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年5月3日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String removeStudent(String studentIds,String userIds) { - String res = OperationResult.ERROR.getResult(); - try { - String sql1 = "delete from smms_student where id in ("+studentIds+")"; - String sql2 = "delete from smms_leave where student_id in ("+studentIds+")"; - String sql3 = "delete from smms_user where id in ("+userIds+")"; - List paramList = new ArrayList(); - Connection connection = JdbcUtils.getAutoConnection(); - update(connection, sql1,paramList.toArray()); - update(connection, sql2,paramList.toArray()); - int updateCount = update(connection, sql3,paramList.toArray()); - if (updateCount > 0) { - res = OperationResult.SUCCESS.getResult(); - } - connection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - } finally { - JdbcUtils.closeResource(); - } - return res; - } - - /** - * @see com.chinasofti.dao.StudentDao#findStudentByUserId(long) - * @Function: findStudentByUserId - * @Description: 根据id查询 - * - * @param: userId值 - * @return:学生实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Student findStudentByUserId(long userId) { - String sql = "select * from smms_student where user_id = ?"; - Student resStudent = getBean(JdbcUtils.getConnection(), sql, Student.class,userId); - JdbcUtils.closeResource(); - return resStudent; - } - - /** - * @see com.chinasofti.dao.StudentDao#findStudentViews(com.chinasofti.model.Student, com.chinasofti.model.view.Page) - * @Function: findStudentViews - * @Description: 查询所有记录 - * - * @param: 学生实体 - * @return:学生实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findStudentViews(StudentView studentView, Page page) { - String sql = "select u.id user_id ,s.id student_id,u.name,u.phone,u.sex,u.user_name,s.number,s.birthday,s.major,s.honor,s.score_now,s.clazz_id from smms_user u,smms_student s where u.id = s.user_id"; - List paramList = new ArrayList(); - if (!StringUtils.isEmpty(studentView.getName())) { - sql += " and u.name like ?"; - paramList.add("%"+studentView.getName()+"%"); - } - if (null != studentView.getClazzId() && studentView.getClazzId() > 0) { - sql += " and s.clazz_id = ?"; - paramList.add(studentView.getClazzId()); - } - sql += " limit ?,?"; - paramList.add(page.getStart()); - paramList.add(page.getPageSize()); - List res = getListBean(JdbcUtils.getConnection(), sql, StudentView.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - - /** - * @see com.chinasofti.dao.StudentDao#findStudentViewsByClazzIds(java.lang.String, com.chinasofti.model.view.Page) - * @Function: findStudentViewsByClazzIds - * @Description: 根据班级查询学生实体 - * - * @param: 学生实体 - * @return:学生实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findStudentViewsByClazzIds(StudentView studentView,String clazzIds, Page page) { - String sql = "select u.id user_id ,s.id student_id,u.name,u.phone,u.sex,u.user_name,s.number,s.birthday,s.major,s.honor,s.score_now,s.clazz_id from smms_user u,smms_student s where u.id = s.user_id and s.clazz_id in ("+clazzIds+")"; - List paramList = new ArrayList(); - if (!StringUtils.isEmpty(studentView.getName())) { - sql += " and u.name like ?"; - paramList.add("%"+studentView.getName()+"%"); - } - if (null != studentView.getClazzId() && studentView.getClazzId() > 0) { - sql += " and s.clazz_id = ?"; - paramList.add(studentView.getClazzId()); - } - sql += " limit ?,?"; - paramList.add(page.getStart()); - paramList.add(page.getPageSize()); - List res = getListBean(JdbcUtils.getConnection(), sql, StudentView.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - - /** - * @see com.chinasofti.dao.StudentDao#updateStudentScoreNow(int) - * @Function: updateStudentScoreNow - * @Description: 修改 - * - * @param: 本周学分变动 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void updateStudentScoreNow(int score,Student student) { - List paramList = new ArrayList(); - paramList.add(score); - paramList.add(student.getUpdateBy()); - paramList.add(student.getUpdateTime()); - paramList.add(student.getId()); - String sql = "update smms_student set score_now = score_now + ?,update_by = ?,update_time = ? where id = ?"; - update(JdbcUtils.getConnection(), sql,paramList.toArray()); - JdbcUtils.closeResource(); - } - -} diff --git a/SMMS/src/com/chinasofti/dao/impl/TeacherDaoImpl.java b/SMMS/src/com/chinasofti/dao/impl/TeacherDaoImpl.java deleted file mode 100644 index 30265a8..0000000 --- a/SMMS/src/com/chinasofti/dao/impl/TeacherDaoImpl.java +++ /dev/null @@ -1,417 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao.impl - * @author: 李洪涛 - * @date: 2025年5月4日 下午10:55:15 - */ -package com.chinasofti.dao.impl; - -import java.math.BigInteger; -import java.sql.Connection; -import java.sql.SQLException; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.dao.TeacherDao; -import com.chinasofti.enums.OperationResult; -import com.chinasofti.model.Teacher; -import com.chinasofti.model.TeacherClazz; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; -import com.chinasofti.pool.JdbcUtils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: TeacherDaoImpl.java -* @Description: 教师数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月4日 下午10:55:15 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月4日 李洪涛 v1.0.0 新建文件 -*/ -public class TeacherDaoImpl extends BasicDaoImpl implements TeacherDao{ - - /** - * @see com.chinasofti.dao.TeacherDao#insertTeacher(com.chinasofti.model.Teacher) - * @Function: insertTeacher - * @Description: 添加 - * - * @param: 教师实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String insertTeacher(Teacher teacher,User user,TeacherClazz teacherClazz,String [] clazzIds) { - - String res = OperationResult.ERROR.getResult(); - try { - Connection connection = JdbcUtils.getAutoConnection(); - - String sql1 = "INSERT INTO smms_user (role_id, name, sex, user_name, pass_word, phone, create_by, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; - List paramList1 = new ArrayList(); - paramList1.add(user.getRoleId()); - paramList1.add(user.getName()); - paramList1.add(user.getSex()); - paramList1.add(user.getUserName()); - paramList1.add(user.getPassWord()); - paramList1.add(user.getPhone()); - paramList1.add(user.getCreateBy()); - paramList1.add(user.getCreateTime()); - BigInteger primaryKey1 = insert(connection, sql1, BigInteger.class,paramList1.toArray()); - user.setId(primaryKey1.longValue()); - - String sql2 = "INSERT INTO smms_teacher (user_id, is_counselor, create_by, create_time) VALUES (?, ?, ?, ?);"; - List paramList2 = new ArrayList(); - paramList2.add(user.getId()); - paramList2.add(teacher.getIsCounselor()); - paramList2.add(teacher.getCreateBy()); - paramList2.add(teacher.getCreateTime()); - BigInteger primaryKey2 = insert(connection, sql2, BigInteger.class,paramList2.toArray()); - teacher.setId(primaryKey2.longValue()); - - for (String clazzId : clazzIds) { - teacherClazz.setClazzId(Long.parseLong(clazzId)); - String sql = "INSERT INTO smms_teacher_clazz (teacher_id, clazz_id) VALUES (?, ?);"; - List paramList = new ArrayList(); - paramList.add(teacher.getId()); - paramList.add(teacherClazz.getClazzId()); - insert(JdbcUtils.getConnection(), sql, BigInteger.class,paramList.toArray()); - } - - connection.commit(); - res = OperationResult.SUCCESS.getResult(); - } catch (SQLException e) { - e.printStackTrace(); - } finally { - JdbcUtils.closeResource(); - } - - return res; - } - - /** - * @see com.chinasofti.dao.TeacherDao#updateTeacher(com.chinasofti.model.Teacher) - * @Function: updateTeacher - * @Description: 修改 - * - * @param: 教师实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String updateTeacher(Teacher teacher,String [] clazzIds,User user) { - - String res = OperationResult.ERROR.getResult(); - try { - Connection connection = JdbcUtils.getAutoConnection(); - - String updateBy1 = " update_by = ?,update_time = ?"; - List paramList1 = new ArrayList(); - paramList1.add(teacher.getUpdateBy()); - paramList1.add(teacher.getUpdateTime()); - String update1 = ""; - if (!StringUtils.isEmpty(teacher.getIsCounselor())) { - update1 += ",is_counselor = ?"; - paramList1.add(teacher.getIsCounselor()); - } - paramList1.add(teacher.getId()); - String sql1 = "update smms_teacher set"+updateBy1+update1+" where id = ?"; - update(connection, sql1,paramList1.toArray()); - - String updateBy2 = " update_by = ?,update_time = ?"; - List paramList2 = new ArrayList(); - paramList2.add(user.getUserName()); - paramList2.add(LocalDateTime.now()); - String update2 = ""; - if (!StringUtils.isEmpty(user.getPassWord())) { - update2 += ",pass_word = ?"; - paramList2.add(user.getPassWord()); - } - if (!StringUtils.isEmpty(user.getName())) { - update2 += ",name = ?"; - paramList2.add(user.getName()); - } - if (!StringUtils.isEmpty(user.getSex())) { - update2 += ",sex = ?"; - paramList2.add(user.getSex()); - } - if (!StringUtils.isEmpty(user.getUserName())) { - update2 += ",user_name = ?"; - paramList2.add(user.getUserName()); - } - if (!StringUtils.isEmpty(user.getPhone())) { - update2 += ",phone = ?"; - paramList2.add(user.getPhone()); - } - paramList2.add(user.getId()); - String sql2 = "update smms_user set"+updateBy2+update2+"where id = ?"; - update(connection, sql2,paramList2.toArray()); - - String sql3 = "delete from smms_teacher_clazz where teacher_id = ?"; - update(connection, sql3,teacher.getId()); - - for (String clazzId : clazzIds) { - TeacherClazz teacherClazz = new TeacherClazz(); - teacherClazz.setTeacherId(teacher.getId()); - teacherClazz.setClazzId(Long.parseLong(clazzId)); - String sql = "INSERT INTO smms_teacher_clazz (teacher_id, clazz_id) VALUES (?, ?);"; - List paramList = new ArrayList(); - paramList.add(teacherClazz.getTeacherId()); - paramList.add(teacherClazz.getClazzId()); - BigInteger primaryKey = insert(JdbcUtils.getConnection(), sql, BigInteger.class,paramList.toArray()); - teacherClazz.setId(primaryKey.longValue()); - } - - connection.commit(); - res = OperationResult.SUCCESS.getResult(); - } catch (SQLException e) { - e.printStackTrace(); - } finally { - JdbcUtils.closeResource(); - } - return res; - } - - /** - * @see com.chinasofti.dao.TeacherDao#removeTeacher(long) - * @Function: removeTeacher - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeTeacher(long id) { - String sql = "delete from smms_teacher where id = ?"; - update(JdbcUtils.getConnection(), sql,id); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.TeacherDao#findTeacher(com.chinasofti.model.Teacher) - * @Function: findTeacher - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Teacher findTeacher(Teacher teacher) { - List paramList = new ArrayList(); - String where = ""; - if (null != teacher.getUserId() && teacher.getUserId() > 0) { - where += " and user_id = ?"; - paramList.add(teacher.getUserId()); - } - String sql = "select * from smms_teacher where 1=1" + where; - Teacher resTeacher = getBean(JdbcUtils.getConnection(), sql, Teacher.class,paramList.toArray()); - JdbcUtils.closeResource(); - return resTeacher; - } - - /** - * @see com.chinasofti.dao.TeacherDao#findClazzIdsByTeacherId(java.lang.Long) - * @Function: findClazzIdsByTeacherId - * @Description: 查询 - * - * @param: teacherID - * @return:List - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzIdsByTeacherId(Long teacherID) { - String sql = "select * from smms_teacher_clazz where teacher_id = ?"; - List teacherClazzs = getListBean(JdbcUtils.getConnection(), sql, TeacherClazz.class,teacherID); - List clazzIds = new ArrayList(); - for (TeacherClazz teacherClazz : teacherClazzs) { - clazzIds.add(teacherClazz.getClazzId()); - } - JdbcUtils.closeResource(); - return clazzIds; - } - - /** - * @see com.chinasofti.dao.TeacherDao#findTeacherViews(com.chinasofti.model.view.TeacherView, com.chinasofti.model.view.Page) - * @Function: findTeacherViews - * @Description: 查询所有记录 - * - * @param: 教师实体 - * @return:教师实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findTeacherViews(TeacherView teacherView, Page page) { - String sqlExists = ""; - String sqlWhere = ""; - List paramList = new ArrayList(); - if (null != teacherView.getClazzId() && teacherView.getClazzId() > 0) { - sqlExists += " and tc.clazz_id = ?"; - paramList.add(teacherView.getClazzId()); - } - if (!StringUtils.isEmpty(teacherView.getName())) { - sqlWhere += " and u.name like ?"; - paramList.add("%"+teacherView.getName()+"%"); - } - if (null != teacherView.getUserId() && teacherView.getUserId() > 0) { - sqlWhere += " and u.id = ?"; - paramList.add(teacherView.getUserId()); - } - String sql = "select u.id user_id,t.id teacher_id,u.name,u.sex,u.user_name,u.phone,t.is_counselor from smms_teacher t,smms_user u where t.user_id = u.id and EXISTS(SELECT 1 FROM smms_teacher_clazz tc where t.id = tc.teacher_id"+sqlExists+")"; - sql += sqlWhere; - sql += " limit ?,?"; - paramList.add(page.getStart()); - paramList.add(page.getPageSize()); - List res = getListBean(JdbcUtils.getConnection(), sql, TeacherView.class,paramList.toArray()); - JdbcUtils.closeResource(); - return res; - } - - /** - * @see com.chinasofti.dao.TeacherDao#insertTeacherClazz(com.chinasofti.model.TeacherClazz) - * @Function: insertTeacherClazz - * @Description: 添加 - * - * @param: 教师与班级关联关系实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public TeacherClazz insertTeacherClazz(TeacherClazz teacherClazz) { - String sql = "INSERT INTO smms_teacher_clazz (teacher_id, clazz_id) VALUES (?, ?);"; - List paramList = new ArrayList(); - paramList.add(teacherClazz.getTeacherId()); - paramList.add(teacherClazz.getClazzId()); - BigInteger primaryKey = insert(JdbcUtils.getConnection(), sql, BigInteger.class,paramList.toArray()); - teacherClazz.setId(primaryKey.longValue()); - JdbcUtils.closeResource(); - return teacherClazz; - } - - /** - * @see com.chinasofti.dao.TeacherDao#removeTeacherClazz(long) - * @Function: removeTeacherClazz - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeTeacherClazz(long teacherId) { - String sql = "delete from smms_teacher_clazz where teacher_id = ?"; - update(JdbcUtils.getConnection(), sql,teacherId); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.TeacherDao#findTeacherByStudentId(java.lang.Long) - * @Function: findTeacherByStudentId - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Teacher findTeacherByStudentId(Long studentId) { - String sql = "select * from smms_teacher where user_id = (select c.user_id from smms_student s ,smms_clazz c,smms_user u where s.clazz_id = c.id and c.user_id = u.id and s.id = ?)"; - Teacher resTeacher = getBean(JdbcUtils.getConnection(), sql, Teacher.class,studentId); - JdbcUtils.closeResource(); - return resTeacher; - } - -} diff --git a/SMMS/src/com/chinasofti/dao/impl/UserDaoImpl.java b/SMMS/src/com/chinasofti/dao/impl/UserDaoImpl.java deleted file mode 100644 index 78d9edf..0000000 --- a/SMMS/src/com/chinasofti/dao/impl/UserDaoImpl.java +++ /dev/null @@ -1,221 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.dao - * @author: 李洪涛 - * @date: 2025年3月27日 上午10:58:43 - */ -package com.chinasofti.dao.impl; - -import java.math.BigInteger; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.dao.UserDao; -import com.chinasofti.model.User; -import com.chinasofti.pool.JdbcUtils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: UserDao.java -* @Description: 用户数据层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午10:58:43 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 -*/ -public class UserDaoImpl extends BasicDaoImpl implements UserDao { - - /** - * @see com.chinasofti.dao.UserDao#insertUser(com.chinasofti.model.User) - * @Function: insertUser - * @Description: 添加 - * - * @param: 用户实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public User insertUser(User user) { - String sql = "INSERT INTO smms_user (role_id, name, sex, user_name, pass_word, phone, create_by, create_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; - List paramList = new ArrayList(); - paramList.add(user.getRoleId()); - paramList.add(user.getName()); - paramList.add(user.getSex()); - paramList.add(user.getUserName()); - paramList.add(user.getPassWord()); - paramList.add(user.getPhone()); - paramList.add(user.getCreateBy()); - paramList.add(user.getCreateTime()); - BigInteger primaryKey = insert(JdbcUtils.getConnection(), sql, BigInteger.class,paramList.toArray()); - user.setId(primaryKey.longValue()); - JdbcUtils.closeResource(); - return user; - } - - /** - * @see com.chinasofti.dao.UserDao#updateUser(com.chinasofti.model.User) - * @Function: updateStudent - * @Description: 修改 - * - * @param: 用户实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void updateUser(User user) { - String updateBy = " update_by = ?,update_time = ?"; - List paramList = new ArrayList(); - paramList.add(user.getUserName()); - paramList.add(LocalDateTime.now()); - String update = ""; - if (!StringUtils.isEmpty(user.getPassWord())) { - update += ",pass_word = ?"; - paramList.add(user.getPassWord()); - } - if (!StringUtils.isEmpty(user.getName())) { - update += ",name = ?"; - paramList.add(user.getName()); - } - if (!StringUtils.isEmpty(user.getSex())) { - update += ",sex = ?"; - paramList.add(user.getSex()); - } - if (!StringUtils.isEmpty(user.getUserName())) { - update += ",user_name = ?"; - paramList.add(user.getUserName()); - } - if (!StringUtils.isEmpty(user.getPhone())) { - update += ",phone = ?"; - paramList.add(user.getPhone()); - } - paramList.add(user.getId()); - String sql = "update smms_user set"+updateBy+update+"where id = ?"; - update(JdbcUtils.getConnection(), sql,paramList.toArray()); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.UserDao#removeUser(long) - * @Function: removeStudent - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeUser(long id) { - String sql = "delete from smms_user where id = ?"; - update(JdbcUtils.getConnection(), sql,id); - JdbcUtils.closeResource(); - } - - /** - * @see com.chinasofti.dao.UserDao#findUserById(long) - * @Function: findUser - * @Description: 查询单个用户 - * - * @param: User - * @return:用户实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public User findUser(User user){ - List paramList = new ArrayList(); - String where = ""; - if (!StringUtils.isEmpty(user.getUserName())) { - where += " and user_name = ?"; - paramList.add(user.getUserName()); - } - if (!StringUtils.isEmpty(user.getPassWord())) { - where += " and pass_word = ?"; - paramList.add(user.getPassWord()); - } - if (null != user.getId() && user.getId() > 0) { - where += " and id = ?"; - paramList.add(user.getId()); - } - String sql = "select * from smms_user where 1=1" + where; - User resUser = getBean(JdbcUtils.getConnection(), sql, User.class,paramList.toArray()); - JdbcUtils.closeResource(); - return resUser; - } - - /** - * @see com.chinasofti.dao.UserDao#findAll(com.chinasofti.model.User) - * @Function: findStudents - * @Description: 查询所有记录 - * - * @param: 用户实体 - * @return:用户实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findUsers(User user) { - String sql = "select * from smms_user where 1=1"; - List paramList = new ArrayList(); - if (null != user.getRoleId() && user.getRoleId() > 0) { - sql += " and role_id = ?"; - paramList.add(user.getRoleId()); - } - List users = getListBean(JdbcUtils.getConnection(), sql, User.class,paramList.toArray()); - JdbcUtils.closeResource(); - return users; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/CreditType.java b/SMMS/src/com/chinasofti/enums/CreditType.java deleted file mode 100644 index 810c2ed..0000000 --- a/SMMS/src/com/chinasofti/enums/CreditType.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: mrliy - * @date: 2025年5月16日 上午9:30:06 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: CreditType.java -* @Description: 学分变动范围 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月16日 上午9:30:06 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月16日 李洪涛 v1.0.0 新建文件 -*/ -public enum CreditType { - - THIS_WEEK("1","本周学分"), - THIS_DISCIPLINE("2","本科学分"); - - private final String type; - private final String info; - - CreditType(String type, String info) - { - this.type = type; - this.info = info; - } - - public String getType() - { - return type; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/DeductCredit.java b/SMMS/src/com/chinasofti/enums/DeductCredit.java deleted file mode 100644 index a1dc359..0000000 --- a/SMMS/src/com/chinasofti/enums/DeductCredit.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月16日 上午10:44:12 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: DeductPoints.java -* @Description: 扣分项 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月16日 上午10:44:12 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月16日 李洪涛 v1.0.0 新建文件 -*/ -public enum DeductCredit { - - LEAVE(-2,"请假扣分"); - - private final int credit; - private final String info; - - DeductCredit(int credit, String info) - { - this.credit = credit; - this.info = info; - } - - public int getCredit() - { - return credit; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/FileName.java b/SMMS/src/com/chinasofti/enums/FileName.java deleted file mode 100644 index 06348d6..0000000 --- a/SMMS/src/com/chinasofti/enums/FileName.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月11日 下午8:26:37 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: FileName.java -* @Description: 文件名称枚举 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月11日 下午8:26:37 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月11日 李洪涛 v1.0.0 新建文件 -*/ -public enum FileName { - - STUDENT_TEMPLATE_NAME("学生导入模板.xls","学生导入模板名称"), - STUDENT_TEMPLATE_PATCH("D:\\eclipse-jee-2019-09-R-win32-x86_64\\workspace\\SMMS\\WebContent\\static\\file","学生导入模板存放路径"); - - private final String name; - private final String info; - - FileName(String name, String info) - { - this.name = name; - this.info = info; - } - - public String getName() - { - return name; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/IsCounselor.java b/SMMS/src/com/chinasofti/enums/IsCounselor.java deleted file mode 100644 index 7260713..0000000 --- a/SMMS/src/com/chinasofti/enums/IsCounselor.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月16日 下午5:53:30 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: IsCounselor.java -* @Description: 是否是导员 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月16日 下午5:53:30 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月16日 李洪涛 v1.0.0 新建文件 -*/ -public enum IsCounselor { - - YES("y","是"), - NO("n","不是"); - - private final String is; - private final String info; - - IsCounselor(String is, String info) - { - this.is = is; - this.info = info; - } - - public String getIs() - { - return is; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/LeaveStatus.java b/SMMS/src/com/chinasofti/enums/LeaveStatus.java deleted file mode 100644 index cf042a0..0000000 --- a/SMMS/src/com/chinasofti/enums/LeaveStatus.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月11日 上午12:49:38 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LeaveStatus.java -* @Description: 该类的功能描述 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月11日 上午12:49:38 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月11日 李洪涛 v1.0.0 新建文件 -*/ -public enum LeaveStatus { - - WAIT("0", "等待审核"), - PASS("1", "审核通过"), - REFUSE("2", "审核不通过"); - - private final String status; - private final String info; - - LeaveStatus(String status, String info) - { - this.status = status; - this.info = info; - } - - public String getstatus() - { - return status; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/MathType.java b/SMMS/src/com/chinasofti/enums/MathType.java deleted file mode 100644 index 4b8dac9..0000000 --- a/SMMS/src/com/chinasofti/enums/MathType.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月15日 下午5:14:48 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: MathType.java -* @Description: 运算类型 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月15日 下午5:14:48 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月15日 李洪涛 v1.0.0 新建文件 -*/ -public enum MathType { - - MINUS_SIGN("1","负号"), - POSITIVE_SIGN("2","正号"); - - private final String sign; - private final String info; - - MathType(String sign, String info) - { - this.sign = sign; - this.info = info; - } - - public String getSign() - { - return sign; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/OperationResult.java b/SMMS/src/com/chinasofti/enums/OperationResult.java deleted file mode 100644 index 514a695..0000000 --- a/SMMS/src/com/chinasofti/enums/OperationResult.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月17日 下午4:15:49 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: OperationResult.java -* @Description: 操作结果 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月17日 下午4:15:49 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月17日 李洪涛 v1.0.0 新建文件 -*/ -public enum OperationResult { - - SUCCESS("success", "成功"), - ERROR("error", "失败"); - - private final String result; - private final String info; - - OperationResult(String result, String info) - { - this.result = result; - this.info = info; - } - - public String getResult() - { - return result; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/PageScope.java b/SMMS/src/com/chinasofti/enums/PageScope.java deleted file mode 100644 index 60212e7..0000000 --- a/SMMS/src/com/chinasofti/enums/PageScope.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: mrliy - * @date: 2025年5月16日 下午3:19:03 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: PageScope.java -* @Description: 分页范围 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月16日 下午3:19:03 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月16日 李洪涛 v1.0.0 新建文件 -*/ -public enum PageScope { - CURRENT_PAGE(1,"起始"),PAGE_SIZE(99999,"结束"); - - private final int num; - private final String info; - - PageScope(int num, String info) - { - this.num = num; - this.info = info; - } - - public int getNum() - { - return num; - } - - public String getInfo() - { - return info; - } -} diff --git a/SMMS/src/com/chinasofti/enums/PassWord.java b/SMMS/src/com/chinasofti/enums/PassWord.java deleted file mode 100644 index ab1b0b7..0000000 --- a/SMMS/src/com/chinasofti/enums/PassWord.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月3日 下午3:06:28 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: PassWord.java -* @Description: 默认密码枚举类 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月3日 下午3:06:28 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月3日 李洪涛 v1.0.0 修改原因 -*/ -public enum PassWord { - - TEACHER("Teacher123456", "老师"), - STUDENT("111111", "学生"); - - private final String passWord; - private final String info; - - PassWord(String passWord, String info) - { - this.passWord = passWord; - this.info = info; - } - - public String getPassWord() - { - return passWord; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/RoleCode.java b/SMMS/src/com/chinasofti/enums/RoleCode.java deleted file mode 100644 index c6b0fad..0000000 --- a/SMMS/src/com/chinasofti/enums/RoleCode.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月17日 上午10:42:33 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: RoleCode.java -* @Description: 角色码值 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月8日 上午9:02:05 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月8日 李洪涛 v1.0.0 新建文件 -*/ -public enum RoleCode { - - ADMIN("admin", "管理员"), - TEACHER("teacher", "老师"), - STUDENT("student", "学生"); - - private final String code; - private final String info; - - RoleCode(String code, String info) - { - this.code = code; - this.info = info; - } - - public String getCode() - { - return code; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/RoleId.java b/SMMS/src/com/chinasofti/enums/RoleId.java deleted file mode 100644 index f57da13..0000000 --- a/SMMS/src/com/chinasofti/enums/RoleId.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年4月8日 上午9:02:05 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: RoleId.java -* @Description: 角色ID值 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月8日 上午9:02:05 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月8日 李洪涛 v1.0.0 新建文件 -*/ -public enum RoleId { - - ADMIN(1l, "管理员"), - TEACHER(2l, "老师"), - STUDENT(3l, "学生"); - - private final long id; - private final String info; - - RoleId(long id, String info) - { - this.id = id; - this.info = info; - } - - public long getId() - { - return id; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/ScoreNow.java b/SMMS/src/com/chinasofti/enums/ScoreNow.java deleted file mode 100644 index 33eafef..0000000 --- a/SMMS/src/com/chinasofti/enums/ScoreNow.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月11日 下午7:31:04 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: ScoreNow.java -* @Description: 默认成绩 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月11日 下午7:31:04 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月11日 李洪涛 v1.0.0 新建文件 -*/ -public enum ScoreNow { - - SCORE_WEEK(100,"默认每周学分100"); - - private final int score; - private final String info; - - ScoreNow(int score, String info) - { - this.score = score; - this.info = info; - } - - public int getScore() - { - return score; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/enums/Sex.java b/SMMS/src/com/chinasofti/enums/Sex.java deleted file mode 100644 index 579c351..0000000 --- a/SMMS/src/com/chinasofti/enums/Sex.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.enums - * @author: 李洪涛 - * @date: 2025年5月11日 下午6:35:54 - */ -package com.chinasofti.enums; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: Sex.java -* @Description: 性别 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月11日 下午6:35:54 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月11日 李洪涛 v1.0.0 新建文件 -*/ -public enum Sex { - - MAN("0", "男"), - WOMAN("1", "女"); - - private final String sex; - private final String info; - - Sex(String sex, String info) - { - this.sex = sex; - this.info = info; - } - - public String getSex() - { - return sex; - } - - public String getInfo() - { - return info; - } - -} diff --git a/SMMS/src/com/chinasofti/filter/CharacterFilter.java b/SMMS/src/com/chinasofti/filter/CharacterFilter.java deleted file mode 100644 index fcaf0f1..0000000 --- a/SMMS/src/com/chinasofti/filter/CharacterFilter.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.chinasofti.filter; - -import java.io.IOException; - -import javax.servlet.DispatcherType; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.annotation.WebFilter; -import javax.servlet.annotation.WebInitParam; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: CharacterFilter.java -* @Description: 字符集过滤器 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 下午2:59:44 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 - */ -@WebFilter( - dispatcherTypes = { - DispatcherType.REQUEST, - DispatcherType.FORWARD, - DispatcherType.INCLUDE, - DispatcherType.ERROR - }, - initParams = { - @WebInitParam(name = "character", value = "UTF-8") - }, - urlPatterns = { "/*" } - ) -public class CharacterFilter implements Filter { - - private String character; - - /** - * - * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) - * @Function: CharacterFilter.java - * @Description: 拦截 - * - * @param: request - * @param: response - * @param: chain - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年3月27日 下午3:01:31 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年3月27日 李洪涛 v1.0.0 新建方法 - */ - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - HttpServletRequest req = (HttpServletRequest) request; - HttpServletResponse res = (HttpServletResponse) response; - req.setCharacterEncoding(character); - res.setContentType("text/html;charset=" + character); - chain.doFilter(request, response); - } - - /** - * - * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) - * @Function: CharacterFilter.java - * @Description: 初始化方法 - * - * @param:fConfig - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年3月27日 下午3:02:48 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年3月27日 李洪涛 v1.0.0 新建方法 - */ - public void init(FilterConfig fConfig) throws ServletException { - character=fConfig.getInitParameter("character"); - } - -} diff --git a/SMMS/src/com/chinasofti/filter/LoginFilter.java b/SMMS/src/com/chinasofti/filter/LoginFilter.java deleted file mode 100644 index 6df7f4a..0000000 --- a/SMMS/src/com/chinasofti/filter/LoginFilter.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.chinasofti.filter; - -import java.io.IOException; - -import javax.servlet.DispatcherType; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.annotation.WebFilter; -import javax.servlet.http.HttpServletRequest; - -@WebFilter(dispatcherTypes = { - DispatcherType.REQUEST, - DispatcherType.FORWARD, - DispatcherType.INCLUDE, - DispatcherType.ERROR - } - , urlPatterns = { "/*" }) -public class LoginFilter implements Filter { - - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - HttpServletRequest httpRequest = (HttpServletRequest) request; - String uri = httpRequest.getRequestURI(); - if (uri.contains("/index.jsp") || uri.contains("/login.jsp") || uri.contains("/LoginServlet") || uri.contains("/static")){ - chain.doFilter(request, response); - }else { - Object user = httpRequest.getSession().getAttribute("user"); - if (user!=null){ - chain.doFilter(request, response); - }else { - httpRequest.setAttribute("msg","*您尚未登录,请登录"); - request.getRequestDispatcher("/index.jsp").forward(httpRequest,response); - } - } - } - -} diff --git a/SMMS/src/com/chinasofti/model/Clazz.java b/SMMS/src/com/chinasofti/model/Clazz.java deleted file mode 100644 index 102202e..0000000 --- a/SMMS/src/com/chinasofti/model/Clazz.java +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model - * @author: 李洪涛 - * @date: 2025年4月8日 上午8:03:22 - */ -package com.chinasofti.model; - -import java.time.LocalDateTime; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: Clazz.java -* @Description: 班级实体 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月8日 上午8:03:22 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月8日 李洪涛 v1.0.0 新建文件 -*/ -public class Clazz { - - private Long id;//主键 - - private Long userId;//责任人ID - - private String clazzName;//班级名称 - - private String clazzCode;//班级编码 - - private String clazzs;//学级 - - private String clazzAds;//学届 - - private String createBy;//创建者 - - private LocalDateTime createTime;//创建时间 - - private String updateBy;//更新者 - - private LocalDateTime updateTime;//更新时间 - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public String getClazzName() { - return clazzName; - } - - public void setClazzName(String clazzName) { - this.clazzName = clazzName; - } - - public String getClazzCode() { - return clazzCode; - } - - public void setClazzCode(String clazzCode) { - this.clazzCode = clazzCode; - } - - public String getClazzs() { - return clazzs; - } - - public void setClazzs(String clazzs) { - this.clazzs = clazzs; - } - - public String getClazzAds() { - return clazzAds; - } - - public void setClazzAds(String clazzAds) { - this.clazzAds = clazzAds; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public LocalDateTime getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(LocalDateTime updateTime) { - this.updateTime = updateTime; - } - -} diff --git a/SMMS/src/com/chinasofti/model/CreditRecords.java b/SMMS/src/com/chinasofti/model/CreditRecords.java deleted file mode 100644 index 3328d27..0000000 --- a/SMMS/src/com/chinasofti/model/CreditRecords.java +++ /dev/null @@ -1,140 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model - * @author: 李洪涛 - * @date: 2025年4月8日 上午8:03:22 - */ -package com.chinasofti.model; - -import java.time.LocalDateTime; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: Clazz.java -* @Description: 学分记录信息实体 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月8日 上午8:03:22 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月8日 李洪涛 v1.0.0 新建文件 -*/ -public class CreditRecords { - - private Long id;//主键 - - private Integer credit;//增减学分 - - private String creditType;//学分增减范围,1:本周学分;2:本科学分 - - private String remark;//学分增减原因 - - private Long number;//学号 - - private String studentName;//学生姓名 - - private Long clazzId;//班级ID - - private String clazzName;//班级名称 - - private String userName;//操作人姓名 - - private String createBy;//创建者 - - private LocalDateTime createTime;//创建时间 - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Integer getCredit() { - return credit; - } - - public void setCredit(Integer credit) { - this.credit = credit; - } - - public String getCreditType() { - return creditType; - } - - public void setCreditType(String creditType) { - this.creditType = creditType; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } - - public Long getNumber() { - return number; - } - - public void setNumber(Long number) { - this.number = number; - } - - public Long getClazzId() { - return clazzId; - } - - public void setClazzId(Long clazzId) { - this.clazzId = clazzId; - } - - public String getStudentName() { - return studentName; - } - - public void setStudentName(String studentName) { - this.studentName = studentName; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getClazzName() { - return clazzName; - } - - public void setClazzName(String clazzName) { - this.clazzName = clazzName; - } - -} diff --git a/SMMS/src/com/chinasofti/model/Leave.java b/SMMS/src/com/chinasofti/model/Leave.java deleted file mode 100644 index 93b68aa..0000000 --- a/SMMS/src/com/chinasofti/model/Leave.java +++ /dev/null @@ -1,150 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model - * @author: 李洪涛 - * @date: 2025年5月9日 上午11:05:39 - */ -package com.chinasofti.model; - -import java.time.LocalDateTime; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: Leave.java -* @Description: 该类的功能描述 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月9日 上午11:05:39 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月9日 李洪涛 v1.0.0 新建文件 -*/ -public class Leave { - - private Long id;//主键 - - private Long studentId;//学生Id - - private Long teacherId;//审批教师Id - - private String info;//请假申请信息 - - private String status;//审批状态,0:等待审核;1:审核通过;2:审核不通过 - - private String remark;//审批回复 - - private LocalDateTime applyTime;//申请时间 - - private LocalDateTime approveTime;//审批时间 - - private String createBy;//创建者 - - private LocalDateTime createTime;//创建时间 - - private String updateBy;//更新者 - - private LocalDateTime updateTime;//更新时间 - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getStudentId() { - return studentId; - } - - public void setStudentId(Long studentId) { - this.studentId = studentId; - } - - public Long getTeacherId() { - return teacherId; - } - - public void setTeacherId(Long teacherId) { - this.teacherId = teacherId; - } - - public String getInfo() { - return info; - } - - public void setInfo(String info) { - this.info = info; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } - - public LocalDateTime getApplyTime() { - return applyTime; - } - - public void setApplyTime(LocalDateTime applyTime) { - this.applyTime = applyTime; - } - - public LocalDateTime getApproveTime() { - return approveTime; - } - - public void setApproveTime(LocalDateTime approveTime) { - this.approveTime = approveTime; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public LocalDateTime getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(LocalDateTime updateTime) { - this.updateTime = updateTime; - } - -} diff --git a/SMMS/src/com/chinasofti/model/Role.java b/SMMS/src/com/chinasofti/model/Role.java deleted file mode 100644 index 713ec72..0000000 --- a/SMMS/src/com/chinasofti/model/Role.java +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model - * @author: 李洪涛 - * @date: 2025年4月8日 上午8:00:14 - */ -package com.chinasofti.model; - -import java.time.LocalDateTime; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: Role.java -* @Description: 角色实体 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月8日 上午8:00:14 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月8日 李洪涛 v1.0.0 新建文件 -*/ -public class Role { - - private Long id;//主键 - - private String roleName;//角色名 - - private String roleCode;//角色编码 - - private String createBy;//创建者 - - private LocalDateTime createTime;//创建时间 - - private String updateBy;//更新者 - - private LocalDateTime updateTime;//更新时间 - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getRoleName() { - return roleName; - } - - public void setRoleName(String roleName) { - this.roleName = roleName; - } - - public String getRoleCode() { - return roleCode; - } - - public void setRoleCode(String roleCode) { - this.roleCode = roleCode; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public LocalDateTime getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(LocalDateTime updateTime) { - this.updateTime = updateTime; - } - -} diff --git a/SMMS/src/com/chinasofti/model/Student.java b/SMMS/src/com/chinasofti/model/Student.java deleted file mode 100644 index 33b5203..0000000 --- a/SMMS/src/com/chinasofti/model/Student.java +++ /dev/null @@ -1,159 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:23:45 - */ -package com.chinasofti.model; - -import java.time.LocalDateTime; -import java.util.Date; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: Student.java -* @Description: 学生实体对象 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午9:23:45 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 文件新建 -*/ -public class Student { - - private Long id;//主键 - - private Long clazzId;//班级ID - - private Long userId;//用户ID - - private Long number;//学号 - - private Date birthday;//出生日期 - - private String major;//专业 - - private String honor;//个人荣誉 - - private int scoreNow;//本周当前学分 - - private String createBy;//创建者 - - private LocalDateTime createTime;//创建时间 - - private String updateBy;//更新者 - - private LocalDateTime updateTime;//更新时间 - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getClazzId() { - return clazzId; - } - - public void setClazzId(Long clazzId) { - this.clazzId = clazzId; - } - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public Long getNumber() { - return number; - } - - public void setNumber(Long number) { - this.number = number; - } - - public Date getBirthday() { - return birthday; - } - - public void setBirthday(Date birthday) { - this.birthday = birthday; - } - - public String getMajor() { - return major; - } - - public void setMajor(String major) { - this.major = major; - } - - public String getHonor() { - return honor; - } - - public void setHonor(String honor) { - this.honor = honor; - } - - public int getScoreNow() { - return scoreNow; - } - - public void setScoreNow(int scoreNow) { - this.scoreNow = scoreNow; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public LocalDateTime getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(LocalDateTime updateTime) { - this.updateTime = updateTime; - } - - @Override - public String toString() { - return "Student [id=" + id + ", clazzId=" + clazzId + ", userId=" + userId + ", number=" + number - + ", birthday=" + birthday + ", major=" + major + ", honor=" + honor + ", scoreNow=" + scoreNow - + ", createBy=" + createBy + ", createTime=" + createTime + ", updateBy=" + updateBy + ", updateTime=" - + updateTime + "]"; - } - -} diff --git a/SMMS/src/com/chinasofti/model/Teacher.java b/SMMS/src/com/chinasofti/model/Teacher.java deleted file mode 100644 index 4a798c6..0000000 --- a/SMMS/src/com/chinasofti/model/Teacher.java +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model - * @author: 李洪涛 - * @date: 2025年5月4日 下午10:50:48 - */ -package com.chinasofti.model; - -import java.time.LocalDateTime; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: Teacher.java -* @Description: 教师实体 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月4日 下午10:50:48 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月4日 李洪涛 v1.0.0 新建文件 -*/ -public class Teacher { - - private Long id;//主键 - - private Long userId;//用户ID - - private String isCounselor;//是否是辅导员,y:是;n:不是 - - private String createBy;//创建者 - - private LocalDateTime createTime;//创建时间 - - private String updateBy;//更新者 - - private LocalDateTime updateTime;//更新时间 - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public LocalDateTime getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(LocalDateTime updateTime) { - this.updateTime = updateTime; - } - - public String getIsCounselor() { - return isCounselor; - } - - public void setIsCounselor(String isCounselor) { - this.isCounselor = isCounselor; - } - -} diff --git a/SMMS/src/com/chinasofti/model/TeacherClazz.java b/SMMS/src/com/chinasofti/model/TeacherClazz.java deleted file mode 100644 index 89b38d4..0000000 --- a/SMMS/src/com/chinasofti/model/TeacherClazz.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model - * @author: 李洪涛 - * @date: 2025年5月5日 上午2:47:10 - */ -package com.chinasofti.model; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: TeacherClazz.java -* @Description: 教师班级关系信息 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月5日 上午2:47:10 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月5日 李洪涛 v1.0.0 新建文件 -*/ -public class TeacherClazz { - - private Long id;//主键 - - private Long clazzId;//班级ID - - private Long teacherId;//教师ID - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getClazzId() { - return clazzId; - } - - public void setClazzId(Long clazzId) { - this.clazzId = clazzId; - } - - public Long getTeacherId() { - return teacherId; - } - - public void setTeacherId(Long teacherId) { - this.teacherId = teacherId; - } - -} diff --git a/SMMS/src/com/chinasofti/model/User.java b/SMMS/src/com/chinasofti/model/User.java deleted file mode 100644 index 15971a1..0000000 --- a/SMMS/src/com/chinasofti/model/User.java +++ /dev/null @@ -1,140 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model - * @author: 李洪涛 - * @date: 2025年3月27日 上午10:20:21 - */ -package com.chinasofti.model; - -import java.time.LocalDateTime; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: User.java -* @Description: 用户类 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午10:20:21 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 文件新建 -*/ -public class User { - - private Long id;//主键 - - private Long roleId;//角色 - - private String name;//姓名 - - private String sex;//性别 - - private String userName;//用户名 - - private String passWord;//密码 - - private String phone;//联系方式 - - private String createBy;//创建者 - - private LocalDateTime createTime;//创建时间 - - private String updateBy;//更新者 - - private LocalDateTime updateTime;//更新时间 - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getRoleId() { - return roleId; - } - - public void setRoleId(Long roleId) { - this.roleId = roleId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSex() { - return sex; - } - - public void setSex(String sex) { - this.sex = sex; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassWord() { - return passWord; - } - - public void setPassWord(String passWord) { - this.passWord = passWord; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public LocalDateTime getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(LocalDateTime updateTime) { - this.updateTime = updateTime; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - -} diff --git a/SMMS/src/com/chinasofti/model/view/LeaveView.java b/SMMS/src/com/chinasofti/model/view/LeaveView.java deleted file mode 100644 index 596dcf5..0000000 --- a/SMMS/src/com/chinasofti/model/view/LeaveView.java +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model.view - * @author: 李洪涛 - * @date: 2025年5月11日 上午11:06:35 - */ -package com.chinasofti.model.view; - -import java.time.LocalDateTime; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LeaveView.java -* @Description: 请假记录页面数据 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月11日 上午11:06:35 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月11日 李洪涛 v1.0.0 新建文件 -*/ -public class LeaveView { - - private String studentName;//学生姓名 - - private String teacherName;//审批教师姓名 - - private String info;//请假申请信息 - - private String status;//审批状态,0:等待审核;1:审核通过;2:审核不通过 - - private String remark;//审批回复 - - private LocalDateTime applyTime;//申请时间 - - private LocalDateTime approveTime;//审批时间 - - public String getStudentName() { - return studentName; - } - - public void setStudentName(String studentName) { - this.studentName = studentName; - } - - public String getTeacherName() { - return teacherName; - } - - public void setTeacherName(String teacherName) { - this.teacherName = teacherName; - } - - public String getInfo() { - return info; - } - - public void setInfo(String info) { - this.info = info; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } - - public LocalDateTime getApplyTime() { - return applyTime; - } - - public void setApplyTime(LocalDateTime applyTime) { - this.applyTime = applyTime; - } - - public LocalDateTime getApproveTime() { - return approveTime; - } - - public void setApproveTime(LocalDateTime approveTime) { - this.approveTime = approveTime; - } - -} diff --git a/SMMS/src/com/chinasofti/model/view/Page.java b/SMMS/src/com/chinasofti/model/view/Page.java deleted file mode 100644 index 917f39c..0000000 --- a/SMMS/src/com/chinasofti/model/view/Page.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.chinasofti.model.view; -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: Page.java -* @Description: 分页类页码封装 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月3日 上午8:56:45 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月3日 李洪涛 v1.0.0 新建文件 - */ -public class Page { - private int start;//起始页 - private int currentPage;//当前页 - private int pageSize;//每页显示数量 - public Page(int currentPage,int pageSize){ - this.start = (currentPage-1)*pageSize; - this.currentPage = currentPage; - this.pageSize = pageSize; - } - public int getStart() { - return start; - } - public void setStart(int start) { - this.start = start; - } - public int getCurrentPage() { - return currentPage; - } - public void setCurrentPage(int currentPage) { - this.currentPage = currentPage; - } - public int getPageSize() { - return pageSize; - } - public void setPageSize(int pageSize) { - this.pageSize = pageSize; - } - -} diff --git a/SMMS/src/com/chinasofti/model/view/StudentView.java b/SMMS/src/com/chinasofti/model/view/StudentView.java deleted file mode 100644 index e95d147..0000000 --- a/SMMS/src/com/chinasofti/model/view/StudentView.java +++ /dev/null @@ -1,149 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model.view - * @author: 李洪涛 - * @date: 2025年5月3日 上午10:55:40 - */ -package com.chinasofti.model.view; - - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: StudentView.java -* @Description: 学生类页面数据 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月3日 上午10:55:40 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月3日 李洪涛 v1.0.0 修改原因 -*/ -public class StudentView { - - private Long userId;//用户主键 - - private Long studentId;//主键 - - private Long clazzId;//班级主键 - - private String name;//姓名 - - private String sex;//性别 - - private String userName;//用户名 - - private String phone;//联系方式 - - private Long number;//学号 - - private String birthday;//出生日期 - - private String major;//专业 - - private String honor;//个人荣誉 - - private int scoreNow;//当前学分 - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public Long getStudentId() { - return studentId; - } - - public void setStudentId(Long studentId) { - this.studentId = studentId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSex() { - return sex; - } - - public void setSex(String sex) { - this.sex = sex; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public Long getNumber() { - return number; - } - - public void setNumber(Long number) { - this.number = number; - } - - public String getBirthday() { - return birthday; - } - - public void setBirthday(String birthday) { - this.birthday = birthday; - } - - public String getMajor() { - return major; - } - - public void setMajor(String major) { - this.major = major; - } - - public String getHonor() { - return honor; - } - - public void setHonor(String honor) { - this.honor = honor; - } - - public int getScoreNow() { - return scoreNow; - } - - public void setScoreNow(int scoreNow) { - this.scoreNow = scoreNow; - } - - public Long getClazzId() { - return clazzId; - } - - public void setClazzId(Long clazzId) { - this.clazzId = clazzId; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - -} diff --git a/SMMS/src/com/chinasofti/model/view/TeacherView.java b/SMMS/src/com/chinasofti/model/view/TeacherView.java deleted file mode 100644 index 41a8676..0000000 --- a/SMMS/src/com/chinasofti/model/view/TeacherView.java +++ /dev/null @@ -1,108 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.model.view - * @author: 李洪涛 - * @date: 2025年5月7日 下午1:07:09 - */ -package com.chinasofti.model.view; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: TeacherView.java -* @Description: 该类的功能描述 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月7日 下午1:07:09 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月7日 李洪涛 v1.0.0 新建文件 -*/ -public class TeacherView { - - private Long userId;//用户主键 - - private Long teacherId;//教师主键 - - private Long clazzId;//班级主键 - - private String name;//姓名 - - private String sex;//性别 - - private String userName;//用户名 - - private String phone;//联系方式 - - private String isCounselor;//是否是辅导员,y:是;n:不是 - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public Long getTeacherId() { - return teacherId; - } - - public void setTeacherId(Long teacherId) { - this.teacherId = teacherId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSex() { - return sex; - } - - public void setSex(String sex) { - this.sex = sex; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getIsCounselor() { - return isCounselor; - } - - public void setIsCounselor(String isCounselor) { - this.isCounselor = isCounselor; - } - - public Long getClazzId() { - return clazzId; - } - - public void setClazzId(Long clazzId) { - this.clazzId = clazzId; - } - -} diff --git a/SMMS/src/com/chinasofti/pool/JdbcUtils.java b/SMMS/src/com/chinasofti/pool/JdbcUtils.java deleted file mode 100644 index 6816f5e..0000000 --- a/SMMS/src/com/chinasofti/pool/JdbcUtils.java +++ /dev/null @@ -1,163 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.pool - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:45:18 - */ -package com.chinasofti.pool; - -import com.alibaba.druid.pool.DruidDataSourceFactory; - -import javax.sql.DataSource; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.Properties; - -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: JdbcUtils.java -* @Description: 数据库连接池工具类 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月6日 上午11:00:15 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月6日 李洪涛 v1.0.0 新建文件 - */ -public class JdbcUtils { - - //定义成员变量 - private static DataSource dataSource; - private static ThreadLocal threadLocal; - - /** - * 静态代码块 - */ - static { - try { - //加载连接池配置文件,创建DataSource - Properties properties = new Properties(); - properties.load(JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties")); - dataSource = DruidDataSourceFactory.createDataSource(properties); - //初始化threadLocal对象 - threadLocal = new ThreadLocal<>(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * - * @Function: getConnection - * @Description: 获取数据库连接池连接 - * - * @return:数据库连接(关闭自动提交) - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:58:38 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public static Connection getAutoConnection() { - //1 ThreadLocal可以把线程和连接绑定在一起 - //从ThreadLocal获取连接 - Connection connection = threadLocal.get(); - //如果获取不到,dataSource取出来,放到ThreadLocal里面 - if(connection == null) { - try { - connection = dataSource.getConnection(); - try { - connection.setAutoCommit(false);//关闭自动提交 - } catch (SQLException e) { - e.printStackTrace(); - } - threadLocal.set(connection); - } catch (SQLException e) { - e.printStackTrace(); - } - } - try { - connection.setAutoCommit(false); - } catch (SQLException e) { - e.printStackTrace(); - } - //如果获取到,直接返回 - return connection; - } - - /** - * - * @Function: getConnection - * @Description: 获取数据库连接池连接 - * - * @return:数据库连接 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:58:38 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public static Connection getConnection() { - //1 ThreadLocal可以把线程和连接绑定在一起 - //从ThreadLocal获取连接 - Connection connection = threadLocal.get(); - //如果获取不到,dataSource取出来,放到ThreadLocal里面 - if(connection == null) { - try { - connection = dataSource.getConnection(); - threadLocal.set(connection); - } catch (SQLException e) { - e.printStackTrace(); - } - } - //如果获取到,直接返回 - return connection; - } - - /** - * - * @Function: closeResource - * @Description: 释放资源 - * - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:58:38 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public static void closeResource() { - Connection connection = threadLocal.get(); - if(connection != null) { - try { - //close() - connection.close(); - threadLocal.remove(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - } -} diff --git a/SMMS/src/com/chinasofti/service/ClazzService.java b/SMMS/src/com/chinasofti/service/ClazzService.java deleted file mode 100644 index 6972f9e..0000000 --- a/SMMS/src/com/chinasofti/service/ClazzService.java +++ /dev/null @@ -1,193 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: 李洪涛 - * @date: 2025年5月4日 上午8:00:11 - */ -package com.chinasofti.service; - -import java.util.List; - -import com.chinasofti.model.Clazz; -import com.chinasofti.model.view.Page; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: ClazzService.java -* @Description: 班级业务处理 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月4日 上午8:00:11 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月4日 李洪涛 v1.0.0 修改原因 -*/ -public interface ClazzService { - - /** - * - * @Function: findClazzPage - * @Description: 查询所有记录 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzPage(Clazz clazz,Page page); - - /** - * - * @Function: findClazzsByClazzIds - * @Description: 根据班级查询班级实体 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzsByClazzIds(String clazzIds,Clazz clazz,Page page); - - - /** - * - * @Function: removeClazz - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeClazz(List ids); - - /** - * - * @Function: insertClazz - * @Description: 添加 - * - * @param: 班级实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Clazz insertClazz(Clazz clazz); - - /** - * - * @Function: updateClazz - * @Description: 修改 - * - * @param: 班级实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void updateClazz(Clazz clazz); - - /** - * - * @Function: findClazzsByTeacherId - * @Description: 根据教师Id查询班级实体 - * - * @param: 教师Id - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzsByTeacherId(long teacherId); - - /** - * - * @Function: findClazzByClazzName - * @Description: 根据班级名称查询 - * - * @param: 班级名称 - * @return:班级实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Clazz findClazzByClazzName(String clazzName); - - /** - * - * @Function: findClazzsByUserIds - * @Description: 根据责任人查询班级实体 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzsByUserIds(String uderIds); -} diff --git a/SMMS/src/com/chinasofti/service/CreditRecordsService.java b/SMMS/src/com/chinasofti/service/CreditRecordsService.java deleted file mode 100644 index e165dec..0000000 --- a/SMMS/src/com/chinasofti/service/CreditRecordsService.java +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: 李洪涛 - * @date: 2025年5月15日 下午1:37:53 - */ -package com.chinasofti.service; - -import java.util.List; - -import com.chinasofti.model.CreditRecords; -import com.chinasofti.model.view.Page; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: CreditRecordsService.java -* @Description: 学分记录信息业务层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月15日 下午1:37:53 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月15日 李洪涛 v1.0.0 新建文件 -*/ -public interface CreditRecordsService { - - /** - * - * @Function: insertCreditRecords - * @Description: 添加 - * - * @param: 学分实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void insertCreditRecords(Long studentId,CreditRecords creditRecords); - - /** - * - * @Function: findCreditRecordsPages - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findCreditRecordsPages(String startTime,String endTime,CreditRecords creditRecords,String clazzIds,Page page); - -} diff --git a/SMMS/src/com/chinasofti/service/LeaveService.java b/SMMS/src/com/chinasofti/service/LeaveService.java deleted file mode 100644 index d2a173a..0000000 --- a/SMMS/src/com/chinasofti/service/LeaveService.java +++ /dev/null @@ -1,214 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: 李洪涛 - * @date: 2025年5月9日 下午1:11:21 - */ -package com.chinasofti.service; - -import java.util.List; - -import com.chinasofti.model.Leave; -import com.chinasofti.model.view.LeaveView; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LeaveService.java -* @Description: 请假记录业务处理层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月9日 下午1:11:21 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月9日 李洪涛 v1.0.0 新建文件 -*/ -public interface LeaveService { - - /** - * - * @Function: findLeavePages - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeavePages(Leave leave,Page page); - - /** - * - * @Function: insertLeave - * @Description: 添加 - * - * @param: 角色实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void insertLeave(Leave leave); - - /** - * - * @Function: updateLeave - * @Description: 修改 - * - * @param: 角色实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void updateLeave(Leave leave); - - /** - * - * @Function: findLeaveViews - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeaveViews(Leave leave); - - /** - * - * @Function: removeLeave - * @Description: 删除 - * - * @param: Leave - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeLeave(Leave leave); - - /** - * - * @Function: findLeaveByTeacherIdsAndStatus - * @Description: 根据教师id与状态查询 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeaveByTeacherIdsAndStatus(String teacherIds); - - /** - * - * @Function: findLeavePagesByClazzIds - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeavePagesByClazzIds(Leave leave,Page page,String clazzIds); - - /** - * - * @Function: findLeaveViewsByClazzIds - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findLeaveViewsByClazzIds(Leave leave,String clazzIds); - - /** - * - * @Function: findApproveTeacherViews - * @Description: 获取审批教师信息 - * - * @param: 教师ID - * @return:审批教师实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年5月17日 上午9:12:14 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年5月17日 李洪涛 v1.0.0 新建方法 - */ - public List findApproveTeacherViews(Long teacherId); -} diff --git a/SMMS/src/com/chinasofti/service/LoginService.java b/SMMS/src/com/chinasofti/service/LoginService.java deleted file mode 100644 index 17408bb..0000000 --- a/SMMS/src/com/chinasofti/service/LoginService.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: 李洪涛 - * @date: 2025年3月27日 上午10:42:35 - */ -package com.chinasofti.service; - -import com.chinasofti.model.User; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LoginService.java -* @Description: 登录校验业务层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午10:42:35 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 -*/ -public interface LoginService { - - /** - * - * @Function: LoginService.java - * @Description: 登录校验 - * - * @param:User - * @return:校验结果 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年3月27日 上午11:03:37 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年3月27日 李洪涛 v1.0.0 新建方法 - */ - public User loginCheck(User user); - -} diff --git a/SMMS/src/com/chinasofti/service/RoleService.java b/SMMS/src/com/chinasofti/service/RoleService.java deleted file mode 100644 index 20a6845..0000000 --- a/SMMS/src/com/chinasofti/service/RoleService.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: 李洪涛 - * @date: 2025年5月2日 下午9:50:01 - */ -package com.chinasofti.service; - -import com.chinasofti.model.Role; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: RoleService.java -* @Description: 角色业务处理层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月2日 下午9:50:01 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月2日 李洪涛 v1.0.0 新建文件 -*/ -public interface RoleService { - - /** - * - * @Function: findRoleById - * @Description: 根据id查询 - * - * @param: id值 - * @return:角色实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Role findRoleById(long id); - -} diff --git a/SMMS/src/com/chinasofti/service/StudentService.java b/SMMS/src/com/chinasofti/service/StudentService.java deleted file mode 100644 index 72891a4..0000000 --- a/SMMS/src/com/chinasofti/service/StudentService.java +++ /dev/null @@ -1,176 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: 李洪涛 - * @date: 2025年4月2日 上午9:21:06 - */ -package com.chinasofti.service; - -import java.util.List; - -import com.chinasofti.model.Student; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.StudentView; - - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: StudentService.java -* @Description: 该类的功能描述 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月2日 上午9:21:06 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月2日 李洪涛 v1.0.0 新建文件 -*/ -public interface StudentService { - - /** - * - * @Function: insertStudent - * @Description: 添加 - * - * @param: 学生实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String insertStudent(Student student,User user); - - /** - * - * @Function: removeStudents - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String removeStudents(String studentIds,String userIds); - - /** - * - * @Function: updateStudent - * @Description: 修改 - * - * @param: 学生实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String updateStudent(Student student,User user); - - /** - * - * @Function: findStudentByUserId - * @Description: 根据id查询 - * - * @param: userId值 - * @return:StudentView - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public StudentView findStudentByUserId(StudentView studentView); - - /** - * - * @Function: findStudentViews - * @Description: 查询所有记录 - * - * @param: 学生实体 - * @return:学生实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findStudentViews(StudentView studentView,Page page); - - /** - * - * @Function: findStudentViewsByClazzIds - * @Description: 根据班级查询学生实体 - * - * @param: 学生实体 - * @return:学生实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findStudentViewsByClazzIds(StudentView studentView,String clazzIds,Page page); - - /** - * - * @Function: updateStudentScoreNow - * @Description: 修改 - * - * @param: 本周学分变动 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void updateStudentScoreNow(int score,Student student); - -} diff --git a/SMMS/src/com/chinasofti/service/TeacherService.java b/SMMS/src/com/chinasofti/service/TeacherService.java deleted file mode 100644 index a5637e5..0000000 --- a/SMMS/src/com/chinasofti/service/TeacherService.java +++ /dev/null @@ -1,195 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: 李洪涛 - * @date: 2025年5月4日 下午11:17:06 - */ -package com.chinasofti.service; - -import java.util.List; - -import com.chinasofti.model.Teacher; -import com.chinasofti.model.TeacherClazz; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: TeacherService.java -* @Description: 教师业务处理 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月4日 下午11:17:06 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月4日 李洪涛 v1.0.0 新建文件 -*/ -public interface TeacherService { - - /** - * - * @Function: findTeacher - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Teacher findTeacher(Teacher teacher); - - /** - * - * @Function: findClazzIdsByTeacherId - * @Description: 查询 - * - * @param: teacherID - * @return:List - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findClazzIdsByTeacherId(Long teacherID); - - /** - * - * @Function: findTeacherViews - * @Description: 查询所有记录 - * - * @param: 教师实体 - * @return:教师实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findTeacherViews(TeacherView teacherView,Page page); - - /** - * - * @Function: insertTeacher - * @Description: 添加 - * - * @param: 教师实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String insertTeacher(Teacher teacher,User user,TeacherClazz teacherClazz,String [] clazzIds); - - /** - * - * @Function: insertTeacherClazz - * @Description: 添加 - * - * @param: 教师与班级关联关系实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public TeacherClazz insertTeacherClazz(TeacherClazz teacherClazz,String [] clazzIds); - - /** - * - * @Function: updateTeacher - * @Description: 修改 - * - * @param: 教师实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public String updateTeacher(Teacher teacher,String [] clazzIds,User user); - - /** - * - * @Function: removeTeachers - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeTeachers(List ids); - - /** - * - * @Function: findTeacherByStudentId - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public Teacher findTeacherByStudentId(Long studentId); -} diff --git a/SMMS/src/com/chinasofti/service/UserService.java b/SMMS/src/com/chinasofti/service/UserService.java deleted file mode 100644 index 8249ed0..0000000 --- a/SMMS/src/com/chinasofti/service/UserService.java +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: mrliy - * @date: 2025年5月2日 上午2:06:30 - */ -package com.chinasofti.service; - -import java.util.List; - -import com.chinasofti.model.User; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: UserService.java -* @Description: 用户业务处理 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月2日 上午2:06:30 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月2日 李洪涛 v1.0.0 修改原因 -*/ -public interface UserService { - - /** - * - * @Function: insertUser - * @Description: 添加 - * - * @param: 用户实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public User insertUser(User user); - - /** - * - * @Function: removeUser - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void removeUsers(List ids); - - /** - * - * @Function: updateUser - * @Description: 修改 - * - * @param: 用户实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public void updateUser(User user); - - /** - * - * @Function: findUsers - * @Description: 查询所有记录 - * - * @param: 用户实体 - * @return:用户实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - public List findUsers(User user); - -} diff --git a/SMMS/src/com/chinasofti/service/impl/ClazzServiceImpl.java b/SMMS/src/com/chinasofti/service/impl/ClazzServiceImpl.java deleted file mode 100644 index 5625402..0000000 --- a/SMMS/src/com/chinasofti/service/impl/ClazzServiceImpl.java +++ /dev/null @@ -1,227 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service.impl - * @author: 李洪涛 - * @date: 2025年5月4日 上午8:01:01 - */ -package com.chinasofti.service.impl; - -import java.util.List; - -import com.chinasofti.dao.ClazzDao; -import com.chinasofti.dao.impl.ClazzDaoImpl; -import com.chinasofti.model.Clazz; -import com.chinasofti.model.view.Page; -import com.chinasofti.service.ClazzService; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: ClazzServiceImpl.java -* @Description: 该类的功能描述 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月4日 上午8:01:01 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月4日 李洪涛 v1.0.0 修改原因 -*/ -public class ClazzServiceImpl implements ClazzService { - - private ClazzDao clazzDao = new ClazzDaoImpl(); - - /** - * @see com.chinasofti.service.ClazzService#findClazzPage(com.chinasofti.model.Clazz, com.chinasofti.model.view.Page) - * @Function: findClazzPage - * @Description: 查询所有记录 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzPage(Clazz clazz, Page page) { - return clazzDao.findClazzPage(clazz, page); - } - - /** - * @see com.chinasofti.service.ClazzService#findClazzsByClazzIds(java.lang.String, com.chinasofti.model.view.Page) - * @Function: findClazzsByClazzIds - * @Description: 根据班级查询班级实体 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzsByClazzIds(String clazzIds, Clazz clazz, Page page) { - return clazzDao.findClazzsByClazzIds(clazzIds, clazz, page); - } - - /** - * @see com.chinasofti.service.ClazzService#removeClazz(long) - * @Function: removeClazz - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeClazz(List ids) { - if (ids.size() > 0) { - for (Long id : ids) { - clazzDao.removeClazz(id); - clazzDao.removeTeacherClazzByClazzId(id); - } - } - } - - /** - * @see com.chinasofti.service.ClazzService#insertClazz(com.chinasofti.model.Clazz) - * @Function: insertClazz - * @Description: 添加 - * - * @param: 班级实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Clazz insertClazz(Clazz clazz) { - return clazzDao.insertClazz(clazz); - } - - /** - * @see com.chinasofti.service.ClazzService#updateClazz(com.chinasofti.model.Clazz) - * @Function: updateClazz - * @Description: 修改 - * - * @param: 班级实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void updateClazz(Clazz clazz) { - clazzDao.updateClazz(clazz); - } - - /** - * @see com.chinasofti.service.ClazzService#findClazzsByTeacherId(long) - * @Function: findClazzsByTeacherId - * @Description: 根据教师Id查询班级实体 - * - * @param: 教师Id - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzsByTeacherId(long teacherId) { - return clazzDao.findClazzsByTeacherId(teacherId); - } - - /** - * @see com.chinasofti.service.ClazzService#findClazzByClazzName(java.lang.String) - * @Function: findClazzByClazzName - * @Description: 根据班级名称查询 - * - * @param: 班级名称 - * @return:班级实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Clazz findClazzByClazzName(String clazzName) { - return clazzDao.findClazzByClazzName(clazzName); - } - - /** - * @see com.chinasofti.service.ClazzService#findClazzsByUserIds(java.lang.String) - * @Function: findClazzsByUserIds - * @Description: 根据责任人查询班级实体 - * - * @param: 班级实体 - * @return:班级实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzsByUserIds(String uderIds) { - return clazzDao.findClazzsByUserIds(uderIds); - } - -} diff --git a/SMMS/src/com/chinasofti/service/impl/CreditRecordsServiceImpl.java b/SMMS/src/com/chinasofti/service/impl/CreditRecordsServiceImpl.java deleted file mode 100644 index 62f989c..0000000 --- a/SMMS/src/com/chinasofti/service/impl/CreditRecordsServiceImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service - * @author: 李洪涛 - * @date: 2025年5月15日 下午1:37:53 - */ -package com.chinasofti.service.impl; - -import java.util.List; - -import com.chinasofti.dao.CreditRecordsDao; -import com.chinasofti.dao.impl.CreditRecordsDaoImpl; -import com.chinasofti.model.CreditRecords; -import com.chinasofti.model.view.Page; -import com.chinasofti.service.CreditRecordsService; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: CreditRecordsServiceImpl.java -* @Description: 学分记录信息业务层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月15日 下午1:37:53 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月15日 李洪涛 v1.0.0 新建文件 -*/ -public class CreditRecordsServiceImpl implements CreditRecordsService { - - private CreditRecordsDao creditRecordsDao = new CreditRecordsDaoImpl(); - - /** - * @see com.chinasofti.service.CreditRecordsService#insertCreditRecords(com.chinasofti.model.CreditRecords) - * @Function: insertCreditRecords - * @Description: 添加 - * - * @param: 学分实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void insertCreditRecords(Long studentId,CreditRecords creditRecords) { - creditRecordsDao.insertCreditRecords(studentId, creditRecords); - } - - /** - * @see com.chinasofti.service.CreditRecordsService#findCreditRecordsPages(com.chinasofti.model.CreditRecords, com.chinasofti.model.view.Page) - * @Function: findCreditRecordsPages - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findCreditRecordsPages(String startTime,String endTime,CreditRecords creditRecords,String clazzIds, Page page) { - return creditRecordsDao.findCreditRecordsPages(startTime,endTime,creditRecords,clazzIds, page); - } - -} diff --git a/SMMS/src/com/chinasofti/service/impl/LeaveServiceImpl.java b/SMMS/src/com/chinasofti/service/impl/LeaveServiceImpl.java deleted file mode 100644 index bde52fc..0000000 --- a/SMMS/src/com/chinasofti/service/impl/LeaveServiceImpl.java +++ /dev/null @@ -1,247 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service.impl - * @author: 李洪涛 - * @date: 2025年5月9日 下午1:12:36 - */ -package com.chinasofti.service.impl; - -import java.util.List; - -import com.chinasofti.dao.LeaveDao; -import com.chinasofti.dao.impl.LeaveDaoImpl; -import com.chinasofti.model.Leave; -import com.chinasofti.model.view.LeaveView; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; -import com.chinasofti.service.LeaveService; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LeaveServiceImpl.java -* @Description: 请假记录业务处理层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月9日 下午1:11:21 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月9日 李洪涛 v1.0.0 新建文件 -*/ -public class LeaveServiceImpl implements LeaveService { - - private LeaveDao leaveDao = new LeaveDaoImpl(); - - /** - * @see com.chinasofti.service.LeaveService#findfindLeavePages(com.chinasofti.model.Leave, com.chinasofti.model.view.Page) - * @Function: findfindLeavePages - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeavePages(Leave leave, Page page) { - return leaveDao.findLeavePages(leave, page); - } - - /** - * @see com.chinasofti.service.LeaveService#insertLeave(com.chinasofti.model.Leave) - * @Function: insertLeave - * @Description: 添加 - * - * @param: 角色实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void insertLeave(Leave leave) { - leaveDao.insertLeave(leave); - } - - /** - * @see com.chinasofti.service.LeaveService#updateLeave(com.chinasofti.model.Leave) - * @Function: updateLeave - * @Description: 修改 - * - * @param: 角色实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void updateLeave(Leave leave) { - leaveDao.updateLeave(leave); - } - - /** - * @see com.chinasofti.service.LeaveService#findLeaveViews(com.chinasofti.model.Leave) - * @Function: findLeaveViews - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeaveViews(Leave leave) { - return leaveDao.findLeaveViews(leave); - } - - /** - * @see com.chinasofti.service.LeaveService#removeLeave(com.chinasofti.model.Leave) - * @Function: removeLeave - * @Description: 删除 - * - * @param: Leave - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeLeave(Leave leave) { - leaveDao.removeLeave(leave); - } - - /** - * @see com.chinasofti.service.LeaveService#findLeaveByTeacherIdsAndStatus(java.lang.String) - * @Function: findLeaveByTeacherIdsAndStatus - * @Description: 根据教师id与状态查询 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeaveByTeacherIdsAndStatus(String teacherIds) { - return leaveDao.findLeaveByTeacherIdsAndStatus(teacherIds); - } - - /** - * @see com.chinasofti.service.LeaveService#findLeavePagesByClazzIds(com.chinasofti.model.Leave, com.chinasofti.model.view.Page, java.lang.String) - * @Function: findLeavePagesByClazzIds - * @Description: 查询所有记录 - * - * @param: 请假记录实体 - * @return:请假记录实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findLeavePagesByClazzIds(Leave leave, Page page, String clazzIds) { - return leaveDao.findLeavePagesByClazzIds(leave, page, clazzIds); - } - - /** - * @see com.chinasofti.service.LeaveService#findLeaveViewsByClazzIds(com.chinasofti.model.Leave, java.lang.String) - * @Function: LeaveServiceImpl.java - * @Description: 该函数的功能描述 - * - * @param:描述1描述 - * @return:返回结果描述 - * @throws:异常描述 - * - * @version: v1.0.0 - * @author: mrliy - * @date: 2025年5月16日 下午8:23:34 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年5月16日 mrliy v1.0.0 修改原因 - */ - @Override - public List findLeaveViewsByClazzIds(Leave leave, String clazzIds) { - return leaveDao.findLeaveViewsByClazzIds(leave, clazzIds); - } - - /** - * @see com.chinasofti.service.LeaveService#findApproveTeacherViews(java.lang.Long) - * @Function: findApproveTeacherViews - * @Description: 获取审批教师信息 - * - * @param: 教师ID - * @return:审批教师实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年5月17日 上午9:12:14 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年5月17日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findApproveTeacherViews(Long teacherId) { - return leaveDao.findApproveTeacherViews(teacherId); - } - -} diff --git a/SMMS/src/com/chinasofti/service/impl/LoginServiceImpl.java b/SMMS/src/com/chinasofti/service/impl/LoginServiceImpl.java deleted file mode 100644 index fafa5dc..0000000 --- a/SMMS/src/com/chinasofti/service/impl/LoginServiceImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service.impl - * @author: 李洪涛 - * @date: 2025年3月27日 上午10:45:31 - */ -package com.chinasofti.service.impl; - - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.dao.RoleDao; -import com.chinasofti.dao.UserDao; -import com.chinasofti.dao.impl.RoleDaoImpl; -import com.chinasofti.dao.impl.UserDaoImpl; -import com.chinasofti.model.Role; -import com.chinasofti.model.User; -import com.chinasofti.service.LoginService; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LoginServiceImpl.java -* @Description: 登录校验业务处理层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午10:45:31 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 -*/ -public class LoginServiceImpl implements LoginService { - - private UserDao userDao = new UserDaoImpl(); - private RoleDao roleDao = new RoleDaoImpl(); - - /** - * @see com.chinasofti.service.LoginService#loginCheck(com.chinasofti.model.User) - * @Function: LoginServiceImpl.java - * @Description: 登录校验 - * - * @param:User - * @return:校验结果 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年3月27日 上午11:07:16 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年3月27日 李洪涛 v1.0.0 新建方法 - */ - @Override - public User loginCheck(User user) { - User resUser = userDao.findUser(user); - User res = null; - if (null == resUser) { - return res; - } - user = resUser; - Role role = roleDao.findRoleById(user.getRoleId()); - if (null != role && !StringUtils.isEmpty(role.getRoleCode()) ) { - res = user; - } - return res; - } - -} diff --git a/SMMS/src/com/chinasofti/service/impl/RoleServiceImpl.java b/SMMS/src/com/chinasofti/service/impl/RoleServiceImpl.java deleted file mode 100644 index c7231b0..0000000 --- a/SMMS/src/com/chinasofti/service/impl/RoleServiceImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service.impl - * @author: 李洪涛 - * @date: 2025年5月2日 下午9:51:46 - */ -package com.chinasofti.service.impl; - -import com.chinasofti.dao.RoleDao; -import com.chinasofti.dao.impl.RoleDaoImpl; -import com.chinasofti.model.Role; -import com.chinasofti.service.RoleService; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: RoleService.java -* @Description: 角色业务处理层 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月2日 下午9:50:01 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月2日 李洪涛 v1.0.0 新建文件 -*/ -public class RoleServiceImpl implements RoleService { - - private RoleDao roleDao = new RoleDaoImpl(); - - /** - * @see com.chinasofti.service.RoleService#findRoleById(long) - * @Function: findRoleById - * @Description: 根据id查询 - * - * @param: id值 - * @return:角色实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Role findRoleById(long id) { - return roleDao.findRoleById(id); - } - -} diff --git a/SMMS/src/com/chinasofti/service/impl/StudentServiceImpl.java b/SMMS/src/com/chinasofti/service/impl/StudentServiceImpl.java deleted file mode 100644 index 9e8adde..0000000 --- a/SMMS/src/com/chinasofti/service/impl/StudentServiceImpl.java +++ /dev/null @@ -1,222 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service.impl - * @author: 李洪涛 - * @date: 2025年4月2日 上午9:24:13 - */ -package com.chinasofti.service.impl; - -import java.util.List; - -import com.chinasofti.dao.StudentDao; -import com.chinasofti.dao.UserDao; -import com.chinasofti.dao.impl.StudentDaoImpl; -import com.chinasofti.dao.impl.UserDaoImpl; -import com.chinasofti.model.Student; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.StudentView; -import com.chinasofti.service.StudentService; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: StudentServiceImpl.java -* @Description: 该类的功能描述 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年4月2日 上午9:24:13 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年4月2日 李洪涛 v1.0.0 新建文件 -*/ -public class StudentServiceImpl implements StudentService { - - private StudentDao studentDao = new StudentDaoImpl(); - private UserDao userDao = new UserDaoImpl(); - - /** - * @see com.chinasofti.service.StudentService#removeStudent(long) - * @Function: removeStudents - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String removeStudents(String studentIds,String userIds) { - return studentDao.removeStudent(studentIds, userIds); - } - - /** - * @see com.chinasofti.service.StudentService#updateStudent(com.chinasofti.model.Student) - /** - * - * @Function: updateStudent - * @Description: 修改 - * - * @param: 学生实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String updateStudent(Student student,User user) { - return studentDao.updateStudent(student,user); - } - - /** - * @see com.chinasofti.service.StudentService#findStudentByUserId(long) - * @Function: findStudentByUserId - * @Description: 根据id查询 - * - * @param: userId值 - * @return:StudentView - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public StudentView findStudentByUserId(StudentView studentView) { - Student student = studentDao.findStudentByUserId(studentView.getUserId()); - User user = new User(); - user.setId(studentView.getUserId()); - user = userDao.findUser(user); - studentView.setStudentId(student.getId()); - studentView.setName(user.getName()); - studentView.setSex(user.getSex()); - studentView.setUserName(user.getUserName()); - studentView.setPhone(user.getPhone()); - studentView.setClazzId(student.getClazzId()); - studentView.setNumber(student.getNumber()); - studentView.setBirthday(student.getBirthday().toString()); - studentView.setMajor(student.getMajor()); - studentView.setHonor(student.getHonor()); - studentView.setScoreNow(student.getScoreNow()); - return studentView; - } - - /** - * @see com.chinasofti.service.StudentService#findStudentViews(com.chinasofti.model.view.StudentView, com.chinasofti.model.view.Page) - * @Function: findStudentViews - * @Description: 查询所有记录 - * - * @param: 学生实体 - * @return:学生实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findStudentViews(StudentView studentView, Page page) { - return studentDao.findStudentViews(studentView, page); - } - - /** - * @see com.chinasofti.service.StudentService#insertStudent(com.chinasofti.model.Student) - * @Function: insertStudent - * @Description: 添加 - * - * @param: 学生实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String insertStudent(Student student,User user) { - return studentDao.insertStudent(student,user); - } - - /** - * @see com.chinasofti.service.StudentService#findStudentViewsByClazzIds(java.lang.String, com.chinasofti.model.view.Page) - * @Function: findStudentViewsByClazzIds - * @Description: 根据班级查询学生实体 - * - * @param: 学生实体 - * @return:学生实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findStudentViewsByClazzIds(StudentView studentView,String clazzIds, Page page) { - return studentDao.findStudentViewsByClazzIds(studentView,clazzIds, page); - } - - /** - * @see com.chinasofti.service.StudentService#updateStudentScoreNow(int, com.chinasofti.model.Student) - * @Function: updateStudentScoreNow - * @Description: 修改 - * - * @param: 本周学分变动 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void updateStudentScoreNow(int score, Student student) { - studentDao.updateStudentScoreNow(score, student); - } - - -} diff --git a/SMMS/src/com/chinasofti/service/impl/TeacherServiceImpl.java b/SMMS/src/com/chinasofti/service/impl/TeacherServiceImpl.java deleted file mode 100644 index c360b76..0000000 --- a/SMMS/src/com/chinasofti/service/impl/TeacherServiceImpl.java +++ /dev/null @@ -1,234 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service.impl - * @author: 李洪涛 - * @date: 2025年5月4日 下午11:18:00 - */ -package com.chinasofti.service.impl; - -import java.util.List; - -import com.chinasofti.dao.TeacherDao; -import com.chinasofti.dao.impl.TeacherDaoImpl; -import com.chinasofti.model.Teacher; -import com.chinasofti.model.TeacherClazz; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; -import com.chinasofti.service.TeacherService; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: TeacherServiceImpl.java -* @Description: 教师业务处理 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月4日 下午11:18:00 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月4日 李洪涛 v1.0.0 新建文件 -*/ -public class TeacherServiceImpl implements TeacherService { - - private TeacherDao teacherDao = new TeacherDaoImpl(); - - /** - * @see com.chinasofti.service.TeacherService#findTeacher(com.chinasofti.model.Teacher) - * @Function: findTeacher - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Teacher findTeacher(Teacher teacher) { - return teacherDao.findTeacher(teacher); - } - - /** - * @see com.chinasofti.service.TeacherService#findClazzIdsByTeacherId(java.lang.Long) - * @Function: findClazzIdsByTeacherId - * @Description: 查询 - * - * @param: teacherID - * @return:List - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findClazzIdsByTeacherId(Long teacherID) { - return teacherDao.findClazzIdsByTeacherId(teacherID); - } - - /** - * @see com.chinasofti.service.TeacherService#findTeacherViews(com.chinasofti.model.view.TeacherView, com.chinasofti.model.view.Page) - * @Function: findTeacherViews - * @Description: 查询所有记录 - * - * @param: 教师实体 - * @return:教师实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findTeacherViews(TeacherView teacherView, Page page) { - return teacherDao.findTeacherViews(teacherView, page); - } - - /** - * @see com.chinasofti.service.TeacherService#insertTeacher(com.chinasofti.model.Teacher) - * @Function: findTeacher - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String insertTeacher(Teacher teacher,User user,TeacherClazz teacherClazz,String [] clazzIds) { - return teacherDao.insertTeacher(teacher,user,teacherClazz,clazzIds); - } - - /** - * @see com.chinasofti.service.TeacherService#insertTeacherClazz(com.chinasofti.model.TeacherClazz) - * @Function: insertTeacherClazz - * @Description: 添加 - * - * @param: 教师与班级关联关系实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public TeacherClazz insertTeacherClazz(TeacherClazz teacherClazz,String [] clazzIds) { - for (String clazzId : clazzIds) { - teacherClazz.setClazzId(Long.parseLong(clazzId)); - teacherDao.insertTeacherClazz(teacherClazz); - } - return teacherClazz; - } - - /** - * @see com.chinasofti.service.TeacherService#updateTeacher(com.chinasofti.model.Teacher) - * @Function: updateTeacher - * @Description: 修改 - * - * @param: 教师实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public String updateTeacher(Teacher teacher,String [] clazzIds,User user) { - return teacherDao.updateTeacher(teacher, clazzIds, user); - } - - /** - * @see com.chinasofti.service.TeacherService#removeTeachers(java.util.List) - * @Function: removeTeachers - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeTeachers(List ids) { - if (ids.size() > 0) { - for (Long id : ids) { - teacherDao.removeTeacher(id); - teacherDao.removeTeacherClazz(id); - } - } - } - - /** - * @see com.chinasofti.service.TeacherService#findTeacherByStudentId(java.lang.Long) - * @Function: findTeacherByStudentId - * @Description: 查询 - * - * @param: 教师实体 - * @return:教师实体 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public Teacher findTeacherByStudentId(Long studentId) { - return teacherDao.findTeacherByStudentId(studentId); - } - -} diff --git a/SMMS/src/com/chinasofti/service/impl/UserServiceImpl.java b/SMMS/src/com/chinasofti/service/impl/UserServiceImpl.java deleted file mode 100644 index f06edb2..0000000 --- a/SMMS/src/com/chinasofti/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,133 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.service.impl - * @author: mrliy - * @date: 2025年5月2日 上午2:07:43 - */ -package com.chinasofti.service.impl; - -import java.util.List; - -import com.chinasofti.dao.UserDao; -import com.chinasofti.dao.impl.UserDaoImpl; -import com.chinasofti.model.User; -import com.chinasofti.service.UserService; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: UserService.java -* @Description: 用户业务处理 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月2日 上午2:06:30 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月2日 李洪涛 v1.0.0 修改原因 -*/ -public class UserServiceImpl implements UserService{ - - private UserDao userDao = new UserDaoImpl(); - - /** - * @see com.chinasofti.service.UserService#updateUser(com.chinasofti.model.User) - * @Function: updateUser - * @Description: 修改 - * - * @param: 用户实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void updateUser(User user) { - userDao.updateUser(user); - } - - /** - * @see com.chinasofti.service.UserService#removeUser(long) - * @Function: removeUser - * @Description: 删除 - * - * @param: id值 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public void removeUsers(List ids) { - if (null != ids && ids.size() > 0) { - for (Long id : ids) { - userDao.removeUser(id); - } - } - } - - /** - * - * @Function: insertUser - * @Description: 添加 - * - * @param: 用户实体 - * @return:无 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public User insertUser(User user) { - return userDao.insertUser(user); - } - - /** - * @see com.chinasofti.service.UserService#findUsers(com.chinasofti.model.User) - * @Function: findUsers - * @Description: 查询所有记录 - * - * @param: 用户实体 - * @return:用户实体集合 - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年4月6日 上午10:50:58 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年4月6日 李洪涛 v1.0.0 新建方法 - */ - @Override - public List findUsers(User user) { - return userDao.findUsers(user); - } - -} diff --git a/SMMS/src/com/chinasofti/servlet/ClazzServlet.java b/SMMS/src/com/chinasofti/servlet/ClazzServlet.java deleted file mode 100644 index 91d7808..0000000 --- a/SMMS/src/com/chinasofti/servlet/ClazzServlet.java +++ /dev/null @@ -1,211 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.servlet - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:21:53 - */ -package com.chinasofti.servlet; - -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.chinasofti.enums.OperationResult; -import com.chinasofti.enums.PageScope; -import com.chinasofti.enums.RoleCode; -import com.chinasofti.model.Clazz; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.StudentView; -import com.chinasofti.service.ClazzService; -import com.chinasofti.service.StudentService; -import com.chinasofti.service.impl.ClazzServiceImpl; -import com.chinasofti.service.impl.StudentServiceImpl; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: StudentServlet.java -* @Description: 学生接口 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午9:09:40 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 - */ -@WebServlet("/ClazzServlet") -public class ClazzServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private ClazzService clazzService = new ClazzServiceImpl(); - private StudentService studentService = new StudentServiceImpl(); - - public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException{ - doPost(request, response); - } - - public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{ - String method = request.getParameter("method"); - if("toClazzListView".equals(method)){ - clazzList(request,response); - } else if("getClazzList".equals(method)){ - getClazzList(request, response); - } else if("DeleteClazz".equals(method)){ - deleteClazz(request, response); - } else if("AddClazz".equals(method)){ - addClazz(request, response); - } else if("EditClazz".equals(method)){ - editClazz(request, response); - } - } - - private void clazzList(HttpServletRequest request,HttpServletResponse response) { - try { - request.getRequestDispatcher("view/clazzList.jsp").forward(request, response); - } catch (ServletException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void getClazzList(HttpServletRequest request,HttpServletResponse response){ - Integer currentPage = request.getParameter("page") == null ? PageScope.CURRENT_PAGE.getNum() : Integer.parseInt(request.getParameter("page")); - Integer pageSize = request.getParameter("rows") == null ? PageScope.PAGE_SIZE.getNum() : Integer.parseInt(request.getParameter("rows")); - String clazzName = request.getParameter("clazzName"); - Long userId = request.getParameter("userId") == null ? 0 : Long.parseLong(request.getParameter("userId")); - //获取当前登录用户类型 - String roleCode = request.getSession().getAttribute("roleCode").toString(); - User loginUser = (User)request.getSession().getAttribute("user"); - Clazz clazz = new Clazz(); - clazz.setClazzName(clazzName); - clazz.setUserId(userId); - List clazzList = null; - List clazzListTotal = null; - int total; - if(RoleCode.TEACHER.getCode().equals(roleCode)){ - //如果是老师,只能查看关联或负责的班级信息 - String clazzIdStr = request.getSession().getAttribute("clazzIdStr").toString(); - clazzList = clazzService.findClazzsByClazzIds(clazzIdStr, clazz, new Page(currentPage, pageSize)); - clazzListTotal = clazzService.findClazzsByClazzIds(clazzIdStr, clazz, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - } else if(RoleCode.STUDENT.getCode().equals(roleCode)){ - StudentView studentView = new StudentView(); - studentView.setUserId(loginUser.getId()); - studentView = studentService.findStudentByUserId(studentView); - long clazzId = studentView.getClazzId(); - clazzList = clazzService.findClazzsByClazzIds(clazzId + "", clazz, new Page(currentPage, pageSize)); - clazzListTotal = clazzService.findClazzsByClazzIds(clazzId + "", clazz, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - } else { - clazzList = clazzService.findClazzPage(clazz, new Page(currentPage, pageSize)); - clazzListTotal = clazzService.findClazzPage(clazz, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - } - total = clazzListTotal.size(); - Map ret = new HashMap(); - ret.put("total", total); - ret.put("rows", clazzList); - try { - String from = request.getParameter("from"); - if("combox".equals(from)){ - response.getWriter().write(JSONArray.fromObject(clazzList).toString()); - }else{ - response.getWriter().write(JSONObject.fromObject(ret).toString()); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void deleteClazz(HttpServletRequest request,HttpServletResponse response) { - String[] clazzIdsRes = request.getParameterValues("clazzIds[]"); - List clazzIds = new ArrayList(); - for(String id : clazzIdsRes){ - clazzIds.add(Long.parseLong(id)); - } - String idStr = ""; - for (Long clazzIdParams : clazzIds) { - idStr += clazzIdParams + ","; - } - idStr = idStr.substring(0, idStr.length()-1); - List sv = studentService.findStudentViewsByClazzIds(new StudentView(),idStr, new Page(1,999)); - String res = OperationResult.SUCCESS.getResult(); - if (null != sv && sv.size() > 0) { - res = "isHaveStudent"; - } else { - clazzService.removeClazz(clazzIds); - } - try { - response.getWriter().write(res); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void addClazz(HttpServletRequest request,HttpServletResponse response) { - Long userId = Long.parseLong(request.getParameter("userId")); - String clazzName = request.getParameter("clazzName"); - String clazzCode = request.getParameter("clazzCode"); - String clazzs = request.getParameter("clazzs"); - String clazzAds = request.getParameter("clazzAds"); - Clazz clazz = new Clazz(); - clazz.setUserId(userId); - clazz.setClazzName(clazzName); - clazz.setClazzCode(clazzCode); - clazz.setClazzs(clazzs); - clazz.setClazzAds(clazzAds); - User loginUser = (User)request.getSession().getAttribute("user"); - clazz.setCreateBy(loginUser.getName()); - clazz.setCreateTime(LocalDateTime.now()); - clazzService.insertClazz(clazz); - try { - response.getWriter().write(OperationResult.SUCCESS.getResult()); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void editClazz(HttpServletRequest request,HttpServletResponse response) { - User loginUser = (User)request.getSession().getAttribute("user"); - Long id = Long.parseLong(request.getParameter("id")); - Long userId = Long.parseLong(request.getParameter("userId")); - String clazzName = request.getParameter("clazzName"); - String clazzCode = request.getParameter("clazzCode"); - String clazzs = request.getParameter("clazzs"); - String clazzAds = request.getParameter("clazzAds"); - Clazz clazz = new Clazz(); - clazz.setId(id); - clazz.setUserId(userId); - clazz.setClazzName(clazzName); - clazz.setClazzCode(clazzCode); - clazz.setClazzs(clazzs); - clazz.setClazzAds(clazzAds); - clazz.setUpdateBy(loginUser.getName()); - clazz.setUpdateTime(LocalDateTime.now()); - clazzService.updateClazz(clazz); - try { - response.getWriter().write(OperationResult.SUCCESS.getResult()); - } catch (IOException e) { - e.printStackTrace(); - } - } - -} diff --git a/SMMS/src/com/chinasofti/servlet/CreditRecordsServlet.java b/SMMS/src/com/chinasofti/servlet/CreditRecordsServlet.java deleted file mode 100644 index e735062..0000000 --- a/SMMS/src/com/chinasofti/servlet/CreditRecordsServlet.java +++ /dev/null @@ -1,240 +0,0 @@ -package com.chinasofti.servlet; - -import java.io.IOException; -import java.net.URLEncoder; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.ServletOutputStream; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.poi.hssf.usermodel.HSSFRow; -import org.apache.poi.hssf.usermodel.HSSFSheet; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.enums.CreditType; -import com.chinasofti.enums.MathType; -import com.chinasofti.enums.OperationResult; -import com.chinasofti.enums.PageScope; -import com.chinasofti.enums.RoleCode; -import com.chinasofti.model.CreditRecords; -import com.chinasofti.model.Student; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.service.CreditRecordsService; -import com.chinasofti.service.StudentService; -import com.chinasofti.service.impl.CreditRecordsServiceImpl; -import com.chinasofti.service.impl.StudentServiceImpl; -import com.chinasofti.utils.IsNumber; - -import net.sf.json.JSONObject; - - -@WebServlet("/CreditRecordsServlet") -public class CreditRecordsServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - private CreditRecordsService creditRecordsService = new CreditRecordsServiceImpl(); - private StudentService studentService = new StudentServiceImpl(); - - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - doPost(request, response); - } - - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String method = request.getParameter("method"); - if("toCreditRecordsServletListView".equals(method)){ - recordsServletList(request, response); - } else if("CreditRecordsList".equals(method)){ - getCreditRecordsList(request,response); - } else if("AddCreditRecords".equals(method)){ - addCreditRecords(request,response); - } else if("ExportCreditRecordsList".equals(method)){ - exportCreditRecords(request,response); - } - } - - private void recordsServletList(HttpServletRequest request,HttpServletResponse response) { - try { - request.getRequestDispatcher("view/creditRecordsList.jsp").forward(request, response); - } catch (ServletException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void getCreditRecordsList(HttpServletRequest request,HttpServletResponse response) { - Integer currentPage = request.getParameter("page") == null ? PageScope.CURRENT_PAGE.getNum() : Integer.parseInt(request.getParameter("page")); - Integer pageSize = request.getParameter("rows") == null ? PageScope.PAGE_SIZE.getNum() : Integer.parseInt(request.getParameter("rows")); - - String studentName = request.getParameter("studentName"); - long number = StringUtils.isEmpty(request.getParameter("number")) ? 0 : Long.parseLong(request.getParameter("number").toString()); - String clazzName = request.getParameter("clazzName"); - String creditType = request.getParameter("creditType"); - String startTime = request.getParameter("startTime"); - String endTime = request.getParameter("endTime"); - - //获取当前登录用户类型 - String roleCode = request.getSession().getAttribute("roleCode").toString(); - - CreditRecords params = new CreditRecords(); - params.setStudentName(studentName); - params.setNumber(number); - params.setClazzName(clazzName); - params.setCreditType(creditType); - String clazzIds = ""; - - List creditRecords = new ArrayList(); - List creditRecordsTotal = new ArrayList(); - int total; - if(RoleCode.TEACHER.getCode().equals(roleCode)){ - clazzIds = request.getSession().getAttribute("clazzIdStr").toString(); - } - creditRecords = creditRecordsService.findCreditRecordsPages(startTime,endTime,params, clazzIds, new Page(currentPage, pageSize)); - creditRecordsTotal = creditRecordsService.findCreditRecordsPages(startTime,endTime,params, clazzIds, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - total = creditRecordsTotal.size(); - - Map ret = new HashMap(); - ret.put("total", total); - ret.put("rows", creditRecords); - try { - response.getWriter().write(JSONObject.fromObject(ret).toString()); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void addCreditRecords(HttpServletRequest request,HttpServletResponse response) { - String res = OperationResult.SUCCESS.getResult(); - if (IsNumber.isNumber(request.getParameter("studentId").toString())) { - Long studentId = Long.parseLong(request.getParameter("studentId")); - String creditType = request.getParameter("creditType"); - String mathType = request.getParameter("mathType"); - Integer credit = Integer.parseInt(request.getParameter("credit")); - if (MathType.MINUS_SIGN.getSign().equals(mathType)) { - credit *= -1; - } - String remark = request.getParameter("remark"); - - User loginUser = (User)request.getSession().getAttribute("user"); - String loginUserName = loginUser.getName(); - - LocalDateTime now = LocalDateTime.now(); - - CreditRecords creditRecords = new CreditRecords(); - creditRecords.setCredit(credit); - creditRecords.setCreditType(creditType); - creditRecords.setRemark(remark); - creditRecords.setUserName(loginUserName); - creditRecords.setCreateBy(loginUserName); - creditRecords.setCreateTime(now); - - //新增学分变动记录 - creditRecordsService.insertCreditRecords(studentId, creditRecords); - - if (CreditType.THIS_WEEK.getType().equals(creditType)) { - Student student = new Student(); - student.setId(studentId); - student.setUpdateBy(loginUserName); - student.setUpdateTime(now); - //修改学生本周学分 - studentService.updateStudentScoreNow(credit, student); - } - } else { - res = "error"; - } - - try { - response.getWriter().write(res); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void exportCreditRecords(HttpServletRequest request,HttpServletResponse response) { - Integer currentPage = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page")); - Integer pageSize = request.getParameter("rows") == null ? 99999 : Integer.parseInt(request.getParameter("rows")); - - String studentName = request.getParameter("studentName"); - long number = StringUtils.isEmpty(request.getParameter("number")) ? 0 : Long.parseLong(request.getParameter("number").toString()); - String clazzName = request.getParameter("clazzName"); - String creditType = request.getParameter("creditType"); - String startTime = request.getParameter("startTime"); - String endTime = request.getParameter("endTime"); - - //获取当前登录用户类型 - String roleCode = request.getSession().getAttribute("roleCode").toString(); - - CreditRecords params = new CreditRecords(); - params.setStudentName(studentName); - params.setNumber(number); - params.setClazzName(clazzName); - params.setCreditType(creditType); - String clazzIds = ""; - - List creditRecords = new ArrayList(); - if(RoleCode.TEACHER.getCode().equals(roleCode)){ - clazzIds = request.getSession().getAttribute("clazzIdStr").toString(); - } - creditRecords = creditRecordsService.findCreditRecordsPages(startTime,endTime,params, clazzIds, new Page(currentPage, pageSize)); - try { - response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode("学分变动记录.xls", "UTF-8")); - response.setHeader("Connection", "close"); - response.setHeader("Content-Type", "application/octet-stream"); - ServletOutputStream outputStream = response.getOutputStream(); - HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); - HSSFSheet createSheet = hssfWorkbook.createSheet("学分变动列表"); - HSSFRow createRow = createSheet.createRow(0); - createRow.createCell(0).setCellValue("学号"); - createRow.createCell(1).setCellValue("学生"); - createRow.createCell(2).setCellValue("班级"); - createRow.createCell(3).setCellValue("变动分数"); - createRow.createCell(4).setCellValue("变动范围"); - createRow.createCell(5).setCellValue("操作人"); - createRow.createCell(6).setCellValue("操作时间"); - createRow.createCell(7).setCellValue("变动原因"); - //实现将数据装入到excel文件中 - int row = 1; - for(CreditRecords records:creditRecords){ - createRow = createSheet.createRow(row++); - createRow.createCell(0).setCellValue(records.getNumber()+""); - createRow.createCell(1).setCellValue(records.getStudentName()); - createRow.createCell(2).setCellValue(records.getClazzName()); - int credit = records.getCredit(); - if (credit > 0) { - createRow.createCell(3).setCellValue("+" + credit); - } else { - createRow.createCell(3).setCellValue("" + credit); - } - String type = records.getCreditType(); - if (CreditType.THIS_WEEK.getType().equals(type)) { - createRow.createCell(4).setCellValue(CreditType.THIS_WEEK.getInfo()); - } else { - createRow.createCell(4).setCellValue(CreditType.THIS_DISCIPLINE.getInfo()); - } - createRow.createCell(5).setCellValue(records.getUserName()); - createRow.createCell(6).setCellValue(records.getCreateTime().toString()); - createRow.createCell(7).setCellValue(records.getRemark()); - } - createSheet.setColumnWidth(0,20*256); - createSheet.setColumnWidth(2,20*256); - createSheet.setColumnWidth(6,10*256); - createSheet.setColumnWidth(7,200*256); - hssfWorkbook.write(outputStream); - outputStream.flush(); - outputStream.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/SMMS/src/com/chinasofti/servlet/LeaveServlet.java b/SMMS/src/com/chinasofti/servlet/LeaveServlet.java deleted file mode 100644 index fe0b1fb..0000000 --- a/SMMS/src/com/chinasofti/servlet/LeaveServlet.java +++ /dev/null @@ -1,327 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.servlet - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:21:53 - */ -package com.chinasofti.servlet; - -import java.io.IOException; -import java.net.URLEncoder; -import java.time.LocalDateTime; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.ServletOutputStream; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.poi.hssf.usermodel.HSSFRow; -import org.apache.poi.hssf.usermodel.HSSFSheet; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; - -import com.chinasofti.enums.CreditType; -import com.chinasofti.enums.DeductCredit; -import com.chinasofti.enums.LeaveStatus; -import com.chinasofti.enums.OperationResult; -import com.chinasofti.enums.PageScope; -import com.chinasofti.enums.RoleCode; -import com.chinasofti.model.CreditRecords; -import com.chinasofti.model.Leave; -import com.chinasofti.model.User; -import com.chinasofti.model.view.LeaveView; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.StudentView; -import com.chinasofti.model.view.TeacherView; -import com.chinasofti.service.CreditRecordsService; -import com.chinasofti.service.LeaveService; -import com.chinasofti.service.StudentService; -import com.chinasofti.service.TeacherService; -import com.chinasofti.service.impl.CreditRecordsServiceImpl; -import com.chinasofti.service.impl.LeaveServiceImpl; -import com.chinasofti.service.impl.StudentServiceImpl; -import com.chinasofti.service.impl.TeacherServiceImpl; -import com.chinasofti.utils.IsNumber; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LeaveServlet.java -* @Description: 请假接口 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午9:09:40 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 - */ -@WebServlet("/LeaveServlet") -public class LeaveServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - private LeaveService leaveService = new LeaveServiceImpl(); - private StudentService studentService = new StudentServiceImpl(); - private TeacherService teacherService = new TeacherServiceImpl(); - private CreditRecordsService creditRecordsService = new CreditRecordsServiceImpl(); - - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - doPost(request, response); - } - - - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String method = request.getParameter("method"); - if("toLeaveServletListView".equals(method)){ - leaveList(request, response); - } else if("LeaveList".equals(method)){ - getLeaveList(request,response); - } else if("AddLeave".equals(method)){ - addLeave(request,response); - } else if("CheckLeave".equals(method)){ - checkLeave(request,response); - } else if("ExportLeaveList".equals(method)){ - exportLeave(request,response); - } else if("ApproveTeacher".equals(method)){ - approveTeacher(request,response); - } - } - - private void leaveList(HttpServletRequest request,HttpServletResponse response) { - try { - request.getRequestDispatcher("view/leaveList.jsp").forward(request, response); - } catch (ServletException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void getLeaveList(HttpServletRequest request,HttpServletResponse response) { - Integer currentPage = request.getParameter("page") == null ? PageScope.CURRENT_PAGE.getNum() : Integer.parseInt(request.getParameter("page")); - Integer pageSize = request.getParameter("rows") == null ? PageScope.PAGE_SIZE.getNum() : Integer.parseInt(request.getParameter("rows")); - - long studentId = request.getParameter("studentId") == null || !IsNumber.isNumber(request.getParameter("studentId").toString()) ? 0 : Long.parseLong(request.getParameter("studentId").toString()); - long teacherId = request.getParameter("teacherId") == null ? 0 : Long.parseLong(request.getParameter("teacherId").toString()); - String status = request.getParameter("status"); - - //获取当前登录用户类型 - String roleCode = request.getSession().getAttribute("roleCode").toString(); - - Leave leave = new Leave(); - leave.setStudentId(studentId); - leave.setTeacherId(teacherId); - leave.setStatus(status); - - List leaves = null; - List leavesTotal = null; - int total = 0; - if(RoleCode.STUDENT.getCode().equals(roleCode)){ - User loginUser = (User)request.getSession().getAttribute("user"); - StudentView studentView = new StudentView(); - studentView.setUserId(loginUser.getId()); - leave.setStudentId(studentService.findStudentByUserId(studentView).getStudentId()); - leaves = leaveService.findLeavePages(leave, new Page(currentPage, pageSize)); - leavesTotal = leaveService.findLeavePages(leave, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - } else if(RoleCode.TEACHER.getCode().equals(roleCode)){ - String clazzIdStr = request.getSession().getAttribute("clazzIdStr").toString(); - leaves = leaveService.findLeavePagesByClazzIds(leave, new Page(currentPage, pageSize),clazzIdStr); - leavesTotal = leaveService.findLeavePagesByClazzIds(leave, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum()),clazzIdStr); - } else { - leaves = leaveService.findLeavePages(leave, new Page(currentPage, pageSize)); - leavesTotal = leaveService.findLeavePages(leave, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - } - if (null != leavesTotal && leavesTotal.size() > 0) { - total = leavesTotal.size(); - } - Map ret = new HashMap(); - ret.put("total", total); - ret.put("rows", leaves); - try { - response.getWriter().write(JSONObject.fromObject(ret).toString()); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void addLeave(HttpServletRequest request,HttpServletResponse response) { - String info = request.getParameter("info"); - - User loginUser = (User)request.getSession().getAttribute("user"); - - Leave leave = new Leave(); - StudentView studentView = new StudentView(); - studentView.setUserId(loginUser.getId()); - Long studentId = studentService.findStudentByUserId(studentView).getStudentId(); - Long teacherId = teacherService.findTeacherByStudentId(studentId).getId(); - leave.setStudentId(studentId); - leave.setTeacherId(teacherId); - leave.setStatus(LeaveStatus.WAIT.getstatus()); - leave.setInfo(info); - LocalDateTime now = LocalDateTime.now(); - leave.setApplyTime(now); - leave.setCreateBy(loginUser.getName()); - leave.setCreateTime(now); - - leaveService.insertLeave(leave); - - try { - response.getWriter().write(OperationResult.SUCCESS.getResult()); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void checkLeave(HttpServletRequest request,HttpServletResponse response) { - Long id = Long.parseLong(request.getParameter("id")); - String status = request.getParameter("status"); - String remark = request.getParameter("remark"); - long studentId = Long.parseLong(request.getParameter("studentId").toString()); - - User loginUser = (User)request.getSession().getAttribute("user"); - - Leave leave = new Leave(); - leave.setRemark(remark); - leave.setStatus(status); - leave.setId(id); - LocalDateTime now = LocalDateTime.now(); - leave.setApproveTime(now); - leave.setUpdateBy(loginUser.getName()); - leave.setCreateTime(now); - - leaveService.updateLeave(leave); - - if (LeaveStatus.PASS.getstatus().equals(status)) { - String creditType = CreditType.THIS_DISCIPLINE.getType(); - Integer credit = DeductCredit.LEAVE.getCredit(); - String creditRemark = DeductCredit.LEAVE.getInfo(); - - CreditRecords creditRecords = new CreditRecords(); - creditRecords.setCredit(credit); - creditRecords.setCreditType(creditType); - creditRecords.setRemark(creditRemark); - creditRecords.setUserName(loginUser.getName()); - creditRecords.setCreateBy(loginUser.getName()); - creditRecords.setCreateTime(now); - - creditRecordsService.insertCreditRecords(studentId, creditRecords); - } - - try { - response.getWriter().write(OperationResult.SUCCESS.getResult()); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void exportLeave(HttpServletRequest request,HttpServletResponse response) { - - long studentId = request.getParameter("studentId") == null ? 0 : Long.parseLong(request.getParameter("studentId").toString()); - long teacherId = request.getParameter("teacherId") == null ? 0 : Long.parseLong(request.getParameter("teacherId").toString()); - String status = request.getParameter("status"); - - //获取当前登录用户类型 - String roleCode = request.getSession().getAttribute("roleCode").toString(); - - Leave leave = new Leave(); - leave.setStudentId(studentId); - leave.setTeacherId(teacherId); - leave.setStatus(status); - - List leaves = null; - if(RoleCode.STUDENT.getCode().equals(roleCode)){ - User loginUser = (User)request.getSession().getAttribute("user"); - StudentView studentView = new StudentView(); - studentView.setUserId(loginUser.getId()); - leave.setStudentId(studentService.findStudentByUserId(studentView).getStudentId()); - leaves = leaveService.findLeaveViews(leave); - } else if(RoleCode.TEACHER.getCode().equals(roleCode)){ - String clazzIdStr = request.getSession().getAttribute("clazzIdStr").toString(); - leaves = leaveService.findLeaveViewsByClazzIds(leave,clazzIdStr); - } else { - leaves = leaveService.findLeaveViews(leave); - } - try { - response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode("请假记录.xls", "UTF-8")); - response.setHeader("Connection", "close"); - response.setHeader("Content-Type", "application/octet-stream"); - ServletOutputStream outputStream = response.getOutputStream(); - HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); - HSSFSheet createSheet = hssfWorkbook.createSheet("成绩列表"); - HSSFRow createRow = createSheet.createRow(0); - createRow.createCell(0).setCellValue("学生"); - createRow.createCell(1).setCellValue("审批教师"); - createRow.createCell(2).setCellValue("申请信息"); - createRow.createCell(3).setCellValue("审批状态"); - createRow.createCell(4).setCellValue("审批回复"); - createRow.createCell(5).setCellValue("申请时间"); - createRow.createCell(6).setCellValue("审批时间"); - //实现将数据装入到excel文件中 - int row = 1; - for(LeaveView leaveView:leaves){ - createRow = createSheet.createRow(row++); - createRow.createCell(0).setCellValue(leaveView.getStudentName()); - createRow.createCell(1).setCellValue(leaveView.getTeacherName()); - createRow.createCell(2).setCellValue(leaveView.getInfo()); - createRow.createCell(3).setCellValue(leaveView.getStatus()); - createRow.createCell(4).setCellValue(leaveView.getRemark()); - createRow.createCell(5).setCellValue(leaveView.getApplyTime().toString()); - String approveTime; - if (null == leaveView.getApproveTime()) { - approveTime = ""; - } else { - approveTime = leaveView.getApproveTime().toString(); - } - createRow.createCell(6).setCellValue(approveTime); - } - createSheet.setColumnWidth(0,10*256); - createSheet.setColumnWidth(1,10*256); - createSheet.setColumnWidth(2,50*256); - createSheet.setColumnWidth(4,50*256); - createSheet.setColumnWidth(5,20*256); - createSheet.setColumnWidth(6,20*256); - hssfWorkbook.write(outputStream); - outputStream.flush(); - outputStream.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private void approveTeacher(HttpServletRequest request,HttpServletResponse response) { - //获取当前登录用户的角色 - String roleCode = request.getSession().getAttribute("roleCode").toString(); - Long teacherId = null; - if (RoleCode.TEACHER.getCode().equals(roleCode)) { - //如果是老师,只能查看自己班级责任人的信息 - teacherId = Long.parseLong(request.getSession().getAttribute("teacherId").toString()); - } - if(RoleCode.STUDENT.getCode().equals(roleCode)){ - //如果是学生,只能查看自己班级责任人的信息 - User loginUser = (User)request.getSession().getAttribute("user"); - StudentView studentView = new StudentView(); - studentView.setUserId(loginUser.getId()); - studentView = studentService.findStudentByUserId(studentView); - teacherId = teacherService.findTeacherByStudentId(studentView.getStudentId()).getId(); - } - List teacherViews = leaveService.findApproveTeacherViews(teacherId); - try { - response.getWriter().write(JSONArray.fromObject(teacherViews).toString()); - } catch (IOException e) { - e.printStackTrace(); - } - } - -} diff --git a/SMMS/src/com/chinasofti/servlet/LoginServlet.java b/SMMS/src/com/chinasofti/servlet/LoginServlet.java deleted file mode 100644 index 3342a0b..0000000 --- a/SMMS/src/com/chinasofti/servlet/LoginServlet.java +++ /dev/null @@ -1,166 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.servlet - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:21:53 - */ -package com.chinasofti.servlet; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import com.chinasofti.enums.IsCounselor; -import com.chinasofti.enums.RoleId; -import com.chinasofti.model.Clazz; -import com.chinasofti.model.Role; -import com.chinasofti.model.Teacher; -import com.chinasofti.model.User; -import com.chinasofti.service.ClazzService; -import com.chinasofti.service.LoginService; -import com.chinasofti.service.RoleService; -import com.chinasofti.service.TeacherService; -import com.chinasofti.service.impl.ClazzServiceImpl; -import com.chinasofti.service.impl.LoginServiceImpl; -import com.chinasofti.service.impl.RoleServiceImpl; -import com.chinasofti.service.impl.TeacherServiceImpl; -import com.chinasofti.utils.SM3PasswordEncoder; - -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: LoginServlet.java -* @Description: 登录校验 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午9:09:40 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 - */ -@WebServlet("/LoginServlet") -public class LoginServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private LoginService loginService = new LoginServiceImpl(); - private RoleService roleService = new RoleServiceImpl(); - private ClazzService clazzService = new ClazzServiceImpl(); - private TeacherService teacherService = new TeacherServiceImpl(); - - public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException{ - doPost(request, response); - } - - - /** - * - * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) - * @Function: doPost - * @Description: 登录校验,跳转页面 - * - * @param: request - * @param: response - * @return: void - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:12:20 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年3月27日 李洪涛 v1.0.0 新建方法 - */ - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - String method = request.getParameter("method"); - if("logout".equals(method)){ - logout(request, response); - return; - } - - String username = request.getParameter("username"); - String password = request.getParameter("password"); - - User user = new User(); - user.setUserName(username); - - User res = loginService.loginCheck(user); - - String loginStatus = "loginSuccess"; - if (null != res && SM3PasswordEncoder.matches(password, res.getPassWord())) { - HttpSession session=request.getSession(); - Role role = roleService.findRoleById(res.getRoleId()); - session.setAttribute("user", res); - session.setAttribute("roleCode", role.getRoleCode()); - if (RoleId.TEACHER.getId() == role.getId()) { - long userId = res.getId(); - Teacher teacher = new Teacher(); - teacher.setUserId(userId); - teacher = teacherService.findTeacher(teacher); - List clazzs = new ArrayList(); - long teacherId = teacher.getId(); - clazzs.addAll(clazzService.findClazzsByTeacherId(teacherId)); - if (IsCounselor.YES.getIs().equals(teacher.getIsCounselor())) { - session.setAttribute("isCounselor", IsCounselor.YES.getIs()); - clazzs.addAll(clazzService.findClazzsByUserIds(userId+"")); - } else { - session.setAttribute("isCounselor", IsCounselor.NO.getIs()); - } - String clazzIdStr = ""; - if (clazzs.size() > 0) { - for (Clazz clazz : clazzs) { - clazzIdStr += clazz.getId() + ","; - } - clazzIdStr = clazzIdStr.substring(0, clazzIdStr.length()-1); - } - session.setAttribute("clazzIdStr", clazzIdStr); - session.setAttribute("teacherId", teacherId); - } - } else { - loginStatus = "loginError"; - } - response.getWriter().write(loginStatus); - } - - /** - * - * @Function: logout - * @Description: 退出登录 - * - * @param: request - * @param: response - * @return: void - * @throws:无 - * - * @version: v1.0.0 - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:12:20 - * - * Modification History: - * Date Author Version Description - *---------------------------------------------------------* - * 2025年3月27日 李洪涛 v1.0.0 新建方法 - */ - private void logout(HttpServletRequest request,HttpServletResponse response) throws IOException{ - request.getSession().removeAttribute("user"); - request.getSession().removeAttribute("userType"); - response.sendRedirect("index.jsp"); - } - -} diff --git a/SMMS/src/com/chinasofti/servlet/StudentServlet.java b/SMMS/src/com/chinasofti/servlet/StudentServlet.java deleted file mode 100644 index dadca34..0000000 --- a/SMMS/src/com/chinasofti/servlet/StudentServlet.java +++ /dev/null @@ -1,497 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.servlet - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:21:53 - */ -package com.chinasofti.servlet; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.commons.fileupload.FileUploadException; -import org.apache.poi.hssf.usermodel.HSSFCell; -import org.apache.poi.hssf.usermodel.HSSFRow; -import org.apache.poi.hssf.usermodel.HSSFSheet; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; - -import com.alibaba.druid.util.StringUtils; -import com.chinasofti.enums.FileName; -import com.chinasofti.enums.OperationResult; -import com.chinasofti.enums.PageScope; -import com.chinasofti.enums.PassWord; -import com.chinasofti.enums.RoleCode; -import com.chinasofti.enums.RoleId; -import com.chinasofti.enums.ScoreNow; -import com.chinasofti.enums.Sex; -import com.chinasofti.model.Clazz; -import com.chinasofti.model.Student; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.StudentView; -import com.chinasofti.service.ClazzService; -import com.chinasofti.service.StudentService; -import com.chinasofti.service.impl.ClazzServiceImpl; -import com.chinasofti.service.impl.StudentServiceImpl; -import com.chinasofti.utils.ChineseToPinyin; -import com.chinasofti.utils.IsDate; -import com.chinasofti.utils.IsPhoneNumber; -import com.chinasofti.utils.SM3PasswordEncoder; -import com.lizhou.exception.FileFormatException; -import com.lizhou.exception.NullFileException; -import com.lizhou.exception.ProtocolException; -import com.lizhou.exception.SizeException; -import com.lizhou.fileload.FileUpload; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: StudentServlet.java -* @Description: 学生接口 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午9:09:40 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 - */ -@WebServlet("/StudentServlet") -public class StudentServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private StudentService studentService = new StudentServiceImpl(); - private ClazzService clazzService = new ClazzServiceImpl(); - - public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException{ - doPost(request, response); - } - - public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{ - String method = request.getParameter("method"); - if("toStudentListView".equals(method)){ - studentList(request,response); - }else if("AddStudent".equals(method)){ - addStudent(request,response); - }else if("StudentList".equals(method)){ - getStudentList(request,response); - }else if("EditStudent".equals(method)){ - editStudent(request,response); - }else if("DeleteStudent".equals(method)){ - deleteStudent(request,response); - }else if("ImportStudent".equals(method)){ - importStudent(request,response); - }else if("DownLoad".equals(method)){ - downLoad(request,response); - } - } - - private void deleteStudent(HttpServletRequest request,HttpServletResponse response) { - String[] studentIdsRes = request.getParameterValues("studentIds[]"); - String[] userIdsRes = request.getParameterValues("userIds[]"); - - String studentIdsStr = ""; - for (String studentId : studentIdsRes) { - studentIdsStr += studentId + ","; - } - studentIdsStr = studentIdsStr.substring(0, studentIdsStr.length()-1); - - String userIdsStr = ""; - for (String userId : userIdsRes) { - userIdsStr += userId + ","; - } - userIdsStr = userIdsStr.substring(0, userIdsStr.length()-1); - - try { - response.getWriter().write(studentService.removeStudents(studentIdsStr, userIdsStr)); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void editStudent(HttpServletRequest request,HttpServletResponse response) { - - long userId = Long.parseLong(request.getParameter("userId")); - String name = request.getParameter("name"); - String sex = request.getParameter("sex"); - String userName = request.getParameter("userName"); - String phone = request.getParameter("phone"); - - long studentId = Long.parseLong(request.getParameter("studentId")); - long number = Long.parseLong(request.getParameter("number")); - String honor = request.getParameter("honor"); - long clazzId = Long.parseLong(request.getParameter("clazzId")); - - User loginUser = (User) request.getSession().getAttribute("user"); - - LocalDateTime now = LocalDateTime.now(); - String updateBy = loginUser.getUserName(); - - User user = new User(); - user.setId(userId); - user.setName(name); - user.setSex(sex); - user.setUserName(userName); - user.setPhone(phone); - user.setUpdateBy(updateBy); - user.setUpdateTime(now); - - Student student = new Student(); - student.setId(studentId); - student.setNumber(number); - student.setHonor(honor); - student.setClazzId(clazzId); - if (!StringUtils.isEmpty(request.getParameter("scoreNow"))) { - int scoreNow = Integer.parseInt(request.getParameter("scoreNow")); - student.setScoreNow(scoreNow); - } - student.setUpdateBy(updateBy); - student.setUpdateTime(now); - - try { - response.getWriter().write(studentService.updateStudent(student,user)); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void getStudentList(HttpServletRequest request,HttpServletResponse response) { - Integer currentPage = request.getParameter("page") == null ? PageScope.CURRENT_PAGE.getNum() : Integer.parseInt(request.getParameter("page")); - Integer pageSize = request.getParameter("rows") == null ? PageScope.PAGE_SIZE.getNum() : Integer.parseInt(request.getParameter("rows")); - //获取当前登录用户类型 - String roleCode = request.getSession().getAttribute("roleCode").toString(); - User loginUser = (User)request.getSession().getAttribute("user"); - String name = request.getParameter("studentName"); - Long clazzId = request.getParameter("clazzId") == null ? 0 : Long.parseLong(request.getParameter("clazzId")); - StudentView studentView = new StudentView(); - studentView.setName(name); - studentView.setClazzId(clazzId); - - List studentViews = null; - List studentViewsTotal = null; - int total; - if(RoleCode.STUDENT.getCode().equals(roleCode)){ - //如果是学生,只能查看自己的信息 - studentView.setUserId(loginUser.getId()); - studentViews = new ArrayList(); - studentViews.add(studentService.findStudentByUserId(studentView)); - total = 1; - } else if(RoleCode.TEACHER.getCode().equals(roleCode)){ - //如果是老师,只能查看关联或负责的班级内的学生信息 - String clazzIdStr = request.getSession().getAttribute("clazzIdStr").toString(); - studentViews = studentService.findStudentViewsByClazzIds(studentView, clazzIdStr, new Page(currentPage, pageSize)); - studentViewsTotal = studentService.findStudentViewsByClazzIds(studentView, clazzIdStr, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - total = studentViewsTotal.size(); - } else { - studentViews = studentService.findStudentViews(studentView, new Page(currentPage, pageSize)); - studentViewsTotal = studentService.findStudentViews(studentView, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - total = studentViewsTotal.size(); - } - Map res = new HashMap(); - res.put("total", total); - res.put("rows", studentViews); - try { - String from = request.getParameter("from"); - if("combox".equals(from)){ - response.getWriter().write(JSONArray.fromObject(studentViews).toString()); - }else{ - response.getWriter().write(JSONObject.fromObject(res).toString()); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void addStudent(HttpServletRequest request,HttpServletResponse response) { - String name = request.getParameter("name"); - String sex = request.getParameter("sex"); - String userName = request.getParameter("userName"); - String phone = request.getParameter("phone"); - - long clazzId = Long.parseLong(request.getParameter("clazzId")); - long number = Long.parseLong(request.getParameter("number")); - Date birthday = null; - if (!StringUtils.isEmpty(request.getParameter("birthday"))) { - try { - birthday = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("birthday")); - } catch (ParseException e1) { - e1.printStackTrace(); - } - } - String major = request.getParameter("major"); - String honor = request.getParameter("honor"); - int scoreNow = Integer.parseInt(request.getParameter("scoreNow")); - - User loginUser = (User) request.getSession().getAttribute("user"); - - LocalDateTime now = LocalDateTime.now(); - String createBy = loginUser.getUserName(); - - User user = new User(); - user.setRoleId(RoleId.STUDENT.getId()); - user.setName(name); - user.setSex(sex); - user.setUserName(userName); - user.setPhone(phone); - user.setPassWord(SM3PasswordEncoder.encode(PassWord.STUDENT.getPassWord())); - user.setCreateBy(createBy); - user.setCreateTime(now); - - Student student = new Student(); - student.setClazzId(clazzId); - student.setNumber(number); - student.setBirthday(birthday); - student.setMajor(major); - student.setHonor(honor); - student.setScoreNow(scoreNow); - student.setCreateBy(createBy); - student.setCreateTime(now); - - try { - response.getWriter().write(studentService.insertStudent(student,user)); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void studentList(HttpServletRequest request,HttpServletResponse response) throws IOException { - try { - request.getRequestDispatcher("view/studentList.jsp").forward(request, response); - } catch (ServletException e) { - e.printStackTrace(); - } - } - - private void importStudent(HttpServletRequest request,HttpServletResponse response) { - FileUpload fileUpload = new FileUpload(request); - fileUpload.setFileFormat("xls"); - fileUpload.setFileFormat("xlsx"); - fileUpload.setFileSize(2048); - response.setCharacterEncoding("UTF-8"); - User loginUser = (User) request.getSession().getAttribute("user"); - try { - InputStream uploadInputStream = fileUpload.getUploadInputStream(); - HSSFWorkbook hssfWorkbook = new HSSFWorkbook(uploadInputStream); - HSSFSheet sheetAt = hssfWorkbook.getSheetAt(0); - int count = 0; - String errorMsg = ""; - for(int rowNum = 1; rowNum <= sheetAt.getLastRowNum(); rowNum++){ - HSSFRow row = sheetAt.getRow(rowNum); - HSSFCell cell = row.getCell(0); - //获取第0列,学生姓名 - if(cell == null){ - errorMsg += "第" + rowNum + "行学生姓名缺失!\n"; - continue; - } - String name = cell.getStringCellValue(); - String userName = ChineseToPinyin.convertToPinyin(name); - //获取第1列,性别 - cell = row.getCell(1); - if(cell == null){ - errorMsg += "第" + rowNum + "行学生性别缺失!\n"; - continue; - } - String sexInfo = cell.getStringCellValue(); - String sex; - if(sexInfo.equals(Sex.MAN.getInfo())){ - sex = Sex.MAN.getSex(); - } else if(sexInfo.equals(Sex.WOMAN.getInfo())) { - sex = Sex.WOMAN.getSex(); - } else { - errorMsg += "第" + rowNum + "行学生性别错误!\n"; - continue; - } - //获取第2列,联系方式 - cell = row.getCell(2); - if(cell == null){ - errorMsg += "第" + rowNum + "行联系方式缺失!\n"; - continue; - } - String phone = cell.getStringCellValue(); - if(!IsPhoneNumber.isPhoneNumberValid(phone)){ - errorMsg += "第" + rowNum + "行联系方式不合法!\n"; - continue; - } - //获取第3列,学号 - cell = row.getCell(3); - if(cell == null){ - errorMsg += "第" + rowNum + "行学号缺失!\n"; - continue; - } - long number = Long.parseLong(cell.getStringCellValue()); - //获取第4列,班级 - cell = row.getCell(4); - if(cell == null){ - errorMsg += "第" + rowNum + "行班级缺失!\n"; - continue; - } - String clazzName = cell.getStringCellValue(); - Clazz clazz = clazzService.findClazzByClazzName(clazzName); - if(clazz == null){ - errorMsg += "第" + rowNum + "行班级不存在!\n"; - continue; - } - long clazzId = clazz.getId(); - //获取第5列,专业 - cell = row.getCell(5); - if(cell == null){ - errorMsg += "第" + rowNum + "行专业缺失!\n"; - continue; - } - String major = cell.getStringCellValue(); - //获取第6列,个人荣誉 - cell = row.getCell(6); - String honor = cell.getStringCellValue(); - //获取第7列,生日 - cell = row.getCell(7); - Date birthday = null; - String birthdayStr = cell.getStringCellValue(); - if (!StringUtils.isEmpty(birthdayStr) && IsDate.validateDate(birthdayStr)) { - birthday = new SimpleDateFormat("yyyy-MM-dd").parse(birthdayStr); - } - - User user = new User(); - user.setRoleId(RoleId.STUDENT.getId()); - user.setName(name); - user.setSex(sex); - user.setUserName(userName); - user.setPhone(phone); - user.setPassWord(SM3PasswordEncoder.encode(PassWord.STUDENT.getPassWord())); - user.setCreateBy(loginUser.getUserName()); - user.setCreateTime(LocalDateTime.now()); - - Student student = new Student(); - student.setClazzId(clazzId); - student.setNumber(number); - student.setBirthday(birthday); - student.setMajor(major); - student.setHonor(honor); - student.setScoreNow(ScoreNow.SCORE_WEEK.getScore()); - student.setCreateBy(loginUser.getUserName()); - student.setCreateTime(LocalDateTime.now()); - String res = studentService.insertStudent(student,user); - - if(OperationResult.SUCCESS.getResult().equals(res)){ - count++; - } - } - errorMsg += "成功录入" + count + "条成绩信息!"; - try { - response.getWriter().write("
          "+errorMsg+"
          "); - } catch (IOException e1) { - e1.printStackTrace(); - } - - } catch (ProtocolException e) { - try { - response.getWriter().write("
          上传协议错误!
          "); - } catch (IOException e1) { - e1.printStackTrace(); - } - e.printStackTrace(); - }catch (NullFileException e1) { - try { - response.getWriter().write("
          上传的文件为空!
          "); - } catch (IOException e) { - e.printStackTrace(); - } - e1.printStackTrace(); - }catch (SizeException e2) { - try { - response.getWriter().write("
          上传文件大小不能超过"+fileUpload.getFileSize()+"!
          "); - } catch (IOException e) { - e.printStackTrace(); - } - e2.printStackTrace(); - }catch (IOException e3) { - try { - response.getWriter().write("
          读取文件出错!
          "); - } catch (IOException e) { - e.printStackTrace(); - } - e3.printStackTrace(); - }catch (FileFormatException e4) { - try { - response.getWriter().write("
          上传文件格式不正确,请上传 "+fileUpload.getFileFormat()+" 格式的文件!
          "); - } catch (IOException e) { - e.printStackTrace(); - } - e4.printStackTrace(); - }catch (FileUploadException e5) { - try { - response.getWriter().write("
          上传文件失败!
          "); - } catch (IOException e) { - e.printStackTrace(); - } - e5.printStackTrace(); - } catch (ParseException e) { - e.printStackTrace(); - } - } - - //下载模板 - public void downLoad(HttpServletRequest request, HttpServletResponse response) { - String name = FileName.STUDENT_TEMPLATE_NAME.getName(); - String path = FileName.STUDENT_TEMPLATE_PATCH.getName(); - - // 指定要下载的文件路径 - String filePath = path + "\\" + name; - - // 获取文件名 - String fileName = new File(filePath).getName(); - - String encodedFileName = null; - try { - encodedFileName = URLEncoder.encode(fileName, "UTF-8"); - } catch (UnsupportedEncodingException e1) { - e1.printStackTrace(); - } - - // 设置响应头信息 - response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedFileName + "\""); - response.setContentType("application/octet-stream"); - - // 读取文件并将其写入响应输出流 - try (InputStream in = new FileInputStream(filePath); - OutputStream out = response.getOutputStream()) { - byte[] buffer = new byte[4096]; - int bytesRead; - while ((bytesRead = in.read(buffer)) != -1) { - out.write(buffer, 0, bytesRead); - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } -} diff --git a/SMMS/src/com/chinasofti/servlet/SystemServlet.java b/SMMS/src/com/chinasofti/servlet/SystemServlet.java deleted file mode 100644 index 7f02594..0000000 --- a/SMMS/src/com/chinasofti/servlet/SystemServlet.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.servlet - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:21:53 - */ -package com.chinasofti.servlet; - -import java.io.IOException; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.chinasofti.enums.OperationResult; -import com.chinasofti.model.User; -import com.chinasofti.service.UserService; -import com.chinasofti.service.impl.UserServiceImpl; -import com.chinasofti.utils.SM3PasswordEncoder; - -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: SystemServlet.java -* @Description: 系统登录后主界面 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午9:09:40 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 - */ -@WebServlet("/SystemServlet") -public class SystemServlet extends HttpServlet { - - private static final long serialVersionUID = -7258264317769166483L; - - UserService userService = new UserServiceImpl(); - - public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException{ - doPost(request, response); - } - public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{ - String method = request.getParameter("method"); - if("toPersonalView".equals(method)){ - personalView(request,response); - return; - }else if("EditPasswod".equals(method)){ - editPassword(request,response); - return; - } - try { - request.getRequestDispatcher("view/system.jsp").forward(request, response); - } catch (ServletException e) { - e.printStackTrace(); - } - } - private void editPassword(HttpServletRequest request,HttpServletResponse response) { - String password = request.getParameter("password"); - String newPassword = request.getParameter("newpassword"); - User user = (User)request.getSession().getAttribute("user"); - if(!SM3PasswordEncoder.matches(password, user.getPassWord())){ - try { - response.getWriter().write("原密码错误!"); - return; - } catch (IOException e) { - e.printStackTrace(); - } - } - user.setPassWord(SM3PasswordEncoder.encode(newPassword)); - userService.updateUser(user); - try { - response.getWriter().write(OperationResult.SUCCESS.getResult()); - } catch (IOException e) { - e.printStackTrace(); - } - } - private void personalView(HttpServletRequest request,HttpServletResponse response) { - try { - request.getRequestDispatcher("view/personalView.jsp").forward(request, response); - } catch (ServletException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } -} diff --git a/SMMS/src/com/chinasofti/servlet/TeacherServlet.java b/SMMS/src/com/chinasofti/servlet/TeacherServlet.java deleted file mode 100644 index 59deb97..0000000 --- a/SMMS/src/com/chinasofti/servlet/TeacherServlet.java +++ /dev/null @@ -1,281 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.servlet - * @author: 李洪涛 - * @date: 2025年3月27日 上午9:21:53 - */ -package com.chinasofti.servlet; - -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.chinasofti.enums.OperationResult; -import com.chinasofti.enums.PageScope; -import com.chinasofti.enums.PassWord; -import com.chinasofti.enums.RoleCode; -import com.chinasofti.enums.RoleId; -import com.chinasofti.model.Clazz; -import com.chinasofti.model.Leave; -import com.chinasofti.model.Teacher; -import com.chinasofti.model.TeacherClazz; -import com.chinasofti.model.User; -import com.chinasofti.model.view.Page; -import com.chinasofti.model.view.TeacherView; -import com.chinasofti.service.ClazzService; -import com.chinasofti.service.LeaveService; -import com.chinasofti.service.TeacherService; -import com.chinasofti.service.UserService; -import com.chinasofti.service.impl.ClazzServiceImpl; -import com.chinasofti.service.impl.LeaveServiceImpl; -import com.chinasofti.service.impl.TeacherServiceImpl; -import com.chinasofti.service.impl.UserServiceImpl; -import com.chinasofti.utils.SM3PasswordEncoder; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - -/** - * -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: TeacherServlet.java -* @Description: 教师接口 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年3月27日 上午9:09:40 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年3月27日 李洪涛 v1.0.0 新建文件 - */ -@WebServlet("/TeacherServlet") -public class TeacherServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - private TeacherService teacherService = new TeacherServiceImpl(); - private UserService userService = new UserServiceImpl(); - private ClazzService clazzService = new ClazzServiceImpl(); - private LeaveService leaveService = new LeaveServiceImpl(); - - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - doPost(request, response); - } - - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String method = request.getParameter("method"); - if("toTeacherListView".equals(method)){ - teacherList(request,response); - } else if("TeacherList".equals(method)){ - getTeacherList(request,response); - } else if("AddTeacher".equals(method)){ - addTeacher(request,response); - } else if("GetTeacherClazz".equals(method)){ - getTeacherClazz(request,response); - } else if("EditTeacher".equals(method)){ - editTeacher(request,response); - } else if("DeleteTeacher".equals(method)){ - deleteTeacher(request,response); - } - } - - private void teacherList(HttpServletRequest request,HttpServletResponse response) { - try { - request.getRequestDispatcher("view/teacherList.jsp").forward(request, response); - } catch (ServletException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void getTeacherList(HttpServletRequest request,HttpServletResponse response) { - Integer currentPage = request.getParameter("page") == null ? PageScope.CURRENT_PAGE.getNum() : Integer.parseInt(request.getParameter("page")); - Integer pageSize = request.getParameter("rows") == null ? PageScope.PAGE_SIZE.getNum() : Integer.parseInt(request.getParameter("rows")); - String name = request.getParameter("name"); - Long clazzId = request.getParameter("clazzId") == null ? 0 : Long.parseLong(request.getParameter("clazzId")); - //获取当前登录用户的角色 - String roleCode = request.getSession().getAttribute("roleCode").toString(); - TeacherView params = new TeacherView(); - if (RoleCode.TEACHER.getCode().equals(roleCode)) { - //如果是老师,只能查看自己的信息 - User loginUser = (User)request.getSession().getAttribute("user"); - long userId = loginUser.getId(); - params.setUserId(userId); - } else { - params.setName(name); - params.setClazzId(clazzId); - } - List teacherViews = teacherService.findTeacherViews(params, new Page(currentPage, pageSize)); - List teacherViewsTotal = teacherService.findTeacherViews(params, new Page(PageScope.CURRENT_PAGE.getNum(), PageScope.PAGE_SIZE.getNum())); - Map res = new HashMap(); - res.put("total", teacherViewsTotal.size()); - res.put("rows", teacherViews); - try { - String from = request.getParameter("from"); - if("combox".equals(from)){ - response.getWriter().write(JSONArray.fromObject(teacherViews).toString()); - }else{ - response.getWriter().write(JSONObject.fromObject(res).toString()); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void addTeacher(HttpServletRequest request,HttpServletResponse response) { - String name = request.getParameter("name"); - String sex = request.getParameter("sex"); - String userName = request.getParameter("userName"); - String phone = request.getParameter("phone"); - String isCounselor = request.getParameter("isCounselor"); - String [] clazzIds = request.getParameterValues("clazzIds"); - - User loginUser = (User) request.getSession().getAttribute("user"); - - LocalDateTime now = LocalDateTime.now(); - String createBy = loginUser.getUserName(); - - User user = new User(); - user.setRoleId(RoleId.TEACHER.getId()); - user.setName(name); - user.setSex(sex); - user.setUserName(userName); - user.setPhone(phone); - user.setPassWord(SM3PasswordEncoder.encode(PassWord.TEACHER.getPassWord())); - user.setCreateBy(createBy); - user.setCreateTime(now); - - Teacher teacher = new Teacher(); - teacher.setUserId(user.getId()); - teacher.setIsCounselor(isCounselor); - teacher.setCreateBy(createBy); - teacher.setCreateTime(now); - - try { - response.getWriter().write(teacherService.insertTeacher(teacher,user,new TeacherClazz(), clazzIds)); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void getTeacherClazz(HttpServletRequest request,HttpServletResponse response) { - long teacherId = Long.parseLong(request.getParameter("teacherId")); - List clazzList = clazzService.findClazzsByTeacherId(teacherId); - String res = ""; - for (Clazz clazz : clazzList) { - res += clazz.getId() + ","; - } - res = res.substring(0, res.length()-1); - try { - response.getWriter().write(res); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void editTeacher(HttpServletRequest request,HttpServletResponse response) { - long userId = Long.parseLong(request.getParameter("userId")); - String name = request.getParameter("name"); - String sex = request.getParameter("sex"); - String userName = request.getParameter("userName"); - String phone = request.getParameter("phone"); - - long teacherId = Long.parseLong(request.getParameter("teacherId")); - String isCounselor = request.getParameter("isCounselor"); - - String [] clazzIds = request.getParameterValues("clazzIds"); - - User loginUser = (User) request.getSession().getAttribute("user"); - - String updateBy = loginUser.getUserName(); - LocalDateTime now = LocalDateTime.now(); - - User user = new User(); - user.setId(userId); - user.setName(name); - user.setSex(sex); - user.setUserName(userName); - user.setPhone(phone); - user.setUpdateBy(updateBy); - user.setUpdateTime(now); - - Teacher teacher = new Teacher(); - teacher.setId(teacherId); - teacher.setIsCounselor(isCounselor); - teacher.setUpdateBy(updateBy); - teacher.setUpdateTime(now); - - try { - response.getWriter().write(teacherService.updateTeacher(teacher,clazzIds,user)); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void deleteTeacher(HttpServletRequest request,HttpServletResponse response) { - - String[] userIdsRes = request.getParameterValues("userIds[]"); - List userIds = new ArrayList(); - for(String id : userIdsRes){ - userIds.add(Long.parseLong(id)); - } - - String userIdStr = ""; - for (Long userIdParams : userIds) { - userIdStr += userIdParams + ","; - } - userIdStr = userIdStr.substring(0, userIdStr.length()-1); - List clazzs = clazzService.findClazzsByUserIds(userIdStr); - - String res = OperationResult.SUCCESS.getResult(); - if (null != clazzs && clazzs.size() > 0) { - res = "isHaveClazz"; - } else { - String[] teacherIdsRes = request.getParameterValues("teacherIds[]"); - List teacherIds = new ArrayList(); - for(String id : teacherIdsRes){ - teacherIds.add(Long.parseLong(id)); - } - - String teacherIdStr = ""; - for (Long teacherParams : teacherIds) { - teacherIdStr += teacherParams + ","; - } - teacherIdStr = teacherIdStr.substring(0, teacherIdStr.length()-1); - List leaves = leaveService.findLeaveByTeacherIdsAndStatus(teacherIdStr); - - if (null != leaves && leaves.size() > 0) { - res = "isHaveLeave"; - } else { - teacherService.removeTeachers(teacherIds); - userService.removeUsers(userIds); - for (Long teacherId : teacherIds) { - Leave leave = new Leave(); - leave.setTeacherId(teacherId); - leaveService.removeLeave(leave); - } - } - } - - try { - response.getWriter().write(res); - } catch (IOException e) { - e.printStackTrace(); - } - } - -} diff --git a/SMMS/src/com/chinasofti/servlet/UserServlet.java b/SMMS/src/com/chinasofti/servlet/UserServlet.java deleted file mode 100644 index 1af2a10..0000000 --- a/SMMS/src/com/chinasofti/servlet/UserServlet.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.chinasofti.servlet; - -import java.io.IOException; -import java.util.List; - -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.chinasofti.enums.RoleId; -import com.chinasofti.model.User; -import com.chinasofti.service.UserService; -import com.chinasofti.service.impl.UserServiceImpl; - -import net.sf.json.JSONArray; - -@WebServlet("/UserServlet") -public class UserServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private UserService userService = new UserServiceImpl(); - - protected void doGet(HttpServletRequest request, HttpServletResponse response){ - doPost(request, response); - } - - protected void doPost(HttpServletRequest request, HttpServletResponse response){ - String method = request.getParameter("method"); - if("GetUserForClazz".equals(method)){ - getUserForClazz(request,response); - } - } - - private void getUserForClazz(HttpServletRequest request,HttpServletResponse response){ - User user = new User(); - user.setRoleId(RoleId.TEACHER.getId()); - List users = userService.findUsers(user); - try { - response.getWriter().write(JSONArray.fromObject(users).toString()); - } catch (IOException e) { - e.printStackTrace(); - } - } - -} diff --git a/SMMS/src/com/chinasofti/utils/ChineseToPinyin.java b/SMMS/src/com/chinasofti/utils/ChineseToPinyin.java deleted file mode 100644 index 73caf3c..0000000 --- a/SMMS/src/com/chinasofti/utils/ChineseToPinyin.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.utils - * @author: 李洪涛 - * @date: 2025年5月11日 下午6:32:30 - */ -package com.chinasofti.utils; - -import net.sourceforge.pinyin4j.PinyinHelper; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: ChineseToPinyin.java -* @Description: 中文转汉语拼音 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月11日 下午6:32:30 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月11日 李洪涛 v1.0.0 新建文件 -*/ -public class ChineseToPinyin { - - public static String convertToPinyin(String chinese) { - StringBuilder pinyin = new StringBuilder(); - for (char c : chinese.toCharArray()) { - String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c); - if (pinyinArray != null) { - pinyin.append(pinyinArray[0].substring(0, pinyinArray[0].length() - 1)); // 取第一个拼音 - } else { - pinyin.append(c); // 非汉字字符直接追加 - } - } - return pinyin.toString(); - } - -} diff --git a/SMMS/src/com/chinasofti/utils/IsDate.java b/SMMS/src/com/chinasofti/utils/IsDate.java deleted file mode 100644 index 057f52a..0000000 --- a/SMMS/src/com/chinasofti/utils/IsDate.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.utils - * @author: 李洪涛 - * @date: 2025年5月11日 下午7:25:50 - */ -package com.chinasofti.utils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: IsDate.java -* @Description: 是否日期 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月11日 下午7:25:50 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月11日 李洪涛 v1.0.0 新建文件 -*/ -public class IsDate { - - public static boolean validateDate(String dateStr) { - String pattern = "\\d{4}-\\d{2}-\\d{2}"; // 正则表达式,匹配YYYY-MM-DD格式的日期字符串 - return dateStr.matches(pattern); - } - -} diff --git a/SMMS/src/com/chinasofti/utils/IsNumber.java b/SMMS/src/com/chinasofti/utils/IsNumber.java deleted file mode 100644 index 9032056..0000000 --- a/SMMS/src/com/chinasofti/utils/IsNumber.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.utils - * @author: 李洪涛 - * @date: 2025年5月17日 上午10:32:42 - */ -package com.chinasofti.utils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: IsNumber.java -* @Description: 是否是数字 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月17日 上午10:32:42 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月17日 李洪涛 v1.0.0 新建文件 -*/ -public class IsNumber { - - public static boolean isNumber(String str) { - if (str.matches("\\d+")) { - return true; - } - return false; - } - -} diff --git a/SMMS/src/com/chinasofti/utils/IsPhoneNumber.java b/SMMS/src/com/chinasofti/utils/IsPhoneNumber.java deleted file mode 100644 index d7ac3c9..0000000 --- a/SMMS/src/com/chinasofti/utils/IsPhoneNumber.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.utils - * @author: 李洪涛 - * @date: 2025年5月11日 下午6:48:31 - */ -package com.chinasofti.utils; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: IsPhoneNumber.java -* @Description: 校验手机号 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月11日 下午6:48:31 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月11日 李洪涛 v1.0.0 新建文件 -*/ -public class IsPhoneNumber { - - public static boolean isPhoneNumberValid(String phoneNumber) { - String regex = "1[3|4|5|7|8][0-9]{9}"; - return phoneNumber.matches(regex); - } - -} diff --git a/SMMS/src/com/chinasofti/utils/SM3PasswordEncoder.java b/SMMS/src/com/chinasofti/utils/SM3PasswordEncoder.java deleted file mode 100644 index 906271f..0000000 --- a/SMMS/src/com/chinasofti/utils/SM3PasswordEncoder.java +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved. - * - * 功能描述: - * @Package: com.chinasofti.util - * @author: 李洪涛 - * @date: 2025年5月13日 上午11:01:55 - */ -package com.chinasofti.utils; -import java.security.SecureRandom; - -import org.bouncycastle.crypto.digests.SM3Digest; -import org.bouncycastle.util.encoders.Hex; - -/** -* Copyright: Copyright (c) 2025 chiansofti -* -* @ClassName: SM3PasswordEncoder.java -* @Description: 登录密码加解密 -* -* @version: v1.0.0 -* @author: 李洪涛 -* @date: 2025年5月13日 上午11:01:55 -* -* Modification History: -* Date Author Version Description -*---------------------------------------------------------* -* 2025年5月13日 李洪涛 v1.0.0 新建文件 -*/ -public class SM3PasswordEncoder { - - private static final int SALT_LENGTH = 16; // 盐长度16字节 - private static final int ITERATIONS = 10000; // 迭代次数 - - // 生成带盐的加密密码 - public static String encode(String password) { - byte[] salt = generateSalt(); - byte[] hash = calculateHash(password, salt); - return Hex.toHexString(salt) + ":" + Hex.toHexString(hash); - } - - // 验证密码 - public static boolean matches(String password, String encodedPassword) { - String[] parts = encodedPassword.split(":"); - byte[] salt = Hex.decode(parts[0]); - byte[] storedHash = Hex.decode(parts[1]); - byte[] calculatedHash = calculateHash(password, salt); - return slowEquals(storedHash, calculatedHash); - } - - // 生成随机盐 - private static byte[] generateSalt() { - byte[] salt = new byte[SALT_LENGTH]; - new SecureRandom().nextBytes(salt); - return salt; - } - - // 计算哈希(SM3+盐+迭代) - private static byte[] calculateHash(String password, byte[] salt) { - SM3Digest digest = new SM3Digest(); - byte[] pwdBytes = password.getBytes(); - byte[] combined = new byte[pwdBytes.length + salt.length]; - - System.arraycopy(pwdBytes, 0, combined, 0, pwdBytes.length); - System.arraycopy(salt, 0, combined, pwdBytes.length, salt.length); - - byte[] hash = combined; - for (int i = 0; i < ITERATIONS; i++) { - digest.update(hash, 0, hash.length); - hash = new byte[digest.getDigestSize()]; - digest.doFinal(hash, 0); - } - return hash; - } - - // 防时序攻击的哈希比对 - private static boolean slowEquals(byte[] a, byte[] b) { - int diff = a.length ^ b.length; - for (int i = 0; i < a.length && i < b.length; i++) { - diff |= a[i] ^ b[i]; - } - return diff == 0; - } - -} \ No newline at end of file