From 4e5923a763d7cf81a4d2359cc48580830e8a90a8 Mon Sep 17 00:00:00 2001 From: Ricky <11748854@qq.com> Date: Tue, 15 Sep 2020 16:55:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E8=A1=A8=E5=8D=95=E5=90=91?= =?UTF-8?q?=E5=AF=BC=E6=8F=92=E4=BB=B6=E4=B8=BAjquery-smartwizard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../smartwizard/jquery.smartWizard.min.js | 13 + .../libs/smartwizard/smart_wizard_all.min.css | 11 + .../static/ajax/libs/staps/jquery.steps.css | 381 --- .../static/ajax/libs/staps/jquery.steps.js | 2042 ----------------- .../ajax/libs/staps/jquery.steps.min.js | 6 - .../resources/templates/demo/form/wizard.html | 498 ++-- .../src/main/resources/templates/include.html | 10 +- 7 files changed, 348 insertions(+), 2613 deletions(-) create mode 100644 ruoyi-admin/src/main/resources/static/ajax/libs/smartwizard/jquery.smartWizard.min.js create mode 100644 ruoyi-admin/src/main/resources/static/ajax/libs/smartwizard/smart_wizard_all.min.css delete mode 100644 ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.css delete mode 100644 ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.js delete mode 100644 ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.min.js diff --git a/ruoyi-admin/src/main/resources/static/ajax/libs/smartwizard/jquery.smartWizard.min.js b/ruoyi-admin/src/main/resources/static/ajax/libs/smartwizard/jquery.smartWizard.min.js new file mode 100644 index 00000000..bdbcf7e7 --- /dev/null +++ b/ruoyi-admin/src/main/resources/static/ajax/libs/smartwizard/jquery.smartWizard.min.js @@ -0,0 +1,13 @@ +"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var s=0;s").addClass("toolbar toolbar-"+t).attr("role","toolbar"),e=!1!==this.options.toolbarSettings.showNextButton?v("").text(this.options.lang.next).addClass("btn sw-btn-next").attr("type","button"):null,i=!1!==this.options.toolbarSettings.showPreviousButton?v("").text(this.options.lang.previous).addClass("btn sw-btn-prev").attr("type","button"):null;return s.append(i,e),this.options.toolbarSettings.toolbarExtraButtons&&0this.current_index&&(l=-1*h,u=h),null==this.current_index&&this.container.height(n.outerHeight()),i&&(a=i.css("position"),r=i.css("left"),i.css("position","absolute").css("left",0).animate({left:l},this.options.transition.speed,this.options.transition.easing,function(){v(this).hide(),i.css("position",a).css("left",r)})),a=n.css("position"),r=n.css("left"),n.css("position","absolute").css("left",u).outerWidth(h).show().animate({left:0},this.options.transition.speed,this.options.transition.easing,function(){n.css("position",a).css("left",r),e()});break;case"slide-vertical":case"slide-v":var c,d,p=this.container.height(),f=p,_=-2*p;t>this.current_index&&(f=-1*p,_=p),i&&(c=i.css("position"),d=i.css("top"),i.css("position","absolute").css("top",0).animate({top:f},this.options.transition.speed,this.options.transition.easing,function(){v(this).hide(),i.css("position",c).css("top",d)})),c=n.css("position"),d=n.css("top"),n.css("position","absolute").css("top",_).show().animate({top:0},this.options.transition.speed,this.options.transition.easing,function(){n.css("position",c).css("top",d),e()});break;case"slide-swing":case"slide-s":i?i.slideUp("fast",this.options.transition.easing,function(){n.slideDown(s.options.transition.speed,s.options.transition.easing,function(){e()})}):n.slideDown(this.options.transition.speed,this.options.transition.easing,function(){e()});break;case"fade":i?i.fadeOut("fast",this.options.transition.easing,function(){n.fadeIn("fast",s.options.transition.easing,function(){e()})}):n.fadeIn(this.options.transition.speed,this.options.transition.easing,function(){e()});break;default:i&&i.hide(),n.show(),e()}}},{key:"_stopAnimations",value:function(){this.pages.finish(),this.container.finish()}},{key:"_setAnchor",value:function(t){this._resetCSSClass(this.current_index,"active"),!1!==this.options.anchorSettings.markDoneStep&&null!==this.current_index&&(this._setCSSClass(this.current_index,"done"),!1!==this.options.anchorSettings.removeDoneStepOnNavigateBack&&"backward"===this._getStepDirection(t)&&this._resetCSSClass(this.current_index,"done")),this._resetCSSClass(t,"done"),this._setCSSClass(t,"active")}},{key:"_setButtons",value:function(t){if(!this.options.cycleSteps)switch(this.main.find(".sw-btn-prev").removeClass("disabled"),this.main.find(".sw-btn-next").removeClass("disabled"),this._getStepPosition(t)){case"first":this.main.find(".sw-btn-prev").addClass("disabled");break;case"last":this.main.find(".sw-btn-next").addClass("disabled");break;default:!1===this._getNextShowable(t)&&this.main.find(".sw-btn-next").addClass("disabled"),!1===this._getPreviousShowable(t)&&this.main.find(".sw-btn-prev").addClass("disabled")}}},{key:"_getStepIndex",value:function(){var t=this._getURLHashIndex();return!1===t?this.options.selected:t}},{key:"_setTheme",value:function(t){this.main.removeClass(function(t,e){return(e.match(/(^|\s)sw-theme-\S+/g)||[]).join(" ")}).addClass("sw-theme-"+t)}},{key:"_setJustify",value:function(t){!0===t?this.main.addClass("sw-justified"):this.main.removeClass("sw-justified")}},{key:"_setDarkMode",value:function(t){!0===t?this.main.addClass("sw-dark"):this.main.removeClass("sw-dark")}},{key:"_keyNav",value:function(t){if(-1.tab-content{position:relative;overflow:hidden}.sw .toolbar{padding:.8rem}.sw .toolbar>.btn{display:inline-block;text-decoration:none;text-align:center;text-transform:none;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:.2rem;margin-right:.2rem;cursor:pointer}.sw .toolbar>.btn.disabled,.sw .toolbar>.btn:disabled{opacity:.65}.sw>.nav{display:flex;flex-wrap:wrap;list-style:none;padding-left:0;margin-top:0;margin-bottom:0}@media screen and (max-width:640px){.sw>.nav{flex-direction:column!important;flex:1 auto}}.sw>.nav .nav-link{display:block;padding:.5rem 1rem;text-decoration:none}.sw>.nav .nav-link:active,.sw>.nav .nav-link:focus,.sw>.nav .nav-link:hover{text-decoration:none}.sw>.nav .nav-link::-moz-focus-inner{border:0!important}.sw>.nav .nav-link.disabled{color:#ccc!important;pointer-events:none;cursor:default}.sw>.nav .nav-link.hidden{display:none!important}.sw.sw-justified>.nav .nav-link,.sw.sw-justified>.nav>li{flex-basis:0;flex-grow:1;text-align:center}.sw.sw-dark{color:rgba(255,255,255,.95);background:#000}.sw.sw-loading{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sw.sw-loading::after{content:"";display:block;position:absolute;opacity:1;top:0;left:0;height:100%;width:100%;background:rgba(255,255,255,.7);z-index:2;transition:all .2s ease}.sw.sw-loading::before{content:'';display:inline-block;position:absolute;top:45%;left:45%;width:2rem;height:2rem;border:10px solid #f3f3f3;border-top:10px solid #3498db;border-radius:50%;z-index:10;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.sw-theme-default{border:1px solid #eee}.sw-theme-default>.tab-content>.tab-pane{padding:10px}.sw-theme-default .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.sw-theme-default>.nav{box-shadow:0 .125rem .25rem rgba(0,0,0,.1)!important}.sw-theme-default>.nav .nav-link{position:relative;height:100%;min-height:100%}.sw-theme-default>.nav .nav-link::after{content:"";position:absolute;height:2px;width:0;left:0;bottom:-1px;background:#999;transition:all .35s ease .15s}.sw-theme-default>.nav .nav-link.inactive{color:#999;cursor:not-allowed}.sw-theme-default>.nav .nav-link.active{color:#17a2b8!important;cursor:pointer}.sw-theme-default>.nav .nav-link.active::after{background:#17a2b8!important;width:100%}.sw-theme-default>.nav .nav-link.done{color:#5cb85c!important;cursor:pointer}.sw-theme-default>.nav .nav-link.done::after{background:#5cb85c;width:100%}.sw-theme-default>.nav .nav-link.disabled{color:#ddd!important;cursor:not-allowed}.sw-theme-default>.nav .nav-link.disabled::after{background:#ddd;width:100%}.sw-theme-default>.nav .nav-link.danger{color:#d9534f!important;cursor:pointer}.sw-theme-default>.nav .nav-link.danger::after{background:#d9534f;width:100%}.sw-theme-arrows{border:1px solid #eee}.sw-theme-arrows>.tab-content>.tab-pane{padding:10px}.sw-theme-arrows .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.sw-theme-arrows>.nav{overflow:hidden;border-bottom:1px solid #eee}.sw-theme-arrows>.nav .nav-link{position:relative;height:100%;min-height:100%;margin-right:30px;margin-left:-30px;padding-left:40px}@media screen and (max-width:640px){.sw-theme-arrows>.nav .nav-link{overflow:hidden;margin-bottom:1px;margin-right:unset}}.sw-theme-arrows>.nav .nav-link::after{content:"";position:absolute;display:block;width:0;height:0;top:50%;left:100%;margin-top:-50px;border-top:50px solid transparent;border-bottom:50px solid transparent;border-left:30px solid #f8f8f8;z-index:2}.sw-theme-arrows>.nav .nav-link::before{content:" ";position:absolute;display:block;width:0;height:0;top:50%;left:100%;margin-top:-50px;margin-left:1px;border-top:50px solid transparent;border-bottom:50px solid transparent;border-left:30px solid #eee;z-index:1}.sw-theme-arrows>.nav .nav-link.inactive{color:#999;border-color:#f8f8f8;background:#f8f8f8;cursor:not-allowed}.sw-theme-arrows>.nav .nav-link.active{color:#fff;border-color:#5bc0de;background:#5bc0de;cursor:pointer}.sw-theme-arrows>.nav .nav-link.active::after{border-left-color:#5bc0de}.sw-theme-arrows>.nav .nav-link.done{color:#fff;border-color:#5cb85c;background:#5cb85c;cursor:pointer}.sw-theme-arrows>.nav .nav-link.done::after{border-left-color:#5cb85c}.sw-theme-arrows>.nav .nav-link.disabled{color:#eee;border-color:#f9f9f9;background:#f9f9f9;cursor:not-allowed}.sw-theme-arrows>.nav .nav-link.disabled::after{border-left-color:#f9f9f9}.sw-theme-arrows>.nav .nav-link.danger{color:#fff;border-color:#d9534f;background:#d9534f;cursor:pointer}.sw-theme-arrows>.nav .nav-link.danger::after{border-left-color:#d9534f}.sw-theme-arrows.sw-dark{color:rgba(255,255,255,.95);background:#000}.sw-theme-arrows.sw-dark>.nav{border-bottom:1px solid #555}.sw-theme-arrows.sw-dark>.nav .nav-link::after{border-left:30px solid #5f5f5f}.sw-theme-arrows.sw-dark>.nav .nav-link::before{border-left:30px solid #555}.sw-theme-arrows.sw-dark>.nav .nav-link.inactive{color:#fff;border-color:#5f5f5f;background:#5f5f5f}.sw-theme-arrows.sw-dark>.nav .nav-link.inactive::after{border-left-color:#5f5f5f}.sw-theme-arrows.sw-dark>.nav .nav-link.active{color:#fff;border-color:#010506;background:#0a2730}.sw-theme-arrows.sw-dark>.nav .nav-link.active::after{border-left-color:#0a2730}.sw-theme-arrows.sw-dark>.nav .nav-link.done{color:#fff;border-color:#000;background:#000}.sw-theme-arrows.sw-dark>.nav .nav-link.done::after{border-left-color:#000}.sw-theme-arrows.sw-dark>.nav .nav-link.disabled{color:#555!important;border-color:#f9f9f9;background:#474747}.sw-theme-arrows.sw-dark>.nav .nav-link.disabled::after{border-left-color:#474747}.sw-theme-arrows.sw-dark>.nav .nav-link.danger{color:#fff;border-color:#d9534f;background:#d9534f}.sw-theme-arrows.sw-dark>.nav .nav-link.danger::after{border-left-color:#d9534f}.sw-theme-dots>.tab-content>.tab-pane{padding:10px}.sw-theme-dots .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.sw-theme-dots>.nav{position:relative;margin-bottom:10px}.sw-theme-dots>.nav::before{content:" ";position:absolute;top:18px;left:0;width:100%;height:5px;background-color:#eee;border-radius:3px;z-index:1}.sw-theme-dots>.nav .nav-link{position:relative;margin-top:40px}.sw-theme-dots>.nav .nav-link::before{content:" ";position:absolute;display:block;top:-36px;left:0;right:0;margin-left:auto;margin-right:auto;width:32px;height:32px;border-radius:50%;border:none;background:#f5f5f5;color:#428bca;text-decoration:none;z-index:98}.sw-theme-dots>.nav .nav-link::after{content:" ";position:absolute;display:block;top:-28px;left:0;right:0;margin-left:auto;margin-right:auto;width:16px;height:16px;border-radius:50%;z-index:99}.sw-theme-dots>.nav .nav-link.inactive{color:#999;cursor:not-allowed}.sw-theme-dots>.nav .nav-link.inactive::after{background-color:#999}.sw-theme-dots>.nav .nav-link.active{color:#5bc0de!important;cursor:pointer}.sw-theme-dots>.nav .nav-link.active::after{background-color:#5bc0de!important}.sw-theme-dots>.nav .nav-link.done{color:#5cb85c;cursor:pointer}.sw-theme-dots>.nav .nav-link.done::after{background-color:#5cb85c}.sw-theme-dots>.nav .nav-link.disabled{color:#f9f9f9;cursor:not-allowed}.sw-theme-dots>.nav .nav-link.disabled::after{background-color:#f9f9f9}.sw-theme-dots>.nav .nav-link.danger{color:#d9534f;cursor:pointer}.sw-theme-dots>.nav .nav-link.danger::after{background-color:#d9534f}.sw-theme-dots.sw-dark{color:rgba(255,255,255,.95);background:#000}.sw-theme-dots.sw-dark>.nav::before{background-color:#3c3c3c}.sw-theme-dots.sw-dark>.nav .nav-link::before{background:#434343;color:#000}.sw-theme-progress{border:1px solid #eee}.sw-theme-progress>.tab-content>.tab-pane{padding:10px}.sw-theme-progress .toolbar>.btn{color:#fff;background-color:#17a2b8;border:1px solid #17a2b8;padding:.375rem .75rem;border-radius:.25rem;font-weight:400}.sw-theme-progress>.nav{box-shadow:0 .125rem .25rem rgba(0,0,0,.1)!important}.sw-theme-progress>.nav .nav-link{position:relative;height:100%;min-height:100%;background:0 0;overflow:hidden;z-index:2}.sw-theme-progress>.nav .nav-link::after{content:"";position:absolute;height:150%;width:0;left:0;top:0;background:#fff;z-index:-1;transition:all .35s ease .1s}.sw-theme-progress>.nav .nav-link.inactive{color:#999;cursor:not-allowed}.sw-theme-progress>.nav .nav-link.active{color:#fff!important;cursor:pointer}.sw-theme-progress>.nav .nav-link.active::after{background-color:#5cb85c;width:100%}.sw-theme-progress>.nav .nav-link.done{color:#fff!important;cursor:pointer}.sw-theme-progress>.nav .nav-link.done::after{background:#5cb85c;width:100%}.sw-theme-progress>.nav .nav-link.disabled{color:#ddd!important;cursor:not-allowed}.sw-theme-progress>.nav .nav-link.disabled::after{background:#f9f9f9;width:100%}.sw-theme-progress>.nav .nav-link.danger{color:#fff!important;cursor:pointer}.sw-theme-progress>.nav .nav-link.danger::after{background:#d9534f;width:100%}.sw-theme-progress.sw-dark{color:rgba(255,255,255,.95)}.sw-theme-progress.sw-dark>.nav .nav-link.active{color:#fff}.sw-theme-progress.sw-dark>.nav .nav-link.active::after{background-color:#333}.sw-theme-progress.sw-dark>.nav .nav-link.done{color:#fff!important}.sw-theme-progress.sw-dark>.nav .nav-link.done::after{background:#333}.sw-theme-progress.sw-dark>.nav .nav-link.disabled{color:#2b2b2b!important}.sw-theme-progress.sw-dark>.nav .nav-link.disabled::after{background:#474747}.sw-theme-progress.sw-dark>.nav .nav-link.danger{color:#fff!important}.sw-theme-progress.sw-dark>.nav .nav-link.danger::after{background:#d9534f} \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.css b/ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.css deleted file mode 100644 index 35184c09..00000000 --- a/ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.css +++ /dev/null @@ -1,381 +0,0 @@ -/* - Common -*/ - -.wizard, -.tabcontrol -{ - display: block; - width: 100%; - overflow: hidden; -} - -.wizard a, -.tabcontrol a -{ - outline: 0; -} - -.wizard ul, -.tabcontrol ul -{ - list-style: none !important; - padding: 0; - margin: 0; -} - -.wizard ul > li, -.tabcontrol ul > li -{ - display: block; - padding: 0; -} - -/* Accessibility */ -.wizard > .steps .current-info, -.tabcontrol > .steps .current-info -{ - position: absolute; - left: -999em; -} - -.wizard > .content > .title, -.tabcontrol > .content > .title -{ - position: absolute; - left: -999em; -} - - - -/* - Wizard -*/ - -.wizard > .steps -{ - position: relative; - display: block; - width: 100%; -} - -.wizard.vertical > .steps -{ - display: inline; - float: left; - width: 30%; -} - -.wizard > .steps > ul > li -{ - width: 25%; -} - -.wizard > .steps > ul > li, -.wizard > .actions > ul > li -{ - float: left; -} - -.wizard.vertical > .steps > ul > li -{ - float: none; - width: 100%; -} - -.wizard > .steps a, -.wizard > .steps a:hover, -.wizard > .steps a:active -{ - display: block; - width: auto; - margin: 0 0.5em 0.5em; - padding: 8px; - text-decoration: none; - - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} - -.wizard > .steps .disabled a, -.wizard > .steps .disabled a:hover, -.wizard > .steps .disabled a:active -{ - background: #eee; - color: #aaa; - cursor: default; -} - -.wizard > .steps .current a, -.wizard > .steps .current a:hover, -.wizard > .steps .current a:active -{ - background: #1AB394; - color: #fff; - cursor: default; -} - -.wizard > .steps .done a, -.wizard > .steps .done a:hover, -.wizard > .steps .done a:active -{ - background: #6fd1bd; - color: #fff; -} - -.wizard > .steps .error a, -.wizard > .steps .error a:hover, -.wizard > .steps .error a:active -{ - background: #ED5565 ; - color: #fff; -} - -.wizard > .content -{ - background: #eee; - display: block; - margin: 5px 5px 10px 5px; - min-height: 120px; - overflow: hidden; - position: relative; - width: auto; - - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} - -.wizard-big.wizard > .content { - min-height: 320px; -} -.wizard.vertical > .content -{ - display: inline; - float: left; - margin: 0 2.5% 0.5em 2.5%; - width: 65%; -} - -.wizard > .content > .body -{ - float: left; - position: absolute; - width: 95%; - height: 95%; - padding: 2.5%; -} - -.wizard > .content > .body ul -{ - list-style: disc !important; -} - -.wizard > .content > .body ul > li -{ - display: list-item; -} - -.wizard > .content > .body > iframe -{ - border: 0 none; - width: 100%; - height: 100%; -} - -.wizard > .content > .body input -{ - display: block; - border: 1px solid #ccc; -} - -.wizard > .content > .body input[type="checkbox"] -{ - display: inline-block; -} - -.wizard > .content > .body input.error -{ - background: rgb(251, 227, 228); - border: 1px solid #fbc2c4; - color: #8a1f11; -} - -.wizard > .content > .body label -{ - display: inline-block; - margin-bottom: 0.5em; -} - -.wizard > .content > .body label.error -{ - color: #8a1f11; - display: inline-block; - margin-left: 1.5em; -} - -.wizard > .actions -{ - position: relative; - display: block; - text-align: right; - width: 100%; -} - -.wizard.vertical > .actions -{ - display: inline; - float: right; - margin: 0 2.5%; - width: 95%; -} - -.wizard > .actions > ul -{ - display: inline-block; - text-align: right; -} - -.wizard > .actions > ul > li -{ - margin: 0 0.5em; -} - -.wizard.vertical > .actions > ul > li -{ - margin: 0 0 0 1em; -} - -.wizard > .actions a, -.wizard > .actions a:hover, -.wizard > .actions a:active -{ - background: #1AB394; - color: #fff; - display: block; - padding: 0.5em 1em; - text-decoration: none; - - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} - -.wizard > .actions .disabled a, -.wizard > .actions .disabled a:hover, -.wizard > .actions .disabled a:active -{ - background: #eee; - color: #aaa; -} - -.wizard > .loading -{ -} - -.wizard > .loading .spinner -{ -} - - - -/* - Tabcontrol -*/ - -.tabcontrol > .steps -{ - position: relative; - display: block; - width: 100%; -} - -.tabcontrol > .steps > ul -{ - position: relative; - margin: 6px 0 0 0; - top: 1px; - z-index: 1; -} - -.tabcontrol > .steps > ul > li -{ - float: left; - margin: 5px 2px 0 0; - padding: 1px; - - -webkit-border-top-left-radius: 5px; - -webkit-border-top-right-radius: 5px; - -moz-border-radius-topleft: 5px; - -moz-border-radius-topright: 5px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -.tabcontrol > .steps > ul > li:hover -{ - background: #edecec; - border: 1px solid #bbb; - padding: 0; -} - -.tabcontrol > .steps > ul > li.current -{ - background: #fff; - border: 1px solid #bbb; - border-bottom: 0 none; - padding: 0 0 1px 0; - margin-top: 0; -} - -.tabcontrol > .steps > ul > li > a -{ - color: #5f5f5f; - display: inline-block; - border: 0 none; - margin: 0; - padding: 10px 30px; - text-decoration: none; -} - -.tabcontrol > .steps > ul > li > a:hover -{ - text-decoration: none; -} - -.tabcontrol > .steps > ul > li.current > a -{ - padding: 15px 30px 10px 30px; -} - -.tabcontrol > .content -{ - position: relative; - display: inline-block; - width: 100%; - height: 35em; - overflow: hidden; - border-top: 1px solid #bbb; - padding-top: 20px; -} - -.tabcontrol > .content > .body -{ - float: left; - position: absolute; - width: 95%; - height: 95%; - padding: 2.5%; -} - -.tabcontrol > .content > .body ul -{ - list-style: disc !important; -} - -.tabcontrol > .content > .body ul > li -{ - display: list-item; -} -label.error { position:inherit; } diff --git a/ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.js b/ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.js deleted file mode 100644 index 3ffcf50f..00000000 --- a/ruoyi-admin/src/main/resources/static/ajax/libs/staps/jquery.steps.js +++ /dev/null @@ -1,2042 +0,0 @@ -/*! - * jQuery Steps v1.1.0 - 09/04/2014 - * Copyright (c) 2014 Rafael Staib (http://www.jquery-steps.com) - * Licensed under MIT http://www.opensource.org/licenses/MIT - */ -;(function ($, undefined) -{ -$.fn.extend({ - _aria: function (name, value) - { - return this.attr("aria-" + name, value); - }, - - _removeAria: function (name) - { - return this.removeAttr("aria-" + name); - }, - - _enableAria: function (enable) - { - return (enable == null || enable) ? - this.removeClass("disabled")._aria("disabled", "false") : - this.addClass("disabled")._aria("disabled", "true"); - }, - - _showAria: function (show) - { - return (show == null || show) ? - this.show()._aria("hidden", "false") : - this.hide()._aria("hidden", "true"); - }, - - _selectAria: function (select) - { - return (select == null || select) ? - this.addClass("current")._aria("selected", "true") : - this.removeClass("current")._aria("selected", "false"); - }, - - _id: function (id) - { - return (id) ? this.attr("id", id) : this.attr("id"); - } -}); - -if (!String.prototype.format) -{ - String.prototype.format = function() - { - var args = (arguments.length === 1 && $.isArray(arguments[0])) ? arguments[0] : arguments; - var formattedString = this; - for (var i = 0; i < args.length; i++) - { - var pattern = new RegExp("\\{" + i + "\\}", "gm"); - formattedString = formattedString.replace(pattern, args[i]); - } - return formattedString; - }; -} - -/** - * A global unique id count. - * - * @static - * @private - * @property _uniqueId - * @type Integer - **/ -var _uniqueId = 0; - -/** - * The plugin prefix for cookies. - * - * @final - * @private - * @property _cookiePrefix - * @type String - **/ -var _cookiePrefix = "jQu3ry_5teps_St@te_"; - -/** - * Suffix for the unique tab id. - * - * @final - * @private - * @property _tabSuffix - * @type String - * @since 0.9.7 - **/ -var _tabSuffix = "-t-"; - -/** - * Suffix for the unique tabpanel id. - * - * @final - * @private - * @property _tabpanelSuffix - * @type String - * @since 0.9.7 - **/ -var _tabpanelSuffix = "-p-"; - -/** - * Suffix for the unique title id. - * - * @final - * @private - * @property _titleSuffix - * @type String - * @since 0.9.7 - **/ -var _titleSuffix = "-h-"; - -/** - * An error message for an "index out of range" error. - * - * @final - * @private - * @property _indexOutOfRangeErrorMessage - * @type String - **/ -var _indexOutOfRangeErrorMessage = "Index out of range."; - -/** - * An error message for an "missing corresponding element" error. - * - * @final - * @private - * @property _missingCorrespondingElementErrorMessage - * @type String - **/ -var _missingCorrespondingElementErrorMessage = "One or more corresponding step {0} are missing."; - -/** - * Adds a step to the cache. - * - * @static - * @private - * @method addStepToCache - * @param wizard {Object} A jQuery wizard object - * @param step {Object} The step object to add - **/ -function addStepToCache(wizard, step) -{ - getSteps(wizard).push(step); -} - -function analyzeData(wizard, options, state) -{ - var stepTitles = wizard.children(options.headerTag), - stepContents = wizard.children(options.bodyTag); - - // Validate content - if (stepTitles.length > stepContents.length) - { - throwError(_missingCorrespondingElementErrorMessage, "contents"); - } - else if (stepTitles.length < stepContents.length) - { - throwError(_missingCorrespondingElementErrorMessage, "titles"); - } - - var startIndex = options.startIndex; - - state.stepCount = stepTitles.length; - - // Tries to load the saved state (step position) - if (options.saveState && $.cookie) - { - var savedState = $.cookie(_cookiePrefix + getUniqueId(wizard)); - // Sets the saved position to the start index if not undefined or out of range - var savedIndex = parseInt(savedState, 0); - if (!isNaN(savedIndex) && savedIndex < state.stepCount) - { - startIndex = savedIndex; - } - } - - state.currentIndex = startIndex; - - stepTitles.each(function (index) - { - var item = $(this), // item == header - content = stepContents.eq(index), - modeData = content.data("mode"), - mode = (modeData == null) ? contentMode.html : getValidEnumValue(contentMode, - (/^\s*$/.test(modeData) || isNaN(modeData)) ? modeData : parseInt(modeData, 0)), - contentUrl = (mode === contentMode.html || content.data("url") === undefined) ? - "" : content.data("url"), - contentLoaded = (mode !== contentMode.html && content.data("loaded") === "1"), - step = $.extend({}, stepModel, { - title: item.html(), - content: (mode === contentMode.html) ? content.html() : "", - contentUrl: contentUrl, - contentMode: mode, - contentLoaded: contentLoaded - }); - - addStepToCache(wizard, step); - }); -} - -/** - * Triggers the onCanceled event. - * - * @static - * @private - * @method cancel - * @param wizard {Object} The jQuery wizard object - **/ -function cancel(wizard) -{ - wizard.triggerHandler("canceled"); -} - -function decreaseCurrentIndexBy(state, decreaseBy) -{ - return state.currentIndex - decreaseBy; -} - -/** - * Removes the control functionality completely and transforms the current state to the initial HTML structure. - * - * @static - * @private - * @method destroy - * @param wizard {Object} A jQuery wizard object - **/ -function destroy(wizard, options) -{ - var eventNamespace = getEventNamespace(wizard); - - // Remove virtual data objects from the wizard - wizard.unbind(eventNamespace).removeData("uid").removeData("options") - .removeData("state").removeData("steps").removeData("eventNamespace") - .find(".actions a").unbind(eventNamespace); - - // Remove attributes and CSS classes from the wizard - wizard.removeClass(options.clearFixCssClass + " vertical"); - - var contents = wizard.find(".content > *"); - - // Remove virtual data objects from panels and their titles - contents.removeData("loaded").removeData("mode").removeData("url"); - - // Remove attributes, CSS classes and reset inline styles on all panels and their titles - contents.removeAttr("id").removeAttr("role").removeAttr("tabindex") - .removeAttr("class").removeAttr("style")._removeAria("labelledby") - ._removeAria("hidden"); - - // Empty panels if the mode is set to 'async' or 'iframe' - wizard.find(".content > [data-mode='async'],.content > [data-mode='iframe']").empty(); - - var wizardSubstitute = $("<{0} class=\"{1}\">".format(wizard.get(0).tagName, wizard.attr("class"))); - - var wizardId = wizard._id(); - if (wizardId != null && wizardId !== "") - { - wizardSubstitute._id(wizardId); - } - - wizardSubstitute.html(wizard.find(".content").html()); - wizard.after(wizardSubstitute); - wizard.remove(); - - return wizardSubstitute; -} - -/** - * Triggers the onFinishing and onFinished event. - * - * @static - * @private - * @method finishStep - * @param wizard {Object} The jQuery wizard object - * @param state {Object} The state container of the current wizard - **/ -function finishStep(wizard, state) -{ - var currentStep = wizard.find(".steps li").eq(state.currentIndex); - - if (wizard.triggerHandler("finishing", [state.currentIndex])) - { - currentStep.addClass("done").removeClass("error"); - wizard.triggerHandler("finished", [state.currentIndex]); - } - else - { - currentStep.addClass("error"); - } -} - -/** - * Gets or creates if not exist an unique event namespace for the given wizard instance. - * - * @static - * @private - * @method getEventNamespace - * @param wizard {Object} A jQuery wizard object - * @return {String} Returns the unique event namespace for the given wizard - */ -function getEventNamespace(wizard) -{ - var eventNamespace = wizard.data("eventNamespace"); - - if (eventNamespace == null) - { - eventNamespace = "." + getUniqueId(wizard); - wizard.data("eventNamespace", eventNamespace); - } - - return eventNamespace; -} - -function getStepAnchor(wizard, index) -{ - var uniqueId = getUniqueId(wizard); - - return wizard.find("#" + uniqueId + _tabSuffix + index); -} - -function getStepPanel(wizard, index) -{ - var uniqueId = getUniqueId(wizard); - - return wizard.find("#" + uniqueId + _tabpanelSuffix + index); -} - -function getStepTitle(wizard, index) -{ - var uniqueId = getUniqueId(wizard); - - return wizard.find("#" + uniqueId + _titleSuffix + index); -} - -function getOptions(wizard) -{ - return wizard.data("options"); -} - -function getState(wizard) -{ - return wizard.data("state"); -} - -function getSteps(wizard) -{ - return wizard.data("steps"); -} - -/** - * Gets a specific step object by index. - * - * @static - * @private - * @method getStep - * @param index {Integer} An integer that belongs to the position of a step - * @return {Object} A specific step object - **/ -function getStep(wizard, index) -{ - var steps = getSteps(wizard); - - if (index < 0 || index >= steps.length) - { - throwError(_indexOutOfRangeErrorMessage); - } - - return steps[index]; -} - -/** - * Gets or creates if not exist an unique id from the given wizard instance. - * - * @static - * @private - * @method getUniqueId - * @param wizard {Object} A jQuery wizard object - * @return {String} Returns the unique id for the given wizard - */ -function getUniqueId(wizard) -{ - var uniqueId = wizard.data("uid"); - - if (uniqueId == null) - { - uniqueId = wizard._id(); - if (uniqueId == null) - { - uniqueId = "steps-uid-".concat(_uniqueId); - wizard._id(uniqueId); - } - - _uniqueId++; - wizard.data("uid", uniqueId); - } - - return uniqueId; -} - -/** - * Gets a valid enum value by checking a specific enum key or value. - * - * @static - * @private - * @method getValidEnumValue - * @param enumType {Object} Type of enum - * @param keyOrValue {Object} Key as `String` or value as `Integer` to check for - */ -function getValidEnumValue(enumType, keyOrValue) -{ - validateArgument("enumType", enumType); - validateArgument("keyOrValue", keyOrValue); - - // Is key - if (typeof keyOrValue === "string") - { - var value = enumType[keyOrValue]; - if (value === undefined) - { - throwError("The enum key '{0}' does not exist.", keyOrValue); - } - - return value; - } - // Is value - else if (typeof keyOrValue === "number") - { - for (var key in enumType) - { - if (enumType[key] === keyOrValue) - { - return keyOrValue; - } - } - - throwError("Invalid enum value '{0}'.", keyOrValue); - } - // Type is not supported - else - { - throwError("Invalid key or value type."); - } -} - -/** - * Routes to the next step. - * - * @static - * @private - * @method goToNextStep - * @param wizard {Object} The jQuery wizard object - * @param options {Object} Settings of the current wizard - * @param state {Object} The state container of the current wizard - * @return {Boolean} Indicates whether the action executed - **/ -function goToNextStep(wizard, options, state) -{ - return paginationClick(wizard, options, state, increaseCurrentIndexBy(state, 1)); -} - -/** - * Routes to the previous step. - * - * @static - * @private - * @method goToPreviousStep - * @param wizard {Object} The jQuery wizard object - * @param options {Object} Settings of the current wizard - * @param state {Object} The state container of the current wizard - * @return {Boolean} Indicates whether the action executed - **/ -function goToPreviousStep(wizard, options, state) -{ - return paginationClick(wizard, options, state, decreaseCurrentIndexBy(state, 1)); -} - -/** - * Routes to a specific step by a given index. - * - * @static - * @private - * @method goToStep - * @param wizard {Object} The jQuery wizard object - * @param options {Object} Settings of the current wizard - * @param state {Object} The state container of the current wizard - * @param index {Integer} The position (zero-based) to route to - * @return {Boolean} Indicates whether the action succeeded or failed - **/ -function goToStep(wizard, options, state, index) -{ - if (index < 0 || index >= state.stepCount) - { - throwError(_indexOutOfRangeErrorMessage); - } - - if (options.forceMoveForward && index < state.currentIndex) - { - return; - } - - var oldIndex = state.currentIndex; - if (wizard.triggerHandler("stepChanging", [state.currentIndex, index])) - { - // Save new state - state.currentIndex = index; - saveCurrentStateToCookie(wizard, options, state); - - // Change visualisation - refreshStepNavigation(wizard, options, state, oldIndex); - refreshPagination(wizard, options, state); - loadAsyncContent(wizard, options, state); - startTransitionEffect(wizard, options, state, index, oldIndex, function() - { - wizard.triggerHandler("stepChanged", [index, oldIndex]); - }); - } - else - { - wizard.find(".steps li").eq(oldIndex).addClass("error"); - } - - return true; -} - -function increaseCurrentIndexBy(state, increaseBy) -{ - return state.currentIndex + increaseBy; -} - -/** - * Initializes the component. - * - * @static - * @private - * @method initialize - * @param options {Object} The component settings - **/ -function initialize(options) -{ - /*jshint -W040 */ - var opts = $.extend(true, {}, defaults, options); - - return this.each(function () - { - var wizard = $(this); - var state = { - currentIndex: opts.startIndex, - currentStep: null, - stepCount: 0, - transitionElement: null - }; - - // Create data container - wizard.data("options", opts); - wizard.data("state", state); - wizard.data("steps", []); - - analyzeData(wizard, opts, state); - render(wizard, opts, state); - registerEvents(wizard, opts); - - // Trigger focus - if (opts.autoFocus && _uniqueId === 0) - { - getStepAnchor(wizard, opts.startIndex).focus(); - } - - wizard.triggerHandler("init", [opts.startIndex]); - }); -} - -/** - * Inserts a new step to a specific position. - * - * @static - * @private - * @method insertStep - * @param wizard {Object} The jQuery wizard object - * @param options {Object} Settings of the current wizard - * @param state {Object} The state container of the current wizard - * @param index {Integer} The position (zero-based) to add - * @param step {Object} The step object to add - * @example - * $("#wizard").steps().insert(0, { - * title: "Title", - * content: "", // optional - * contentMode: "async", // optional - * contentUrl: "/Content/Step/1" // optional - * }); - * @chainable - **/ -function insertStep(wizard, options, state, index, step) -{ - if (index < 0 || index > state.stepCount) - { - throwError(_indexOutOfRangeErrorMessage); - } - - // TODO: Validate step object - - // Change data - step = $.extend({}, stepModel, step); - insertStepToCache(wizard, index, step); - if (state.currentIndex !== state.stepCount && state.currentIndex >= index) - { - state.currentIndex++; - saveCurrentStateToCookie(wizard, options, state); - } - state.stepCount++; - - var contentContainer = wizard.find(".content"), - header = $("<{0}>{1}".format(options.headerTag, step.title)), - body = $("<{0}>".format(options.bodyTag)); - - if (step.contentMode == null || step.contentMode === contentMode.html) - { - body.html(step.content); - } - - if (index === 0) - { - contentContainer.prepend(body).prepend(header); - } - else - { - getStepPanel(wizard, (index - 1)).after(body).after(header); - } - - renderBody(wizard, state, body, index); - renderTitle(wizard, options, state, header, index); - refreshSteps(wizard, options, state, index); - if (index === state.currentIndex) - { - refreshStepNavigation(wizard, options, state); - } - refreshPagination(wizard, options, state); - - return wizard; -} - -/** - * Inserts a step object to the cache at a specific position. - * - * @static - * @private - * @method insertStepToCache - * @param wizard {Object} A jQuery wizard object - * @param index {Integer} The position (zero-based) to add - * @param step {Object} The step object to add - **/ -function insertStepToCache(wizard, index, step) -{ - getSteps(wizard).splice(index, 0, step); -} - -/** - * Handles the keyup DOM event for pagination. - * - * @static - * @private - * @event keyup - * @param event {Object} An event object - */ -function keyUpHandler(event) -{ - var wizard = $(this), - options = getOptions(wizard), - state = getState(wizard); - - if (options.suppressPaginationOnFocus && wizard.find(":focus").is(":input")) - { - event.preventDefault(); - return false; - } - - var keyCodes = { left: 37, right: 39 }; - if (event.keyCode === keyCodes.left) - { - event.preventDefault(); - goToPreviousStep(wizard, options, state); - } - else if (event.keyCode === keyCodes.right) - { - event.preventDefault(); - goToNextStep(wizard, options, state); - } -} - -/** - * Loads and includes async content. - * - * @static - * @private - * @method loadAsyncContent - * @param wizard {Object} A jQuery wizard object - * @param options {Object} Settings of the current wizard - * @param state {Object} The state container of the current wizard - */ -function loadAsyncContent(wizard, options, state) -{ - if (state.stepCount > 0) - { - var currentIndex = state.currentIndex, - currentStep = getStep(wizard, currentIndex); - - if (!options.enableContentCache || !currentStep.contentLoaded) - { - switch (getValidEnumValue(contentMode, currentStep.contentMode)) - { - case contentMode.iframe: - wizard.find(".content > .body").eq(state.currentIndex).empty() - .html("