New file |
| | |
| | | /** EasyWeb iframe v3.1.8 date:2020-05-04 License By http://easyweb.vip */ |
| | | *{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif}body{color:#595959;background-color:#f5f7f9}.layui-layout-body{overflow:auto}.layui-layout-admin{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;-webkit-transition:left .3s,right .3s;transition:left .3s,right .3s}.layui-layout-admin .layui-header{position:absolute;top:0;left:0;right:0;height:50px;background-color:#fff;box-shadow:0 1px 0 0 rgba(0,0,0,.03);z-index:999}.layui-layout-admin .layui-header .layui-logo{color:#ddd;width:235px;line-height:50px;background-color:#191a23;box-shadow:1px 2px 2px 0 rgba(0,0,0,.05);position:relative;vertical-align:top;white-space:nowrap;display:inline-block;-webkit-transition:width .3s;transition:width .3s;overflow:hidden}.layui-layout-admin .layui-header .layui-logo img{height:28px;vertical-align:middle}.layui-layout-admin .layui-header .layui-logo cite{font-style:normal;vertical-align:middle}.layui-layout-admin .layui-header .layui-layout-left{padding:0;vertical-align:top;display:inline-block;position:static!important}.layui-layout-admin .layui-header .layui-layout-right{padding:0}.layui-layout-admin .layui-header .layui-nav .layui-this:after,.layui-layout-admin .layui-header .layui-nav-bar{height:2px;top:0!important;background-color:#191a23}.layui-layout-admin .layui-header .layui-nav .layui-nav-item{line-height:50px;vertical-align:top}.layui-layout-admin .layui-header .layui-nav .layui-nav-item .layui-nav-child{top:55px}.layui-layout-admin .layui-header .layui-nav-item .layui-icon{font-size:16px}.layui-layout-admin .layui-header a{color:#595959;padding:0 15px;cursor:pointer}.layui-layout-admin .layui-header a:hover{color:#595959}.layui-layout-admin .layui-header .layui-nav-child a{color:#595959;text-align:center}.layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#8c8c8c transparent transparent}.layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #8c8c8c}.layui-layout-admin .layui-header .layui-nav-img{width:26px;height:26px;margin-right:2px;vertical-align:middle}.layui-layout-admin .layui-header .layui-nav-img+cite{margin-right:3px;vertical-align:middle}.layui-layout-admin .layui-header .layui-badge-dot{right:8px;margin:-10px 0 0 0}.layui-layout-admin .layui-body{position:absolute;left:235px;top:50px;z-index:auto;overflow:auto;-webkit-transition:left .3s;transition:left .3s;-webkit-overflow-scrolling:touch}.admin-iframe{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.layui-fluid{padding:15px}.layui-layout-admin .layui-footer{position:absolute;left:235px;background:#fff;box-sizing:border-box;border-top:1px solid #f5f7f9;-webkit-transition:left .3s;transition:left .3s;overflow:hidden}.close-footer .layui-layout-admin .layui-footer{display:none}.close-footer .layui-layout-admin .layui-body{bottom:0}.layui-layout-admin .layui-side{position:absolute;top:50px;width:235px;background-color:#191a23;box-shadow:1px 2px 2px 0 rgba(0,0,0,.05);-webkit-transition:width .3s;transition:width .3s;-webkit-user-select:none;user-select:none;z-index:1000}.layui-layout-admin .layui-side .layui-side-scroll{width:255px;-webkit-transition:width .3s;transition:width .3s}.layui-layout-admin .layui-side .layui-nav{width:235px;background-color:transparent;-webkit-transition:width .3s;transition:width .3s}.layui-layout-admin .layui-side>.layui-side-scroll>.layui-nav:first-child{margin-top:10px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item>a{cursor:pointer;padding-top:5px;padding-bottom:5px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item a{-webkit-transition:color .3s,background-color .3s;transition:color .3s,background-color .3s}.layui-layout-admin .layui-side .layui-nav .layui-nav-more{right:15px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item>.layui-nav-child{position:static}.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child a{padding-left:50px;cursor:pointer}.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child a{padding-left:70px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left:90px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left:110px}@media screen and (min-width:769px){.layui-layout-admin.admin-nav-mini .layui-header .layui-logo{width:60px}.layui-layout-admin.admin-nav-mini .layui-header .layui-logo cite{display:none}.layui-layout-admin.admin-nav-mini .layui-header .layui-icon-shrink-right:before{content:"\e66b"}.layui-layout-admin.admin-nav-mini .layui-body,.layui-layout-admin.admin-nav-mini .layui-footer{left:60px}.layui-layout-admin.admin-nav-mini .layui-side,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav{width:60px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a{overflow:visible}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a>cite,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a .layui-nav-more,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-itemed>.layui-nav-child{display:none!important}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav li.layui-nav-itemed>a{background:rgba(0,0,0,.3)}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a>.layui-icon{font-size:16px;-webkit-transition:font-size .3s;transition:font-size .3s}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child{position:fixed;top:60px;left:60px;padding:5px;min-width:150px;display:block!important;background:transparent!important}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{content:'';position:absolute;right:5px;left:5px;bottom:0;top:0;border-radius:4px;background:#191a23;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child dd:first-child>.layui-nav-child{margin-top:-5px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child dd:last-child>.layui-nav-child.show-top{margin-top:5px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a{padding:0 20px!important}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{border-color:transparent transparent transparent rgba(255,255,255,.7);right:7px;margin-top:-6px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow2 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow3 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{-o-transform:rotate(0deg);-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg);width:6px;height:10px;right:10px;margin-top:-5px;font-weight:600}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow2 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more:before,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow3 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more:before{content:"\e602";left:-4px;top:-2px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow3 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more:before{-o-transform:rotate(0deg);-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@media screen and (max-width:768px){.layui-layout-admin{left:-235px}.layui-layout-admin .layui-side,.layui-layout-admin .layui-header .layui-logo{box-shadow:none!important}.layui-layout-admin .layui-header .layui-icon-shrink-right:before{content:"\e66b"}.layui-layout-admin.admin-nav-mini{left:0;right:-235px;position:fixed}.layui-layout-admin.admin-nav-mini .layui-header .layui-icon-shrink-right:before{content:"\e668"}.layui-layout-admin.admin-nav-mini .layui-side,.layui-layout-admin.admin-nav-mini .layui-header .layui-logo{box-shadow:1px 0 2px 0 rgba(0,0,0,.05)}.layui-layout-admin.admin-nav-mini .site-mobile-shade{position:absolute;top:0;right:0;bottom:0;left:235px;background-color:rgba(0,0,0,.25);-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;z-index:1000}}.ew-anim-drop-in{-webkit-animation:ewTransitionDropIn .3s ease-in-out;animation:ewTransitionDropIn .3s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}@-webkit-keyframes ewTransitionDropIn{from{opacity:0;-webkit-transform:scale(0.8)}to{opacity:1;-webkit-transform:scale(1)}}@keyframes ewTransitionDropIn{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}.layui-nav-tree .layui-nav-bar{display:none}.layui-nav-tree>.layui-nav-item>a:before{content:"";position:absolute;top:0;left:0;bottom:100%;width:4px;background-color:#009688;-webkit-transition:all .3s ease;transition:all .3s ease}.layui-nav-tree>.layui-nav-item:hover>a:before{bottom:0}.layui-nav-tree .layui-nav-item a:hover{background-color:transparent}.layui-nav-tree .layui-this>a:hover{background-color:#009688}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-this{background:transparent}.layui-nav-tree .layui-nav-item .layui-nav-child{padding:5px 0;background-color:rgba(0,0,0,.3)!important}.layui-nav-tree.arrow2 .layui-nav-more{font-family:layui-icon!important;font-size:12px;font-weight:600;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;line-height:normal;border:0;margin:-3px 0 0 0;padding:0;width:10px;height:6px;top:50%;display:inline-block;-webkit-transition:all .3s ease;transition:all .3s ease}.layui-nav-tree.arrow2 .layui-nav-more:before{content:"\e61a";position:absolute;right:-1px;top:-4px}.layui-nav-tree.arrow2 .layui-nav-itemed>a>.layui-nav-more{-ms-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg)}.layui-nav-tree.arrow3 .layui-nav-more{font-family:layui-icon!important;font-size:12px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;line-height:normal;border:0;margin:-5px 0 0 0;padding:0;width:10px;height:10px;top:50%;display:inline-block;-webkit-transition:all .3s ease;transition:all .3s ease}.layui-nav-tree.arrow3 .layui-nav-more:before{content:"\e654";position:absolute;top:-2px;left:-1px}.layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more{-ms-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more:before{content:'';width:8px;height:2px;background-color:rgba(255,255,255,.7);top:4px;left:1px;-ms-transform:rotate(45deg);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.layui-layout-admin .layui-body>.layui-tab{position:absolute;top:0;left:0;right:0;bottom:0;margin:0}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-content{position:absolute;left:0;right:0;bottom:0;top:40px;padding:0}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-content>.layui-tab-item{position:absolute;bottom:0;right:0;top:0;left:0;overflow:auto;-webkit-overflow-scrolling:touch;display:block;visibility:hidden;opacity:0;filter:Alpha(opacity=0)}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-content>.layui-tab-item.layui-show{visibility:visible;opacity:1;filter:Alpha(opacity=100)}.layui-layout-admin.admin-side-flexible .layui-body>.layui-tab>.layui-tab-content>.layui-tab-item{display:none}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title{height:40px;line-height:40px;padding:0 80px 0 40px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.1);position:absolute;top:0;left:0;right:0;border:0;overflow:hidden;-webkit-transition:none;transition:none;z-index:998}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li{min-width:auto;max-width:160px;line-height:40px;padding:0 30px 0 15px;border-right:1px solid #f6f6f6;overflow:hidden;text-overflow:ellipsis;vertical-align:top;-webkit-transition:background-color .2s;transition:background-color .2s}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this,.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:hover{background-color:#f6f6f6}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{height:2px;border:0;border-radius:0;background-color:#191a23}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:first-child{padding:0 15px}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li cite{font-style:normal}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title .layui-tab-bar{display:none}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close{width:16px;height:16px;line-height:16px;font-size:12px;border-radius:50%;position:absolute;top:12px;right:8px;-webkit-transition:background-color .2s,color .2s;transition:background-color .2s,color .2s}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:first-child .layui-tab-close{display:none}.admin-tabs-control{position:absolute;top:0;width:40px;height:40px;line-height:40px;background-color:#fff;border-left:1px solid #f6f6f6;-webkit-transition:background-color .2s;transition:background-color .2s;text-align:center;cursor:pointer;z-index:998}.admin-tabs-control:hover{background-color:#f6f6f6}.admin-tabs-control.layui-icon-prev{left:0;border-left:none;border-right:1px solid #f6f6f6}.admin-tabs-control.layui-icon-next{right:40px}.admin-tabs-control.layui-icon-down{right:0}.admin-tabs-control>.layui-nav,.admin-tabs-control>.layui-nav .layui-nav-item{position:absolute;top:0;left:0;padding:0;width:100%;height:100%;background:transparent}.admin-tabs-control>.layui-nav .layui-nav-child{right:0;top:40px;left:auto}.admin-tabs-control>.layui-nav .layui-nav-child a{color:#595959}.admin-tabs-control>.layui-nav .layui-nav-bar,.admin-tabs-control>.layui-nav .layui-nav-more{display:none}.layui-body-header{padding:0 20px;height:40px;line-height:40px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.1);box-sizing:border-box;position:absolute;left:0;right:0;z-index:998;display:none}.layui-body-header.show{display:block}.layui-body-header-title{padding-left:6px;border-left:4px solid #009688}.layui-body-header.show+div{position:absolute;left:0;right:0;top:40px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch}.hide-body-title .layui-body-header.show{display:none}.hide-body-title .layui-body-header.show+div{top:0}.layui-layout-admin .layui-body>.page-loading,.layui-layout-admin .layui-body>.layui-tab>.layui-tab-content>.layui-tab-item>.page-loading,.layui-layout-admin .layui-body>div>iframe[lay-id]+.page-loading{z-index:997}.layui-layer.layui-layer-adminRight{bottom:0;top:50px!important;border:none!important;box-shadow:1px 1px 50px rgba(0,0,0,.3)!important;overflow:auto}.layui-layer.layui-layer-adminRight0{bottom:0;top:0!important;border:none!important;box-shadow:1px 1px 50px rgba(0,0,0,.3)!important;overflow:auto}.layui-layer.layui-layer-adminRight>.layui-layer-content,.layui-layer.layui-layer-adminRight>.layui-layer-content>iframe{height:100%!important}.layui-layer.layui-layer-adminRight>.layui-layer-title+.layui-layer-content{position:absolute;top:43px;left:0;right:0;bottom:0;height:auto!important}.layui-anim-rl{-webkit-animation-name:layui-rl;animation-name:layui-rl}@-webkit-keyframes layui-rl{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes layui-rl{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}.layui-anim-lr,.layui-anim-rl.layer-anim-close{-webkit-animation-name:layui-lr;animation-name:layui-lr}@-webkit-keyframes layui-lr{from{-webkit-transform:translate3d(0,0,0);opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:1}}@keyframes layui-lr{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}.layui-layer.layui-layer-admin{border:none!important;box-shadow:1px 1px 50px rgba(0,0,0,.3)!important}.layui-layer.layui-layer-admin .layui-layer-title{color:#fff;height:50px;line-height:50px;background-color:#191a23;border:0}.layui-layer.layui-layer-admin .layui-layer-setwin{top:17px}.layui-layer.layui-layer-admin .layui-layer-setwin a{color:#fff;font-size:16px;font-style:normal;font-family:layui-icon!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-close1{background:0;margin-top:-1px}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-close1:before{content:"\1006"}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#ddd}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-max{font-size:14px;padding-top:1px;background:0}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-max:before{content:"\e622"}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-maxmin:before{content:"\e758"}.layui-layer.layui-layer-admin .layui-layer-btn{padding-bottom:15px}.layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#009688;background-color:#009688}.layui-layer.layui-layer-admin .layui-layer-btn a{height:34px;line-height:34px}.layui-layer-admin{max-width:100%}.layui-layer-iframe .layui-layer-content{overflow:auto;-webkit-overflow-scrolling:touch}@media screen and (max-width:768px){.layui-layer-admin{max-width:98%;max-width:-webkit-calc(100% - 30px);max-width:-moz-calc(100% - 30px);max-width:calc(100% - 30px);width:max-content;left:0!important;right:0!important;margin:auto!important;margin-bottom:15px!important}.layui-layer-admin[area]{max-width:100%;margin-bottom:0!important}}body .layui-layer-msg{border:0;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,0.1)}body .layui-layer-load{background:transparent}.page-loading{position:absolute;display:block;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:19891017;background-color:#fff}body>.page-loading{position:fixed;background-color:#f5f7f9}.layui-layout-admin>.layui-body>.layui-tab>.layui-tab-content>.layui-tab-item>.page-loading,.layui-layout-admin>.layui-body>.page-loading,.layui-layout-admin>.layui-body>div>iframe[lay-id]+.page-loading{background-color:#f5f7f9}.layui-layout-admin>.layui-body>.layui-body-header.show+div+.page-loading{top:40px;height:auto}.page-no-scroll{overflow-x:hidden!important;overflow-y:hidden!important;min-height:80px}.rubik-loader,.ball-loader,.signal-loader,.layui-loader{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ball-loader>span,.signal-loader>span{background-color:#4aca85;display:inline-block}.ball-loader>span:nth-child(1),.ball-loader.sm>span:nth-child(1),.signal-loader>span:nth-child(1),.signal-loader.sm>span:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.ball-loader>span:nth-child(2),.ball-loader.sm>span:nth-child(2),.signal-loader>span:nth-child(2),.signal-loader.sm>span:nth-child(2){-webkit-animation-delay:.1s;animation-delay:.1s}.ball-loader>span:nth-child(3),.ball-loader.sm>span:nth-child(3),.signal-loader>span:nth-child(3),.signal-loader.sm>span:nth-child(3){-webkit-animation-delay:.15s;animation-delay:.15s}.ball-loader>span:nth-child(4),.ball-loader.sm>span:nth-child(4),.signal-loader>span:nth-child(4),.signal-loader.sm>span:nth-child(4){-webkit-animation-delay:.2s;animation-delay:.2s}.rubik-loader{width:64px;height:64px;background-image:url(img/ic_loading.gif);background-repeat:no-repeat;background-position:center;background-size:contain}.rubik-loader.sm{width:50px;height:50px}.ball-loader>span{width:20px;height:20px;margin:0 3px;border-radius:50%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-animation:1s ball-load ease-in-out infinite;animation:ball-load 1s ease-in-out infinite}@-webkit-keyframes ball-load{0%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}100%{-webkit-transform:scale(0)}}@keyframes ball-load{0%{transform:scale(0)}50%{transform:scale(1)}100%{transform:scale(0)}}.ball-loader.sm>span{width:15px;height:15px;margin:0 2px}.signal-loader{width:50px;height:22px}.signal-loader>span{width:8px;height:0;position:absolute;bottom:0;left:0;margin:0;-webkit-animation:signal-load 1s infinite;animation:signal-load 1s infinite}.signal-loader>span:nth-child(2){left:14px}.signal-loader>span:nth-child(3){left:28px}.signal-loader>span:nth-child(4){left:42px}@-webkit-keyframes signal-load{0%{height:0}50%{height:22px}100%{height:0}}@keyframes signal-load{0%{height:0}50%{height:22px}100%{height:0}}.signal-loader.sm{width:32px;height:15px}.signal-loader.sm>span{width:5px;-webkit-animation:signal-load-sm 1s infinite;animation:signal-load-sm 1s infinite}.signal-loader.sm>span:nth-child(2){left:9px}.signal-loader.sm>span:nth-child(3){left:18px}.signal-loader.sm>span:nth-child(4){left:27px}@-webkit-keyframes signal-load-sm{0%{height:0}50%{height:15px}100%{height:0}}@keyframes signal-load-sm{0%{height:0}50%{height:15px}100%{height:0}}.layui-loader .layui-icon{font-size:36px;color:#bbb}.layui-loader.sm .layui-icon{font-size:30px}.layui-form.toolbar .layui-form-item,.layui-form.toolbar .layui-form-item .layui-inline>.layui-input-inline{margin-bottom:0}.layui-form.toolbar .layui-form-item .layui-inline{margin-bottom:10px}.toolbar+.layui-table,.layui-card-body>.layui-table,.toolbar+table+.layui-table-view,.layui-card-body>.layui-table-view,.toolbar+table+.ew-tree-table{margin:0}.mr0,.layui-form.toolbar .layui-form-item .layui-inline>.layui-input-inline{margin-right:0!important}.w-auto{width:auto!important}.model-form{padding:25px 30px 0 0}.model-form.no-padding{padding:0}.model-form .model-form-body{overflow-y:auto;padding:25px 30px 0 0;max-height:calc(100vh - 180px)}.model-form.no-padding .model-form-footer{padding-top:10px;padding-right:30px}.layui-form.model-form>.layui-form-item:last-child{margin-bottom:0;padding-bottom:20px}.layui-form-required:before{content:"*";display:inline-block;font-family:SimSun;margin-right:4px;font-size:14px;line-height:1;color:#ed4014}.layui-input,.layui-textarea{color:#595959}.layui-form-select .layui-input{padding-right:0}.layui-form-select-top .layui-form-select>dl{top:auto;bottom:42px}.ew-select-fixed .layui-form-selected dl{position:fixed;min-width:auto;bottom:auto;right:auto}body .layui-form-checked[lay-skin=primary] i,body .layui-form-checked[lay-skin=primary]:hover i{color:#fff}body .layui-form-checkbox[lay-skin=primary] span,body .layui-form-checkbox[lay-skin=primary]:hover span{background-color:transparent}body .layui-form-danger+.layui-form-select .layui-input,body .layui-input.layui-form-danger:focus,body .layui-textarea.layui-form-danger:focus{border-color:#ff5722!important}body .layui-laypage input.layui-input{height:30px;line-height:30px}body .layui-table-page .layui-laypage input.layui-input{height:26px;line-height:26px}body .layui-form-onswitch em{margin-left:3px;margin-right:18px}.layui-btn{-webkit-transition:background-color .2s;transition:background-color .2s}body .layui-btn.layui-btn-radius{border-radius:100px}.layui-btn-primary{color:#595959;border-color:#e6e6e6}.layui-btn-primary:hover{border-color:#bbb}.layui-btn-group .layui-btn-primary:hover{border-color:#e6e6e6}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #e6e6e6}body .layui-btn.layui-btn-disabled,body .layui-transfer-active .layui-btn.layui-btn-disabled{background-color:#fbfbfb!important;border-color:#e6e6e6!important;color:#c9c9c9!important}body .layui-btn.layui-btn-primary{background-color:#fff}body .layui-btn.layui-btn-normal{background-color:#1e9fff}body .layui-btn.layui-btn-warm{background-color:#ffb800}body .layui-btn.layui-btn-danger{background-color:#ff5722}.layui-btn-group>.layui-btn+.layui-btn{border-radius:0}.layui-btn-group>.layui-btn:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}body .layui-transfer-active .layui-btn{background-color:#5fb878!important;border-color:#5fb878!important;color:#fff!important}.btn-circle{width:50px;height:50px;line-height:50px;border-radius:50%;background:#009688;position:fixed;right:15px;bottom:15px;color:#fff;text-align:center;box-shadow:0 0 8px rgba(0,0,0,.2);cursor:pointer}.btn-circle:hover{color:#fff;opacity:.8}.btn-circle .layui-icon{font-size:24px}.icon-date,.date-icon{background-image:url(img/icon_date.png);background-repeat:no-repeat;background-position:right center;padding-right:28px}.icon-search{background-image:url(img/icon_search.png);background-repeat:no-repeat;background-position:right center;padding-right:26px}span.icon-text>.layui-icon,a.icon-text>.layui-icon,.layui-form-label.icon-text>.layui-icon{font-size:14px;margin:0 2px}.layui-btn.icon-btn{padding:0 10px}.layui-btn.layui-btn-sm.icon-btn{padding:0 6px}.bg-white,html.bg-white>body{background-color:white}[ew-href],[lay-tips]{cursor:pointer}.inline-block{display:inline-block}.pull-right{float:right}.pull-left{float:left}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary,.layui-link{color:#009688!important}.text-success{color:#5fb878!important}.text-warning{color:#ffb800!important}.text-danger{color:#ff5722!important}.text-info{color:#01aaed!important}.text-muted{color:#c2c2c2!important}.layui-text a:not(.layui-btn){color:#2d8cf0;cursor:pointer}.layui-text a:not(.layui-btn):hover{text-decoration:none}.ew-console-wrapper .layui-card{box-shadow:none;border-radius:4px}.layui-card-header{color:#595959}.lay-big-font{font-size:36px;line-height:36px;padding:5px 0 10px;overflow:hidden;white-space:nowrap;word-break:break-all;text-overflow:ellipsis}.no-scrollbar{overflow-x:hidden!important;overflow-y:hidden!important}input.layui-disabled,input.layui-disabled:hover,textarea.layui-disabled,textarea.layui-disabled:hover{color:#595959!important;background-color:#f6f6f6}.layui-input::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{color:#ccc}.layui-input::-moz-placeholder,.layui-textarea::-moz-placeholder{color:#ccc}.layui-input::-ms-input-placeholder,.layui-textarea::-ms-input-placeholder{color:#ccc}.dropdown-menu{display:inline-block}.dropdown-menu .dropdown-menu-nav{display:none}.dropdown-menu+.dropdown-menu,.layui-btn+.dropdown-menu,.dropdown-menu+.layui-btn{margin-left:10px}::-webkit-scrollbar{width:10px;height:10px;background:transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:5px;background-color:#c1c1c1}::-webkit-scrollbar-thumb:hover{background-color:#a8a8a8}.mini-bar::-webkit-scrollbar{width:6px;height:6px}.mini-bar::-webkit-scrollbar-thumb{border-radius:3px}@media screen and (max-width:768px){::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{border-radius:0}}#ew-map-select-map{height:450px}#ew-map-select-pois{height:450px;overflow-x:hidden;overflow-y:auto}.ew-map-select-search-list-item{padding:10px 30px 10px 15px;border-bottom:1px solid #e8e8e8;cursor:pointer;position:relative}.ew-map-select-search-list-item:hover{background:#f2f2f2}.ew-map-select-search-list-item:last-child{border-bottom:0}.ew-map-select-search-list-item .ew-map-select-search-list-item-title{font-size:14px;color:#262626}.ew-map-select-search-list-item .ew-map-select-search-list-item-address{font-size:12px;color:#595959;padding-top:5px}.ew-map-select-search-list-item-icon-ok{position:absolute;right:15px;top:50%;transform:translateY(-50%)}.ew-map-select-search-list-item-icon-ok .layui-icon{color:#3b74ff}.ew-map-select-tool{padding:5px 15px;box-shadow:0 1px 0 0 rgba(0,0,0,.05)}#ew-map-select-center-img{position:absolute;bottom:50%;left:50%;width:26px;margin-left:-13px}#ew-map-select-center-img2{position:absolute;left:50%;top:50%;font-size:12px;display:inline-block;margin-left:-6px;margin-top:-7px;color:#3b74ff}.bounceInDown{animation:bounceInDown 500ms;animation-direction:alternate;-webkit-animation:bounceInDown 500ms;-webkit-animation-direction:alternate}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%,to{-webkit-transform:translate3d(0,0,0)}25%{-webkit-transform:translate3d(0,-30px,0)}50%{-webkit-transform:translate3d(0,-15px,0)}75%{-webkit-transform:translate3d(0,-4px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%,to{transform:translate3d(0,0,0)}25%{transform:translate3d(0,-10px,0)}50%{transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,-10px,0)}}#ew-map-select-tips{position:absolute;z-index:999;background:#fff;max-height:430px;overflow:auto;top:48px;left:56px;width:280px;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #d2d2d2}#ew-map-select-tips .ew-map-select-search-list-item{padding:10px 15px 10px 35px}.ew-map-select-search-list-item-icon-search{position:absolute;left:10px;top:50%;transform:translateY(-50%)}.ew-map-select-search-list-item-icon-search .layui-icon{color:#8c8c8c}.table-tool-mini .layui-table-view{position:relative}.table-tool-mini .layui-table-tool{position:absolute;min-height:unset;height:auto;padding:3px 10px;width:auto;top:-38px;right:-1px;border-top-right-radius:8px;border-top-left-radius:8px;border:1px solid #e6e6e6;border-bottom:0}.table-tool-mini .layui-table-tool .layui-table-tool-temp{padding-right:0;display:inline-block}.table-tool-mini .layui-table-tool .layui-table-tool-self{position:static;display:inline-block}.table-tool-mini .layui-table-tool .layui-table-tool-self .layui-inline[lay-event]:first-child{margin:0}.table-tool-mini.full-table .layui-table-tool{top:-35px;height:1px;padding:0 10px;background:transparent;border:0}.table-tool-mini.full-table .layui-table-tool:before{content:"";position:absolute;top:-3px;right:0;left:0;height:36px;background-color:#f2f2f2;border-top-right-radius:8px;border-top-left-radius:8px;border:1px solid #e6e6e6;border-bottom:0}@media screen and (max-width:768px){.layui-laydate-range{left:0!important;top:0!important;right:0!important;margin:10px auto!important;max-width:95%}.layui-laydate-range .layui-laydate-main,.layui-laydate-range .layui-laydate-content table{width:100%}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:inline-block!important}.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-top:1px solid #e2e2e2}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:none!important}.layui-laydate-range .laydate-time-list ol li{padding-left:0!important;text-align:center}.layui-laydate-range .laydate-time-list ol{overflow:auto!important}}.layui-tree-spread>div>div>span>.layui-tree-iconArrow:after{border-color:#c0c4cc transparent transparent transparent;top:6px;left:0}.layui-tree .layui-tree-iconArrow:after{transition:none}.ew-tb-cell-ck .layui-form-checkbox[lay-skin=primary]{padding-left:22px}.ew-tb-cell-ck .layui-form-checkbox[lay-skin=primary] span{padding-right:5px}.ew-field-group>.layui-elem-field{border-bottom:0;margin:0}.ew-field-group>.ew-field-box{border:1px solid #e6e6e6;padding:10px 15px;border-top:0}body .layui-elem-quote.layui-quote-nm{border-color:#e6e6e6}.layui-card>.layui-tab-brief>.layui-tab-title li{padding:0 5px;margin:0 10px;line-height:43px;height:43px;transition:color .2s;-webkit-transition:color .2s}.layui-card>.layui-tab-brief>.layui-tab-title li:after{height:43px}.layui-card>.layui-tab-brief>.layui-tab-title{border-bottom-color:#f6f6f6;height:42px;transition:none;-webkit-transition:none}.layui-card>.layui-tab-brief>.layui-tab-content{padding:10px 15px}.layui-tab.layui-tab-vertical{position:relative}.layui-tab.layui-tab-vertical:after{content:"";clear:both;display:block}.layui-tab.layui-tab-vertical>.layui-tab-title{width:130px;height:auto;border:0;border-right:1px solid #e9e9e9;box-sizing:border-box;padding:10px 0;float:left}.layui-tab.layui-tab-vertical>.layui-tab-title>li{display:block;margin-right:-1px;border-right:2px solid transparent;white-space:normal;line-height:normal;padding:10px 20px;text-align:right}.layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-right:2px solid #5fb878;color:#5fb878}.layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this:after{display:none}.layui-tab.layui-tab-vertical>.layui-tab-title>li>.layui-icon{font-size:14px;margin-right:5px}.layui-tab.layui-tab-vertical>.layui-tab-content{margin-left:130px}.layui-tab.layui-tab-vertical.layui-tab-vertical-right>.layui-tab-title{float:right;border-right:0;border-left:1px solid #e9e9e9}.layui-tab.layui-tab-vertical.layui-tab-vertical-right>.layui-tab-content{margin-left:0;margin-right:130px}.layui-tab.layui-tab-vertical.layui-tab-vertical-right>.layui-tab-title>li{text-align:left;border-left:2px solid transparent;border-right:0}.layui-tab.layui-tab-vertical.layui-tab-vertical-right>.layui-tab-title>li.layui-this{border-left:2px solid #5fb878}.layui-tab.layui-tab-vertical.layui-tab-vertical-full>.layui-tab-title{position:absolute;top:0;left:0;right:auto;min-height:100%}.layui-tab.layui-tab-vertical.layui-tab-vertical-right.layui-tab-vertical-full>.layui-tab-title{right:0;left:auto}.ew-btn-loading{opacity:.8;pointer-events:none;font-size:0!important}.ew-btn-loading *{display:none!important}.ew-btn-loading>.ew-btn-loading-text{font-size:14px!important;display:inline-block!important}.ew-btn-loading.layui-btn-sm>.ew-btn-loading-text,.ew-btn-loading.layui-btn-xs>.ew-btn-loading-text{font-size:12px!important}.ew-btn-loading.layui-btn-lg>.ew-btn-loading-text{font-size:16px!important}.ew-btn-loading>.ew-btn-loading-text *{display:inline-block!important}.form-search-expand,.form-search-expand:hover{padding:0!important;color:#2d8cf0!important;border:none!important;box-shadow:none!important;background-color:transparent!important}.form-search-expand .layui-icon{font-size:12px!important;font-weight:600!important}.form-search-show-expand{display:none!important}.layui-badge-green{color:#52c41a;background:#f6ffed;border:1px solid #b7eb8f}.layui-badge-blue{color:#1890ff;background:#e6f7ff;border:1px solid #91d5ff}.layui-badge-red{color:#f5222d;background:#fff1f0;border:1px solid #ffa39e}.layui-badge-yellow{color:#faad14;background:#fffbe6;border:1px solid #ffe58f}.layui-badge-gray{color:#8c8c8c;background:#fafafa;border:1px solid #ccc}.layui-badge{height:20px;line-height:19px;box-sizing:border-box}.layui-badge-list .layui-badge{height:23px;line-height:22px;margin:0 6px 8px 0}.layui-badge-list .layui-badge.layui-bg-gray{border:1px solid #ccc;background-color:#fafafa!important}.layui-card .layui-card-header .layui-badge.pull-right{top:50%;margin-top:-10px}#ew-lock-screen-group{position:fixed;top:0;left:0;right:0;bottom:0;z-index:19891099}.ios-iframe-body{position:absolute;top:0;left:0;right:0;bottom:0}xm-select>.xm-body{margin-left:-2px}xm-select>.xm-body .xm-option{background-color:transparent!important}xm-select>.xm-body .xm-option.hide-icon.selected{background-color:#5fb878!important}xm-select>.xm-body .xm-option:hover{background-color:#f2f2f2!important}.xm-body .xm-tree{min-width:200px}.xm-body .xm-tree .xm-option-content{padding-left:6px}xm-select{border-color:#e6e6e6!important}xm-select:hover{border-color:#d2d2d2!important}xm-select[style="border-color: rgb(229, 77, 66);"]{border-color:#e54d42!important}body .ew-xmselect-tree xm-select .xm-body .xm-option .xm-option-icon{position:absolute;left:30px;top:0;right:0;bottom:0;width:auto;height:auto;border:none!important;z-index:1}body .ew-xmselect-tree xm-select .xm-body .xm-option .xm-option-icon:before{display:none}body .ew-xmselect-tree xm-select .xm-body .xm-option.selected{background-color:#f2f2f2!important}body .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#5fb878!important}.theme-blue .layui-layout-admin .layui-header .layui-logo{color:#fff;box-shadow:none;background-color:transparent}.theme-blue .layui-layout-admin .layui-header{background-color:#3c8dbc}.theme-blue .layui-layout-admin .layui-header a{color:#fff}.theme-blue .layui-layout-admin .layui-header a:hover{color:#fff}.theme-blue .layui-layout-admin .layui-header .layui-nav-child a{color:#595959}.theme-blue .layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#eee transparent transparent}.theme-blue .layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #eee}.theme-blue .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-blue .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fff}.theme-blue .layui-layout-admin .layui-side{background-color:#222d32}.theme-blue .layui-side .layui-nav .layui-nav-item a{color:#b8c7ce}.theme-blue .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-blue .layui-nav-tree .layui-this>a,.theme-blue .layui-nav-tree .layui-this>a:hover{color:#fff;background-color:#3c8dbc}.theme-blue .layui-nav-tree>.layui-nav-item>a:before{background-color:#3c8dbc}.theme-blue .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#222d32!important}.theme-blue .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#3c8dbc;top:38px}.theme-blue .layui-body-header-title{border-left-color:#3c8dbc}.theme-blue .layui-layer.layui-layer-admin .layui-layer-title{background-color:#3c8dbc}.theme-blue .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#3c8dbc;background-color:#3c8dbc}.theme-blue .ball-loader>span,.theme-blue .signal-loader>span{background-color:#3c8dbc}.theme-blue .btn-circle{background:#3c8dbc}.theme-blue .more-theme-item:hover,.theme-blue .more-theme-item.active{border-color:#3c8dbc}.theme-blue .text-primary,.theme-blue .layui-link{color:#3c8dbc!important}.theme-blue .layui-btn{background-color:#3c8dbc}.theme-blue .layui-form-onswitch{border-color:#3c8dbc;background-color:#3c8dbc}.theme-blue .layui-form-radio>i:hover,.theme-blue .layui-form-radioed>i,.theme-blue .layui-form-checked i,.theme-blue .layui-form-checked:hover i{color:#3c8dbc}.theme-blue .layui-form-checked[lay-skin=primary] i,.theme-blue .layui-form-checked span,.theme-blue .layui-form-checked:hover span{border-color:#3c8dbc!important;background-color:#3c8dbc}.theme-blue .layui-form-checked[lay-skin=primary] i:hover,.theme-blue .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#3c8dbc!important}.theme-blue .layui-form-select dl dd.layui-this{background-color:#3c8dbc}.theme-blue .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#3c8dbc}.theme-blue .layui-laypage input:focus,.theme-blue .layui-laypage select:focus{border-color:#3c8dbc!important}.theme-blue .layui-laypage a:hover{color:#3c8dbc}.theme-blue .layui-tab-brief>.layui-tab-title .layui-this{color:#3c8dbc}.theme-blue .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-blue .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#3c8dbc!important}.theme-blue .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#3c8dbc;color:#3c8dbc}.theme-blue .layui-breadcrumb a:hover{color:#3c8dbc!important}.theme-blue .layui-laydate-footer span:hover,.theme-blue .layui-laydate-header i:hover,.theme-blue .layui-laydate-header span:hover{color:#3c8dbc}.theme-blue .layui-laydate .layui-this{background-color:#3c8dbc!important}.theme-blue .layui-laydate-content td.laydate-selected{background-color:rgba(60,141,188,.1)}.theme-blue .laydate-selected:hover{background-color:rgba(60,141,188,.1)!important}.theme-blue .layui-timeline-axis{color:#3c8dbc}.theme-blue .layui-transfer-active .layui-btn{background-color:#3c8dbc!important;border-color:#3c8dbc!important}.theme-blue .layui-progress-bar{background-color:#3c8dbc}.theme-blue .layui-slider-bar{background-color:#3c8dbc!important}.theme-blue .layui-slider-wrap-btn{border-color:#3c8dbc!important}.theme-blue .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#3c8dbc}.theme-blue .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-blue .layui-elem-quote{border-color:#3c8dbc}.theme-blue .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-blue .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#3c8dbc}.theme-blue .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#9dc6dd}.theme-blue .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#3c8dbc}.theme-blue .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#9dc6dd!important}.theme-blue .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#3c8dbc!important}.theme-blue .ew-cascader-dropdown-list-item.active,.theme-blue .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#3c8dbc}.theme-blue div.tagsinput span.tag{background:#3c8dbc}.theme-blue xm-select .xm-body .xm-option .xm-option-icon{border-color:#3c8dbc!important}.theme-blue xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-blue xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-blue .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#3c8dbc!important}.theme-blue xm-select .xm-label .xm-label-block,.theme-blue xm-select .xm-body .xm-option.hide-icon.selected{background-color:#3c8dbc!important}.theme-blue .city-select a.active{color:#fff!important;background-color:#3c8dbc!important}.theme-blue .city-select a:hover,.theme-blue .city-select a:focus{background-color:rgba(60,141,188,.1);color:#3c8dbc}.theme-blue .city-picker-span>.title>span:hover{background-color:rgba(60,141,188,.1)}.theme-blue .city-select-tab>a.active{color:#3c8dbc}.theme-green .layui-layout-admin .layui-header .layui-logo{color:#fff;box-shadow:none;background-color:transparent}.theme-green .layui-layout-admin .layui-header{background-color:#00a65a}.theme-green .layui-layout-admin .layui-header a{color:#fff}.theme-green .layui-layout-admin .layui-header a:hover{color:#fff}.theme-green .layui-layout-admin .layui-header .layui-nav-child a{color:#595959}.theme-green .layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#eee transparent transparent}.theme-green .layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #eee}.theme-green .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-green .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fff}.theme-green .layui-layout-admin .layui-side{background-color:#222d32}.theme-green .layui-side .layui-nav .layui-nav-item a{color:#b8c7ce}.theme-green .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-green .layui-nav-tree .layui-this>a,.theme-green .layui-nav-tree .layui-this>a:hover{color:#fff;background-color:#00a65a}.theme-green .layui-nav-tree>.layui-nav-item>a:before{background-color:#00a65a}.theme-green .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#222d32!important}.theme-green .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#00a65a;top:38px}.theme-green .layui-body-header-title{border-left-color:#00a65a}.theme-green .layui-layer.layui-layer-admin .layui-layer-title{background-color:#00a65a}.theme-green .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#00a65a;background-color:#00a65a}.theme-green .more-theme-item:hover,.theme-green .more-theme-item.active{border-color:#00a65a}.theme-green .btn-circle{background:#00a65a}.theme-green .ball-loader>span,.theme-green .signal-loader>span{background-color:#00a65a}.theme-green .text-primary,.theme-green .layui-link{color:#00a65a!important}.theme-green .layui-btn{background-color:#00a65a}.theme-green .layui-form-onswitch{border-color:#00a65a;background-color:#00a65a}.theme-green .layui-form-radio>i:hover,.theme-green .layui-form-radioed>i,.theme-green .layui-form-checked i,.theme-green .layui-form-checked:hover i{color:#00a65a}.theme-green .layui-form-checked[lay-skin=primary] i,.theme-green .layui-form-checked span,.theme-green .layui-form-checked:hover span{border-color:#00a65a!important;background-color:#00a65a}.theme-green .layui-form-checked[lay-skin=primary] i:hover,.theme-green .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#00a65a!important}.theme-green .layui-form-select dl dd.layui-this{background-color:#00a65a}.theme-green .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#00a65a}.theme-green .layui-laypage input:focus,.theme-green .layui-laypage select:focus{border-color:#00a65a!important}.theme-green .layui-laypage a:hover{color:#00a65a}.theme-green .layui-tab-brief>.layui-tab-title .layui-this{color:#00a65a}.theme-green .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-green .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#00a65a!important}.theme-green .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#00a65a;color:#00a65a}.theme-green .layui-breadcrumb a:hover{color:#00a65a!important}.theme-green .layui-laydate-footer span:hover,.theme-green .layui-laydate-header i:hover,.theme-green .layui-laydate-header span:hover{color:#00a65a}.theme-green .layui-laydate .layui-this{background-color:#00a65a!important}.theme-green .layui-laydate-content td.laydate-selected{background-color:rgba(0,166,90,.1)}.theme-green .laydate-selected:hover{background-color:rgba(0,166,90,.1)!important}.theme-green .layui-timeline-axis{color:#00a65a}.theme-green .layui-transfer-active .layui-btn{background-color:#00a65a!important;border-color:#00a65a!important}.theme-green .layui-progress-bar{background-color:#00a65a}.theme-green .layui-slider-bar{background-color:#00a65a!important}.theme-green .layui-slider-wrap-btn{border-color:#00a65a!important}.theme-green .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#00a65a}.theme-green .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-green .layui-elem-quote{border-color:#00a65a}.theme-green .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-green .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#00a65a}.theme-green .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#7fd2ac}.theme-green .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#00a65a}.theme-green .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#7fd2ac!important}.theme-green .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#00a65a!important}.theme-green .ew-cascader-dropdown-list-item.active,.theme-green .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#00a65a}.theme-green div.tagsinput span.tag{background:#00a65a}.theme-green xm-select .xm-body .xm-option .xm-option-icon{border-color:#00a65a!important}.theme-green xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-green xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-green .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#00a65a!important}.theme-green xm-select .xm-label .xm-label-block,.theme-green xm-select .xm-body .xm-option.hide-icon.selected{background-color:#00a65a!important}.theme-green .city-select a.active{color:#fff!important;background-color:#00a65a!important}.theme-green .city-select a:hover,.theme-green .city-select a:focus{background-color:rgba(0,166,90,.1);color:#00a65a}.theme-green .city-picker-span>.title>span:hover{background-color:rgba(0,166,90,.1)}.theme-green .city-select-tab>a.active{color:#00a65a}.theme-purple .layui-layout-admin .layui-header .layui-logo{color:#fff;box-shadow:none;background-color:transparent}.theme-purple .layui-layout-admin .layui-header{background-color:#722ed1}.theme-purple .layui-layout-admin .layui-header a{color:#fff}.theme-purple .layui-layout-admin .layui-header a:hover{color:#fff}.theme-purple .layui-layout-admin .layui-header .layui-nav-child a{color:#595959}.theme-purple .layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#eee transparent transparent}.theme-purple .layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #eee}.theme-purple .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-purple .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fff}.theme-purple .layui-layout-admin .layui-side{background-color:#222d32}.theme-purple .layui-side .layui-nav .layui-nav-item a{color:#b8c7ce}.theme-purple .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-purple .layui-nav-tree .layui-this>a,.theme-purple .layui-nav-tree .layui-this>a:hover{color:#fff;background-color:#722ed1}.theme-purple .layui-nav-tree>.layui-nav-item>a:before{background-color:#722ed1}.theme-purple .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#222d32!important}.theme-purple .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#722ed1;top:38px}.theme-purple .layui-body-header-title{border-left-color:#722ed1}.theme-purple .layui-layer.layui-layer-admin .layui-layer-title{background-color:#722ed1}.theme-purple .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#722ed1;background-color:#722ed1}.theme-purple .more-theme-item:hover,.theme-purple .more-theme-item.active{border-color:#722ed1}.theme-purple .btn-circle{background:#722ed1}.theme-purple .ball-loader>span,.theme-purple .signal-loader>span{background-color:#722ed1}.theme-purple .text-primary,.theme-purple .layui-link{color:#722ed1!important}.theme-purple .layui-btn{background-color:#722ed1}.theme-purple .layui-form-onswitch{border-color:#722ed1;background-color:#722ed1}.theme-purple .layui-form-radio>i:hover,.theme-purple .layui-form-radioed>i,.theme-purple .layui-form-checked i,.theme-purple .layui-form-checked:hover i{color:#722ed1}.theme-purple .layui-form-checked[lay-skin=primary] i,.theme-purple .layui-form-checked span,.theme-purple .layui-form-checked:hover span{border-color:#722ed1!important;background-color:#722ed1}.theme-purple .layui-form-checked[lay-skin=primary] i:hover,.theme-purple .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#722ed1!important}.theme-purple .layui-form-select dl dd.layui-this{background-color:#722ed1}.theme-purple .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#722ed1}.theme-purple .layui-laypage input:focus,.theme-purple .layui-laypage select:focus{border-color:#722ed1!important}.theme-purple .layui-laypage a:hover{color:#722ed1}.theme-purple .layui-tab-brief>.layui-tab-title .layui-this{color:#722ed1}.theme-purple .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-purple .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#722ed1!important}.theme-purple .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#722ed1;color:#722ed1}.theme-purple .layui-breadcrumb a:hover{color:#722ed1!important}.theme-purple .layui-laydate-footer span:hover,.theme-purple .layui-laydate-header i:hover,.theme-purple .layui-laydate-header span:hover{color:#722ed1}.theme-purple .layui-laydate .layui-this{background-color:#722ed1!important}.theme-purple .layui-laydate-content td.laydate-selected{background-color:rgba(114,46,209,.1)}.theme-purple .laydate-selected:hover{background-color:rgba(114,46,209,.1)!important}.theme-purple .layui-timeline-axis{color:#722ed1}.theme-purple .layui-transfer-active .layui-btn{background-color:#722ed1!important;border-color:#722ed1!important}.theme-purple .layui-progress-bar{background-color:#722ed1}.theme-purple .layui-slider-bar{background-color:#722ed1!important}.theme-purple .layui-slider-wrap-btn{border-color:#722ed1!important}.theme-purple .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#722ed1}.theme-purple .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-purple .layui-elem-quote{border-color:#722ed1}.theme-purple .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-purple .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#722ed1}.theme-purple .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#b896e8}.theme-purple .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#722ed1}.theme-purple .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#b896e8!important}.theme-purple .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#722ed1!important}.theme-purple .ew-cascader-dropdown-list-item.active,.theme-purple .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#722ed1}.theme-purple div.tagsinput span.tag{background:#722ed1}.theme-purple xm-select .xm-body .xm-option .xm-option-icon{border-color:#722ed1!important}.theme-purple xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-purple xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-purple .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#722ed1!important}.theme-purple xm-select .xm-label .xm-label-block,.theme-purple xm-select .xm-body .xm-option.hide-icon.selected{background-color:#722ed1!important}.theme-purple .city-select a.active{color:#fff!important;background-color:#722ed1!important}.theme-purple .city-select a:hover,.theme-purple .city-select a:focus{background-color:rgba(114,46,209,.1);color:#722ed1}.theme-purple .city-picker-span>.title>span:hover{background-color:rgba(114,46,209,.1)}.theme-purple .city-select-tab>a.active{color:#722ed1}.theme-red .layui-layout-admin .layui-header .layui-logo{color:#fff;box-shadow:none;background-color:transparent}.theme-red .layui-layout-admin .layui-header{background-color:#dd4b39}.theme-red .layui-layout-admin .layui-header a{color:#fff}.theme-red .layui-layout-admin .layui-header a:hover{color:#fff}.theme-red .layui-layout-admin .layui-header .layui-nav-child a{color:#595959}.theme-red .layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#eee transparent transparent}.theme-red .layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #eee}.theme-red .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-red .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fff}.theme-red .layui-layout-admin .layui-side{background-color:#28333e}.theme-red .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-red .layui-nav-tree .layui-this>a,.theme-red .layui-nav-tree .layui-this>a:hover{background-color:#dd4b39}.theme-red .layui-nav-tree>.layui-nav-item>a:before{background-color:#dd4b39}.theme-red .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#28333e!important}.theme-red .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#dd4b39;top:38px}.theme-red .layui-body-header-title{border-left-color:#dd4b39}.theme-red .layui-layer.layui-layer-admin .layui-layer-title{background-color:#dd4b39}.theme-red .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#dd4b39;background-color:#dd4b39}.theme-red .more-theme-item:hover,.theme-red .more-theme-item.active{border-color:#dd4b39}.theme-red .btn-circle{background:#dd4b39}.theme-red .ball-loader>span,.theme-red .signal-loader>span{background-color:#dd4b39}.theme-red .text-primary,.theme-red .layui-link{color:#dd4b39!important}.theme-red .layui-btn{background-color:#dd4b39}.theme-red .layui-form-onswitch{border-color:#dd4b39;background-color:#dd4b39}.theme-red .layui-form-radio>i:hover,.theme-red .layui-form-radioed>i,.theme-red .layui-form-checked i,.theme-red .layui-form-checked:hover i{color:#dd4b39}.theme-red .layui-form-checked[lay-skin=primary] i,.theme-red .layui-form-checked span,.theme-red .layui-form-checked:hover span{border-color:#dd4b39!important;background-color:#dd4b39}.theme-red .layui-form-checked[lay-skin=primary] i:hover,.theme-red .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#dd4b39!important}.theme-red .layui-form-select dl dd.layui-this{background-color:#dd4b39}.theme-red .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#dd4b39}.theme-red .layui-laypage input:focus,.theme-red .layui-laypage select:focus{border-color:#dd4b39!important}.theme-red .layui-laypage a:hover{color:#dd4b39}.theme-red .layui-tab-brief>.layui-tab-title .layui-this{color:#dd4b39}.theme-red .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-red .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#dd4b39!important}.theme-red .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#dd4b39;color:#dd4b39}.theme-red .layui-breadcrumb a:hover{color:#dd4b39!important}.theme-red .layui-laydate-footer span:hover,.theme-red .layui-laydate-header i:hover,.theme-red .layui-laydate-header span:hover{color:#dd4b39}.theme-red .layui-laydate .layui-this{background-color:#dd4b39!important}.theme-red .layui-laydate-content td.laydate-selected{background-color:rgba(221,75,57,.1)}.theme-red .laydate-selected:hover{background-color:rgba(221,75,57,.1)!important}.theme-red .layui-timeline-axis{color:#dd4b39}.theme-red .layui-transfer-active .layui-btn{background-color:#dd4b39!important;border-color:#dd4b39!important}.theme-red .layui-progress-bar{background-color:#dd4b39}.theme-red .layui-slider-bar{background-color:#dd4b39!important}.theme-red .layui-slider-wrap-btn{border-color:#dd4b39!important}.theme-red .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#dd4b39}.theme-red .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-red .layui-elem-quote{border-color:#dd4b39}.theme-red .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-red .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#dd4b39}.theme-red .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#eea39a}.theme-red .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#dd4b39}.theme-red .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#eea39a!important}.theme-red .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#dd4b39!important}.theme-red .ew-cascader-dropdown-list-item.active,.theme-red .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#dd4b39}.theme-red div.tagsinput span.tag{background:#dd4b39}.theme-red xm-select .xm-body .xm-option .xm-option-icon{border-color:#dd4b39!important}.theme-red xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-red xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-red .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#dd4b39!important}.theme-red xm-select .xm-label .xm-label-block,.theme-red xm-select .xm-body .xm-option.hide-icon.selected{background-color:#dd4b39!important}.theme-red .city-select a.active{color:#fff!important;background-color:#dd4b39!important}.theme-red .city-select a:hover,.theme-red .city-select a:focus{background-color:rgba(221,75,57,.1);color:#dd4b39}.theme-red .city-picker-span>.title>span:hover{background-color:rgba(221,75,57,.1)}.theme-red .city-select-tab>a.active{color:#dd4b39}.theme-cyan .layui-layout-admin .layui-header .layui-logo{background-color:#001529}.theme-cyan .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-cyan .layui-layout-admin .layui-header .layui-nav-bar{background-color:#001529}.theme-cyan .layui-layout-admin .layui-side{background-color:#001529}.theme-cyan .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-cyan .layui-nav-tree .layui-this>a,.theme-cyan .layui-nav-tree .layui-this>a:hover{background-color:#1890ff}.theme-cyan .layui-nav-tree>.layui-nav-item>a:before{background-color:#1890ff}.theme-cyan .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#001529!important}.theme-cyan .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#001529}.theme-cyan .layui-body-header-title{border-left-color:#1890ff}.theme-cyan .layui-layer.layui-layer-admin{border-radius:4px}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-title{color:#333;font-size:16px;padding-left:23px;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f1f1f1}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-setwin a{color:#8c8c8c;font-weight:600}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#8c8c8c}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-btn a{height:32px;line-height:32px;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#1890ff;background-color:#1890ff}.theme-cyan .more-theme-item:hover,.theme-cyan .more-theme-item.active{border-color:#1890ff}.theme-cyan .btn-circle{background:#1890ff}.theme-cyan .ball-loader>span,.theme-cyan .signal-loader>span{background-color:#1890ff}.theme-cyan .text-primary,.theme-cyan .layui-link{color:#1890ff!important}.theme-cyan .layui-btn{height:36px;line-height:36px;border-radius:4px;background-color:#1890ff;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-cyan .layui-btn-lg{height:42px;line-height:42px}.theme-cyan .layui-btn-sm{height:28px;line-height:28px}.theme-cyan .layui-btn-xs{height:22px;line-height:22px}.theme-cyan .layui-input,.theme-cyan .layui-select,.theme-cyan .layui-textarea,.theme-cyan xm-select{height:36px;border-radius:4px}.theme-cyan .layui-input:focus,.theme-cyan .layui-textarea:focus,.theme-cyan xm-select:hover{border-color:#40a9ff!important}.theme-cyan .layui-form-label,.theme-cyan .layui-form-mid{padding-top:8px;padding-bottom:8px}.theme-cyan .layui-input-block{min-height:36px}.theme-cyan .layui-form-radio{margin-top:4px}.theme-cyan .layui-form-onswitch{border-color:#1890ff;background-color:#1890ff}.theme-cyan .layui-form-radio>i:hover,.theme-cyan .layui-form-radioed>i,.theme-cyan .layui-form-checked i,.theme-cyan .layui-form-checked:hover i{color:#1890ff}.theme-cyan .layui-form-checked[lay-skin=primary] i,.theme-cyan .layui-form-checked span,.theme-cyan .layui-form-checked:hover span{border-color:#1890ff!important;background-color:#1890ff}.theme-cyan .layui-form-checked[lay-skin=primary] i:hover,.theme-cyan .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#1890ff!important}.theme-cyan .layui-form-select dl dd.layui-this{background-color:#1890ff}.theme-cyan .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#1890ff}.theme-cyan .layui-laypage input:focus,.theme-cyan .layui-laypage select:focus{border-color:#1890ff!important}.theme-cyan .layui-laypage a:hover{color:#1890ff}.theme-cyan .layui-tab-brief>.layui-tab-title .layui-this{color:#1890ff}.theme-cyan .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-cyan .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#1890ff!important}.theme-cyan .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#2d8cf0;color:#2d8cf0}.theme-cyan .layui-breadcrumb a:hover{color:#1890ff!important}.theme-cyan .layui-laydate-footer span:hover,.theme-cyan .layui-laydate-header i:hover,.theme-cyan .layui-laydate-header span:hover{color:#1890ff}.theme-cyan .layui-laydate .layui-this{background-color:#1890ff!important}.theme-cyan .layui-laydate-content td.laydate-selected{background-color:rgba(24,144,255,.1)}.theme-cyan .laydate-selected:hover{background-color:rgba(24,144,255,.1)!important}.theme-cyan .layui-timeline-axis{color:#1890ff}.theme-cyan .layui-transfer-active .layui-btn{background-color:#1890ff!important;border-color:#1890ff!important}.theme-cyan .layui-progress-bar{background-color:#1890ff}.theme-cyan .layui-slider-bar{background-color:#1890ff!important}.theme-cyan .layui-slider-wrap-btn{border-color:#1890ff!important}.theme-cyan .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#1890ff}.theme-cyan .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-cyan .layui-elem-quote{border-color:#1890ff}.theme-cyan .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-cyan .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#1890ff}.theme-cyan .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#89c6ff}.theme-cyan .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#1890ff}.theme-cyan .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#89c6ff!important}.theme-cyan .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#1890ff!important}.theme-cyan .ew-cascader-dropdown-list-item.active,.theme-cyan .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#1890ff}.theme-cyan div.tagsinput span.tag{background:#1890ff}.theme-cyan xm-select .xm-body .xm-option .xm-option-icon{border-color:#1890ff!important}.theme-cyan xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-cyan xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-cyan .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#1890ff!important}.theme-cyan xm-select .xm-label .xm-label-block,.theme-cyan xm-select .xm-body .xm-option.hide-icon.selected{background-color:#1890ff!important}.theme-cyan .city-select a.active{color:#fff!important;background-color:#1890ff!important}.theme-cyan .city-select a:hover,.theme-cyan .city-select a:focus{background-color:#f0faff;color:#1890ff}.theme-cyan .city-picker-span>.title>span:hover{background-color:#f0faff}.theme-cyan .city-select-tab>a.active{color:#1890ff}.theme-white .layui-layout-admin .layui-header .layui-logo{color:#262626;background-color:transparent;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-white .layui-layout-admin .layui-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-white .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-white .layui-layout-admin .layui-header .layui-nav-bar{background-color:#2d8cf0}.theme-white .layui-layout-admin .layui-side{background-color:#fff;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-white .layui-side .layui-nav .layui-nav-item a{color:#595959}.theme-white .layui-side .layui-nav .layui-nav-item a:hover{color:#2d8cf0}.theme-white .layui-side .layui-nav-itemed>a,.theme-white .layui-side .layui-nav-tree .layui-nav-title a,.theme-white .layui-side .layui-nav-tree .layui-nav-title a:hover{color:#595959!important}.theme-white .layui-side .layui-nav-itemed>a:hover{color:#2d8cf0!important}.theme-white .layui-side .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-white .layui-side .layui-nav-tree .layui-this>a,.theme-white .layui-side .layui-nav-tree .layui-this>a:hover{color:#2d8cf0;background:#f0faff;border-right:2px solid #2d8cf0}.theme-white .layui-side .layui-nav-tree .layui-nav-item .layui-nav-child{background-color:transparent!important}.theme-white .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#fff!important}@media screen and (min-width:769px){.theme-white .layui-layout-admin.admin-nav-mini .layui-side .layui-nav li.layui-nav-itemed>a{background:#f0faff;color:#2d8cf0!important}}.theme-white .layui-nav-tree>.layui-nav-item>a:before{display:none}.theme-white .layui-side .layui-nav .layui-nav-more{border-color:rgba(89,89,89,.7) transparent transparent}.theme-white .layui-side .layui-nav .layui-nav-mored,.theme-white .layui-side .layui-nav-itemed>a .layui-nav-more{border-color:transparent transparent rgba(89,89,89,.7)}.theme-white .layui-side .layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more:before{background-color:rgba(89,89,89,.7)}@media screen and (min-width:769px){.theme-white .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{border-color:transparent transparent transparent rgba(89,89,89,.7)}}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title{top:8px;right:8px;height:32px;line-height:32px;box-sizing:border-box;background-color:transparent;box-shadow:-4px 4px 0 #f5f7f9;padding-right:70px}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li{border:0;margin-right:6px;border-radius:4px;background-color:#fff;line-height:32px;height:32px}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this{color:#2d8cf0;background-color:#fff}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:hover{background-color:#fff}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{display:none}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close,.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close:hover{top:8px;color:#8c8c8c;background-color:transparent}.theme-white .layui-layout-admin .layui-body .admin-tabs-control,.theme-white .layui-layout-admin .layui-body .admin-tabs-control:hover{top:8px;height:32px;line-height:32px;background-color:#f5f7f9;border:0}.theme-white .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-down{border-radius:4px;background-color:#fff;width:32px;right:8px}.theme-white .admin-tabs-control>.layui-nav .layui-nav-item{line-height:32px}.theme-white .admin-tabs-control>.layui-nav .layui-nav-item>a{height:32px;width:32px;padding:0}.theme-white .admin-tabs-control>.layui-nav .layui-nav-child{top:36px;border:0;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.2)}.theme-white .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-prev:before{content:"\e603"}.theme-white .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-next:before{content:"\e602"}.theme-white .layui-body-header-title{border-left-color:#2d8cf0}.theme-white .layui-body-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-white .layui-layer.layui-layer-admin{border-radius:4px}.theme-white .layui-layer.layui-layer-admin .layui-layer-title{color:#262626;font-size:16px;padding-left:23px;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f1f1f1}.theme-white .layui-layer.layui-layer-admin .layui-layer-setwin a{color:#8c8c8c;font-weight:600}.theme-white .layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#8c8c8c}.theme-white .layui-layer.layui-layer-admin .layui-layer-btn a{height:32px;line-height:32px;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-white .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#2d8cf0;background-color:#2d8cf0}.theme-white .more-theme-item:hover,.theme-white .more-theme-item.active{border-color:#2d8cf0}.theme-white .btn-circle{background:#2d8cf0}.theme-white .ball-loader>span,.theme-white .signal-loader>span{background-color:#2d8cf0}.theme-white .text-primary,.theme-white .layui-link{color:#2d8cf0!important}.theme-white .layui-card{border-radius:4px;box-shadow:none}.theme-white .layui-btn{height:36px;line-height:36px;border-radius:4px;background-color:#2d8cf0;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-white .layui-btn-lg{height:42px;line-height:42px}.theme-white .layui-btn-sm{height:28px;line-height:28px}.theme-white .layui-btn-xs{height:22px;line-height:22px}.theme-white .layui-input,.theme-white .layui-select,.theme-white .layui-textarea,.theme-white xm-select{height:36px;border-radius:4px}.theme-white .layui-input:focus,.theme-white .layui-textarea:focus,.theme-white xm-select:hover{border-color:#2d8cf0!important}.theme-white .layui-form-label,.theme-white .layui-form-mid{padding-top:8px;padding-bottom:8px}.theme-white .layui-input-block{min-height:36px}.theme-white .layui-form-radio{margin-top:4px}.theme-white .layui-form-onswitch{border-color:#2d8cf0;background-color:#2d8cf0}.theme-white .layui-form-radio>i:hover,.theme-white .layui-form-radioed>i,.theme-white .layui-form-checked i,.theme-white .layui-form-checked:hover i{color:#2d8cf0}.theme-white .layui-form-checked[lay-skin=primary] i,.theme-white .layui-form-checked span,.theme-white .layui-form-checked:hover span{border-color:#2d8cf0!important;background-color:#2d8cf0}.theme-white .layui-form-checked[lay-skin=primary] i:hover,.theme-white .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#2d8cf0!important}.theme-white .layui-form-select dl dd.layui-this{background-color:#2d8cf0}.theme-white .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#2d8cf0}.theme-white .layui-laypage input:focus,.theme-white .layui-laypage select:focus{border-color:#2d8cf0!important}.theme-white .layui-laypage a:hover{color:#2d8cf0}.theme-white .layui-tab-brief>.layui-tab-title .layui-this{color:#2d8cf0}.theme-white .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-white .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#2d8cf0!important}.theme-white .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#2d8cf0;color:#2d8cf0}.theme-white .layui-breadcrumb a:hover{color:#2d8cf0!important}.theme-white .layui-laydate-footer span:hover,.theme-white .layui-laydate-header i:hover,.theme-white .layui-laydate-header span:hover{color:#2d8cf0}.theme-white .layui-laydate .layui-this{background-color:#2d8cf0!important}.theme-white .layui-laydate-content td.laydate-selected{background-color:rgba(45,140,240,.1)}.theme-white .laydate-selected:hover{background-color:rgba(45,140,240,.1)!important}.theme-white .layui-timeline-axis{color:#2d8cf0}.theme-white .layui-transfer-active .layui-btn{background-color:#2d8cf0!important;border-color:#2d8cf0!important}.theme-white .layui-progress-bar{background-color:#2d8cf0}.theme-white .layui-slider-bar{background-color:#2d8cf0!important}.theme-white .layui-slider-wrap-btn{border-color:#2d8cf0!important}.theme-white .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#2d8cf0}.theme-white .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-white .layui-elem-quote{border-color:#2d8cf0}.theme-white .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-white .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#2d8cf0}.theme-white .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#95c5f7}.theme-white .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#2d8cf0}.theme-white .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#95c5f7!important}.theme-white .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#2d8cf0!important}.theme-white .ew-cascader-dropdown-list-item.active,.theme-white .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#2d8cf0}.theme-white div.tagsinput span.tag{background:#2d8cf0}.theme-white xm-select .xm-body .xm-option .xm-option-icon{border-color:#2d8cf0!important}.theme-white xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-white xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-white .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#2d8cf0!important}.theme-white xm-select .xm-label .xm-label-block,.theme-white xm-select .xm-body .xm-option.hide-icon.selected{background-color:#2d8cf0!important}.theme-white .city-select a.active{color:#fff!important;background-color:#2d8cf0!important}.theme-white .city-select a:hover,.theme-white .city-select a:focus{background-color:#f0faff;color:#2d8cf0}.theme-white .city-picker-span>.title>span:hover{background-color:#f0faff}.theme-white .city-select-tab>a.active{color:#2d8cf0}.theme-pink .layui-layout-admin .layui-header .layui-logo{color:#262626;background-color:transparent;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-pink .layui-layout-admin .layui-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-pink .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-pink .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fb7299}.theme-pink .layui-layout-admin .layui-side{background-color:#fff;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-pink .layui-side .layui-nav .layui-nav-item a{color:#595959}.theme-pink .layui-side .layui-nav .layui-nav-item a:hover{color:#fb7299}.theme-pink .layui-side .layui-nav-itemed>a,.theme-pink .layui-side .layui-nav-tree .layui-nav-title a,.theme-pink .layui-side .layui-nav-tree .layui-nav-title a:hover{color:#595959!important}.theme-pink .layui-side .layui-nav-itemed>a:hover{color:#fb7299!important}.theme-pink .layui-side .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-pink .layui-side .layui-nav-tree .layui-this>a,.theme-pink .layui-side .layui-nav-tree .layui-this>a:hover{color:#fb7299;background:#fff7f9;border-right:2px solid #fb7299}.theme-pink .layui-side .layui-nav-tree .layui-nav-item .layui-nav-child{background-color:transparent!important}.theme-pink .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#fff!important}@media screen and (min-width:769px){.theme-pink .layui-layout-admin.admin-nav-mini .layui-side .layui-nav li.layui-nav-itemed>a{background:#fff1f5;color:#fb7299!important}}.theme-pink .layui-nav-tree>.layui-nav-item>a:before{display:none}.theme-pink .layui-side .layui-nav .layui-nav-more{border-color:rgba(89,89,89,.7) transparent transparent}.theme-pink .layui-side .layui-nav .layui-nav-mored,.theme-pink .layui-side .layui-nav-itemed>a .layui-nav-more{border-color:transparent transparent rgba(89,89,89,.7)}.theme-pink .layui-side .layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more:before{background-color:rgba(89,89,89,.7)}@media screen and (min-width:769px){.theme-pink .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{border-color:transparent transparent transparent rgba(89,89,89,.7)}}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title{top:8px;right:8px;height:32px;line-height:32px;box-sizing:border-box;background-color:transparent;box-shadow:-4px 4px 0 #f5f7f9;padding-right:70px}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li{border:0;margin-right:6px;border-radius:4px;background-color:#fff;line-height:32px;height:32px}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this{color:#fb7299;background-color:#fff}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:hover{background-color:#fff}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{display:none}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close,.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close:hover{top:8px;color:#8c8c8c;background-color:transparent}.theme-pink .layui-layout-admin .layui-body .admin-tabs-control,.theme-pink .layui-layout-admin .layui-body .admin-tabs-control:hover{top:8px;height:32px;line-height:32px;background-color:#f5f7f9;border:0}.theme-pink .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-down{border-radius:4px;background-color:#fff;width:32px;right:8px}.theme-pink .admin-tabs-control>.layui-nav .layui-nav-item{line-height:32px}.theme-pink .admin-tabs-control>.layui-nav .layui-nav-item>a{height:32px;width:32px;padding:0}.theme-pink .admin-tabs-control>.layui-nav .layui-nav-child{top:36px;border:0;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.2)}.theme-pink .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-prev:before{content:"\e603"}.theme-pink .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-next:before{content:"\e602"}.theme-pink .layui-body-header-title{border-left-color:#fb7299}.theme-pink .layui-body-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-pink .layui-layer.layui-layer-admin{border-radius:4px}.theme-pink .layui-layer.layui-layer-admin .layui-layer-title{color:#262626;font-size:16px;padding-left:23px;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f1f1f1}.theme-pink .layui-layer.layui-layer-admin .layui-layer-setwin a{color:#8c8c8c;font-weight:600}.theme-pink .layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#8c8c8c}.theme-pink .layui-layer.layui-layer-admin .layui-layer-btn a{height:32px;line-height:32px;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-pink .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#fb7299;background-color:#fb7299}.theme-pink .more-theme-item:hover,.theme-pink .more-theme-item.active{border-color:#fb7299}.theme-pink .btn-circle{background:#fb7299}.theme-pink .ball-loader>span,.theme-pink .signal-loader>span{background-color:#fb7299}.theme-pink .text-primary,.theme-pink .layui-link{color:#fb7299!important}.theme-pink .layui-card{border-radius:4px;box-shadow:none}.theme-pink .layui-btn{height:36px;line-height:36px;border-radius:4px;background-color:#fb7299;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-pink .layui-btn-lg{height:42px;line-height:42px}.theme-pink .layui-btn-sm{height:28px;line-height:28px}.theme-pink .layui-btn-xs{height:22px;line-height:22px}.theme-pink .layui-input,.theme-pink .layui-select,.theme-pink .layui-textarea,.theme-pink xm-select{height:36px;border-radius:4px}.theme-pink .layui-input:focus,.theme-pink .layui-textarea:focus,.theme-pink xm-select:hover{border-color:#fb7299!important}.theme-pink .layui-form-label,.theme-pink .layui-form-mid{padding-top:8px;padding-bottom:8px}.theme-pink .layui-input-block{min-height:36px}.theme-pink .layui-form-radio{margin-top:4px}.theme-pink .layui-form-onswitch{border-color:#fb7299;background-color:#fb7299}.theme-pink .layui-form-radio>i:hover,.theme-pink .layui-form-radioed>i,.theme-pink .layui-form-checked i,.theme-pink .layui-form-checked:hover i{color:#fb7299}.theme-pink .layui-form-checked[lay-skin=primary] i,.theme-pink .layui-form-checked span,.theme-pink .layui-form-checked:hover span{border-color:#fb7299!important;background-color:#fb7299}.theme-pink .layui-form-checked[lay-skin=primary] i:hover,.theme-pink .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#fb7299!important}.theme-pink .layui-form-select dl dd.layui-this{background-color:#fb7299}.theme-pink .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#fb7299}.theme-pink .layui-laypage input:focus,.theme-pink .layui-laypage select:focus{border-color:#fb7299!important}.theme-pink .layui-laypage a:hover{color:#fb7299}.theme-pink .layui-tab-brief>.layui-tab-title .layui-this{color:#fb7299}.theme-pink .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-pink .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#fb7299!important}.theme-pink .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#fb7299;color:#fb7299}.theme-pink .layui-breadcrumb a:hover{color:#fb7299!important}.theme-pink .layui-laydate-footer span:hover,.theme-pink .layui-laydate-header i:hover,.theme-pink .layui-laydate-header span:hover{color:#fb7299}.theme-pink .layui-laydate .layui-this{background-color:#fb7299!important}.theme-pink .layui-laydate-content td.laydate-selected{background-color:#fff1f5}.theme-pink .laydate-selected:hover{background-color:#fff1f5!important}.theme-pink .layui-timeline-axis{color:#fb7299}.theme-pink .layui-transfer-active .layui-btn{background-color:#fb7299!important;border-color:#fb7299!important}.theme-pink .layui-progress-bar{background-color:#fb7299}.theme-pink .layui-slider-bar{background-color:#fb7299!important}.theme-pink .layui-slider-wrap-btn{border-color:#fb7299!important}.theme-pink .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#fb7299}.theme-pink .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-pink .layui-elem-quote{border-color:#fb7299}.theme-pink .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-pink .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#fb7299}.theme-pink .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#fdb8cc}.theme-pink .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#fb7299}.theme-pink .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#fdb8cc!important}.theme-pink .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#fb7299!important}.theme-pink .ew-cascader-dropdown-list-item.active,.theme-pink .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#fb7299}.theme-pink div.tagsinput span.tag{background:#fb7299}.theme-pink xm-select .xm-body .xm-option .xm-option-icon{border-color:#fb7299!important}.theme-pink xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-pink xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-pink .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#fb7299!important}.theme-pink xm-select .xm-label .xm-label-block,.theme-pink xm-select .xm-body .xm-option.hide-icon.selected{background-color:#fb7299!important}.theme-pink .city-select a.active{color:#fff!important;background-color:#fb7299!important}.theme-pink .city-select a:hover,.theme-pink .city-select a:focus{background-color:#fff1f5;color:#fb7299}.theme-pink .city-picker-span>.title>span:hover{background-color:#fff1f5}.theme-pink .city-select-tab>a.active{color:#fb7299}.theme-colorful .layui-layout-admin .layui-header .layui-logo{color:#262626;background-color:transparent;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-colorful .layui-layout-admin .layui-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-colorful .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-colorful .layui-layout-admin .layui-header .layui-nav-bar{background-color:#2d8cf0}.theme-colorful .layui-layout-admin .layui-side{background-color:#fff;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-colorful .layui-side .layui-nav .layui-nav-item a{color:#595959}.theme-colorful .layui-side .layui-nav .layui-nav-item a:hover{color:#2d8cf0}.theme-colorful .layui-side .layui-nav-itemed>a,.theme-colorful .layui-side .layui-nav-tree .layui-nav-title a,.theme-colorful .layui-side .layui-nav-tree .layui-nav-title a:hover{color:#595959!important}.theme-colorful .layui-side .layui-nav-itemed>a:hover{color:#2d8cf0!important}.theme-colorful .layui-side .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-colorful .layui-side .layui-nav-tree .layui-this>a,.theme-colorful .layui-side .layui-nav-tree .layui-this>a:hover{color:#2d8cf0;background:#f0faff;border-right:2px solid #2d8cf0}.theme-colorful .layui-side .layui-nav-tree .layui-nav-item .layui-nav-child{background-color:transparent!important}.theme-colorful .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#fff!important}@media screen and (min-width:769px){.theme-colorful .layui-layout-admin.admin-nav-mini .layui-side .layui-nav li.layui-nav-itemed>a{background:#f0faff;color:#2d8cf0!important}}.theme-colorful .layui-nav-tree>.layui-nav-item>a:before{display:none}.theme-colorful .layui-side .layui-nav .layui-nav-more{border-color:rgba(89,89,89,.7) transparent transparent}.theme-colorful .layui-side .layui-nav .layui-nav-mored,.theme-colorful .layui-side .layui-nav-itemed>a .layui-nav-more{border-color:transparent transparent rgba(89,89,89,.7)}.theme-colorful .layui-side .layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more:before{background-color:rgba(89,89,89,.7)}@media screen and (min-width:769px){.theme-colorful .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{border-color:transparent transparent transparent rgba(89,89,89,.7)}}.theme-colorful .layui-side .layui-nav .layui-nav-item a cite{vertical-align:middle}.theme-colorful .layui-side .layui-nav-item>a>.layui-icon{color:#fff;width:28px;height:28px;font-size:12px!important;line-height:28px;text-align:center;border-radius:50%;display:inline-block;vertical-align:middle;background-color:#61b2fc}.theme-colorful .layui-side .layui-nav-item:nth-child(even)>a>.layui-icon{background-color:#7dd733}.theme-colorful .layui-side .layui-nav-item:nth-child(3)>a>.layui-icon{background-color:#32a2d4}.theme-colorful .layui-side .layui-nav-item:nth-child(4)>a>.layui-icon{background-color:#2bccce}.theme-colorful .layui-side .layui-nav-item:nth-child(5)>a>.layui-icon{background-color:#7383cf}@media screen and (min-width:768px){.theme-colorful .admin-nav-mini .layui-side .layui-nav-item>a{padding-left:16px}}.theme-colorful .layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child a{padding-left:63px}.theme-colorful .layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child a{padding-left:83px}.theme-colorful .layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left:103px}.theme-colorful .layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left:123px}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title{top:8px;right:8px;height:32px;line-height:32px;box-sizing:border-box;background-color:transparent;box-shadow:-4px 4px 0 #f5f7f9;padding-right:70px}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li{border:0;margin-right:6px;border-radius:4px;background-color:#fff;line-height:32px;height:32px}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this{color:#2d8cf0;background-color:#fff}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:hover{background-color:#fff}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{display:none}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close,.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close:hover{top:8px;color:#8c8c8c;background-color:transparent}.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control,.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control:hover{top:8px;height:32px;line-height:32px;background-color:#f5f7f9;border:0}.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-down{border-radius:4px;background-color:#fff;width:32px;right:8px}.theme-colorful .admin-tabs-control>.layui-nav .layui-nav-item{line-height:32px}.theme-colorful .admin-tabs-control>.layui-nav .layui-nav-item>a{height:32px;width:32px;padding:0}.theme-colorful .admin-tabs-control>.layui-nav .layui-nav-child{top:36px;border:0;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.2)}.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-prev:before{content:"\e603"}.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-next:before{content:"\e602"}.theme-colorful .layui-body-header-title{border-left-color:#2d8cf0}.theme-colorful .layui-body-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-colorful .layui-layer.layui-layer-admin{border-radius:4px}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-title{color:#262626;font-size:16px;padding-left:23px;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f1f1f1}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-setwin a{color:#8c8c8c;font-weight:600}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#8c8c8c}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-btn a{height:32px;line-height:32px;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#2d8cf0;background-color:#2d8cf0}.theme-colorful .more-theme-item:hover,.theme-colorful .more-theme-item.active{border-color:#2d8cf0}.theme-colorful .btn-circle{background:#2d8cf0}.theme-colorful .ball-loader>span,.theme-colorful .signal-loader>span{background-color:#2d8cf0}.theme-colorful .text-primary,.theme-colorful .layui-link{color:#2d8cf0!important}.theme-colorful .layui-card{border-radius:4px;box-shadow:none}.theme-colorful .layui-btn{height:36px;line-height:36px;border-radius:4px;background-color:#2d8cf0;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-colorful .layui-btn-lg{height:42px;line-height:42px}.theme-colorful .layui-btn-sm{height:28px;line-height:28px}.theme-colorful .layui-btn-xs{height:22px;line-height:22px}.theme-colorful .layui-input,.theme-colorful .layui-select,.theme-colorful .layui-textarea,.theme-colorful xm-select{height:36px;border-radius:4px}.theme-colorful .layui-input:focus,.theme-colorful .layui-textarea:focus,.theme-colorful xm-select:hover{border-color:#2d8cf0!important}.theme-colorful .layui-form-label,.theme-colorful .layui-form-mid{padding-top:8px;padding-bottom:8px}.theme-colorful .layui-input-block{min-height:36px}.theme-colorful .layui-form-radio{margin-top:4px}.theme-colorful .layui-form-onswitch{border-color:#2d8cf0;background-color:#2d8cf0}.theme-colorful .layui-form-radio>i:hover,.theme-colorful .layui-form-radioed>i,.theme-colorful .layui-form-checked i,.theme-colorful .layui-form-checked:hover i{color:#2d8cf0}.theme-colorful .layui-form-checked[lay-skin=primary] i,.theme-colorful .layui-form-checked span,.theme-colorful .layui-form-checked:hover span{border-color:#2d8cf0!important;background-color:#2d8cf0}.theme-colorful .layui-form-checkbox[lay-skin=primary] i:hover,.theme-colorful .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#2d8cf0}.theme-colorful .layui-form-select dl dd.layui-this{background-color:#2d8cf0}.theme-colorful .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#2d8cf0}.theme-colorful .layui-laypage input:focus,.theme-colorful .layui-laypage select:focus{border-color:#2d8cf0!important}.theme-colorful .layui-laypage a:hover{color:#2d8cf0}.theme-colorful .layui-tab-brief>.layui-tab-title .layui-this{color:#2d8cf0}.theme-colorful .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-colorful .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#2d8cf0!important}.theme-colorful .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#2d8cf0;color:#2d8cf0}.theme-colorful .layui-breadcrumb a:hover{color:#2d8cf0!important}.theme-colorful .layui-laydate-footer span:hover,.theme-colorful .layui-laydate-header i:hover,.theme-colorful .layui-laydate-header span:hover{color:#2d8cf0}.theme-colorful .layui-laydate .layui-this{background-color:#2d8cf0!important}.theme-colorful .layui-laydate-content td.laydate-selected{background-color:rgba(45,140,240,.1)}.theme-colorful .laydate-selected:hover{background-color:rgba(45,140,240,.1)!important}.theme-colorful .layui-timeline-axis{color:#2d8cf0}.theme-colorful .layui-transfer-active .layui-btn{background-color:#2d8cf0!important;border-color:#2d8cf0!important}.theme-colorful .layui-progress-bar{background-color:#2d8cf0}.theme-colorful .layui-slider-bar{background-color:#2d8cf0!important}.theme-colorful .layui-slider-wrap-btn{border-color:#2d8cf0!important}.theme-colorful .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#2d8cf0}.theme-colorful .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-colorful .layui-elem-quote{border-color:#2d8cf0}.theme-colorful .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-colorful .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#2d8cf0}.theme-colorful .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#96c6f8}.theme-colorful .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#2d8cf0}.theme-colorful .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#96c6f8!important}.theme-colorful .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#2d8cf0!important}.theme-colorful .ew-cascader-dropdown-list-item.active,.theme-colorful .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#2d8cf0}.theme-colorful div.tagsinput span.tag{background:#2d8cf0}.theme-colorful xm-select .xm-body .xm-option .xm-option-icon{border-color:#2d8cf0!important}.theme-colorful xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-colorful xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-colorful .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#2d8cf0!important}.theme-colorful xm-select .xm-label .xm-label-block,.theme-colorful xm-select .xm-body .xm-option.hide-icon.selected{background-color:#2d8cf0!important}.theme-colorful .city-select a.active{color:#fff!important;background-color:#2d8cf0!important}.theme-colorful .city-select a:hover,.theme-colorful .city-select a:focus{background-color:#f0faff;color:#2d8cf0}.theme-colorful .city-picker-span>.title>span:hover{background-color:#f0faff}.theme-colorful .city-select-tab>a.active{color:#2d8cf0} |
| | | |
| | | /** ---------------------------theme-my主题start----------------------------------- */ |
| | | /* logo */ |
| | | .theme-my .layui-layout-admin .layui-header .layui-logo { |
| | | color: #dddddd; |
| | | background-color: #191a23; |
| | | |
| | | } |
| | | |
| | | /* header */ |
| | | |
| | | |
| | | .theme-my .layui-layout-admin .layui-header { |
| | | background-color: #191a23; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-header a { |
| | | color: #dddddd; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-header a:hover { |
| | | color: #dddddd; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-header .layui-nav-child a { |
| | | color: #595959; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-header .layui-nav .layui-nav-more { |
| | | border-color: #dddddd transparent transparent; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-header .layui-nav .layui-nav-mored { |
| | | border-color: transparent transparent #dddddd; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-header .layui-nav .layui-this:after, |
| | | .theme-my .layui-layout-admin .layui-header .layui-nav-bar { |
| | | background-color: #191a23; |
| | | } |
| | | |
| | | |
| | | |
| | | /* side */ |
| | | .theme-my .layui-layout-admin .layui-side { |
| | | background-color: #191a23; |
| | | |
| | | } |
| | | |
| | | |
| | | .theme-my .layui-nav-tree .layui-nav-child dd.layui-this a, |
| | | .theme-my .layui-nav-tree .layui-this > a, |
| | | .theme-my .layui-nav-tree .layui-this > a:hover { |
| | | background-color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-nav-tree > .layui-nav-item > a:before { |
| | | background-color: #009688; |
| | | } |
| | | |
| | | |
| | | .theme-my .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover > .layui-nav-child:before { |
| | | background: #191a23 !important; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /* body tab */ |
| | | |
| | | .theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title { |
| | | top: 8px; |
| | | right: 8px; |
| | | height: 32px; |
| | | line-height: 32px; |
| | | box-sizing: border-box; |
| | | background-color: transparent; |
| | | box-shadow: -4px 4px 0 #f5f7f9; |
| | | padding-right: 70px; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-content { |
| | | top: 40px; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li { |
| | | border: none; |
| | | margin-right: 6px; |
| | | border-radius: 4px; |
| | | background-color: #fff; |
| | | line-height: 32px; |
| | | height: 32px; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li.layui-this { |
| | | color: #2d8cf0; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li:hover { |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li.layui-this:after { |
| | | display: none; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li .layui-tab-close, |
| | | .theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li .layui-tab-close:hover { |
| | | top: 8px; |
| | | color: #8c8c8c; |
| | | background-color: transparent; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body .admin-tabs-control, |
| | | .theme-my .layui-layout-admin .layui-body .admin-tabs-control:hover { |
| | | top: 8px; |
| | | height: 32px; |
| | | line-height: 32px; |
| | | background-color: #f5f7f9; |
| | | border: none; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-down { |
| | | border-radius: 4px; |
| | | background-color: #fff; |
| | | width: 32px; |
| | | right: 8px; |
| | | } |
| | | |
| | | .theme-my .admin-tabs-control > .layui-nav .layui-nav-item { |
| | | line-height: 32px; |
| | | } |
| | | |
| | | .theme-my .admin-tabs-control > .layui-nav .layui-nav-item > a { |
| | | height: 32px; |
| | | width: 32px; |
| | | padding: 0; |
| | | } |
| | | |
| | | .theme-my .admin-tabs-control > .layui-nav .layui-nav-child { |
| | | top: 36px; |
| | | border: none; |
| | | border-radius: 4px; |
| | | box-shadow: 0 1px 6px rgba(0, 0, 0, .2); |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-prev:before { |
| | | content: "\e603"; |
| | | } |
| | | |
| | | .theme-my .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-next:before { |
| | | content: "\e602"; |
| | | } |
| | | |
| | | |
| | | /* body title */ |
| | | .theme-my .layui-body-header-title { |
| | | border-left-color: #009688; |
| | | } |
| | | |
| | | |
| | | |
| | | /* admin dialog */ |
| | | .theme-my .layui-layer.layui-layer-admin .layui-layer-title { |
| | | color: #ffffff; |
| | | background-color: #191a23; |
| | | |
| | | border-top-left-radius: 4px; |
| | | border-top-right-radius: 4px; |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | .theme-my .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0 { |
| | | border-color: #009688; |
| | | background-color: #009688; |
| | | } |
| | | |
| | | |
| | | .theme-my .layui-layer.layui-layer-admin .layui-layer-btn a { |
| | | box-shadow: 0 1px 0 rgba(0, 0, 0, .03); |
| | | } |
| | | |
| | | .theme-my .layui-layer.layui-layer-admin { |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /* other */ |
| | | .theme-my .more-theme-item:hover, |
| | | .theme-my .more-theme-item.active { |
| | | border-color: #009688; |
| | | } |
| | | |
| | | .theme-my .btn-circle { |
| | | background: #009688; |
| | | } |
| | | |
| | | .theme-my .ball-loader > span, |
| | | .theme-my .signal-loader > span { |
| | | background-color: #009688; |
| | | } |
| | | |
| | | .theme-my .text-primary, |
| | | .theme-my .layui-link { |
| | | color: #009688 !important;; |
| | | } |
| | | |
| | | |
| | | .theme-my .layui-card { |
| | | border-radius: 4px; |
| | | box-shadow: none; |
| | | } |
| | | |
| | | .theme-my .layui-fluid { |
| | | padding-top: 10px; |
| | | } |
| | | |
| | | |
| | | /* button */ |
| | | .theme-my .layui-btn { |
| | | background-color: #009688; |
| | | |
| | | box-shadow: 0 1px 0 rgba(0, 0, 0, .03); |
| | | |
| | | } |
| | | |
| | | |
| | | /* input */ |
| | | .theme-my .layui-input:focus, |
| | | .theme-my .layui-textarea:focus, |
| | | .theme-my xm-select:hover { |
| | | border-color: #009688 !important; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /* switch */ |
| | | .theme-my .layui-form-onswitch { |
| | | border-color: #009688; |
| | | background-color: #009688; |
| | | } |
| | | |
| | | /* radio */ |
| | | .theme-my .layui-form-radio > i:hover, |
| | | .theme-my .layui-form-radioed > i, |
| | | .theme-my .layui-form-checked i, |
| | | .theme-my .layui-form-checked:hover i { |
| | | color: #009688; |
| | | } |
| | | |
| | | /* checkbox */ |
| | | .theme-my .layui-form-checked[lay-skin=primary] i, |
| | | .theme-my .layui-form-checked span, |
| | | .theme-my .layui-form-checked:hover span { |
| | | border-color: #009688 !important; |
| | | background-color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-form-checkbox[lay-skin=primary] i:hover, |
| | | .theme-my .layui-form-checkbox[lay-skin=primary]:hover i { |
| | | border-color: #009688; |
| | | } |
| | | |
| | | /* select */ |
| | | .theme-my .layui-form-select dl dd.layui-this { |
| | | background-color: #009688; |
| | | } |
| | | |
| | | /* laypage */ |
| | | .theme-my .layui-laypage .layui-laypage-curr .layui-laypage-em { |
| | | background-color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-laypage input:focus, |
| | | .theme-my select:focus { |
| | | border-color: #009688 !important; |
| | | } |
| | | |
| | | .theme-my .layui-laypage a:hover { |
| | | color: #009688; |
| | | } |
| | | |
| | | /* tab */ |
| | | .theme-my .layui-tab-brief > .layui-tab-title .layui-this { |
| | | color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-tab-brief > .layui-tab-more li.layui-this:after, |
| | | .theme-my .layui-tab-brief > .layui-tab-title .layui-this:after { |
| | | border-color: #009688 !important; |
| | | } |
| | | |
| | | .theme-my .layui-tab.layui-tab-vertical > .layui-tab-title > li.layui-this { |
| | | border-color: #009688; |
| | | color: #009688; |
| | | } |
| | | |
| | | /* breadcrumb */ |
| | | .theme-my .layui-breadcrumb a:hover { |
| | | color: #009688 !important; |
| | | } |
| | | |
| | | /* laydate */ |
| | | .theme-my .layui-laydate-footer span:hover, |
| | | .theme-my .layui-laydate-header i:hover, |
| | | .theme-my .layui-laydate-header span:hover { |
| | | color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-laydate .layui-this { |
| | | background-color: #009688 !important; |
| | | } |
| | | |
| | | .theme-my .layui-laydate-content td.laydate-selected { |
| | | background-color: rgba(0,150,136,.1); |
| | | } |
| | | |
| | | .theme-my .laydate-selected:hover { |
| | | background-color: rgba(0,150,136,.1) !important; |
| | | } |
| | | |
| | | /* timeline */ |
| | | .theme-my .layui-timeline-axis { |
| | | color: #009688; |
| | | } |
| | | |
| | | /* transfer */ |
| | | .theme-my .layui-transfer-active .layui-btn { |
| | | background-color: #009688 !important; |
| | | border-color: #009688 !important; |
| | | } |
| | | |
| | | /* progress-bar */ |
| | | .theme-my .layui-progress-bar { |
| | | background-color: #009688; |
| | | } |
| | | |
| | | /* slider */ |
| | | .theme-my .layui-slider-bar { |
| | | background-color: #009688 !important; |
| | | } |
| | | |
| | | .theme-colorful .layui-slider-wrap-btn { |
| | | border-color: #009688 !important; |
| | | } |
| | | |
| | | /* steps */ |
| | | .theme-my .layui-tab.layui-steps > .layui-tab-title > li > .layui-icon { |
| | | color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-tab.layui-steps > .layui-tab-title > li > .layui-icon.layui-icon-ok, |
| | | .theme-my .layui-elem-quote { |
| | | border-color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-tab.layui-steps > .layui-tab-title > li:before, |
| | | .theme-my .layui-tab.layui-steps > .layui-tab-title > li.layui-this > .layui-icon.layui-icon-ok { |
| | | background-color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-tab.layui-steps.layui-steps-simple > .layui-tab-title > li { |
| | | background-color: rgba(0,150,136,.5); |
| | | } |
| | | |
| | | .theme-my .layui-tab.layui-steps.layui-steps-simple > .layui-tab-title > li.layui-this { |
| | | background-color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-tab.layui-steps.layui-steps-simple > .layui-tab-title > li:after { |
| | | border-left-color: rgba(0,150,136,.5) !important; |
| | | } |
| | | |
| | | .theme-my .layui-tab.layui-steps.layui-steps-simple > .layui-tab-title > li.layui-this + li:after { |
| | | border-left-color: #009688 !important; |
| | | } |
| | | |
| | | /* xmSelect */ |
| | | .theme-my xm-select .xm-body .xm-option .xm-option-icon { |
| | | border-color: #009688 !important; |
| | | } |
| | | |
| | | .theme-my xm-select .xm-body .xm-option.selected .xm-option-icon, |
| | | .theme-my xm-select > .xm-body .xm-toolbar .toolbar-tag:hover, |
| | | .theme-my .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content { |
| | | color: #009688 !important; |
| | | } |
| | | |
| | | .theme-my xm-select .xm-label .xm-label-block, |
| | | .theme-my xm-select > .xm-body .xm-option.hide-icon.selected { |
| | | background-color: #009688 !important; |
| | | } |
| | | |
| | | /* tagsinput */ |
| | | .theme-my div.tagsinput span.tag { |
| | | background: #009688; |
| | | } |
| | | |
| | | /* cascader */ |
| | | .theme-my .ew-cascader-dropdown-list-item.active, |
| | | .theme-my .ew-cascader-dropdown-list-item.active .ew-icon-right { |
| | | color: #009688; |
| | | } |
| | | |
| | | /* city-select */ |
| | | .theme-my .city-select a.active { |
| | | color: #fff !important; |
| | | background-color: #009688 !important; |
| | | } |
| | | |
| | | .theme-my .city-select a:hover, |
| | | .theme-my .city-select a:focus { |
| | | background-color: rgba(0,150,136,.07); |
| | | color: #009688; |
| | | } |
| | | |
| | | .theme-my .city-picker-span > .title > span:hover { |
| | | background-color: rgba(0,150,136,.07); |
| | | } |
| | | |
| | | .theme-my .city-select-tab > a.active { |
| | | color: #009688; |
| | | } |
| | | |
| | | .theme-my .layui-layer.layui-layer-admin { |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .theme-my .layui-btn { |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | /** ---------------------------theme-my主题end----------------------------------- */ |
New file |
| | |
| | | * { |
| | | box-sizing: border-box; |
| | | margin: 0; |
| | | padding: 0; |
| | | font-weight: 300; |
| | | } |
| | | .wrapper { |
| | | background: #50a3a2; |
| | | background: -webkit-linear-gradient(top left, #50a3a2 0%, #53e3a6 100%); |
| | | background: linear-gradient(to bottom right, #50a3a2 0%, #53e3a6 100%); |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | z-index:998; |
| | | } |
| | | .wrapper.form-success .container h1 { |
| | | -webkit-transform: translateY(85px); |
| | | transform: translateY(85px); |
| | | } |
| | | /*.container h1 {*/ |
| | | /*font-size: 40px;*/ |
| | | /*-webkit-transition-duration: 1s;*/ |
| | | /*transition-duration: 1s;*/ |
| | | /*-webkit-transition-timing-function: ease-in-put;*/ |
| | | /*transition-timing-function: ease-in-put;*/ |
| | | /*font-weight: 200;*/ |
| | | /*}*/ |
| | | .bg-bubbles { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | z-index: 1; |
| | | background: url(../../static/image/bg.jpg); |
| | | } |
| | | .bg-bubbles li { |
| | | position: absolute; |
| | | list-style: none; |
| | | display: block; |
| | | width: 40px; |
| | | height: 40px; |
| | | background-color: rgba(255, 255, 255, 0.15); |
| | | bottom: -160px; |
| | | -webkit-animation: square 35s infinite; |
| | | animation: square 35s infinite; |
| | | -webkit-transition-timing-function: linear; |
| | | transition-timing-function: linear; |
| | | } |
| | | .bg-bubbles li:nth-child(1) { |
| | | left: 10%; |
| | | background: rgba(135, 208, 104, 0.53); |
| | | } |
| | | .bg-bubbles li:nth-child(2) { |
| | | left: 20%; |
| | | width: 80px; |
| | | height: 80px; |
| | | animation-duration: 15s; |
| | | background: rgba(91, 192, 222, 0.5); |
| | | } |
| | | .bg-bubbles li:nth-child(3) { |
| | | left: 25%; |
| | | background: rgba(238, 238, 238, 0.81); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(4) { |
| | | left: 40%; |
| | | width: 60px; |
| | | height: 60px; |
| | | animation-duration: 20s; |
| | | background: rgba(255, 170, 0, 0.7); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(7) { |
| | | left: 32%; |
| | | width: 160px; |
| | | height: 160px; |
| | | animation-delay: 3s; |
| | | background: #afdddf; |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(9) { |
| | | left: 25%; |
| | | width: 20px; |
| | | height: 20px; |
| | | animation-delay: 1s; |
| | | animation-duration: 10s; |
| | | background: rgba(239, 22, 15, 0.67); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(11) { |
| | | left: 22%; |
| | | width: 60px; |
| | | height: 60px; |
| | | animation-delay: 3s; |
| | | background: rgba(239, 22, 15, 0.5); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(12) { |
| | | left: 5%; |
| | | width: 20px; |
| | | height: 20px; |
| | | animation-delay: 3s; |
| | | animation-duration: 10s; |
| | | background: rgba(245, 183, 59, 0.76); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(5) { |
| | | left: 70%; |
| | | background: rgba(255, 170, 0, 0.8); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(6) { |
| | | left: 80%; |
| | | width: 120px; |
| | | height: 120px; |
| | | background: rgba(245, 183, 59, 0.76); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(8) { |
| | | left: 55%; |
| | | width: 20px; |
| | | height: 20px; |
| | | animation-delay: 2s; |
| | | animation-duration: 10s; |
| | | background: rgba(135, 208, 104, 0.7); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(10) { |
| | | left: 90%; |
| | | width: 160px; |
| | | height: 160px; |
| | | animation-delay: 3s; |
| | | background: rgba(238, 238, 238, 0.5); |
| | | } |
| | | |
| | | .bg-bubbles li:nth-child(13) { |
| | | left: 85%; |
| | | width: 50px; |
| | | height: 50px; |
| | | animation-delay: 5s; |
| | | animation-duration: 10s; |
| | | background: rgba(239, 22, 15, 0.6); |
| | | } |
| | | .bg-bubbles li:nth-child(14) { |
| | | left: 70%; |
| | | width: 30px; |
| | | height: 30px; |
| | | animation-delay: 6s; |
| | | background: #afdddf; |
| | | } |
| | | @-webkit-keyframes square { |
| | | 0% { |
| | | -webkit-transform: translateY(0); |
| | | transform: translateY(0); |
| | | } |
| | | 100% { |
| | | /*-1080px代表从下向上移动多少 600deg代表从下向上移动过程中旋转600度*/ |
| | | -webkit-transform: translateY(-1080px) rotate(600deg); |
| | | transform: translateY(-1080px) rotate(600deg); |
| | | } |
| | | } |
| | | @keyframes square { |
| | | 0% { |
| | | -webkit-transform: translateY(0); |
| | | transform: translateY(0); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateY(-1080px) rotate(600deg); |
| | | transform: translateY(-1080px) rotate(600deg); |
| | | } |
| | | } |
New file |
| | |
| | | /*自动补全*/ |
| | | .cool-auto-complete .layui-unselect.layui-form-select { |
| | | display: none; |
| | | } |
| | | |
| | | .cool-auto-complete-div { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .cool-auto-complete-window { |
| | | width: 100%; |
| | | display: none; |
| | | position: absolute; |
| | | line-height: normal; |
| | | z-index: 999; |
| | | } |
| | | |
| | | .cool-auto-complete-window-input { |
| | | height: 28px; |
| | | box-sizing: border-box; |
| | | border: 1px solid #dedede; |
| | | width: 100%; |
| | | } |
| | | .cool-auto-complete-window-input:focus { |
| | | border-color: #007bff !important; |
| | | } |
| | | .cool-auto-complete-window-select { |
| | | width: 100%; |
| | | border: 1px solid #dedede; |
| | | margin: 0; |
| | | height: 142px; |
| | | |
| | | } |
| | | |
| | | .cool-auto-complete-window-select option:hover { |
| | | background-color: #f1f1f1; |
| | | } |
| | | |
| | | .cool-auto-complete-window-select option{ |
| | | padding: 3px 2px; |
| | | } |
| | | .cool-auto-complete-window-select option:first-child{ |
| | | color:#aaaaaa; |
| | | } |
| | | |
| | | /*.layui-table-grid-down {*/ |
| | | /* display: none;*/ |
| | | /*}*/ |
New file |
| | |
| | | /**初始化加载层*/ |
| | | .layuimini-loader { |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: #ffffff; |
| | | z-index: 999999; |
| | | } |
| | | |
| | | .layuimini-loader .layuimini-loader-inner { |
| | | display: block; |
| | | position: relative; |
| | | left: 50%; |
| | | top: 50%; |
| | | width: 150px; |
| | | height: 150px; |
| | | margin: -75px 0 0 -75px; |
| | | border-radius: 50%; |
| | | border: 3px solid transparent; |
| | | border-top-color: #1E9FFF; |
| | | animation: spin 2s linear infinite; |
| | | } |
| | | |
| | | .layuimini-loader .layuimini-loader-inner:before { |
| | | content: ""; |
| | | position: absolute; |
| | | top: 5px; |
| | | left: 5px; |
| | | right: 5px; |
| | | bottom: 5px; |
| | | border-radius: 50%; |
| | | border: 3px solid transparent; |
| | | border-top-color: #1E9FFF; |
| | | animation: spin 3s linear infinite; |
| | | } |
| | | |
| | | .layuimini-loader .layuimini-loader-inner:after { |
| | | content: ""; |
| | | position: absolute; |
| | | top: 15px; |
| | | left: 15px; |
| | | right: 15px; |
| | | bottom: 15px; |
| | | border-radius: 50%; |
| | | border: 3px solid transparent; |
| | | border-top-color: #1E9FFF; |
| | | animation: spin 1.5s linear infinite; |
| | | } |
| | | |
| | | @keyframes spin { |
| | | 0% { |
| | | transform: rotate(0deg); |
| | | } |
| | | to { |
| | | transform: rotate(1turn); |
| | | } |
| | | } |
New file |
| | |
| | | |
| | | |
| | | |
| | | |
| | | /*////////////////////////////////////////////////////////////////// |
| | | [ FONT ]*/ |
| | | |
| | | @font-face { |
| | | font-family: Montserrat-Regular; |
| | | src: url('font/montserrat/Montserrat-Regular.ttf'); |
| | | } |
| | | |
| | | @font-face { |
| | | font-family: Montserrat-ExtraBold; |
| | | src: url('font/montserrat/Montserrat-ExtraBold.ttf'); |
| | | } |
| | | |
| | | @font-face { |
| | | font-family: Montserrat-Bold; |
| | | src: url('font/montserrat/Montserrat-Bold.ttf'); |
| | | } |
| | | |
| | | |
| | | /*////////////////////////////////////////////////////////////////// |
| | | [ RESTYLE TAG ]*/ |
| | | |
| | | |
| | | |
| | | /*---------------------------------------------*/ |
| | | input { |
| | | outline: none; |
| | | border: none; |
| | | } |
| | | |
| | | |
| | | input:focus::-webkit-input-placeholder { color:transparent; } |
| | | input:focus:-moz-placeholder { color:transparent; } |
| | | input:focus::-moz-placeholder { color:transparent; } |
| | | input:focus:-ms-input-placeholder { color:transparent; } |
| | | |
| | | |
| | | input::-webkit-input-placeholder { color: #999999; } |
| | | input:-moz-placeholder { color: #999999; } |
| | | input::-moz-placeholder { color: #999999; } |
| | | input:-ms-input-placeholder { color: #999999; } |
| | | |
| | | /*---------------------------------------------*/ |
| | | button { |
| | | outline: none !important; |
| | | border: none; |
| | | background: transparent; |
| | | } |
| | | |
| | | button:hover { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | |
| | | /*////////////////////////////////////////////////////////////////// |
| | | [ Utility ]*/ |
| | | .txt1 { |
| | | font-family: Montserrat-Regular; |
| | | font-size: 16px; |
| | | color: #cccccc; |
| | | line-height: 1.4; |
| | | } |
| | | |
| | | .bo1 { |
| | | border-bottom: 1px solid #999999; |
| | | } |
| | | |
| | | .hov1:hover { |
| | | border-color: #d33f8d; |
| | | } |
| | | |
| | | |
| | | /*////////////////////////////////////////////////////////////////// |
| | | [ login ]*/ |
| | | |
| | | .limiter { |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | .container-login100 { |
| | | width: 100%; |
| | | min-height: 100vh; |
| | | display: -webkit-box; |
| | | display: -webkit-flex; |
| | | display: -moz-box; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: center; |
| | | align-items: center; |
| | | padding: 15px; |
| | | background-repeat: no-repeat; |
| | | background-size: cover; |
| | | background-position: center; |
| | | |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | |
| | | .container-login100::before { |
| | | content: ""; |
| | | display: block; |
| | | position: absolute; |
| | | z-index: -1; |
| | | width: 100%; |
| | | height: 100%; |
| | | top: 0; |
| | | left: 0; |
| | | background: #005bea; |
| | | background: -webkit-linear-gradient(bottom, #005bea, #00c6fb); |
| | | background: -o-linear-gradient(bottom, #005bea, #00c6fb); |
| | | background: -moz-linear-gradient(bottom, #005bea, #00c6fb); |
| | | background: linear-gradient(bottom, #005bea, #00c6fb); |
| | | opacity: 0.9; |
| | | } |
| | | |
| | | .wrap-login100 { |
| | | width: 390px; |
| | | background: transparent; |
| | | } |
| | | |
| | | |
| | | |
| | | /*------------------------------------------------------------------ |
| | | [ ]*/ |
| | | .login100-form { |
| | | width: 100%; |
| | | display: -webkit-box; |
| | | display: -webkit-flex; |
| | | display: -moz-box; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .login100-form-title { |
| | | font-family: "微软雅黑"; |
| | | font-size: 48px; |
| | | line-height: 1.2; |
| | | text-align: center; |
| | | font-weight: bold; |
| | | letter-spacing: 10px; |
| | | |
| | | width: 100%; |
| | | display: block; |
| | | color: #3660c9; |
| | | margin-top: 10px; |
| | | /*margin-bottom: 30px;*/ |
| | | } |
| | | |
| | | /*---------------------------------------------*/ |
| | | .login100-form-avatar { |
| | | width: 120px; |
| | | height: 120px; |
| | | border-radius: 50%; |
| | | overflow: hidden; |
| | | margin: 0 auto; |
| | | } |
| | | .login100-form-avatar img { |
| | | width: 100%; |
| | | } |
| | | |
| | | |
| | | /*---------------------------------------------*/ |
| | | .wrap-input100 { |
| | | display: inline-block; |
| | | position: relative; |
| | | width: 80%; |
| | | z-index: 1; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .input100::placeholder { |
| | | font-family: Montserrat-Bold; |
| | | font-size: 15px; |
| | | line-height: 1.2; |
| | | color: #c9c9c9; |
| | | |
| | | } |
| | | .input100 { |
| | | font-family: Montserrat-Bold; |
| | | font-size: 15px; |
| | | line-height: 1.2; |
| | | color: #333333; |
| | | |
| | | box-sizing: border-box; |
| | | display: block; |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 50px; |
| | | border-radius: 25px; |
| | | padding: 0 30px 0 53px; |
| | | } |
| | | |
| | | |
| | | |
| | | /*------------------------------------------------------------------ |
| | | [ Focus ]*/ |
| | | .focus-input100 { |
| | | display: block; |
| | | position: absolute; |
| | | border-radius: 25px; |
| | | bottom: 0; |
| | | left: 0; |
| | | z-index: -1; |
| | | width: 100%; |
| | | height: 100%; |
| | | box-shadow: 0px 0px 0px 0px; |
| | | color: rgba(193, 193, 193, 0.6); |
| | | } |
| | | |
| | | .input100:focus + .focus-input100 { |
| | | -webkit-animation: anim-shadow 0.5s ease-in-out forwards; |
| | | animation: anim-shadow 0.5s ease-in-out forwards; |
| | | } |
| | | |
| | | @-webkit-keyframes anim-shadow { |
| | | to { |
| | | box-shadow: 0px 0px 80px 30px; |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes anim-shadow { |
| | | to { |
| | | box-shadow: 0px 0px 80px 30px; |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | .symbol-input100 { |
| | | font-size: 15px; |
| | | color: #999999; |
| | | |
| | | display: -webkit-box; |
| | | display: -webkit-flex; |
| | | display: -moz-box; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | align-items: center; |
| | | position: absolute; |
| | | border-radius: 25px; |
| | | bottom: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | padding-left: 30px; |
| | | pointer-events: none; |
| | | |
| | | -webkit-transition: all 0.4s; |
| | | -o-transition: all 0.4s; |
| | | -moz-transition: all 0.4s; |
| | | transition: all 0.4s; |
| | | } |
| | | |
| | | .input100:focus + .focus-input100 + .symbol-input100 { |
| | | color: #99C1C1C1; |
| | | padding-left: 23px; |
| | | } |
| | | |
| | | |
| | | /*------------------------------------------------------------------ |
| | | [ Button ]*/ |
| | | .container-login100-form-btn { |
| | | width: 80%; |
| | | display: -webkit-box; |
| | | display: -webkit-flex; |
| | | display: -moz-box; |
| | | display: -ms-flexbox; |
| | | flex-wrap: wrap; |
| | | justify-content: center; |
| | | display: inline-block; |
| | | margin-top: 15px; |
| | | } |
| | | |
| | | .login100-form-btn { |
| | | font-family: Montserrat-Bold; |
| | | font-size: 15px; |
| | | line-height: 1.5; |
| | | color: #e0e0e0; |
| | | |
| | | width: 100%; |
| | | height: 50px; |
| | | border-radius: 25px; |
| | | background: #333333; |
| | | display: -webkit-box; |
| | | display: -webkit-flex; |
| | | display: -moz-box; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | padding: 0 25px; |
| | | |
| | | -webkit-transition: all 0.4s; |
| | | -o-transition: all 0.4s; |
| | | -moz-transition: all 0.4s; |
| | | transition: all 0.4s; |
| | | |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | |
| | | .login100-form-btn::before { |
| | | content: ""; |
| | | display: block; |
| | | position: absolute; |
| | | z-index: -1; |
| | | width: 100%; |
| | | height: 100%; |
| | | border-radius: 25px; |
| | | top: 0; |
| | | left: 0; |
| | | background: #005bea; |
| | | background: -webkit-linear-gradient(left, #005bea, #00c6fb); |
| | | background: -o-linear-gradient(left, #005bea, #00c6fb); |
| | | background: -moz-linear-gradient(left, #005bea, #00c6fb); |
| | | background: linear-gradient(left, #005bea, #00c6fb); |
| | | -webkit-transition: all 0.4s; |
| | | -o-transition: all 0.4s; |
| | | -moz-transition: all 0.4s; |
| | | transition: all 0.4s; |
| | | opacity: 0; |
| | | } |
| | | |
| | | .login100-form-btn:hover { |
| | | background: transparent; |
| | | color: #fff; |
| | | } |
| | | |
| | | .login100-form-btn:hover:before { |
| | | opacity: 1; |
| | | } |
| | | |
| | | /*------------------------------------------------------------------ |
| | | [ Button sign in with ]*/ |
| | | .btn-face, |
| | | .btn-google { |
| | | font-family: Raleway-Bold; |
| | | font-size: 16px; |
| | | line-height: 1.2; |
| | | |
| | | display: -webkit-box; |
| | | display: -webkit-flex; |
| | | display: -moz-box; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | width: calc((100% - 10px) / 2); |
| | | height: 40px; |
| | | border-radius: 3px; |
| | | border: 1px solid #e6e6e6; |
| | | background-color: #fff; |
| | | |
| | | -webkit-transition: all 0.4s; |
| | | -o-transition: all 0.4s; |
| | | -moz-transition: all 0.4s; |
| | | transition: all 0.4s; |
| | | } |
| | | |
| | | |
| | | .btn-face { |
| | | color: #3b5998; |
| | | } |
| | | |
| | | .btn-face i { |
| | | font-size: 20px; |
| | | margin-right: 10px; |
| | | padding-bottom: 1px; |
| | | } |
| | | |
| | | .btn-google { |
| | | color: #555555; |
| | | } |
| | | |
| | | .btn-google img { |
| | | width: 19px; |
| | | margin-right: 10px; |
| | | padding-bottom: 1px; |
| | | } |
| | | |
| | | |
| | | .btn-face:hover, |
| | | .btn-google:hover { |
| | | border-color: #d33f8d; |
| | | } |
| | | |
| | | |
| | | |
| | | /*------------------------------------------------------------------ |
| | | [ Alert validate ]*/ |
| | | |
| | | .validate-input { |
| | | position: relative; |
| | | } |
| | | |
| | | .alert-validate::before { |
| | | content: attr(data-validate); |
| | | position: absolute; |
| | | max-width: 70%; |
| | | background-color: white; |
| | | border: 1px solid #c80000; |
| | | border-radius: 14px; |
| | | padding: 4px 25px 4px 10px; |
| | | top: 50%; |
| | | -webkit-transform: translateY(-50%); |
| | | -moz-transform: translateY(-50%); |
| | | -ms-transform: translateY(-50%); |
| | | -o-transform: translateY(-50%); |
| | | transform: translateY(-50%); |
| | | right: 8px; |
| | | pointer-events: none; |
| | | |
| | | font-family: Montserrat-Bold; |
| | | color: #c80000; |
| | | font-size: 13px; |
| | | line-height: 1.4; |
| | | text-align: left; |
| | | |
| | | visibility: hidden; |
| | | opacity: 0; |
| | | |
| | | -webkit-transition: opacity 0.4s; |
| | | -o-transition: opacity 0.4s; |
| | | -moz-transition: opacity 0.4s; |
| | | transition: opacity 0.4s; |
| | | } |
| | | |
| | | .alert-validate::after { |
| | | content: "\f06a"; |
| | | font-family: FontAwesome; |
| | | display: block; |
| | | position: absolute; |
| | | color: #c80000; |
| | | font-size: 15px; |
| | | top: 50%; |
| | | -webkit-transform: translateY(-50%); |
| | | -moz-transform: translateY(-50%); |
| | | -ms-transform: translateY(-50%); |
| | | -o-transform: translateY(-50%); |
| | | transform: translateY(-50%); |
| | | right: 13px; |
| | | } |
| | | |
| | | .alert-validate:hover:before { |
| | | visibility: visible; |
| | | opacity: 1; |
| | | } |
| | | |
| | | @media (max-width: 992px) { |
| | | .alert-validate::before { |
| | | visibility: visible; |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | /*////////////////////////////////////////////////////////////////// |
| | | [ responsive ]*/ |
| | | |
| | | @media (max-width: 576px) { |
| | | .wrap-login100 { |
| | | padding-top: 80px; |
| | | padding-left: 15px; |
| | | padding-right: 15px; |
| | | } |
| | | } |
New file |
| | |
| | | @import url(https://fonts.googleapis.com/css?family=Homenaje);@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP);@-webkit-keyframes animateSsplashStr{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}30%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes animateSsplashStr{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}30%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{height:100%}body{min-height:100%;font-family:Homenaje,sans-serif;letter-spacing:.15em;background-color:#111}@media all and (min-width:569px) and (max-width:1366px){body{font-size:14px;font-size:.875rem}}@media all and (max-width:568px){body{font-size:12px;font-size:.75rem}}body.is-opened-index{overflow:auto}body.is-picked{cursor:pointer}a{text-decoration:none}::-moz-selection{color:#fff;background:rgba(0,0,0,.5)}::selection{color:#fff;background:rgba(0,0,0,.5)}.l-contents{position:relative;z-index:10}.l-contents.is-fixed{position:fixed;top:0;right:0;left:0}.l-page--white{color:#fff}.l-page--white a{color:#fff}.l-page--white svg{fill:#fff}.l-page--black{color:#222}.l-page--black a{color:#222}.l-page--black svg{fill:#222}.c-btn-circle{width:60px;height:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;margin-top:5px;border-radius:50%}.c-btn-circle svg{width:30px;height:30px}.c-btn-circle--white{background-color:#fff}.c-btn-circle--white .path-fill{fill:#222}.c-btn-circle--black{background-color:#222}.c-btn-circle--black .path-fill{fill:#fff}.c-button{height:2em;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:1.25em;padding-left:1.25em;border-radius:1em;border-width:2px;border-style:solid}.c-button--white{border-color:#fff}.c-button--black{border-color:#222}.c-button__icon{display:block;margin-right:.7em}.c-button__icon--back{width:.3em;height:.3em;border-top:2px solid #fff;border-left:2px solid #fff;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.c-button__icon--white{border-color:#fff}.c-button__icon--black{border-color:#222}.c-button__label{font-weight:700}.c-button__label .js-split-str{display:inline-block}.c-button__icon{-webkit-transition-duration:.4s;transition-duration:.4s}.c-button:hover .c-button__icon{-webkit-transform:translateX(-5px) rotate(-45deg);transform:translateX(-5px) rotate(-45deg)}.c-button:hover .c-button__label .js-split-str{-webkit-animation-name:animateSsplashStr;animation-name:animateSsplashStr;-webkit-animation-duration:.6s;animation-duration:.6s}.c-button:hover .c-button__label .js-split-str:nth-of-type(1){-webkit-animation-delay:0s;animation-delay:0s}.c-button:hover .c-button__label .js-split-str:nth-of-type(2){-webkit-animation-delay:20ms;animation-delay:20ms}.c-button:hover .c-button__label .js-split-str:nth-of-type(3){-webkit-animation-delay:40ms;animation-delay:40ms}.c-button:hover .c-button__label .js-split-str:nth-of-type(4){-webkit-animation-delay:60ms;animation-delay:60ms}.c-button:hover .c-button__label .js-split-str:nth-of-type(5){-webkit-animation-delay:80ms;animation-delay:80ms}.c-button:hover .c-button__label .js-split-str:nth-of-type(6){-webkit-animation-delay:.1s;animation-delay:.1s}.c-button:hover .c-button__label .js-split-str:nth-of-type(7){-webkit-animation-delay:.12s;animation-delay:.12s}.c-button:hover .c-button__label .js-split-str:nth-of-type(8){-webkit-animation-delay:.14s;animation-delay:.14s}.c-button:hover .c-button__label .js-split-str:nth-of-type(9){-webkit-animation-delay:.16s;animation-delay:.16s}.c-button:hover .c-button__label .js-split-str:nth-of-type(10){-webkit-animation-delay:.18s;animation-delay:.18s}.c-button:hover .c-button__label .js-split-str:nth-of-type(11){-webkit-animation-delay:.2s;animation-delay:.2s}.c-button:hover .c-button__label .js-split-str:nth-of-type(12){-webkit-animation-delay:.22s;animation-delay:.22s}.c-button:hover .c-button__label .js-split-str:nth-of-type(13){-webkit-animation-delay:.24s;animation-delay:.24s}.c-button:hover .c-button__label .js-split-str:nth-of-type(14){-webkit-animation-delay:.26s;animation-delay:.26s}.c-button:hover .c-button__label .js-split-str:nth-of-type(15){-webkit-animation-delay:.28s;animation-delay:.28s}.c-button:hover .c-button__label .js-split-str:nth-of-type(16){-webkit-animation-delay:.3s;animation-delay:.3s}.c-button:hover .c-button__label .js-split-str:nth-of-type(17){-webkit-animation-delay:.32s;animation-delay:.32s}.c-button:hover .c-button__label .js-split-str:nth-of-type(18){-webkit-animation-delay:.34s;animation-delay:.34s}.c-button:hover .c-button__label .js-split-str:nth-of-type(19){-webkit-animation-delay:.36s;animation-delay:.36s}.c-button:hover .c-button__label .js-split-str:nth-of-type(20){-webkit-animation-delay:.38s;animation-delay:.38s}.c-button:hover .c-button__label .js-split-str:nth-of-type(21){-webkit-animation-delay:.4s;animation-delay:.4s}.c-button:hover .c-button__label .js-split-str:nth-of-type(22){-webkit-animation-delay:.42s;animation-delay:.42s}.c-button:hover .c-button__label .js-split-str:nth-of-type(23){-webkit-animation-delay:.44s;animation-delay:.44s}.c-button:hover .c-button__label .js-split-str:nth-of-type(24){-webkit-animation-delay:.46s;animation-delay:.46s}.c-button:hover .c-button__label .js-split-str:nth-of-type(25){-webkit-animation-delay:.48s;animation-delay:.48s}.c-button:hover .c-button__label .js-split-str:nth-of-type(26){-webkit-animation-delay:.5s;animation-delay:.5s}.c-button:hover .c-button__label .js-split-str:nth-of-type(27){-webkit-animation-delay:.52s;animation-delay:.52s}.c-button:hover .c-button__label .js-split-str:nth-of-type(28){-webkit-animation-delay:.54s;animation-delay:.54s}.c-button:hover .c-button__label .js-split-str:nth-of-type(29){-webkit-animation-delay:.56s;animation-delay:.56s}.c-button:hover .c-button__label .js-split-str:nth-of-type(30){-webkit-animation-delay:.58s;animation-delay:.58s}.c-text-link{display:inline-block;position:relative}.c-text-link__label{display:inline-block;position:relative;z-index:2}.c-text-link__bg{height:2px;display:block;position:absolute;top:50%;right:0;left:0}.c-text-link__bg--white{background-color:#fff}.c-text-link__bg--black{background-color:#222}@-webkit-keyframes openTextLinkBar{0%{-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left}100%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:left;transform-origin:left}}@keyframes openTextLinkBar{0%{-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left}100%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:left;transform-origin:left}}@-webkit-keyframes closeTextLinkBar{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:right;transform-origin:right}100%{-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:right;transform-origin:right}}@keyframes closeTextLinkBar{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:right;transform-origin:right}100%{-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:right;transform-origin:right}}.c-text-link__label{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-timing-function:cubic-bezier(.075,.82,.165,1);transition-timing-function:cubic-bezier(.075,.82,.165,1)}.c-text-link__bg{-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-animation-name:closeTextLinkBar;animation-name:closeTextLinkBar;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-timing-function:cubic-bezier(.075,.82,.165,1);animation-timing-function:cubic-bezier(.075,.82,.165,1);-webkit-animation-fill-mode:both;animation-fill-mode:both}.c-text-link:hover .c-text-link__bg{-webkit-animation-name:openTextLinkBar;animation-name:openTextLinkBar}.p-badges{position:fixed;z-index:100;bottom:20px;right:20px}@media all and (max-width:568px){.p-badges{width:90px}}.p-badges img{width:100%}.p-canvas-webgl{position:fixed;z-index:1;top:0;left:0}.p-dummy-scroll{position:relative;z-index:1}.p-hold-button{width:60px;height:60px;opacity:0;position:fixed;z-index:10;pointer-events:none}.p-hold-button.is-pc{opacity:1;top:0;left:0}.p-hold-button.is-smartphone{cursor:pointer;bottom:35px;right:0;left:0;opacity:1;margin-right:auto;margin-left:auto}.p-hold-button__border{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:absolute}.p-hold-button__border--out{width:60px;height:60px;top:0;left:0;border:1px solid #fff}.p-hold-button__border--in{width:54px;height:54px;top:3px;left:3px;border:1px solid #fff}.p-hold-button__label{width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;top:0;left:0;z-index:2;mix-blend-mode:difference;padding-left:.15em}.p-hold-button__progress{width:54px;height:54px;overflow:hidden;position:absolute;top:3px;left:3px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.p-hold-button__progress-in{width:108px;height:54px;background-color:#fff;-webkit-transform:skewX(-45deg) translateX(50%);transform:skewX(-45deg) translateX(50%);-webkit-transform-origin:right bottom;transform-origin:right bottom}.p-hold-button__label{opacity:0;font-size:14px;font-size:.875rem}.p-hold-button__border{opacity:0;-webkit-transform:rotate(45deg) scale(.6);transform:rotate(45deg) scale(.6)}.p-hold-button.is-enabled{pointer-events:auto}.p-hold-button.is-shown .p-hold-button__label{opacity:1;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-delay:.3s;transition-delay:.3s;-webkit-transition-property:opacity;transition-property:opacity}.p-hold-button.is-shown .p-hold-button__border{opacity:1;-webkit-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);-webkit-transition-duration:.8s;transition-duration:.8s;-webkit-transition-timing-function:cubic-bezier(.075,.82,.165,1);transition-timing-function:cubic-bezier(.075,.82,.165,1);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.p-hold-button.is-shown .p-hold-button__border--out{-webkit-transition-delay:.1s;transition-delay:.1s}.p-hold-button.is-shown .p-hold-button__border--in{-webkit-transition-delay:.2s;transition-delay:.2s}.p-hold-button.is-shown .p-hold-button__progress{opacity:1;-webkit-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-delay:.3s;transition-delay:.3s;-webkit-transition-timing-function:cubic-bezier(.075,.82,.165,1);transition-timing-function:cubic-bezier(.075,.82,.165,1);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.p-hold-button.is-hidden .p-hold-button__label{opacity:0;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-property:opacity;transition-property:opacity}.p-hold-button.is-hidden .p-hold-button__border{opacity:0;-webkit-transform:rotate(45deg) scale(.8);transform:rotate(45deg) scale(.8);-webkit-transition-duration:.8s;transition-duration:.8s;-webkit-transition-timing-function:cubic-bezier(.075,.82,.165,1);transition-timing-function:cubic-bezier(.075,.82,.165,1);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.p-hold-button.is-hidden .p-hold-button__progress{opacity:0;-webkit-transform:rotate(45deg) scale(.5);transform:rotate(45deg) scale(.5);-webkit-transition-duration:.8s;transition-duration:.8s;-webkit-transition-timing-function:cubic-bezier(.075,.82,.165,1);transition-timing-function:cubic-bezier(.075,.82,.165,1);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.p-hold-button.is-pressed .p-hold-button__border--out{-webkit-transform:rotate(45deg) scale(1.12);transform:rotate(45deg) scale(1.12);-webkit-transition-delay:0s;transition-delay:0s}.p-hold-button.is-released .p-hold-button__border--out{-webkit-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);-webkit-transition-delay:0s;transition-delay:0s}@-webkit-keyframes loopFollow{0%{-webkit-transform:translateY(-100.5%);transform:translateY(-100.5%)}100%{-webkit-transform:translateY(100.5%);transform:translateY(100.5%)}}@keyframes loopFollow{0%{-webkit-transform:translateY(-100.5%);transform:translateY(-100.5%)}100%{-webkit-transform:translateY(100.5%);transform:translateY(100.5%)}}.p-introduction{width:100%;height:100vh;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:1.5;position:relative;z-index:10;color:#fff;text-align:center;letter-spacing:.2em}.p-introduction__wrap{position:absolute;right:0;bottom:0;left:0}.p-introduction__row{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.p-introduction__row.is-shown{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:1s;transition-duration:1s;-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.p-introduction__row.is-shown:nth-of-type(1){-webkit-transition-delay:5s;transition-delay:5s}.p-introduction__row.is-shown:nth-of-type(2){-webkit-transition-delay:5.25s;transition-delay:5.25s}.p-introduction__row.is-shown:nth-of-type(3){-webkit-transition-delay:5.5s;transition-delay:5.5s}.p-introduction__row.is-shown:nth-of-type(4){-webkit-transition-delay:5.75s;transition-delay:5.75s}.p-introduction__row.is-shown:nth-of-type(5){-webkit-transition-delay:6s;transition-delay:6s}.p-introduction__links{margin-top:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.p-introduction__link{width:18px;height:18px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8);margin:0 12px;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.p-introduction__link svg{width:18px}.p-introduction__link.is-shown{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-duration:1s;transition-duration:1s;-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.p-introduction__link.is-shown:nth-of-type(1){-webkit-transition-delay:5.6s;transition-delay:5.6s}.p-introduction__link.is-shown:nth-of-type(2){-webkit-transition-delay:5.7s;transition-delay:5.7s}.p-introduction__link.is-shown:nth-of-type(3){-webkit-transition-delay:5.8s;transition-delay:5.8s}.p-introduction__link.is-shown:nth-of-type(4){-webkit-transition-delay:5.9s;transition-delay:5.9s}.p-introduction__link.is-shown:nth-of-type(5){-webkit-transition-delay:6s;transition-delay:6s}.p-introduction__follow{width:15px;height:10vh;overflow:hidden;position:relative;margin:6vh auto 0;opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.p-introduction__follow.is-shown{opacity:1;-webkit-transition-duration:1s;transition-duration:1s;-webkit-transition-delay:3s;transition-delay:3s}.p-introduction__follow-in{width:1px;height:100%;position:absolute;top:0;background-color:#fff;-webkit-animation-name:loopFollow;animation-name:loopFollow;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.p-introduction__follow-in--1{left:0}.p-introduction__follow-in--2{left:50%;margin-left:-1px;-webkit-animation-delay:.3s;animation-delay:.3s}.p-introduction__follow-in--3{right:0;-webkit-animation-delay:.15s;animation-delay:.15s}.p-preloader{position:fixed;top:50%;left:50%;z-index:100;pointer-events:none}@media all and (min-width:569px){.p-preloader{width:60px;height:60px;margin-top:-30px;margin-left:-30px}}@media all and (max-width:568px){.p-preloader{width:30px;height:30px;margin-top:-15px;margin-left:-15px}}.p-preloader.is-hidden{opacity:0;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-property:opacity;transition-property:opacity}.p-preloader__box{width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:0;left:0;border-style:solid;-webkit-animation-name:rotatePreloaderBox;animation-name:rotatePreloaderBox;-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media all and (min-width:569px){.p-preloader__box{border-width:3px}}@media all and (max-width:568px){.p-preloader__box{border-width:2px}}.p-preloader__box--blank{border-color:#111}.p-preloader__box--white{border-color:#fff}.p-preloader__box--02{-webkit-animation-delay:1s;animation-delay:1s}.p-preloader__box--03{-webkit-animation-delay:2s;animation-delay:2s}@-webkit-keyframes rotatePreloaderBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(0);transform:scale(.1) rotate(0)}12.5%{opacity:1}25%{-webkit-transform:scale(1) rotate(180deg);transform:scale(1) rotate(180deg)}37.5%{opacity:1;-webkit-transform:scale(1) rotate(270deg);transform:scale(1) rotate(270deg)}50%{opacity:0;-webkit-transform:scale(1.2) rotate(360deg);transform:scale(1.2) rotate(360deg)}100%{opacity:0}}@keyframes rotatePreloaderBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(0);transform:scale(.1) rotate(0)}12.5%{opacity:1}25%{-webkit-transform:scale(1) rotate(180deg);transform:scale(1) rotate(180deg)}37.5%{opacity:1;-webkit-transform:scale(1) rotate(270deg);transform:scale(1) rotate(270deg)}50%{opacity:0;-webkit-transform:scale(1.2) rotate(360deg);transform:scale(1.2) rotate(360deg)}100%{opacity:0}}.p-config-menu{position:fixed;bottom:20px;right:20px;z-index:100}.p-sketch-index{max-width:1366px;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;position:relative;top:0;right:0;left:0;z-index:100000;margin-right:auto;margin-left:auto}@media all and (min-width:1025px){.p-sketch-index{padding-top:100px;padding-bottom:50px;padding-right:7.5%;padding-left:7.5%}}@media all and (min-width:569px) and (max-width:1024px){.p-sketch-index{padding-top:100px;padding-bottom:50px;padding-right:7.5%;padding-left:7.5%}}@media all and (max-width:568px){.p-sketch-index{padding-top:70px;padding-bottom:40px;padding-right:10px;padding-left:10px}}.p-sketch-index__item{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}@media all and (min-width:1025px){.p-sketch-index__item{width:33.3%;margin-bottom:60px;padding-right:15px;padding-left:15px}}@media all and (min-width:569px) and (max-width:1024px){.p-sketch-index__item{width:50%;margin-bottom:40px;padding-right:10px;padding-left:10px}}@media all and (max-width:568px){.p-sketch-index__item{width:100%;margin-bottom:30px;padding-right:10px;padding-left:10px}}.p-sketch-index__item-wrap{display:block}.p-sketch-index__item-thumb{width:100%;position:relative;margin-bottom:10px;padding-top:52.5%;background-color:#fff;background-size:cover}.p-sketch-index__item-thumb:after,.p-sketch-index__item-thumb:before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0}.p-sketch-index__item-thumb:before{background-color:#fff}.p-sketch-index__item-thumb:after{background-color:rgba(0,0,0,.7)}.p-sketch-index__item-thumb-label{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;top:0;left:0;z-index:10;letter-spacing:.2em}@media all and (min-width:1025px){.p-sketch-index__item-thumb-label{font-size:24px;font-size:1.5rem}}@media all and (min-width:569px) and (max-width:1024px){.p-sketch-index__item-thumb-label{font-size:21px;font-size:1.3125rem}}@media all and (max-width:568px){.p-sketch-index__item-thumb-label{font-size:18px;font-size:1.125rem}}.p-sketch-index__item-title{letter-spacing:.1em}@media all and (min-width:1025px){.p-sketch-index__item-title{font-size:32px;font-size:2rem}}@media all and (min-width:569px) and (max-width:1024px){.p-sketch-index__item-title{font-size:28px;font-size:1.75rem}}@media all and (max-width:568px){.p-sketch-index__item-title{font-size:24px;font-size:1.5rem}}.p-sketch-index__item-title .js-split-str{display:inline-block}.p-sketch-index__item-date{margin-top:5px;font-size:12px;font-size:.75rem}.p-sketch-index__item-thumb{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-delay:.4s;transition-delay:.4s;-webkit-transition-timing-function:cubic-bezier(.075,.82,.165,1);transition-timing-function:cubic-bezier(.075,.82,.165,1)}.p-sketch-index__item-thumb:before{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-delay:.6s;transition-delay:.6s}.p-sketch-index__item-thumb:after{opacity:0;-webkit-transition-duration:.4s;transition-duration:.4s}.p-sketch-index__item-thumb-label .js-split-str{opacity:0;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transition-duration:.6s;transition-duration:.6s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(1){-webkit-transition-delay:0s;transition-delay:0s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(2){-webkit-transition-delay:20ms;transition-delay:20ms}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(3){-webkit-transition-delay:40ms;transition-delay:40ms}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(4){-webkit-transition-delay:60ms;transition-delay:60ms}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(5){-webkit-transition-delay:80ms;transition-delay:80ms}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(6){-webkit-transition-delay:.1s;transition-delay:.1s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(7){-webkit-transition-delay:.12s;transition-delay:.12s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(8){-webkit-transition-delay:.14s;transition-delay:.14s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(9){-webkit-transition-delay:.16s;transition-delay:.16s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(10){-webkit-transition-delay:.18s;transition-delay:.18s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(11){-webkit-transition-delay:.2s;transition-delay:.2s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(12){-webkit-transition-delay:.22s;transition-delay:.22s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(13){-webkit-transition-delay:.24s;transition-delay:.24s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(14){-webkit-transition-delay:.26s;transition-delay:.26s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(15){-webkit-transition-delay:.28s;transition-delay:.28s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(16){-webkit-transition-delay:.3s;transition-delay:.3s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(17){-webkit-transition-delay:.32s;transition-delay:.32s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(18){-webkit-transition-delay:.34s;transition-delay:.34s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(19){-webkit-transition-delay:.36s;transition-delay:.36s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(20){-webkit-transition-delay:.38s;transition-delay:.38s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(21){-webkit-transition-delay:.4s;transition-delay:.4s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(22){-webkit-transition-delay:.42s;transition-delay:.42s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(23){-webkit-transition-delay:.44s;transition-delay:.44s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(24){-webkit-transition-delay:.46s;transition-delay:.46s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(25){-webkit-transition-delay:.48s;transition-delay:.48s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(26){-webkit-transition-delay:.5s;transition-delay:.5s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(27){-webkit-transition-delay:.52s;transition-delay:.52s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(28){-webkit-transition-delay:.54s;transition-delay:.54s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(29){-webkit-transition-delay:.56s;transition-delay:.56s}.p-sketch-index__item-thumb-label .js-split-str:nth-of-type(30){-webkit-transition-delay:.58s;transition-delay:.58s}.p-sketch-index__item-title .js-split-str{opacity:0;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transition-duration:.6s;transition-duration:.6s}.p-sketch-index__item-title .js-split-str:nth-of-type(1){-webkit-transition-delay:.6s;transition-delay:.6s}.p-sketch-index__item-title .js-split-str:nth-of-type(2){-webkit-transition-delay:.62s;transition-delay:.62s}.p-sketch-index__item-title .js-split-str:nth-of-type(3){-webkit-transition-delay:.64s;transition-delay:.64s}.p-sketch-index__item-title .js-split-str:nth-of-type(4){-webkit-transition-delay:.66s;transition-delay:.66s}.p-sketch-index__item-title .js-split-str:nth-of-type(5){-webkit-transition-delay:.68s;transition-delay:.68s}.p-sketch-index__item-title .js-split-str:nth-of-type(6){-webkit-transition-delay:.7s;transition-delay:.7s}.p-sketch-index__item-title .js-split-str:nth-of-type(7){-webkit-transition-delay:.72s;transition-delay:.72s}.p-sketch-index__item-title .js-split-str:nth-of-type(8){-webkit-transition-delay:.74s;transition-delay:.74s}.p-sketch-index__item-title .js-split-str:nth-of-type(9){-webkit-transition-delay:.76s;transition-delay:.76s}.p-sketch-index__item-title .js-split-str:nth-of-type(10){-webkit-transition-delay:.78s;transition-delay:.78s}.p-sketch-index__item-title .js-split-str:nth-of-type(11){-webkit-transition-delay:.8s;transition-delay:.8s}.p-sketch-index__item-title .js-split-str:nth-of-type(12){-webkit-transition-delay:.82s;transition-delay:.82s}.p-sketch-index__item-title .js-split-str:nth-of-type(13){-webkit-transition-delay:.84s;transition-delay:.84s}.p-sketch-index__item-title .js-split-str:nth-of-type(14){-webkit-transition-delay:.86s;transition-delay:.86s}.p-sketch-index__item-title .js-split-str:nth-of-type(15){-webkit-transition-delay:.88s;transition-delay:.88s}.p-sketch-index__item-title .js-split-str:nth-of-type(16){-webkit-transition-delay:.9s;transition-delay:.9s}.p-sketch-index__item-title .js-split-str:nth-of-type(17){-webkit-transition-delay:.92s;transition-delay:.92s}.p-sketch-index__item-title .js-split-str:nth-of-type(18){-webkit-transition-delay:.94s;transition-delay:.94s}.p-sketch-index__item-title .js-split-str:nth-of-type(19){-webkit-transition-delay:.96s;transition-delay:.96s}.p-sketch-index__item-title .js-split-str:nth-of-type(20){-webkit-transition-delay:.98s;transition-delay:.98s}.p-sketch-index__item-title .js-split-str:nth-of-type(21){-webkit-transition-delay:1s;transition-delay:1s}.p-sketch-index__item-title .js-split-str:nth-of-type(22){-webkit-transition-delay:1.02s;transition-delay:1.02s}.p-sketch-index__item-title .js-split-str:nth-of-type(23){-webkit-transition-delay:1.04s;transition-delay:1.04s}.p-sketch-index__item-title .js-split-str:nth-of-type(24){-webkit-transition-delay:1.06s;transition-delay:1.06s}.p-sketch-index__item-title .js-split-str:nth-of-type(25){-webkit-transition-delay:1.08s;transition-delay:1.08s}.p-sketch-index__item-title .js-split-str:nth-of-type(26){-webkit-transition-delay:1.1s;transition-delay:1.1s}.p-sketch-index__item-title .js-split-str:nth-of-type(27){-webkit-transition-delay:1.12s;transition-delay:1.12s}.p-sketch-index__item-title .js-split-str:nth-of-type(28){-webkit-transition-delay:1.14s;transition-delay:1.14s}.p-sketch-index__item-title .js-split-str:nth-of-type(29){-webkit-transition-delay:1.16s;transition-delay:1.16s}.p-sketch-index__item-title .js-split-str:nth-of-type(30){-webkit-transition-delay:1.18s;transition-delay:1.18s}.p-sketch-index__item-date{opacity:0;-webkit-transition-duration:1s;transition-duration:1s;-webkit-transition-delay:.8s;transition-delay:.8s}.p-sketch-index__item.is-shown .p-sketch-index__item-thumb{-webkit-transform:scaleY(1);transform:scaleY(1)}.p-sketch-index__item.is-shown .p-sketch-index__item-thumb:before{opacity:0}.p-sketch-index__item.is-shown .p-sketch-index__item-title .js-split-str{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.p-sketch-index__item.is-shown .p-sketch-index__item-date{opacity:1}.p-sketch-index__item:hover .p-sketch-index__item-thumb:after{opacity:1}.p-sketch-index__item:hover .p-sketch-index__item-thumb-label .js-split-str{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.p-sketch-outline{position:fixed;z-index:100;bottom:22px;left:20px}@media all and (max-width:568px){.p-sketch-outline{right:20px}}.p-sketch-outline__title{line-height:1;margin-top:0;margin-bottom:.075em;margin-left:-.05em;font-weight:100;letter-spacing:.05em}@media all and (min-width:1367px){.p-sketch-outline__title{font-size:80px}}@media all and (min-width:569px) and (max-width:1366px){.p-sketch-outline__title{font-size:6vw}}@media all and (max-width:568px){.p-sketch-outline__title{font-size:62.48px}}.p-sketch-outline__date{line-height:1;margin:0}.p-sketch-outline__description{line-height:1.5;margin:10px 0 0}.p-sketch-outline__assets{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:8px;margin-bottom:0}.p-sketch-outline__assets dd{margin:0}.p-sketch-outline__assets ul{display:-webkit-box;display:-ms-flexbox;display:flex;list-style-type:none;margin:0;padding:0}.p-sketch-outline__assets li{margin-left:12px}.p-utility-menu{position:fixed;z-index:100;top:25px;right:20px}.p-website-outline{position:fixed;z-index:100;top:20px;left:20px}.p-website-outline__title{margin:0 0 5px;font-size:18px;font-size:1.125rem}.p-website-outline__description{line-height:1.25;margin:0}.p-website-outline__links{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:15px}.p-website-outline__link{width:18px;height:18px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:20px}.p-website-outline__link svg{width:18px} |
New file |
| | |
| | | #originTable + .layui-table-view .layui-table-tool-temp { |
| | | padding-right: 0; |
| | | } |
| | | #originTable + .layui-table-view .layui-table-body tbody > tr td { |
| | | cursor: pointer; |
| | | } |
| | | #originTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click { |
| | | background-color: #fff3e0; |
| | | } |
| | | #originTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click td:last-child > div:before { |
| | | position: absolute; |
| | | right: 6px; |
| | | content: "\e602"; |
| | | font-size: 12px; |
| | | font-style: normal; |
| | | font-family: layui-icon,serif !important; |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | } |
| | | #left-table .layui-table-grid-down { |
| | | display: none; |
| | | } |
| | | .layui-form.layui-border-box.layui-table-view { |
| | | border-width: 1px; |
| | | } |
| | | #left-table .layui-table thead th { |
| | | /* font-weight: bold; */ |
| | | text-align: left; |
| | | } |
New file |
| | |
| | | * { |
| | | font-family: microsoft yahei,serif; |
| | | margin: 0; |
| | | padding: 0; |
| | | box-sizing: border-box; |
| | | -webkit-box-sizing: border-box; |
| | | -moz-box-sizing: border-box; |
| | | font-size: 16px; |
| | | } |
| | | html { |
| | | height: 100%; |
| | | background-color: #f1f1f1; |
| | | padding: 5px; |
| | | } |
| | | body { |
| | | height: 100%; |
| | | background-color: #fff; |
| | | border-radius: 5px; |
| | | box-shadow: 0 0 3px rgba(0,0,0,.3); |
| | | padding: 5px; |
| | | position: relative; |
| | | } |
| | | |
| | | /* 头部 */ |
| | | header { |
| | | padding: 5px 0; |
| | | } |
| | | .layui-form-label { |
| | | width: initial; |
| | | padding: 6px 10px; |
| | | line-height: 30px; |
| | | } |
| | | #code { |
| | | width: 75%; |
| | | height: 40px; |
| | | margin-right: 0; |
| | | } |
| | | header button { |
| | | height: 20px; |
| | | width: 70px; |
| | | } |
| | | #mat-btn:focus { |
| | | } |
| | | |
| | | /* layer */ |
| | | .layui-layer-title { |
| | | font-size: 11px; |
| | | height: 20px; |
| | | line-height: 20px; |
| | | } |
| | | |
| | | /* 主体 */ |
| | | main { |
| | | height: 235px; |
| | | overflow: auto; |
| | | } |
| | | .layui-table, .layui-table-view { |
| | | margin: 0; |
| | | } |
| | | .layui-table-view .layui-table td, .layui-table-view .layui-table th { |
| | | padding: 0; |
| | | } |
| | | .layui-table-cell { |
| | | height: 32px; |
| | | line-height: 32px; |
| | | padding: 0; |
| | | } |
| | | .layui-table-grid-down { |
| | | display: none; |
| | | } |
| | | .layui-table-body .layui-none { |
| | | /*height: 144px;*/ |
| | | } |
| | | /* 尾部 */ |
| | | footer { |
| | | margin-top: 20px; |
| | | width: 100%; |
| | | } |
| | | .layui-btn-container .layui-btn { |
| | | margin-left: 10px; |
| | | margin-bottom: 2px; |
| | | } |
| | | #tips { |
| | | display: inline-block; |
| | | width: 90px; |
| | | color: #666; |
| | | margin-left: 5px; |
| | | margin-bottom: 5px; |
| | | vertical-align: middle; |
| | | overflow:hidden; |
| | | white-space:nowrap; |
| | | text-overflow:ellipsis; |
| | | font-size: 12px; |
| | | } |
| | | |
| | | .layui-btn-primary:hover { |
| | | border-color: #C9C9C9 |
| | | } |
New file |
| | |
| | | @media print { |
| | | @page { |
| | | /*A4: 210mm × 297mm,size: 794px × 1123px,0边距*/ |
| | | /*171.9mm × 258.9mm,size:649px × 978px,19.05mm边距(ie浏览器默认打印边距) */ |
| | | margin: 0.3cm |
| | | } |
| | | } |
New file |
| | |
| | | /* CSS Document */ |
| | | /** |
| | | * +---------------------------------------------------------- |
| | | * 主样式 |
| | | * +---------------------------------------------------------- |
| | | */ |
| | | .layui-form-checkbox[lay-skin=primary]:hover i{ |
| | | border-color: #407CD5; |
| | | } |
| | | .layui-form-checked[lay-skin=primary] i{ |
| | | background-color: #407CD5; |
| | | border-color: #407CD5; |
| | | } |
| | | |
| | | |
| | | .layui-btn{ |
| | | height: 45px; |
| | | line-height: 45px; |
| | | } |
| | | .layui-btn-normal{ |
| | | background-color: #407CD5; |
| | | } |
| | | |
| | | |
| | | /*流星*/ |
| | | .liuxing{ |
| | | width: 85px; |
| | | height: 85px; |
| | | position: absolute; |
| | | background-size: contain; |
| | | } |
| | | .liuxing1 { |
| | | top: 200px; |
| | | left: 200px; |
| | | } |
| | | |
| | | .liuxing2 { |
| | | top: 200px; |
| | | left: 50%; |
| | | margin-left: 200px; |
| | | } |
| | | |
| | | .liuxing3 { |
| | | top: 100px; |
| | | right: 300px; |
| | | } |
| | | |
| | | .liuxing4 { |
| | | top: 150px; |
| | | right: 300px; |
| | | } |
| | | |
| | | .liuxingFla { |
| | | animation: liuxing 5s ease-in infinite; |
| | | } |
| | | |
| | | .liuxingFla2 { |
| | | animation: liuxing2 4s ease-in infinite; |
| | | } |
| | | |
| | | .liuxingFla3 { |
| | | animation: liuxing3 3s linear infinite; |
| | | } |
| | | |
| | | .liuxingFla4 { |
| | | animation: liuxing4 2s linear infinite; |
| | | } |
| | | |
| | | /* 流星动画 */ |
| | | @keyframes liuxing { |
| | | 0% { |
| | | transform: translate(200px, -200px) |
| | | } |
| | | 90% { |
| | | transform: translate(-180px, 180px); |
| | | opacity: 1; |
| | | } |
| | | 100% { |
| | | transform: translate(-200px, 200px); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes liuxing2 { |
| | | 0% { |
| | | transform: translate(200px, -200px) |
| | | } |
| | | 90% { |
| | | transform: translate(-480px, 480px); |
| | | opacity: 1; |
| | | } |
| | | 100% { |
| | | transform: translate(-500px, 500px); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes liuxing3 { |
| | | 0% { |
| | | transform: translate(200px, -200px) |
| | | } |
| | | 90% { |
| | | transform: translate(-480px, 480px); |
| | | opacity: 1; |
| | | } |
| | | 100% { |
| | | transform: translate(-500px, 500px); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes liuxing4 { |
| | | 0% { |
| | | transform: translate(200px, -200px) |
| | | } |
| | | 90% { |
| | | transform: translate(-180px, 180px); |
| | | opacity: 1; |
| | | } |
| | | 100% { |
| | | transform: translate(-200px, 200px); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | /*菜单*/ |
| | | .moveUpDownFla1 { |
| | | animation: moveUpDown 5s ease infinite; |
| | | } |
| | | |
| | | .moveUpDownFla2 { |
| | | animation: moveUpDown 4s linear infinite; |
| | | } |
| | | |
| | | /* 菜单动画 */ |
| | | @keyframes moveUpDown { |
| | | 0% { |
| | | transform: translate(0px, -20px) |
| | | } |
| | | 50% { |
| | | transform: translate(0px, 20px) |
| | | } |
| | | 100% { |
| | | transform: translate(0px, -20px); |
| | | } |
| | | } |
New file |
| | |
| | | #organizationTreeBar { |
| | | padding: 10px 15px; |
| | | border: 1px solid #e6e6e6; |
| | | background-color: #f2f2f2; |
| | | } |
| | | #organizationTree { |
| | | border: 1px solid #e6e6e6; |
| | | border-top: none; |
| | | padding: 10px 5px; |
| | | overflow: auto; |
| | | height: -webkit-calc(100vh - 125px); |
| | | height: -moz-calc(100vh - 125px); |
| | | height: calc(100vh - 125px); |
| | | } |
| | | .layui-tree-entry .layui-tree-txt { |
| | | padding: 0 5px; |
| | | border: 1px transparent solid; |
| | | text-decoration: none !important; |
| | | } |
| | | |
| | | .layui-tree-entry.ew-tree-click .layui-tree-txt { |
| | | background-color: #fff3e0; |
| | | border: 1px #FFE6B0 solid; |
| | | } |
| | | |
| | | |
| | | |
| | | #organizationEditForm.layui-form { |
| | | padding: 25px 30px 0 0; |
| | | } |
| | | #organizationEditForm .layui-form-label { |
| | | padding: 8px 15px; |
| | | box-sizing: content-box; |
| | | -webkit-box-sizing: content-box; |
| | | } |
| | | #organizationEditForm .layui-form-required:before { |
| | | content: "*"; |
| | | display: inline-block; |
| | | font-family: SimSun,serif; |
| | | margin-right: 4px; |
| | | font-size: 14px; |
| | | line-height: 1; |
| | | color: #ed4014; |
| | | } |
| | | #organizationEditForm .layui-input { |
| | | height: 36px; |
| | | border-radius: 4px; |
| | | } |
| | | #organizationEditForm .cool-button-contain { |
| | | text-align: right; |
| | | margin: 20px 0; |
| | | } |
| | | #organizationEditForm .layui-form-radio>i:hover, .layui-form-radioed>i { |
| | | color: #007bff; |
| | | } |
| | | #organizationEditForm .layui-btn { |
| | | height: 36px; |
| | | line-height: 36px; |
| | | border-radius: 4px; |
| | | box-shadow: 0 1px 0 rgba(0,0,0,.03); |
| | | } |
| | | #organizationEditForm .layui-btn-primary:hover { |
| | | border-color: #777777; |
| | | } |
| | | |
| | | |
| | | /* 自定义 */ |
| | | #condition { |
| | | height: 30px; |
| | | } |
New file |
| | |
| | | /** EasyWeb iframe v3.1.8 date:2020-05-04 License By http://easyweb.vip */ |
| | | |
| | | layui.define(['layer'], function (exports) { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var setter = layui.cache; |
| | | var bodyDOM = '.layui-layout-admin>.layui-body'; |
| | | var tabDOM = bodyDOM + '>.layui-tab'; |
| | | var sideDOM = '.layui-layout-admin>.layui-side>.layui-side-scroll'; |
| | | var headerDOM = '.layui-layout-admin>.layui-header'; |
| | | var navFilter = 'admin-side-nav'; |
| | | var admin = {version: '3.1.8', layerData: {}}; |
| | | |
| | | /** 设置侧栏折叠 */ |
| | | admin.flexible = function (expand) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.flexible(expand); |
| | | var $layout = $('.layui-layout-admin'); |
| | | var isExapnd = $layout.hasClass('admin-nav-mini'); |
| | | if (expand === undefined) expand = isExapnd; |
| | | if (isExapnd === expand) { |
| | | if (window.sideFlexTimer) clearTimeout(window.sideFlexTimer); |
| | | $layout.addClass('admin-side-flexible'); |
| | | window.sideFlexTimer = setTimeout(function () { |
| | | $layout.removeClass('admin-side-flexible'); |
| | | }, 600); |
| | | if (expand) { |
| | | admin.hideTableScrollBar(); |
| | | $layout.removeClass('admin-nav-mini'); |
| | | } else { |
| | | $layout.addClass('admin-nav-mini'); |
| | | } |
| | | layui.event.call(this, 'admin', 'flexible({*})', {expand: expand}); |
| | | } |
| | | }; |
| | | |
| | | /** 设置导航栏选中 */ |
| | | admin.activeNav = function (url) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.activeNav(url); |
| | | if (!url) return console.warn('active url is null'); |
| | | $(sideDOM + '>.layui-nav .layui-nav-item .layui-nav-child dd.layui-this').removeClass('layui-this'); |
| | | $(sideDOM + '>.layui-nav .layui-nav-item.layui-this').removeClass('layui-this'); |
| | | var $a = $(sideDOM + '>.layui-nav a[lay-href="' + url + '"]'); |
| | | if ($a.length === 0) return console.warn(url + ' not found'); |
| | | var isMini = $('.layui-layout-admin').hasClass('admin-nav-mini'); |
| | | if ($(sideDOM + '>.layui-nav').attr('lay-shrink') === '_all') { // 手风琴效果 |
| | | var $pChilds = $a.parent('dd').parents('.layui-nav-child'); |
| | | if (!isMini) { |
| | | $(sideDOM + '>.layui-nav .layui-nav-itemed>.layui-nav-child').not($pChilds) |
| | | .css('display', 'block').slideUp('fast', function () { |
| | | $(this).css('display', ''); |
| | | }); |
| | | } |
| | | $(sideDOM + '>.layui-nav .layui-nav-itemed').not($pChilds.parent()).removeClass('layui-nav-itemed'); |
| | | } |
| | | $a.parent().addClass('layui-this'); // 选中当前 |
| | | // 展开所有父级 |
| | | var $asParents = $a.parent('dd').parents('.layui-nav-child').parent(); |
| | | if (!isMini) { |
| | | var $childs = $asParents.not('.layui-nav-itemed').children('.layui-nav-child'); |
| | | $childs.slideDown('fast', function () { |
| | | if ($(this).is($childs.last())) { |
| | | $childs.css('display', ''); |
| | | // 菜单超出屏幕自动滚动 |
| | | var topBeyond = $a.offset().top + $a.outerHeight() + 30 - admin.getPageHeight(); |
| | | var topDisparity = 50 + 65 - $a.offset().top; |
| | | if (topBeyond > 0) { |
| | | $(sideDOM).animate({'scrollTop': $(sideDOM).scrollTop() + topBeyond}, 300); |
| | | } else if (topDisparity > 0) { |
| | | $(sideDOM).animate({'scrollTop': $(sideDOM).scrollTop() - topDisparity}, 300); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | $asParents.addClass('layui-nav-itemed'); |
| | | // 适配多系统模式 |
| | | $('ul[lay-filter="' + navFilter + '"]').addClass('layui-hide'); |
| | | var $aUl = $a.parents('.layui-nav'); |
| | | $aUl.removeClass('layui-hide'); |
| | | $(headerDOM + '>.layui-nav>.layui-nav-item').removeClass('layui-this'); |
| | | $(headerDOM + '>.layui-nav>.layui-nav-item>a[nav-bind="' + $aUl.attr('nav-id') + '"]').parent().addClass('layui-this'); |
| | | }; |
| | | |
| | | /** 右侧弹出 */ |
| | | admin.popupRight = function (param) { |
| | | param.anim = -1; |
| | | param.offset = 'r'; |
| | | param.move = false; |
| | | param.fixed = true; |
| | | if (param.area === undefined) param.area = '336px'; |
| | | if (param.title === undefined) param.title = false; |
| | | if (param.closeBtn === undefined) param.closeBtn = false; |
| | | if (param.shadeClose === undefined) param.shadeClose = true; |
| | | if (param.skin === undefined) param.skin = 'layui-anim layui-anim-rl layui-layer-adminRight'; |
| | | return admin.open(param); |
| | | }; |
| | | |
| | | /** 封装layer.open */ |
| | | admin.open = function (param) { |
| | | if (param.content && param.type === 2) param.url = undefined; // 参数纠正 |
| | | if (param.url && (param.type === 2 || param.type === undefined)) param.type = 1; // 参数纠正 |
| | | if (param.area === undefined) param.area = param.type === 2 ? ['360px', '300px'] : '360px'; |
| | | if (param.offset === undefined) param.offset = '70px'; |
| | | if (param.shade === undefined) param.shade = .1; |
| | | if (param.fixed === undefined) param.fixed = false; |
| | | if (param.resize === undefined) param.resize = false; |
| | | if (param.skin === undefined) param.skin = 'layui-layer-admin'; |
| | | var eCallBack = param.end; |
| | | param.end = function () { |
| | | layer.closeAll('tips'); // 关闭表单验证的tips |
| | | eCallBack && eCallBack(); |
| | | }; |
| | | if (param.url) { |
| | | var sCallBack = param.success; |
| | | param.success = function (layero, index) { |
| | | $(layero).data('tpl', param.tpl || ''); |
| | | admin.reloadLayer(index, param.url, sCallBack); |
| | | }; |
| | | } else if (param.tpl && param.content) { |
| | | param.content = admin.util.tpl(param.content, param.data, setter.tplOpen, setter.tplClose); |
| | | } |
| | | var layIndex = layer.open(param); |
| | | if (param.data) admin.layerData['d' + layIndex] = param.data; |
| | | return layIndex; |
| | | }; |
| | | |
| | | /** 获取弹窗数据 */ |
| | | admin.getLayerData = function (index, key) { |
| | | if (index === undefined) { |
| | | index = parent.layer.getFrameIndex(window.name); |
| | | if (index === undefined) return null; |
| | | else return parent.layui.admin.getLayerData(parseInt(index), key); |
| | | } else if (isNaN(index)) { |
| | | index = admin.getLayerIndex(index); |
| | | } |
| | | if (index === undefined) return; |
| | | var layerData = admin.layerData['d' + index]; |
| | | if (key && layerData) return layerData[key]; |
| | | return layerData; |
| | | }; |
| | | |
| | | /** 放入弹窗数据 */ |
| | | admin.putLayerData = function (key, value, index) { |
| | | if (index === undefined) { |
| | | index = parent.layer.getFrameIndex(window.name); |
| | | if (index === undefined) return; |
| | | else return parent.layui.admin.putLayerData(key, value, parseInt(index)); |
| | | } else if (isNaN(index)) { |
| | | index = admin.getLayerIndex(index); |
| | | } |
| | | if (index === undefined) return; |
| | | var layerData = admin.getLayerData(index); |
| | | if (!layerData) layerData = {}; |
| | | layerData[key] = value; |
| | | admin.layerData['d' + index] = layerData; |
| | | }; |
| | | |
| | | /** 刷新url方式的layer */ |
| | | admin.reloadLayer = function (index, url, success) { |
| | | if (typeof url === 'function') { |
| | | success = url; |
| | | url = undefined; |
| | | } |
| | | if (isNaN(index)) index = admin.getLayerIndex(index); |
| | | if (index === undefined) return; |
| | | var $layero = $('#layui-layer' + index); |
| | | if (url === undefined) url = $layero.data('url'); |
| | | if (!url) return; |
| | | $layero.data('url', url); |
| | | admin.showLoading($layero); |
| | | admin.ajax({ |
| | | url: url, |
| | | dataType: 'html', |
| | | success: function (res) { |
| | | admin.removeLoading($layero, false); |
| | | if (typeof res !== 'string') res = JSON.stringify(res); |
| | | var tpl = $layero.data('tpl'); |
| | | // 模板解析 |
| | | if (tpl === true || tpl === 'true') { |
| | | var data = admin.getLayerData(index) || {}; |
| | | data.layerIndex = index; |
| | | // 模板里面有动态模板处理 |
| | | var $html = $('<div>' + res + '</div>'), tplAll = {}; |
| | | $html.find('script,[tpl-ignore]').each(function (i) { |
| | | var $this = $(this); |
| | | tplAll['temp_' + i] = $this[0].outerHTML; |
| | | $this.after('${temp_' + i + '}').remove(); |
| | | }); |
| | | res = admin.util.tpl($html.html(), data, setter.tplOpen, setter.tplClose); |
| | | for (var f in tplAll) res = res.replace('${' + f + '}', tplAll[f]); |
| | | } |
| | | $layero.children('.layui-layer-content').html(res); |
| | | admin.renderTpl('#layui-layer' + index + ' [ew-tpl]'); |
| | | success && success($layero[0], index); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | /** 封装layer.alert */ |
| | | admin.alert = function (content, options, yes) { |
| | | if (typeof options === 'function') { |
| | | yes = options; |
| | | options = {}; |
| | | } |
| | | if (options.skin === undefined) options.skin = 'layui-layer-admin'; |
| | | if (options.shade === undefined) options.shade = .1; |
| | | return layer.alert(content, options, yes); |
| | | }; |
| | | |
| | | /** 封装layer.confirm */ |
| | | admin.confirm = function (content, options, yes, cancel) { |
| | | if (typeof options === 'function') { |
| | | cancel = yes; |
| | | yes = options; |
| | | options = {}; |
| | | } |
| | | if (options.skin === undefined) options.skin = 'layui-layer-admin'; |
| | | if (options.shade === undefined) options.shade = .1; |
| | | return layer.confirm(content, options, yes, cancel); |
| | | }; |
| | | |
| | | /** 封装layer.prompt */ |
| | | admin.prompt = function (options, yes) { |
| | | if (typeof options === 'function') { |
| | | yes = options; |
| | | options = {}; |
| | | } |
| | | if (options.skin === undefined) options.skin = 'layui-layer-admin layui-layer-prompt'; |
| | | if (options.shade === undefined) options.shade = .1; |
| | | return layer.prompt(options, yes); |
| | | }; |
| | | |
| | | /** 封装ajax请求,返回数据类型为json */ |
| | | admin.req = function (url, data, success, method, option) { |
| | | if (typeof data === 'function') { |
| | | option = method; |
| | | method = success; |
| | | success = data; |
| | | data = {}; |
| | | } |
| | | if (method !== undefined && typeof method !== 'string') { |
| | | option = method; |
| | | method = undefined; |
| | | } |
| | | if (!method) method = 'GET'; |
| | | if (typeof data === 'string') { |
| | | if (!option) option = {}; |
| | | if (!option.contentType) option.contentType = 'application/json;charset=UTF-8'; |
| | | } else if (setter.reqPutToPost) { |
| | | if ('put' === method.toLowerCase()) { |
| | | method = 'POST'; |
| | | data._method = 'PUT'; |
| | | } else if ('delete' === method.toLowerCase()) { |
| | | method = 'GET'; |
| | | data._method = 'DELETE'; |
| | | } |
| | | } |
| | | return admin.ajax($.extend({ |
| | | url: (setter.baseServer || '') + url, data: data, type: method, dataType: 'json', success: success |
| | | }, option)); |
| | | }; |
| | | |
| | | /** 封装ajax请求 */ |
| | | admin.ajax = function (param) { |
| | | var oldParam = admin.util.deepClone(param); |
| | | if (!param.dataType) param.dataType = 'json'; |
| | | if (!param.headers) param.headers = {}; |
| | | // 统一设置header |
| | | var headers = setter.getAjaxHeaders(param.url); |
| | | if (headers) { |
| | | for (var i = 0; i < headers.length; i++) { |
| | | if (param.headers[headers[i].name] === undefined) param.headers[headers[i].name] = headers[i].value; |
| | | } |
| | | } |
| | | // success预处理 |
| | | var success = param.success; |
| | | param.success = function (result, status, xhr) { |
| | | var before = setter.ajaxSuccessBefore(admin.parseJSON(result), param.url, { |
| | | param: oldParam, reload: function (p) { |
| | | admin.ajax($.extend(true, oldParam, p)); |
| | | }, update: function (r) { |
| | | result = r; |
| | | }, xhr: xhr |
| | | }); |
| | | if (before !== false) success && success(result, status, xhr); |
| | | else param.cancel && param.cancel(); |
| | | }; |
| | | param.error = function (xhr, status) { |
| | | param.success({code: xhr.status, msg: xhr.statusText}, status, xhr); |
| | | }; |
| | | // 解决缓存问题 |
| | | if (layui.cache.version && (!setter.apiNoCache || param.dataType.toLowerCase() !== 'json')) { |
| | | if (param.url.indexOf('?') === -1) param.url += '?v='; |
| | | else param.url += '&v='; |
| | | if (layui.cache.version === true) param.url += new Date().getTime(); |
| | | else param.url += layui.cache.version; |
| | | } |
| | | return $.ajax(param); |
| | | }; |
| | | |
| | | /** 解析json */ |
| | | admin.parseJSON = function (str) { |
| | | if (typeof str === 'string') { |
| | | try { |
| | | return JSON.parse(str); |
| | | } catch (e) { |
| | | } |
| | | } |
| | | return str; |
| | | }; |
| | | |
| | | /** 显示加载动画 */ |
| | | admin.showLoading = function (elem, type, opacity, size) { |
| | | if (elem !== undefined && (typeof elem !== 'string') && !(elem instanceof $)) { |
| | | type = elem.type; |
| | | opacity = elem.opacity; |
| | | size = elem.size; |
| | | elem = elem.elem; |
| | | } |
| | | if (type === undefined) type = setter.defaultLoading || 1; |
| | | if (size === undefined) size = 'sm'; |
| | | if (elem === undefined) elem = 'body'; |
| | | var loader = [ |
| | | '<div class="ball-loader ' + size + '"><span></span><span></span><span></span><span></span></div>', |
| | | '<div class="rubik-loader ' + size + '"></div>', |
| | | '<div class="signal-loader ' + size + '"><span></span><span></span><span></span><span></span></div>', |
| | | '<div class="layui-loader ' + size + '"><i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i></div>' |
| | | ]; |
| | | $(elem).addClass('page-no-scroll'); // 禁用滚动条 |
| | | $(elem).scrollTop(0); |
| | | var $loading = $(elem).children('.page-loading'); |
| | | if ($loading.length <= 0) { |
| | | $(elem).append('<div class="page-loading">' + loader[type - 1] + '</div>'); |
| | | $loading = $(elem).children('.page-loading'); |
| | | } |
| | | if (opacity !== undefined) $loading.css('background-color', 'rgba(255,255,255,' + opacity + ')'); |
| | | $loading.show(); |
| | | }; |
| | | |
| | | /** 移除加载动画 */ |
| | | admin.removeLoading = function (elem, fade, del) { |
| | | if (elem === undefined) elem = 'body'; |
| | | if (fade === undefined) fade = true; |
| | | var $loading = $(elem).children('.page-loading'); |
| | | if (del) $loading.remove(); |
| | | else if (fade) $loading.fadeOut('fast'); |
| | | else $loading.hide(); |
| | | $(elem).removeClass('page-no-scroll'); |
| | | }; |
| | | |
| | | /** 缓存临时数据 */ |
| | | admin.putTempData = function (key, value, local) { |
| | | var tableName = local ? setter.tableName : setter.tableName + '_tempData'; |
| | | if (value === undefined || value === null) { |
| | | if (local) layui.data(tableName, {key: key, remove: true}); |
| | | else layui.sessionData(tableName, {key: key, remove: true}); |
| | | } else { |
| | | if (local) layui.data(tableName, {key: key, value: value}); |
| | | else layui.sessionData(tableName, {key: key, value: value}); |
| | | } |
| | | }; |
| | | |
| | | /** 获取缓存临时数据 */ |
| | | admin.getTempData = function (key, local) { |
| | | if (typeof key === 'boolean') { |
| | | local = key; |
| | | key = undefined; |
| | | } |
| | | var tableName = local ? setter.tableName : setter.tableName + '_tempData'; |
| | | var tempData = local ? layui.data(tableName) : layui.sessionData(tableName); |
| | | if (!key) return tempData; |
| | | return tempData ? tempData[key] : undefined; |
| | | }; |
| | | |
| | | /** 滑动选项卡 */ |
| | | admin.rollPage = function (d) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.rollPage(d); |
| | | var $tabTitle = $(tabDOM + '>.layui-tab-title'); |
| | | var left = $tabTitle.scrollLeft(); |
| | | if ('left' === d) { |
| | | $tabTitle.animate({'scrollLeft': left - 120}, 100); |
| | | } else if ('auto' === d) { |
| | | var autoLeft = 0; |
| | | $tabTitle.children("li").each(function () { |
| | | if ($(this).hasClass('layui-this')) return false; |
| | | else autoLeft += $(this).outerWidth(); |
| | | }); |
| | | $tabTitle.animate({'scrollLeft': autoLeft - 120}, 100); |
| | | } else { |
| | | $tabTitle.animate({'scrollLeft': left + 120}, 100); |
| | | } |
| | | }; |
| | | |
| | | /** 刷新当前选项卡 */ |
| | | admin.refresh = function (url, isIndex) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.refresh(url); |
| | | var $iframe; |
| | | if (!url) { |
| | | $iframe = $(tabDOM + '>.layui-tab-content>.layui-tab-item.layui-show>.admin-iframe'); |
| | | if (!$iframe || $iframe.length <= 0) $iframe = $(bodyDOM + '>div>.admin-iframe'); |
| | | } else { |
| | | $iframe = $(tabDOM + '>.layui-tab-content>.layui-tab-item>.admin-iframe[lay-id="' + url + '"]'); |
| | | if (!$iframe || $iframe.length <= 0) $iframe = $(bodyDOM + '>.admin-iframe'); |
| | | } |
| | | if (!$iframe || !$iframe[0]) return console.warn(url + ' is not found'); |
| | | try { |
| | | if (isIndex && $iframe[0].contentWindow.refreshTab) { |
| | | $iframe[0].contentWindow.refreshTab(); |
| | | } else { |
| | | admin.showLoading({elem: $iframe.parent(), size: ''}); |
| | | $iframe[0].contentWindow.location.reload(); |
| | | } |
| | | } catch (e) { |
| | | console.warn(e); |
| | | $iframe.attr('src', $iframe.attr('src')); |
| | | } |
| | | }; |
| | | |
| | | /** 关闭当前选项卡 */ |
| | | admin.closeThisTabs = function (url) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.closeThisTabs(url); |
| | | admin.closeTabOperNav(); |
| | | var $title = $(tabDOM + '>.layui-tab-title'); |
| | | if (!url) { |
| | | if ($title.find('li').first().hasClass('layui-this')) return layer.msg('主页不能关闭', {icon: 2}); |
| | | $title.find('li.layui-this').find('.layui-tab-close').trigger('click'); |
| | | } else { |
| | | if (url === $title.find('li').first().attr('lay-id')) return layer.msg('主页不能关闭', {icon: 2}); |
| | | $title.find('li[lay-id="' + url + '"]').find('.layui-tab-close').trigger('click'); |
| | | } |
| | | }; |
| | | |
| | | /** 关闭其他选项卡 */ |
| | | admin.closeOtherTabs = function (url) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.closeOtherTabs(url); |
| | | if (!url) { |
| | | $(tabDOM + '>.layui-tab-title li:gt(0):not(.layui-this)').find('.layui-tab-close').trigger('click'); |
| | | } else { |
| | | $(tabDOM + '>.layui-tab-title li:gt(0)').each(function () { |
| | | if (url !== $(this).attr('lay-id')) $(this).find('.layui-tab-close').trigger('click'); |
| | | }); |
| | | } |
| | | admin.closeTabOperNav(); |
| | | }; |
| | | |
| | | /** 关闭所有选项卡 */ |
| | | admin.closeAllTabs = function () { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.closeAllTabs(); |
| | | $(tabDOM + '>.layui-tab-title li:gt(0)').find('.layui-tab-close').trigger('click'); |
| | | $(tabDOM + '>.layui-tab-title li:eq(0)').trigger('click'); |
| | | admin.closeTabOperNav(); |
| | | }; |
| | | |
| | | /** 关闭选项卡操作菜单 */ |
| | | admin.closeTabOperNav = function () { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.closeTabOperNav(); |
| | | $('.layui-icon-down .layui-nav .layui-nav-child').removeClass('layui-show'); |
| | | }; |
| | | |
| | | /** 设置主题 */ |
| | | admin.changeTheme = function (theme, win, noCache, noChild) { |
| | | if (!noCache) admin.putSetting('defaultTheme', theme); |
| | | if (!win) win = top; |
| | | admin.removeTheme(win); |
| | | if (theme) { |
| | | try { |
| | | var $body = win.layui.jquery('body'); |
| | | $body.addClass(theme); |
| | | $body.data('theme', theme); |
| | | } catch (e) { |
| | | } |
| | | } |
| | | if (noChild) return; |
| | | var ifs = win.frames; |
| | | for (var i = 0; i < ifs.length; i++) admin.changeTheme(theme, ifs[i], true, false); |
| | | }; |
| | | |
| | | /** 移除主题 */ |
| | | admin.removeTheme = function (w) { |
| | | if (!w) w = window; |
| | | try { |
| | | var $body = w.layui.jquery('body'); |
| | | var theme = $body.data('theme'); |
| | | if (theme) $body.removeClass(theme); |
| | | $body.removeData('theme'); |
| | | } catch (e) { |
| | | } |
| | | }; |
| | | |
| | | /** 关闭当前iframe层弹窗 */ |
| | | admin.closeThisDialog = function () { |
| | | return admin.closeDialog(); |
| | | }; |
| | | |
| | | /** 关闭elem所在的页面层弹窗 */ |
| | | admin.closeDialog = function (elem) { |
| | | if (elem) layer.close(admin.getLayerIndex(elem)); |
| | | else parent.layer.close(parent.layer.getFrameIndex(window.name)); |
| | | }; |
| | | |
| | | /** 获取页面层弹窗的index */ |
| | | admin.getLayerIndex = function (elem) { |
| | | if (!elem) return parent.layer.getFrameIndex(window.name); |
| | | var id = $(elem).parents('.layui-layer').first().attr('id'); |
| | | if (id && id.length >= 11) return id.substring(11); |
| | | }; |
| | | |
| | | /** 让当前的iframe弹层自适应高度 */ |
| | | admin.iframeAuto = function () { |
| | | return parent.layer.iframeAuto(parent.layer.getFrameIndex(window.name)); |
| | | }; |
| | | |
| | | /** 获取浏览器高度 */ |
| | | admin.getPageHeight = function () { |
| | | return document.documentElement.clientHeight || document.body.clientHeight; |
| | | }; |
| | | |
| | | /** 获取浏览器宽度 */ |
| | | admin.getPageWidth = function () { |
| | | return document.documentElement.clientWidth || document.body.clientWidth; |
| | | }; |
| | | |
| | | /** 绑定表单弹窗 */ |
| | | admin.modelForm = function (layero, btnFilter, formFilter) { |
| | | var $layero = $(layero); |
| | | $layero.addClass('layui-form'); |
| | | if (formFilter) $layero.attr('lay-filter', formFilter); |
| | | // 确定按钮绑定submit |
| | | var $btnSubmit = $layero.find('.layui-layer-btn .layui-layer-btn0'); |
| | | $btnSubmit.attr('lay-submit', ''); |
| | | $btnSubmit.attr('lay-filter', btnFilter); |
| | | }; |
| | | |
| | | /** loading按钮 */ |
| | | admin.btnLoading = function (elem, text, loading) { |
| | | if (text !== undefined && (typeof text === 'boolean')) { |
| | | loading = text; |
| | | text = undefined; |
| | | } |
| | | if (text === undefined) text = ' 加载中'; |
| | | if (loading === undefined) loading = true; |
| | | var $elem = $(elem); |
| | | if (loading) { |
| | | $elem.addClass('ew-btn-loading'); |
| | | $elem.prepend('<span class="ew-btn-loading-text"><i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>' + text + '</span>'); |
| | | $elem.attr('disabled', 'disabled').prop('disabled', true); |
| | | } else { |
| | | $elem.removeClass('ew-btn-loading'); |
| | | $elem.children('.ew-btn-loading-text').remove(); |
| | | $elem.removeProp('disabled').removeAttr('disabled'); |
| | | } |
| | | }; |
| | | |
| | | /** 鼠标移入侧边栏自动展开 */ |
| | | admin.openSideAutoExpand = function () { |
| | | var $side = $('.layui-layout-admin>.layui-side'); |
| | | $side.off('mouseenter.openSideAutoExpand').on("mouseenter.openSideAutoExpand", function () { |
| | | if (!$(this).parent().hasClass('admin-nav-mini')) return; |
| | | admin.flexible(true); |
| | | $(this).addClass('side-mini-hover'); |
| | | }); |
| | | $side.off('mouseleave.openSideAutoExpand').on("mouseleave.openSideAutoExpand", function () { |
| | | if (!$(this).hasClass('side-mini-hover')) return; |
| | | admin.flexible(false); |
| | | $(this).removeClass('side-mini-hover'); |
| | | }); |
| | | }; |
| | | |
| | | /** 表格单元格超出内容自动展开 */ |
| | | admin.openCellAutoExpand = function () { |
| | | var $body = $('body'); |
| | | $body.off('mouseenter.openCellAutoExpand').on('mouseenter.openCellAutoExpand', '.layui-table-view td', function () { |
| | | $(this).find('.layui-table-grid-down').trigger('click'); |
| | | }); |
| | | $body.off('mouseleave.openCellAutoExpand').on('mouseleave.openCellAutoExpand', '.layui-table-tips>.layui-layer-content', function () { |
| | | $('.layui-table-tips-c').trigger('click'); |
| | | }); |
| | | }; |
| | | |
| | | /** open事件解析layer参数 */ |
| | | admin.parseLayerOption = function (option) { |
| | | // 数组类型进行转换 |
| | | for (var f in option) { |
| | | if (!option.hasOwnProperty(f)) continue; |
| | | if (option[f] && option[f].toString().indexOf(',') !== -1) option[f] = option[f].toString().split(','); |
| | | } |
| | | // function类型参数转换 |
| | | var fs = {'success': 'layero,index', 'cancel': 'index,layero', 'end': '', 'full': '', 'min': '', 'restore': ''}; |
| | | for (var k in fs) { |
| | | if (!fs.hasOwnProperty(k) || !option[k]) continue; |
| | | try { |
| | | if (/^[a-zA-Z_]+[a-zA-Z0-9_]+$/.test(option[k])) option[k] += '()'; |
| | | option[k] = new Function(fs[k], option[k]); |
| | | } catch (e) { |
| | | option[k] = undefined; |
| | | } |
| | | } |
| | | // content取内容 |
| | | if (option.content && (typeof option.content === 'string') && option.content.indexOf('#') === 0) { |
| | | if ($(option.content).is('script')) option.content = $(option.content).html(); |
| | | else option.content = $(option.content); |
| | | } |
| | | if (option.type === undefined && option.url === undefined) option.type = 2; // 默认为iframe类型 |
| | | return option; |
| | | }; |
| | | |
| | | /** 字符串形式的parent.parent转window对象 */ |
| | | admin.strToWin = function (str) { |
| | | var win = window; |
| | | if (!str) return win; |
| | | var ws = str.split('.'); |
| | | for (var i = 0; i < ws.length; i++) win = win[ws[i]]; |
| | | return win; |
| | | }; |
| | | |
| | | /** 解决折叠侧边栏表格滚动条闪现 */ |
| | | admin.hideTableScrollBar = function (win) { |
| | | if (admin.getPageWidth() <= 768) return; |
| | | if (!win) { |
| | | var $iframe = $(tabDOM + '>.layui-tab-content>.layui-tab-item.layui-show>.admin-iframe'); |
| | | if ($iframe.length <= 0) $iframe = $(bodyDOM + '>div>.admin-iframe'); |
| | | if ($iframe.length > 0) win = $iframe[0].contentWindow; |
| | | } |
| | | try { // 可能会跨域 |
| | | if (window.hsbTimer) clearTimeout(window.hsbTimer); |
| | | win.layui.jquery('.layui-table-body.layui-table-main').addClass('no-scrollbar'); |
| | | window.hsbTimer = setTimeout(function () { |
| | | win.layui.jquery('.layui-table-body.layui-table-main').removeClass('no-scrollbar'); |
| | | }, 800); |
| | | } catch (e) { |
| | | } |
| | | }; |
| | | |
| | | /** 判断是否是主框架 */ |
| | | admin.isTop = function () { |
| | | return $(bodyDOM).length > 0; |
| | | }; |
| | | |
| | | /** admin提供的事件 */ |
| | | admin.events = { |
| | | /* 折叠侧导航 */ |
| | | flexible: function () { |
| | | admin.strToWin($(this).data('window')).layui.admin.flexible(); |
| | | }, |
| | | /* 刷新主体部分 */ |
| | | refresh: function () { |
| | | admin.strToWin($(this).data('window')).layui.admin.refresh(); |
| | | }, |
| | | /* 后退 */ |
| | | back: function () { |
| | | admin.strToWin($(this).data('window')).history.back(); |
| | | }, |
| | | /* 设置主题 */ |
| | | theme: function () { |
| | | var option = admin.util.deepClone($(this).data()); |
| | | admin.strToWin(option.window).layui.admin.popupRight($.extend({ |
| | | id: 'layer-theme', url: option.url || 'tpl/tpl-theme.html' |
| | | }, admin.parseLayerOption(option))); |
| | | }, |
| | | /* 打开便签 */ |
| | | note: function () { |
| | | var option = admin.util.deepClone($(this).data()); |
| | | admin.strToWin(option.window).layui.admin.popupRight($.extend({ |
| | | id: 'layer-note', url: option.url || 'tpl/tpl-note.html' |
| | | }, admin.parseLayerOption(option))); |
| | | }, |
| | | /* 打开消息 */ |
| | | message: function () { |
| | | var option = admin.util.deepClone($(this).data()); |
| | | admin.strToWin(option.window).layui.admin.popupRight($.extend({ |
| | | id: 'layer-notice', url: option.url || 'tpl/tpl-message.html' |
| | | }, admin.parseLayerOption(option))); |
| | | }, |
| | | /* 打开修改密码弹窗 */ |
| | | psw: function () { |
| | | var option = admin.util.deepClone($(this).data()); |
| | | admin.strToWin(option.window).layui.admin.open($.extend({ |
| | | id: 'layer-psw', title: '修改密码', shade: 0, url: option.url || 'tpl/tpl-password.html' |
| | | }, admin.parseLayerOption(option))); |
| | | }, |
| | | /* 退出登录 */ |
| | | logout: function () { |
| | | var option = admin.util.deepClone($(this).data()); |
| | | admin.unlockScreen(); |
| | | |
| | | function doLogout() { |
| | | if (option.ajax) { |
| | | var loadIndex = layer.load(2); |
| | | admin.req(option.ajax, function (res) { |
| | | layer.close(loadIndex); |
| | | if (option.parseData) { |
| | | try { |
| | | var parseData = new Function('res', option.parseData); |
| | | res = parseData(res); |
| | | } catch (e) { |
| | | console.error(e); |
| | | } |
| | | } |
| | | if (res.code == (option.code || 0)) { |
| | | setter.removeToken && setter.removeToken(); |
| | | location.replace(option.url || '/'); |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | }, option.method || 'delete'); |
| | | } else { |
| | | setter.removeToken && setter.removeToken(); |
| | | location.replace(option.url || '/'); |
| | | } |
| | | } |
| | | |
| | | if (false === option.confirm || 'false' === option.confirm) return doLogout(); |
| | | admin.strToWin(option.window).layui.layer.confirm(option.content || '确定要退出登录吗?', $.extend({ |
| | | title: '温馨提示', skin: 'layui-layer-admin', shade: .1 |
| | | }, admin.parseLayerOption(option)), function () { |
| | | doLogout(); |
| | | }); |
| | | }, |
| | | /* 打开弹窗 */ |
| | | open: function () { |
| | | var option = admin.util.deepClone($(this).data()); |
| | | admin.strToWin(option.window).layui.admin.open(admin.parseLayerOption(option)); |
| | | }, |
| | | /* 打开右侧弹窗 */ |
| | | popupRight: function () { |
| | | var option = admin.util.deepClone($(this).data()); |
| | | admin.strToWin(option.window).layui.admin.popupRight(admin.parseLayerOption(option)); |
| | | }, |
| | | /* 全屏 */ |
| | | fullScreen: function () { |
| | | var ac = 'layui-icon-screen-full', ic = 'layui-icon-screen-restore'; |
| | | var $ti = $(this).find('i'); |
| | | var isFullscreen = document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || false; |
| | | if (isFullscreen) { |
| | | var efs = document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen; |
| | | if (efs) { |
| | | efs.call(document); |
| | | } else if (window.ActiveXObject) { |
| | | var ws = new ActiveXObject('WScript.Shell'); |
| | | ws && ws.SendKeys('{F11}'); |
| | | } |
| | | $ti.addClass(ac).removeClass(ic); |
| | | } else { |
| | | var el = document.documentElement; |
| | | var rfs = el.requestFullscreen || el.webkitRequestFullscreen || el.mozRequestFullScreen || el.msRequestFullscreen; |
| | | if (rfs) { |
| | | rfs.call(el); |
| | | } else if (window.ActiveXObject) { |
| | | var wss = new ActiveXObject('WScript.Shell'); |
| | | wss && wss.SendKeys('{F11}'); |
| | | } |
| | | $ti.addClass(ic).removeClass(ac); |
| | | } |
| | | }, |
| | | /* 左滑动tab */ |
| | | leftPage: function () { |
| | | admin.strToWin($(this).data('window')).layui.admin.rollPage('left'); |
| | | }, |
| | | /* 右滑动tab */ |
| | | rightPage: function () { |
| | | admin.strToWin($(this).data('window')).layui.admin.rollPage(); |
| | | }, |
| | | /* 关闭当前选项卡 */ |
| | | closeThisTabs: function () { |
| | | var url = $(this).data('url'); |
| | | admin.strToWin($(this).data('window')).layui.admin.closeThisTabs(url); |
| | | }, |
| | | /* 关闭其他选项卡 */ |
| | | closeOtherTabs: function () { |
| | | admin.strToWin($(this).data('window')).layui.admin.closeOtherTabs(); |
| | | }, |
| | | /* 关闭所有选项卡 */ |
| | | closeAllTabs: function () { |
| | | admin.strToWin($(this).data('window')).layui.admin.closeAllTabs(); |
| | | }, |
| | | /* 关闭当前弹窗(智能) */ |
| | | closeDialog: function () { |
| | | if ($(this).parents('.layui-layer').length > 0) admin.closeDialog(this); |
| | | else admin.closeDialog(); |
| | | }, |
| | | /* 关闭当前iframe弹窗 */ |
| | | closeIframeDialog: function () { |
| | | admin.closeDialog(); |
| | | }, |
| | | /* 关闭当前页面层弹窗 */ |
| | | closePageDialog: function () { |
| | | admin.closeDialog(this); |
| | | }, |
| | | /* 锁屏 */ |
| | | lockScreen: function () { |
| | | admin.strToWin($(this).data('window')).layui.admin.lockScreen($(this).data('url')); |
| | | } |
| | | }; |
| | | |
| | | /** 选择位置 */ |
| | | admin.chooseLocation = function (param) { |
| | | var dialogTitle = param.title; // 弹窗标题 |
| | | var onSelect = param.onSelect; // 选择回调 |
| | | var needCity = param.needCity; // 是否返回行政区 |
| | | var mapCenter = param.center; // 地图中心 |
| | | var defaultZoom = param.defaultZoom; // 地图默认缩放级别 |
| | | var pointZoom = param.pointZoom; // 选中时地图缩放级别 |
| | | var searchKeywords = param.keywords; // poi检索关键字 |
| | | var searchPageSize = param.pageSize; // poi检索最大数量 |
| | | var mapJsUrl = param.mapJsUrl; // 高德地图js的url |
| | | if (dialogTitle === undefined) dialogTitle = '选择位置'; |
| | | if (defaultZoom === undefined) defaultZoom = 11; |
| | | if (pointZoom === undefined) pointZoom = 17; |
| | | if (searchKeywords === undefined) searchKeywords = ''; |
| | | if (searchPageSize === undefined) searchPageSize = 30; |
| | | if (mapJsUrl === undefined) mapJsUrl = 'https://webapi.amap.com/maps?v=1.4.14&key=006d995d433058322319fa797f2876f5'; |
| | | var isSelMove = false, selLocation; |
| | | // 搜索附近 |
| | | var searchNearBy = function (lat, lng) { |
| | | AMap.service(['AMap.PlaceSearch'], function () { |
| | | var placeSearch = new AMap.PlaceSearch({ |
| | | type: '', pageSize: searchPageSize, pageIndex: 1 |
| | | }); |
| | | var cpoint = [lng, lat]; |
| | | placeSearch.searchNearBy(searchKeywords, cpoint, 1000, function (status, result) { |
| | | if (status === 'complete') { |
| | | var pois = result.poiList.pois; |
| | | var htmlList = ''; |
| | | for (var i = 0; i < pois.length; i++) { |
| | | var poiItem = pois[i]; |
| | | if (poiItem.location !== undefined) { |
| | | htmlList += '<div data-lng="' + poiItem.location.lng + '" data-lat="' + poiItem.location.lat + '" class="ew-map-select-search-list-item">'; |
| | | htmlList += ' <div class="ew-map-select-search-list-item-title">' + poiItem.name + '</div>'; |
| | | htmlList += ' <div class="ew-map-select-search-list-item-address">' + poiItem.address + '</div>'; |
| | | htmlList += ' <div class="ew-map-select-search-list-item-icon-ok layui-hide"><i class="layui-icon layui-icon-ok-circle"></i></div>'; |
| | | htmlList += '</div>'; |
| | | } |
| | | } |
| | | $('#ew-map-select-pois').html(htmlList); |
| | | } |
| | | }); |
| | | }); |
| | | }; |
| | | // 渲染地图 |
| | | var renderMap = function () { |
| | | var mapOption = { |
| | | resizeEnable: true, // 监控地图容器尺寸变化 |
| | | zoom: defaultZoom // 初缩放级别 |
| | | }; |
| | | mapCenter && (mapOption.center = mapCenter); |
| | | var map = new AMap.Map('ew-map-select-map', mapOption); |
| | | // 地图加载完成 |
| | | map.on('complete', function () { |
| | | var center = map.getCenter(); |
| | | searchNearBy(center.lat, center.lng); |
| | | }); |
| | | // 地图移动结束事件 |
| | | map.on('moveend', function () { |
| | | if (isSelMove) { |
| | | isSelMove = false; |
| | | } else { |
| | | $('#ew-map-select-tips').addClass('layui-hide'); |
| | | $('#ew-map-select-center-img').removeClass('bounceInDown'); |
| | | setTimeout(function () { |
| | | $('#ew-map-select-center-img').addClass('bounceInDown'); |
| | | }); |
| | | var center = map.getCenter(); |
| | | searchNearBy(center.lat, center.lng); |
| | | } |
| | | }); |
| | | // poi列表点击事件 |
| | | $('#ew-map-select-pois').off('click').on('click', '.ew-map-select-search-list-item', function () { |
| | | $('#ew-map-select-tips').addClass('layui-hide'); |
| | | $('#ew-map-select-pois .ew-map-select-search-list-item-icon-ok').addClass('layui-hide'); |
| | | $(this).find('.ew-map-select-search-list-item-icon-ok').removeClass('layui-hide'); |
| | | $('#ew-map-select-center-img').removeClass('bounceInDown'); |
| | | setTimeout(function () { |
| | | $('#ew-map-select-center-img').addClass('bounceInDown'); |
| | | }); |
| | | var lng = $(this).data('lng'); |
| | | var lat = $(this).data('lat'); |
| | | var name = $(this).find('.ew-map-select-search-list-item-title').text(); |
| | | var address = $(this).find('.ew-map-select-search-list-item-address').text(); |
| | | selLocation = {name: name, address: address, lat: lat, lng: lng}; |
| | | isSelMove = true; |
| | | map.setZoomAndCenter(pointZoom, [lng, lat]); |
| | | }); |
| | | // 确定按钮点击事件 |
| | | $('#ew-map-select-btn-ok').click(function () { |
| | | if (selLocation === undefined) { |
| | | layer.msg('请点击位置列表选择', {icon: 2, anim: 6}); |
| | | } else if (onSelect) { |
| | | if (needCity) { |
| | | var loadIndex = layer.load(2); |
| | | map.setCenter([selLocation.lng, selLocation.lat]); |
| | | map.getCity(function (result) { |
| | | layer.close(loadIndex); |
| | | selLocation.city = result; |
| | | admin.closeDialog('#ew-map-select-btn-ok'); |
| | | onSelect(selLocation); |
| | | }); |
| | | } else { |
| | | admin.closeDialog('#ew-map-select-btn-ok'); |
| | | onSelect(selLocation); |
| | | } |
| | | } else { |
| | | admin.closeDialog('#ew-map-select-btn-ok'); |
| | | } |
| | | }); |
| | | // 搜索提示 |
| | | var $inputSearch = $('#ew-map-select-input-search'); |
| | | $inputSearch.off('input').on('input', function () { |
| | | var keywords = $(this).val(); |
| | | var $selectTips = $('#ew-map-select-tips'); |
| | | if (!keywords) { |
| | | $selectTips.html(''); |
| | | $selectTips.addClass('layui-hide'); |
| | | } |
| | | AMap.plugin('AMap.Autocomplete', function () { |
| | | var autoComplete = new AMap.Autocomplete({city: '全国'}); |
| | | autoComplete.search(keywords, function (status, result) { |
| | | if (result.tips) { |
| | | var tips = result.tips; |
| | | var htmlList = ''; |
| | | for (var i = 0; i < tips.length; i++) { |
| | | var tipItem = tips[i]; |
| | | if (tipItem.location !== undefined) { |
| | | htmlList += '<div data-lng="' + tipItem.location.lng + '" data-lat="' + tipItem.location.lat + '" class="ew-map-select-search-list-item">'; |
| | | htmlList += ' <div class="ew-map-select-search-list-item-icon-search"><i class="layui-icon layui-icon-search"></i></div>'; |
| | | htmlList += ' <div class="ew-map-select-search-list-item-title">' + tipItem.name + '</div>'; |
| | | htmlList += ' <div class="ew-map-select-search-list-item-address">' + tipItem.address + '</div>'; |
| | | htmlList += '</div>'; |
| | | } |
| | | } |
| | | $selectTips.html(htmlList); |
| | | if (tips.length === 0) $('#ew-map-select-tips').addClass('layui-hide'); |
| | | else $('#ew-map-select-tips').removeClass('layui-hide'); |
| | | } else { |
| | | $selectTips.html(''); |
| | | $selectTips.addClass('layui-hide'); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | $inputSearch.off('blur').on('blur', function () { |
| | | var keywords = $(this).val(); |
| | | var $selectTips = $('#ew-map-select-tips'); |
| | | if (!keywords) { |
| | | $selectTips.html(''); |
| | | $selectTips.addClass('layui-hide'); |
| | | } |
| | | }); |
| | | $inputSearch.off('focus').on('focus', function () { |
| | | var keywords = $(this).val(); |
| | | if (keywords) $('#ew-map-select-tips').removeClass('layui-hide'); |
| | | }); |
| | | // tips列表点击事件 |
| | | $('#ew-map-select-tips').off('click').on('click', '.ew-map-select-search-list-item', function () { |
| | | $('#ew-map-select-tips').addClass('layui-hide'); |
| | | var lng = $(this).data('lng'); |
| | | var lat = $(this).data('lat'); |
| | | selLocation = undefined; |
| | | map.setZoomAndCenter(pointZoom, [lng, lat]); |
| | | }); |
| | | }; |
| | | // 显示弹窗 |
| | | var htmlStr = [ |
| | | '<div class="ew-map-select-tool" style="position: relative;">', |
| | | ' 搜索:<input id="ew-map-select-input-search" class="layui-input icon-search inline-block" style="width: 190px;" placeholder="输入关键字搜索" autocomplete="off" />', |
| | | ' <button id="ew-map-select-btn-ok" class="layui-btn icon-btn pull-right" type="button"><i class="layui-icon"></i>确定</button>', |
| | | ' <div id="ew-map-select-tips" class="ew-map-select-search-list layui-hide">', |
| | | ' </div>', |
| | | '</div>', |
| | | '<div class="layui-row ew-map-select">', |
| | | ' <div class="layui-col-sm7 ew-map-select-map-group" style="position: relative;">', |
| | | ' <div id="ew-map-select-map"></div>', |
| | | ' <i id="ew-map-select-center-img2" class="layui-icon layui-icon-add-1"></i>', |
| | | ' <img id="ew-map-select-center-img" src="https://3gimg.qq.com/lightmap/components/locationPicker2/image/marker.png" alt=""/>', |
| | | ' </div>', |
| | | ' <div id="ew-map-select-pois" class="layui-col-sm5 ew-map-select-search-list">', |
| | | ' </div>', |
| | | '</div>'].join(''); |
| | | admin.open({ |
| | | id: 'ew-map-select', type: 1, title: dialogTitle, area: '750px', content: htmlStr, |
| | | success: function (layero, dIndex) { |
| | | var $content = $(layero).children('.layui-layer-content'); |
| | | $content.css('overflow', 'visible'); |
| | | admin.showLoading($content); |
| | | if (undefined === window.AMap) { |
| | | $.getScript(mapJsUrl, function () { |
| | | renderMap(); |
| | | admin.removeLoading($content); |
| | | }); |
| | | } else { |
| | | renderMap(); |
| | | admin.removeLoading($content); |
| | | } |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | /** 裁剪图片 */ |
| | | admin.cropImg = function (param) { |
| | | var uploadedImageType = 'image/jpeg'; // 当前图片的类型 |
| | | var aspectRatio = param.aspectRatio; // 裁剪比例 |
| | | var imgSrc = param.imgSrc; // 裁剪图片 |
| | | var imgType = param.imgType; // 图片类型 |
| | | var onCrop = param.onCrop; // 裁剪完成回调 |
| | | var limitSize = param.limitSize; // 限制选择的图片大小 |
| | | var acceptMime = param.acceptMime; // 限制选择的图片类型 |
| | | var imgExts = param.exts; // 限制选择的图片类型 |
| | | var dialogTitle = param.title; // 弹窗的标题 |
| | | if (aspectRatio === undefined) aspectRatio = 1; |
| | | if (dialogTitle === undefined) dialogTitle = '裁剪图片'; |
| | | if (imgType) uploadedImageType = imgType; |
| | | layui.use(['Cropper', 'upload'], function () { |
| | | var Cropper = layui.Cropper, upload = layui.upload; |
| | | |
| | | // 渲染组件 |
| | | function renderElem() { |
| | | var imgCropper, $cropImg = $('#ew-crop-img'); |
| | | // 上传文件按钮绑定事件 |
| | | var uploadOptions = { |
| | | elem: '#ew-crop-img-upload', auto: false, drag: false, |
| | | choose: function (obj) { |
| | | obj.preview(function (index, file, result) { |
| | | uploadedImageType = file.type; |
| | | $cropImg.attr('src', result); |
| | | if (!imgSrc || !imgCropper) { |
| | | imgSrc = result; |
| | | renderElem(); |
| | | } else { |
| | | imgCropper.destroy(); |
| | | imgCropper = new Cropper($cropImg[0], options); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | if (limitSize !== undefined) uploadOptions.size = limitSize; |
| | | if (acceptMime !== undefined) uploadOptions.acceptMime = acceptMime; |
| | | if (imgExts !== undefined) uploadOptions.exts = imgExts; |
| | | upload.render(uploadOptions); |
| | | // 没有传图片触发上传图片 |
| | | if (!imgSrc) return $('#ew-crop-img-upload').trigger('click'); |
| | | // 渲染裁剪组件 |
| | | var options = {aspectRatio: aspectRatio, preview: '#ew-crop-img-preview'}; |
| | | imgCropper = new Cropper($cropImg[0], options); |
| | | // 操作按钮绑定事件 |
| | | $('.ew-crop-tool').on('click', '[data-method]', function () { |
| | | var data = $(this).data(), cropped, result; |
| | | if (!imgCropper || !data.method) return; |
| | | data = $.extend({}, data); |
| | | cropped = imgCropper.cropped; |
| | | switch (data.method) { |
| | | case 'rotate': |
| | | if (cropped && options.viewMode > 0) imgCropper.clear(); |
| | | break; |
| | | case 'getCroppedCanvas': |
| | | if (uploadedImageType === 'image/jpeg') { |
| | | if (!data.option) data.option = {}; |
| | | data.option.fillColor = '#fff'; |
| | | } |
| | | break; |
| | | } |
| | | result = imgCropper[data.method](data.option, data.secondOption); |
| | | switch (data.method) { |
| | | case 'rotate': |
| | | if (cropped && options.viewMode > 0) imgCropper.crop(); |
| | | break; |
| | | case 'scaleX': |
| | | case 'scaleY': |
| | | $(this).data('option', -data.option); |
| | | break; |
| | | case 'getCroppedCanvas': |
| | | if (result) { |
| | | onCrop && onCrop(result.toDataURL(uploadedImageType)); |
| | | admin.closeDialog('#ew-crop-img'); |
| | | } else { |
| | | layer.msg('裁剪失败', {icon: 2, anim: 6}); |
| | | } |
| | | break; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 显示弹窗 |
| | | var htmlStr = [ |
| | | '<div class="layui-row">', |
| | | ' <div class="layui-col-sm8" style="min-height: 9rem;">', |
| | | ' <img id="ew-crop-img" src="', imgSrc || '', '" style="max-width:100%;" alt=""/>', |
| | | ' </div>', |
| | | ' <div class="layui-col-sm4 layui-hide-xs" style="padding: 15px;text-align: center;">', |
| | | ' <div id="ew-crop-img-preview" style="width: 100%;height: 9rem;overflow: hidden;display: inline-block;border: 1px solid #dddddd;"></div>', |
| | | ' </div>', |
| | | '</div>', |
| | | '<div class="text-center ew-crop-tool" style="padding: 15px 10px 5px 0;">', |
| | | ' <div class="layui-btn-group" style="margin-bottom: 10px;margin-left: 10px;">', |
| | | ' <button title="放大" data-method="zoom" data-option="0.1" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-add-1"></i></button>', |
| | | ' <button title="缩小" data-method="zoom" data-option="-0.1" class="layui-btn icon-btn" type="button"><span style="display: inline-block;width: 12px;height: 2.5px;background: rgba(255, 255, 255, 0.9);vertical-align: middle;margin: 0 4px;"></span></button>', |
| | | ' </div>', |
| | | ' <div class="layui-btn-group layui-hide-xs" style="margin-bottom: 10px;">', |
| | | ' <button title="向左旋转" data-method="rotate" data-option="-45" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-refresh-1" style="transform: rotateY(180deg) rotate(40deg);display: inline-block;"></i></button>', |
| | | ' <button title="向右旋转" data-method="rotate" data-option="45" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-refresh-1" style="transform: rotate(30deg);display: inline-block;"></i></button>', |
| | | ' </div>', |
| | | ' <div class="layui-btn-group" style="margin-bottom: 10px;">', |
| | | ' <button title="左移" data-method="move" data-option="-10" data-second-option="0" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-left"></i></button>', |
| | | ' <button title="右移" data-method="move" data-option="10" data-second-option="0" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-right"></i></button>', |
| | | ' <button title="上移" data-method="move" data-option="0" data-second-option="-10" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-up"></i></button>', |
| | | ' <button title="下移" data-method="move" data-option="0" data-second-option="10" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-down"></i></button>', |
| | | ' </div>', |
| | | ' <div class="layui-btn-group" style="margin-bottom: 10px;">', |
| | | ' <button title="左右翻转" data-method="scaleX" data-option="-1" class="layui-btn icon-btn" type="button" style="position: relative;width: 41px;"><i class="layui-icon layui-icon-triangle-r" style="position: absolute;left: 9px;top: 0;transform: rotateY(180deg);font-size: 16px;"></i><i class="layui-icon layui-icon-triangle-r" style="position: absolute; right: 3px; top: 0;font-size: 16px;"></i></button>', |
| | | ' <button title="上下翻转" data-method="scaleY" data-option="-1" class="layui-btn icon-btn" type="button" style="position: relative;width: 41px;"><i class="layui-icon layui-icon-triangle-d" style="position: absolute;left: 11px;top: 6px;transform: rotateX(180deg);line-height: normal;font-size: 16px;"></i><i class="layui-icon layui-icon-triangle-d" style="position: absolute; left: 11px; top: 14px;line-height: normal;font-size: 16px;"></i></button>', |
| | | ' </div>', |
| | | ' <div class="layui-btn-group" style="margin-bottom: 10px;">', |
| | | ' <button title="重新开始" data-method="reset" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-refresh"></i></button>', |
| | | ' <button title="选择图片" id="ew-crop-img-upload" class="layui-btn icon-btn" type="button" style="border-radius: 0 2px 2px 0;"><i class="layui-icon layui-icon-upload-drag"></i></button>', |
| | | ' </div>', |
| | | ' <button data-method="getCroppedCanvas" data-option="{ "maxWidth": 4096, "maxHeight": 4096 }" class="layui-btn icon-btn" type="button" style="margin-left: 10px;margin-bottom: 10px;"><i class="layui-icon"></i>完成</button>', |
| | | '</div>'].join(''); |
| | | admin.open({ |
| | | title: dialogTitle, area: '665px', type: 1, content: htmlStr, |
| | | success: function (layero, dIndex) { |
| | | $(layero).children('.layui-layer-content').css('overflow', 'visible'); |
| | | renderElem(); |
| | | } |
| | | }); |
| | | }); |
| | | }; |
| | | |
| | | /** 工具类 */ |
| | | admin.util = { |
| | | /* 百度地图坐标转高德地图坐标 */ |
| | | Convert_BD09_To_GCJ02: function (point) { |
| | | var x_pi = (3.14159265358979324 * 3000.0) / 180.0; |
| | | var x = point.lng - 0.0065, y = point.lat - 0.006; |
| | | var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi); |
| | | var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi); |
| | | return {lng: z * Math.cos(theta), lat: z * Math.sin(theta)}; |
| | | }, |
| | | /* 高德地图坐标转百度地图坐标 */ |
| | | Convert_GCJ02_To_BD09: function (point) { |
| | | var x_pi = (3.14159265358979324 * 3000.0) / 180.0; |
| | | var x = point.lng, y = point.lat; |
| | | var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi); |
| | | var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi); |
| | | return {lng: z * Math.cos(theta) + 0.0065, lat: z * Math.sin(theta) + 0.006}; |
| | | }, |
| | | /* 动态数字 */ |
| | | animateNum: function (elem, isThd, delay, grain) { |
| | | isThd = isThd === null || isThd === undefined || isThd === true || isThd === 'true'; // 是否是千分位 |
| | | delay = isNaN(delay) ? 500 : delay; // 动画延迟 |
| | | grain = isNaN(grain) ? 100 : grain; // 动画粒度 |
| | | var getPref = function (str) { |
| | | var pref = ''; |
| | | for (var i = 0; i < str.length; i++) if (!isNaN(str.charAt(i))) return pref; else pref += str.charAt(i); |
| | | }, getSuf = function (str) { |
| | | var suf = ''; |
| | | for (var i = str.length - 1; i >= 0; i--) if (!isNaN(str.charAt(i))) return suf; else suf = str.charAt(i) + suf; |
| | | }, toThd = function (num, isThd) { |
| | | if (!isThd) return num; |
| | | if (!/^[0-9]+.?[0-9]*$/.test(num)) return num; |
| | | num = num.toString(); |
| | | return num.replace(num.indexOf('.') > 0 ? /(\d)(?=(\d{3})+(?:\.))/g : /(\d)(?=(\d{3})+(?:$))/g, '$1,'); |
| | | }; |
| | | $(elem).each(function () { |
| | | var $this = $(this); |
| | | var num = $this.data('num'); |
| | | if (!num) { |
| | | num = $this.text().replace(/,/g, ''); // 内容 |
| | | $this.data('num', num); |
| | | } |
| | | var flag = 'INPUT,TEXTAREA'.indexOf($this.get(0).tagName) >= 0; // 是否是输入框 |
| | | var pref = getPref(num.toString()), suf = getSuf(num.toString()); |
| | | var strNum = num.toString().replace(pref, '').replace(suf, ''); |
| | | if (isNaN(strNum * 1) || strNum === '0') { |
| | | flag ? $this.val(num) : $this.html(num); |
| | | return console.error('not a number'); |
| | | } |
| | | var int_dec = strNum.split('.'); |
| | | var deciLen = int_dec[1] ? int_dec[1].length : 0; |
| | | var startNum = 0.0, endNum = strNum; |
| | | if (Math.abs(endNum * 1) > 10) startNum = parseFloat(int_dec[0].substring(0, int_dec[0].length - 1) + (int_dec[1] ? '.0' + int_dec[1] : '')); |
| | | var oft = (endNum - startNum) / grain, temp = 0; |
| | | var mTime = setInterval(function () { |
| | | var str = pref + toThd(startNum.toFixed(deciLen), isThd) + suf; |
| | | flag ? $this.val(str) : $this.html(str); |
| | | startNum += oft; |
| | | temp++; |
| | | if (Math.abs(startNum) >= Math.abs(endNum * 1) || temp > 5000) { |
| | | str = pref + toThd(endNum, isThd) + suf; |
| | | flag ? $this.val(str) : $this.html(str); |
| | | clearInterval(mTime); |
| | | } |
| | | }, delay / grain); |
| | | }); |
| | | }, |
| | | /* 深度克隆对象 */ |
| | | deepClone: function (obj) { |
| | | var result; |
| | | var oClass = admin.util.isClass(obj); |
| | | if (oClass === 'Object') result = {}; |
| | | else if (oClass === 'Array') result = []; |
| | | else return obj; |
| | | for (var key in obj) { |
| | | if (!obj.hasOwnProperty(key)) continue; |
| | | var copy = obj[key], cClass = admin.util.isClass(copy); |
| | | if (cClass === 'Object') result[key] = arguments.callee(copy); // 递归调用 |
| | | else if (cClass === 'Array') result[key] = arguments.callee(copy); |
| | | else result[key] = obj[key]; |
| | | } |
| | | return result; |
| | | }, |
| | | /* 获取变量类型 */ |
| | | isClass: function (o) { |
| | | if (o === null) return 'Null'; |
| | | if (o === undefined) return 'Undefined'; |
| | | return Object.prototype.toString.call(o).slice(8, -1); |
| | | }, |
| | | /* 判断富文本是否为空 */ |
| | | fullTextIsEmpty: function (text) { |
| | | if (!text) return true; |
| | | var noTexts = ['img', 'audio', 'video', 'iframe', 'object']; |
| | | for (var i = 0; i < noTexts.length; i++) { |
| | | if (text.indexOf('<' + noTexts[i]) > -1) return false; |
| | | } |
| | | var str = text.replace(/\s*/g, ''); // 去掉所有空格 |
| | | if (!str) return true; |
| | | str = str.replace(/ /ig, ''); // 去掉所有 |
| | | if (!str) return true; |
| | | str = str.replace(/<[^>]+>/g, ''); // 去掉所有html标签 |
| | | return !str; |
| | | }, |
| | | /* 移除元素的style */ |
| | | removeStyle: function (elem, names) { |
| | | if (typeof names === 'string') names = [names]; |
| | | for (var i = 0; i < names.length; i++) $(elem).css(names[i], ''); |
| | | }, |
| | | /* 滚动到顶部 */ |
| | | scrollTop: function (elem) { |
| | | $(elem || 'html,body').animate({scrollTop: 0}, 300); |
| | | }, |
| | | /* 模板解析 */ |
| | | tpl: function (html, data, openCode, closeCode) { |
| | | if (html === undefined || html === null || typeof html !== 'string') return html; |
| | | if (!data) data = {}; |
| | | if (!openCode) openCode = '{{'; |
| | | if (!closeCode) closeCode = '}}'; |
| | | var tool = { |
| | | exp: function (str) { |
| | | return new RegExp(str, 'g'); |
| | | }, |
| | | // 匹配满足规则内容 |
| | | query: function (type, _, __) { |
| | | var types = ['#([\\s\\S])+?', '([^{#}])*?'][type || 0]; |
| | | return tool.exp((_ || '') + openCode + types + closeCode + (__ || '')); |
| | | }, |
| | | escape: function (str) { |
| | | return String(str || '').replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&') |
| | | .replace(/</g, '<').replace(/>/g, '>') |
| | | .replace(/'/g, ''').replace(/"/g, '"'); |
| | | }, |
| | | error: function (e, tplog) { |
| | | console.error('Laytpl Error:' + e + '\n' + (tplog || '')); |
| | | }, |
| | | parse: function (tpl, data) { |
| | | var tplog = tpl; |
| | | try { |
| | | var jss = tool.exp('^' + openCode + '#'), jsse = tool.exp(closeCode + '$'); |
| | | tpl = tpl.replace(tool.exp(openCode + '#'), openCode + '# ') |
| | | .replace(tool.exp(closeCode + '}'), '} ' + closeCode).replace(/\\/g, '\\\\') |
| | | // 不匹配指定区域的内容 |
| | | .replace(tool.exp(openCode + '!(.+?)!' + closeCode), function (str) { |
| | | str = str.replace(tool.exp('^' + openCode + '!'), '') |
| | | .replace(tool.exp('!' + closeCode), '') |
| | | .replace(tool.exp(openCode + '|' + closeCode), function (tag) { |
| | | return tag.replace(/(.)/g, '\\$1') |
| | | }); |
| | | return str |
| | | }) |
| | | // 匹配JS规则内容 |
| | | .replace(/(?="|')/g, '\\').replace(tool.query(), function (str) { |
| | | str = str.replace(jss, '').replace(jsse, ''); |
| | | return '";' + str.replace(/\\/g, '') + ';view+="'; |
| | | }) |
| | | // 匹配普通字段 |
| | | .replace(tool.query(1), function (str) { |
| | | var start = '"+('; |
| | | if (str.replace(/\s/g, '') === openCode + closeCode) return ''; |
| | | str = str.replace(tool.exp(openCode + '|' + closeCode), ''); |
| | | if (/^=/.test(str)) { |
| | | str = str.replace(/^=/, ''); |
| | | start = '"+_escape_('; |
| | | } |
| | | return start + str.replace(/\\/g, '') + ')+"'; |
| | | }) |
| | | // 换行符处理 |
| | | .replace(/\r\n/g, '\\r\\n" + "').replace(/\n/g, '\\n" + "').replace(/\r/g, '\\r" + "'); |
| | | tpl = '"use strict";var view = "' + tpl + '";return view;'; |
| | | tpl = new Function('d, _escape_', tpl); |
| | | return tpl(data, tool.escape); |
| | | } catch (e) { |
| | | tool.error(e, tplog); |
| | | return tplog; |
| | | } |
| | | } |
| | | }; |
| | | return tool.parse(html, data); |
| | | }, |
| | | /* 渲染动态模板 */ |
| | | render: function (option) { |
| | | if (typeof option.url === 'string') { |
| | | option.success = function (res) { |
| | | admin.util.render($.extend({}, option, {url: res})); |
| | | }; |
| | | if (option.ajax === 'ajax') admin.ajax(option); |
| | | else admin.req(option.url, option.where, option.success, option.method, option); |
| | | return; |
| | | } |
| | | var html = admin.util.tpl(option.tpl, option.url, |
| | | option.open || setter.tplOpen, option.close || setter.tplClose); |
| | | $(option.elem).next('[ew-tpl-rs]').remove(); |
| | | $(option.elem).after(html); |
| | | $(option.elem).next().attr('ew-tpl-rs', ''); |
| | | option.done && option.done(option.url); |
| | | } |
| | | }; |
| | | |
| | | /** 锁屏功能 */ |
| | | admin.lockScreen = function (url) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.lockScreen(url); |
| | | if (!url) url = 'tpl/tpl-lock-screen.html'; |
| | | var $lock = $('#ew-lock-screen-group'); |
| | | if ($lock.length > 0) { |
| | | $lock.fadeIn('fast'); |
| | | admin.isLockScreen = true; |
| | | admin.putTempData('isLockScreen', admin.isLockScreen, true); |
| | | } else { |
| | | var loadIndex = layer.load(2); |
| | | admin.ajax({ |
| | | url: url, dataType: 'html', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (typeof res === 'string') { |
| | | $('body').append('<div id="ew-lock-screen-group">' + res + '</div>'); |
| | | admin.isLockScreen = true; |
| | | admin.putTempData('isLockScreen', admin.isLockScreen, true); |
| | | admin.putTempData('lockScreenUrl', url, true); |
| | | } else { |
| | | console.error(res); |
| | | layer.msg(JSON.stringify(res), {icon: 2, anim: 6}); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | /** 解除锁屏 */ |
| | | admin.unlockScreen = function (isRemove) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.unlockScreen(isRemove); |
| | | var $lock = $('#ew-lock-screen-group'); |
| | | isRemove ? $lock.remove() : $lock.fadeOut('fast'); |
| | | admin.isLockScreen = false; |
| | | admin.putTempData('isLockScreen', null, true); |
| | | }; |
| | | |
| | | /** tips方法封装 */ |
| | | admin.tips = function (option) { |
| | | return layer.tips(option.text, option.elem, { |
| | | tips: [option.direction || 1, option.bg || '#191a23'], |
| | | tipsMore: option.tipsMore, time: option.time || -1, |
| | | success: function (layero) { |
| | | var $content = $(layero).children('.layui-layer-content'); |
| | | if (option.padding || option.padding === 0) $content.css('padding', option.padding); |
| | | if (option.color) $content.css('color', option.color); |
| | | if (option.bgImg) $content.css('background-image', option.bgImg).children('.layui-layer-TipsG').css('z-index', '-1'); |
| | | if (option.fontSize) $content.css('font-size', option.fontSize); |
| | | if (!option.offset) return; |
| | | var offset = option.offset.split(','); |
| | | var top = offset[0], left = offset.length > 1 ? offset[1] : undefined; |
| | | if (top) $(layero).css('margin-top', top); |
| | | if (left) $(layero).css('margin-left', left); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | /** 渲染动态模板 */ |
| | | admin.renderTpl = function (elem) { |
| | | if (!layui.admin) layui.admin = admin; |
| | | |
| | | // 解析数据 |
| | | function parseData(data) { |
| | | if (!data) return; |
| | | try { |
| | | return new Function('return ' + data + ';')(); |
| | | } catch (e) { |
| | | console.error(e + '\nlay-data: ' + data); |
| | | } |
| | | } |
| | | |
| | | $(elem || '[ew-tpl]').each(function () { |
| | | var $this = $(this); |
| | | var option = admin.util.deepClone($(this).data()); |
| | | option.elem = $this; |
| | | option.tpl = $this.html(); |
| | | option.url = parseData($this.attr('ew-tpl')); |
| | | option.headers = parseData(option.headers); |
| | | option.where = parseData(option.where); |
| | | if (option.done) { |
| | | try { |
| | | option.done = new Function('res', option.done); |
| | | } catch (e) { |
| | | console.error(e + '\nlay-data:' + option.done); |
| | | option.done = undefined; |
| | | } |
| | | } |
| | | admin.util.render(option); |
| | | }); |
| | | }; |
| | | |
| | | /** 事件监听 */ |
| | | admin.on = function (events, callback) { |
| | | return layui.onevent.call(this, 'admin', events, callback); |
| | | }; |
| | | |
| | | /** 修改配置信息 */ |
| | | admin.putSetting = function (key, value) { |
| | | setter[key] = value; |
| | | admin.putTempData(key, value, true); |
| | | }; |
| | | |
| | | /** 恢复配置信息 */ |
| | | admin.recoverState = function () { |
| | | // 恢复锁屏状态 |
| | | if (admin.getTempData('isLockScreen', true)) admin.lockScreen(admin.getTempData('lockScreenUrl', true)); |
| | | // 恢复配置的主题 |
| | | if (setter.defaultTheme) admin.changeTheme(setter.defaultTheme, window, true, true); |
| | | // 恢复页脚状态、导航箭头 |
| | | if (setter.closeFooter) $('body').addClass('close-footer'); |
| | | if (setter.navArrow !== undefined) { |
| | | var $nav = $(sideDOM + '>.layui-nav-tree'); |
| | | $nav.removeClass('arrow2 arrow3'); |
| | | if (setter.navArrow) $nav.addClass(setter.navArrow); |
| | | } |
| | | // 恢复tab自动刷新 |
| | | if (setter.pageTabs && setter.tabAutoRefresh == 'true') $(tabDOM).attr('lay-autoRefresh', 'true'); |
| | | }; |
| | | |
| | | /* 事件监听 */ |
| | | admin.on = function (events, callback) { |
| | | return layui.onevent.call(this, 'admin', events, callback); |
| | | }; |
| | | |
| | | /** 侧导航折叠状态下鼠标经过无限悬浮效果 */ |
| | | var navItemDOM = '.layui-layout-admin.admin-nav-mini>.layui-side .layui-nav .layui-nav-item'; |
| | | $(document).on('mouseenter', navItemDOM + ',' + navItemDOM + ' .layui-nav-child>dd', function () { |
| | | if (admin.getPageWidth() > 768) { |
| | | var $that = $(this), $navChild = $that.find('>.layui-nav-child'); |
| | | if ($navChild.length > 0) { |
| | | $that.addClass('admin-nav-hover'); |
| | | $navChild.css('left', $that.offset().left + $that.outerWidth()); |
| | | var top = $that.offset().top; |
| | | if (top + $navChild.outerHeight() > admin.getPageHeight()) { |
| | | top = top - $navChild.outerHeight() + $that.outerHeight(); |
| | | if (top < 60) top = 60; |
| | | $navChild.addClass('show-top'); |
| | | } |
| | | $navChild.css('top', top); |
| | | $navChild.addClass('ew-anim-drop-in'); |
| | | } else if ($that.hasClass('layui-nav-item')) { |
| | | admin.tips({elem: $that, text: $that.find('cite').text(), direction: 2, offset: '12px'}); |
| | | } |
| | | } |
| | | }).on('mouseleave', navItemDOM + ',' + navItemDOM + ' .layui-nav-child>dd', function () { |
| | | layer.closeAll('tips'); |
| | | var $this = $(this); |
| | | $this.removeClass('admin-nav-hover'); |
| | | var $child = $this.find('>.layui-nav-child'); |
| | | $child.removeClass('show-top ew-anim-drop-in'); |
| | | $child.css({'left': 'auto', 'top': 'auto'}); |
| | | }); |
| | | |
| | | /** 所有ew-event */ |
| | | $(document).on('click', '*[ew-event]', function () { |
| | | var te = admin.events[$(this).attr('ew-event')]; |
| | | te && te.call(this, $(this)); |
| | | }); |
| | | |
| | | /** 所有lay-tips处理 */ |
| | | $(document).on('mouseenter', '*[lay-tips]', function () { |
| | | var $this = $(this); |
| | | admin.tips({ |
| | | elem: $this, text: $this.attr('lay-tips'), direction: $this.attr('lay-direction'), |
| | | bg: $this.attr('lay-bg'), offset: $this.attr('lay-offset'), |
| | | padding: $this.attr('lay-padding'), color: $this.attr('lay-color'), |
| | | bgImg: $this.attr('lay-bgImg'), fontSize: $this.attr('lay-fontSize') |
| | | }); |
| | | }).on('mouseleave', '*[lay-tips]', function () { |
| | | layer.closeAll('tips'); |
| | | }); |
| | | |
| | | /** 表单搜索展开更多 */ |
| | | $(document).on('click', '.form-search-expand,[search-expand]', function () { |
| | | var $this = $(this); |
| | | var $form = $this.parents('.layui-form').first(); |
| | | var expand = $this.data('expand'); |
| | | var change = $this.attr('search-expand'); |
| | | if (expand === undefined || expand === true) { |
| | | expand = true; |
| | | $this.data('expand', false); |
| | | $this.html('收起 <i class="layui-icon layui-icon-up"></i>'); |
| | | var $elem = $form.find('.form-search-show-expand'); |
| | | $elem.attr('expand-show', ''); |
| | | $elem.removeClass('form-search-show-expand'); |
| | | } else { |
| | | expand = false; |
| | | $this.data('expand', true); |
| | | $this.html('展开 <i class="layui-icon layui-icon-down"></i>'); |
| | | $form.find('[expand-show]').addClass('form-search-show-expand'); |
| | | } |
| | | if (!change) return; |
| | | new Function('d', change)({expand: expand, elem: $this}); |
| | | }); |
| | | |
| | | /** select使用fixed定位显示 */ |
| | | $(document).on('click.ew-sel-fixed', '.ew-select-fixed .layui-form-select .layui-select-title', function () { |
| | | var $this = $(this), $dl = $this.parent().children('dl'), tTop = $this.offset().top; |
| | | var tWidth = $this.outerWidth(), tHeight = $this.outerHeight(), scrollT = $(document).scrollTop(); |
| | | var dWidth = $dl.outerWidth(), dHeight = $dl.outerHeight(); |
| | | var top = tTop + tHeight + 5 - scrollT, left = $this.offset().left; |
| | | if (top + dHeight > admin.getPageHeight()) top = top - dHeight - tHeight - 10; |
| | | if (left + dWidth > admin.getPageWidth()) left = left - dWidth + tWidth; |
| | | $dl.css({'left': left, 'top': top, 'min-width': tWidth}); |
| | | }); |
| | | |
| | | /** 用于滚动时关闭一些fixed的组件 */ |
| | | admin.hideFixedEl = function () { |
| | | $('.ew-select-fixed .layui-form-select').removeClass('layui-form-selected layui-form-selectup'); // select |
| | | $('body>.layui-laydate').remove(); // laydate |
| | | }; |
| | | |
| | | /** 垂直导航栏展开折叠增加过渡效果 */ |
| | | $(document).on('click', '.layui-nav-tree>.layui-nav-item a', function () { |
| | | var $this = $(this), $child = $this.siblings('.layui-nav-child'), $parent = $this.parent(); |
| | | if ($child.length === 0) return; |
| | | if ($parent.hasClass('admin-nav-hover')) return; |
| | | if ($parent.hasClass('layui-nav-itemed')) { // 因为layui会处理一遍所以这里状态是相反的 |
| | | $child.css('display', 'none').slideDown('fast', function () { |
| | | $(this).css('display', ''); |
| | | }); |
| | | } else { |
| | | $child.css('display', 'block').slideUp('fast', function () { |
| | | $(this).css('display', ''); |
| | | }); |
| | | } |
| | | if ($this.parents('.layui-nav').attr('lay-shrink') === '_all') { // 手风琴效果 |
| | | var $siblings = $this.parent().siblings('.layui-nav-itemed'); |
| | | $siblings.children('.layui-nav-child').css('display', 'block').slideUp('fast', function () { |
| | | $(this).css('display', ''); |
| | | }); |
| | | $siblings.removeClass('layui-nav-itemed'); |
| | | } |
| | | }); |
| | | $('.layui-nav-tree[lay-shrink="all"]').attr('lay-shrink', '_all'); // 让layui不处理手风琴效果 |
| | | |
| | | /** 折叠面板展开折叠增加过渡效果 */ |
| | | $(document).on('click', '.layui-collapse>.layui-colla-item>.layui-colla-title', function () { |
| | | var $this = $(this), $content = $this.siblings('.layui-colla-content') |
| | | , $collapse = $this.parent().parent(), isNone = $content.hasClass('layui-show'); |
| | | if (isNone) { // 因为layui会处理一遍所以这里状态是相反的 |
| | | $content.removeClass('layui-show').slideDown('fast').addClass('layui-show'); |
| | | } else { |
| | | $content.css('display', 'block').slideUp('fast', function () { |
| | | $(this).css('display', ''); |
| | | }); |
| | | } |
| | | $this.children('.layui-colla-icon').html('') |
| | | .css({'transition': 'all .3s', 'transform': 'rotate(' + (isNone ? '90deg' : '0deg') + ')'}); |
| | | if ($collapse.attr('lay-shrink') === '_all') { // 手风琴效果 |
| | | var $show = $collapse.children('.layui-colla-item').children('.layui-colla-content.layui-show').not($content); |
| | | $show.css('display', 'block').slideUp('fast', function () { |
| | | $(this).css('display', ''); |
| | | }); |
| | | $show.removeClass('layui-show'); |
| | | $show.siblings('.layui-colla-title').children('.layui-colla-icon').html('') |
| | | .css({'transition': 'all .3s', 'transform': 'rotate(0deg)'}); |
| | | } |
| | | }); |
| | | $('.layui-collapse[lay-accordion]').attr('lay-shrink', '_all').removeAttr('lay-accordion'); // 让layui不处理手风琴效果 |
| | | |
| | | /** 表单验证tips提示样式修改 */ |
| | | layer.oldTips = layer.tips; |
| | | layer.tips = function (content, follow, options) { |
| | | var $fFip; // 判断是否是表单验证调用的tips |
| | | if ($(follow).length > 0 && $(follow).parents('.layui-form').length > 0) { |
| | | if ($(follow).is('input') || $(follow).is('textarea')) { |
| | | $fFip = $(follow); |
| | | } else if ($(follow).hasClass('layui-form-select') || $(follow).hasClass('layui-form-radio') |
| | | || $(follow).hasClass('layui-form-checkbox') || $(follow).hasClass('layui-form-switch')) { |
| | | $fFip = $(follow).prev(); |
| | | } |
| | | } |
| | | if (!$fFip) return layer.oldTips(content, follow, options); |
| | | options.tips = [$fFip.attr('lay-direction') || 3, $fFip.attr('lay-bg') || '#ff4c4c']; |
| | | setTimeout(function () { |
| | | options.success = function (layero) { |
| | | $(layero).children('.layui-layer-content').css('padding', '6px 12px'); |
| | | }; |
| | | layer.oldTips(content, follow, options); |
| | | }, 100); |
| | | }; |
| | | |
| | | /** 所有ew-href处理 */ |
| | | $(document).on('click', '*[ew-href]', function () { |
| | | var $this = $(this); |
| | | var href = $this.attr('ew-href'); |
| | | if (!href || href === '#') return; |
| | | if (href.indexOf('javascript:') === 0) return new Function(href.substring(11))(); |
| | | var title = $this.attr('ew-title') || $this.text(); |
| | | var win = $this.data('window'); |
| | | win ? (win = admin.strToWin(win)) : (win = top); |
| | | var end = $this.attr('ew-end'); |
| | | try { |
| | | if (end) end = new Function(end); |
| | | else end = undefined; |
| | | } catch (e) { |
| | | console.error(e); |
| | | } |
| | | if (win.layui && win.layui.index) win.layui.index.openTab({title: title || '', url: href, end: end}); |
| | | else location.href = href; |
| | | }); |
| | | |
| | | /** 帮助鼠标右键菜单完成点击空白关闭的功能 */ |
| | | if (!layui.contextMenu) { |
| | | $(document).off('click.ctxMenu').on('click.ctxMenu', function () { |
| | | try { |
| | | var ifs = top.window.frames; |
| | | for (var i = 0; i < ifs.length; i++) { |
| | | var tif = ifs[i]; |
| | | try { // 可能会跨域 |
| | | if (tif.layui && tif.layui.jquery) tif.layui.jquery('body>.ctxMenu').remove(); |
| | | } catch (e) { |
| | | } |
| | | } |
| | | try { // 可能会跨域 |
| | | if (top.layui && top.layui.jquery) top.layui.jquery('body>.ctxMenu').remove(); |
| | | } catch (e) { |
| | | } |
| | | } catch (e) { |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** 读取缓存的配置信息 */ |
| | | setter = $.extend({ |
| | | pageTabs: true, cacheTab: true, openTabCtxMenu: true, maxTabNum: 20, tableName: 'easyweb-iframe', |
| | | apiNoCache: true, ajaxSuccessBefore: function (res, url, obj) { |
| | | return admin.ajaxSuccessBefore ? admin.ajaxSuccessBefore(res, url, obj) : true; |
| | | }, getAjaxHeaders: function (res, url, obj) { |
| | | return admin.getAjaxHeaders ? admin.getAjaxHeaders(res, url, obj) : []; |
| | | } |
| | | }, setter); |
| | | var cache = admin.getTempData(true); |
| | | if (cache) { |
| | | var keys = ['pageTabs', 'cacheTab', 'defaultTheme', 'navArrow', 'closeFooter', 'tabAutoRefresh']; |
| | | for (var i = 0; i < keys.length; i++) if (cache[keys[i]] !== undefined) setter[keys[i]] = cache[keys[i]]; |
| | | } |
| | | admin.recoverState(); // 恢复本地配置 |
| | | admin.renderTpl(); // 渲染动态模板 |
| | | admin.setter = setter; |
| | | if (layui.device().ios) $('body').addClass('ios-iframe-body'); // ios浏览器iframe兼容 |
| | | exports('admin', admin); |
| | | }); |
New file |
| | |
| | | /** 右键菜单模块 date:2019-02-08 License By http://easyweb.vip */ |
| | | layui.define(["jquery"], function (exports) { |
| | | var $ = layui.jquery; |
| | | |
| | | var contextMenu = { |
| | | // 绑定元素 |
| | | bind: function (elem, items) { |
| | | $(elem).bind('contextmenu', function (e) { |
| | | contextMenu.show(items, e.clientX, e.clientY, e); |
| | | return false; |
| | | }); |
| | | }, |
| | | // 在指定坐标显示菜单 |
| | | show: function (items, x, y, e) { |
| | | var xy = 'left: ' + x + 'px; top: ' + y + 'px;'; |
| | | var htmlStr = '<div class="ctxMenu" style="' + xy + '">'; |
| | | htmlStr += contextMenu.getHtml(items, ''); |
| | | htmlStr += ' </div>'; |
| | | contextMenu.remove(); |
| | | $('body').append(htmlStr); |
| | | // 调整溢出位置 |
| | | var $ctxMenu = $('.ctxMenu'); |
| | | if (x + $ctxMenu.outerWidth() > contextMenu.getPageWidth()) { |
| | | x -= $ctxMenu.outerWidth(); |
| | | } |
| | | if (y + $ctxMenu.outerHeight() > contextMenu.getPageHeight()) { |
| | | y = y - $ctxMenu.outerHeight(); |
| | | if (y < 0) { |
| | | y = 0; |
| | | } |
| | | } |
| | | $ctxMenu.css({'top': y, 'left': x}); |
| | | // 添加item点击事件 |
| | | contextMenu.setEvents(items, e); |
| | | // 显示子菜单事件 |
| | | $('.ctxMenu-item').on('mouseenter', function (e) { |
| | | e.stopPropagation(); |
| | | $(this).parent().find('.ctxMenu-sub').css('display', 'none'); |
| | | if (!$(this).hasClass('haveMore')) return; |
| | | var $item = $(this).find('>a'); |
| | | var $sub = $(this).find('>.ctxMenu-sub'); |
| | | var top = $item.offset().top - $('body,html').scrollTop(); |
| | | var left = $item.offset().left + $item.outerWidth() - $('body,html').scrollLeft(); |
| | | if (left + $sub.outerWidth() > contextMenu.getPageWidth()) { |
| | | left = $item.offset().left - $sub.outerWidth(); |
| | | } |
| | | if (top + $sub.outerHeight() > contextMenu.getPageHeight()) { |
| | | top = top - $sub.outerHeight() + $item.outerHeight(); |
| | | if (top < 0) { |
| | | top = 0; |
| | | } |
| | | } |
| | | $(this).find('>.ctxMenu-sub').css({ |
| | | 'top': top, |
| | | 'left': left, |
| | | 'display': 'block' |
| | | }); |
| | | })/*.on('mouseleave', function () { |
| | | $(this).find('>.ctxMenu-sub').css('display', 'none'); |
| | | })*/; |
| | | }, |
| | | // 移除所有 |
| | | remove: function () { |
| | | var ifs = parent.window.frames; |
| | | for (var i = 0; i < ifs.length; i++) { |
| | | var tif = ifs[i]; |
| | | try { |
| | | tif.layui.jquery('body>.ctxMenu').remove(); |
| | | } catch (e) { |
| | | } |
| | | } |
| | | try { |
| | | parent.layui.jquery('body>.ctxMenu').remove(); |
| | | } catch (e) { |
| | | } |
| | | }, |
| | | // 设置事件监听 |
| | | setEvents: function (items, event) { |
| | | $('.ctxMenu').off('click').on('click', '[lay-id]', function (e) { |
| | | var itemId = $(this).attr('lay-id'); |
| | | var item = getItemById(itemId, items); |
| | | item.click && item.click(e, event); |
| | | }); |
| | | |
| | | function getItemById(id, list) { |
| | | for (var i = 0; i < list.length; i++) { |
| | | var one = list[i]; |
| | | if (id == one.itemId) { |
| | | return one; |
| | | } else if (one.subs && one.subs.length > 0) { |
| | | var temp = getItemById(id, one.subs); |
| | | if (temp) { |
| | | return temp; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | // 构建无限级 |
| | | getHtml: function (items, pid) { |
| | | var htmlStr = ''; |
| | | for (var i = 0; i < items.length; i++) { |
| | | var item = items[i]; |
| | | item.itemId = 'ctxMenu-' + pid + i; |
| | | if (item.subs && item.subs.length > 0) { |
| | | htmlStr += '<div class="ctxMenu-item haveMore" lay-id="' + item.itemId + '">'; |
| | | htmlStr += '<a>'; |
| | | if (item.icon) { |
| | | htmlStr += '<i class="' + item.icon + ' ctx-icon"></i>'; |
| | | } |
| | | htmlStr += item.name; |
| | | htmlStr += '<i class="layui-icon layui-icon-right icon-more"></i>'; |
| | | htmlStr += '</a>'; |
| | | htmlStr += '<div class="ctxMenu-sub" style="display: none;">'; |
| | | htmlStr += contextMenu.getHtml(item.subs, pid + i); |
| | | htmlStr += '</div>'; |
| | | } else { |
| | | htmlStr += '<div class="ctxMenu-item" lay-id="' + item.itemId + '">'; |
| | | htmlStr += '<a>'; |
| | | if (item.icon) { |
| | | htmlStr += '<i class="' + item.icon + ' ctx-icon"></i>'; |
| | | } |
| | | htmlStr += item.name; |
| | | htmlStr += '</a>'; |
| | | } |
| | | htmlStr += '</div>'; |
| | | if (item.hr == true) { |
| | | htmlStr += '<hr/>'; |
| | | } |
| | | } |
| | | return htmlStr; |
| | | }, |
| | | // 获取css代码 |
| | | getCommonCss: function () { |
| | | var cssStr = '.ctxMenu, .ctxMenu-sub {'; |
| | | cssStr += ' max-width: 250px;'; |
| | | cssStr += ' min-width: 110px;'; |
| | | cssStr += ' background: white;'; |
| | | cssStr += ' border-radius: 2px;'; |
| | | cssStr += ' padding: 5px 0;'; |
| | | cssStr += ' white-space: nowrap;'; |
| | | cssStr += ' position: fixed;'; |
| | | cssStr += ' z-index: 2147483647;'; |
| | | cssStr += ' box-shadow: 0 2px 4px rgba(0, 0, 0, .12);'; |
| | | cssStr += ' border: 1px solid #d2d2d2;'; |
| | | cssStr += ' overflow: visible;'; |
| | | cssStr += ' }'; |
| | | |
| | | cssStr += ' .ctxMenu-item {'; |
| | | cssStr += ' position: relative;'; |
| | | cssStr += ' }'; |
| | | |
| | | cssStr += ' .ctxMenu-item > a {'; |
| | | cssStr += ' font-size: 14px;'; |
| | | cssStr += ' color: #666;'; |
| | | cssStr += ' padding: 0 26px 0 35px;'; |
| | | cssStr += ' cursor: pointer;'; |
| | | cssStr += ' display: block;'; |
| | | cssStr += ' line-height: 36px;'; |
| | | cssStr += ' text-decoration: none;'; |
| | | cssStr += ' position: relative;'; |
| | | cssStr += ' }'; |
| | | |
| | | cssStr += ' .ctxMenu-item > a:hover {'; |
| | | cssStr += ' background: #f2f2f2;'; |
| | | cssStr += ' color: #666;'; |
| | | cssStr += ' }'; |
| | | |
| | | cssStr += ' .ctxMenu-item > a > .icon-more {'; |
| | | cssStr += ' position: absolute;'; |
| | | cssStr += ' right: 5px;'; |
| | | cssStr += ' top: 0;'; |
| | | cssStr += ' font-size: 12px;'; |
| | | cssStr += ' color: #666;'; |
| | | cssStr += ' }'; |
| | | |
| | | cssStr += ' .ctxMenu-item > a > .ctx-icon {'; |
| | | cssStr += ' position: absolute;'; |
| | | cssStr += ' left: 12px;'; |
| | | cssStr += ' top: 0;'; |
| | | cssStr += ' font-size: 15px;'; |
| | | cssStr += ' color: #666;'; |
| | | cssStr += ' }'; |
| | | |
| | | cssStr += ' .ctxMenu hr {'; |
| | | cssStr += ' background-color: #e6e6e6;'; |
| | | cssStr += ' clear: both;'; |
| | | cssStr += ' margin: 5px 0;'; |
| | | cssStr += ' border: 0;'; |
| | | cssStr += ' height: 1px;'; |
| | | cssStr += ' }'; |
| | | |
| | | cssStr += ' .ctx-ic-lg {'; |
| | | cssStr += ' font-size: 18px !important;'; |
| | | cssStr += ' left: 11px !important;'; |
| | | cssStr += ' }'; |
| | | return cssStr; |
| | | }, |
| | | // 获取浏览器高度 |
| | | getPageHeight: function () { |
| | | return document.documentElement.clientHeight || document.body.clientHeight; |
| | | }, |
| | | // 获取浏览器宽度 |
| | | getPageWidth: function () { |
| | | return document.documentElement.clientWidth || document.body.clientWidth; |
| | | }, |
| | | }; |
| | | |
| | | // 点击任意位置关闭菜单 |
| | | $(document).off('click.ctxMenu').on('click.ctxMenu', function () { |
| | | contextMenu.remove(); |
| | | }); |
| | | |
| | | // 点击有子菜单的节点不关闭菜单 |
| | | $(document).off('click.ctxMenuMore').on('click.ctxMenuMore', '.ctxMenu-item', function (e) { |
| | | if ($(this).hasClass('haveMore')) { |
| | | if (e !== void 0) { |
| | | e.preventDefault(); |
| | | e.stopPropagation(); |
| | | } |
| | | } else { |
| | | contextMenu.remove(); |
| | | } |
| | | }); |
| | | |
| | | $('head').append('<style id="ew-css-ctx">' + contextMenu.getCommonCss() + '</style>'); |
| | | exports("contextMenu", contextMenu); |
| | | }); |
New file |
| | |
| | | /** 下拉菜单模块 date:2020-05-04 License By http://easyweb.vip */ |
| | | |
| | | .dropdown-no-scroll { |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .dropdown-fix-parent { |
| | | z-index: auto !important; |
| | | } |
| | | |
| | | /** 遮罩层 */ |
| | | .dropdown-menu-shade { |
| | | position: fixed; |
| | | left: 0; |
| | | right: 0; |
| | | top: 0; |
| | | bottom: 0; |
| | | z-index: 9998; |
| | | background-color: rgba(0, 0, 0, .1); |
| | | } |
| | | |
| | | .dropdown-menu-shade.no-shade { |
| | | background-color: transparent; |
| | | } |
| | | |
| | | /** 夜间主题 */ |
| | | |
| | | .dropdown-menu-nav.dark, .dropdown-menu-nav.dark .dropdown-menu-nav-child { |
| | | background: #32363F; |
| | | border-color: #484e58; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > li > a, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li > a { |
| | | color: #a1a8b8; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > li > a:hover, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li > a:hover { |
| | | background-color: #272b34; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > li.disabled > a, .dropdown-menu-nav > li.disabled > a:hover, |
| | | .dropdown-menu-nav.dark .dropdown-menu-nav-child > li.disabled > a, .dropdown-menu-nav .dropdown-menu-nav-child > li.disabled > a:hover { |
| | | color: #7a8191; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > hr, .dropdown-menu-nav.dark .dropdown-menu-nav-child > hr { |
| | | background-color: #484e58; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > li.title, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li.title { |
| | | color: #868b9a; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark .dropdown-anchor { |
| | | border-color: #484e58; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark .dropdown-anchor::after { |
| | | border-color: #32363F; |
| | | } |
| | | |
| | | /** 白色主题 */ |
| | | .dropdown-menu { |
| | | position: relative; |
| | | display: inline-block; |
| | | vertical-align: bottom; |
| | | } |
| | | |
| | | .dropdown-menu-nav, .dropdown-menu-nav .dropdown-menu-nav-child { |
| | | position: absolute; |
| | | padding: 5px 0; |
| | | margin: 0; |
| | | overflow: visible; |
| | | min-width: 110px; |
| | | background: #fff; |
| | | border-radius: 2px; |
| | | box-shadow: 0 1px 4px rgba(0, 0, 0, .12); |
| | | border: 1px solid #e4e4e4; |
| | | line-height: initial; |
| | | text-align: left; |
| | | z-index: 9999; |
| | | } |
| | | |
| | | .dropdown-menu .dropdown-menu-nav { |
| | | display: none; |
| | | } |
| | | |
| | | .dropdown-menu.dropdown-open .dropdown-menu-nav { |
| | | display: block; |
| | | } |
| | | |
| | | .dropdown-menu-nav.fixed { |
| | | position: fixed; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li, .dropdown-menu-nav-child > li { |
| | | padding: 0; |
| | | margin: 0; |
| | | line-height: 18px; |
| | | user-select: none; |
| | | list-style: none; |
| | | position: relative; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li > a, .dropdown-menu-nav-child > li > a { |
| | | display: block; |
| | | color: #555; |
| | | font-size: 14px; |
| | | padding: 10px 15px; |
| | | text-decoration: none; |
| | | white-space: nowrap; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li > a:hover, .dropdown-menu-nav-child > li > a:hover { |
| | | background-color: #eeeeee; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li .layui-icon, .dropdown-menu-nav-child > li .layui-icon { |
| | | font-size: 14px; |
| | | margin-right: 5px; |
| | | } |
| | | |
| | | .dropdown-menu-nav > hr, .dropdown-menu-nav-child > hr { |
| | | height: 1px; |
| | | margin: 3px 0; |
| | | background-color: #e6e6e6; |
| | | } |
| | | |
| | | /** 禁用样式 */ |
| | | .dropdown-menu-nav > li.disabled, .dropdown-menu-nav-child > li.disabled { |
| | | cursor: not-allowed; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li.disabled > a, .dropdown-menu-nav > li.disabled > a:hover, |
| | | .dropdown-menu-nav-child > li.disabled > a, .dropdown-menu-nav-child > li.disabled > a:hover { |
| | | color: #999; |
| | | cursor: not-allowed; |
| | | pointer-events: none; |
| | | background-color: transparent; |
| | | } |
| | | |
| | | /** 标题样式 */ |
| | | .dropdown-menu-nav > li.title, .dropdown-menu-nav-child > li.title { |
| | | color: #999; |
| | | font-size: 12px; |
| | | padding: 3px 15px; |
| | | } |
| | | |
| | | /* nav子菜单 */ |
| | | .dropdown-menu-nav .dropdown-menu-nav-child { |
| | | left: 100%; |
| | | top: 0; |
| | | display: none; |
| | | } |
| | | |
| | | .dropdown-menu-nav .show-left .dropdown-menu-nav-child { |
| | | left: auto; |
| | | right: 100%; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li.active > .dropdown-menu-nav-child, .dropdown-menu-nav-child > li.active > .dropdown-menu-nav-child { |
| | | display: block; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li.have-more:after, .dropdown-menu-nav-child > li.have-more:after { |
| | | content: "\e602"; |
| | | font-family: layui-icon !important; |
| | | font-size: 14px; |
| | | font-style: normal; |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | position: absolute; |
| | | right: 4px; |
| | | color: #666; |
| | | top: 50%; |
| | | margin-top: -8px; |
| | | } |
| | | |
| | | /** 小箭头 */ |
| | | .dropdown-menu-nav .dropdown-anchor, .dropdown-menu-nav .dropdown-anchor:after { |
| | | border: 8px solid #e4e4e4; |
| | | position: absolute; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .dropdown-menu-nav .dropdown-anchor:after { |
| | | content: ''; |
| | | border: 7px solid #fff; |
| | | } |
| | | |
| | | /** 下左位置 */ |
| | | .dropdown-menu-nav.dropdown-bottom-left { |
| | | top: 100%; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-left { |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor:after { |
| | | border-top-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | top: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor:after { |
| | | top: -6px; |
| | | left: -7px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor { |
| | | left: 12px; |
| | | } |
| | | |
| | | /** 下右位置 */ |
| | | .dropdown-menu-nav.dropdown-bottom-right { |
| | | right: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-right { |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor:after { |
| | | border-top-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | top: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor:after { |
| | | top: -6px; |
| | | left: -7px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor { |
| | | right: 12px; |
| | | } |
| | | |
| | | /** 下中位置 */ |
| | | .dropdown-menu-nav.dropdown-bottom-center { |
| | | left: 50%; |
| | | /*transform: translateX(-50%);*/ |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-center { |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor:after { |
| | | border-top-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | top: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor:after { |
| | | top: -6px; |
| | | left: -7px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor { |
| | | left: calc(50% - 8px); |
| | | } |
| | | |
| | | /** 上左位置 */ |
| | | .dropdown-menu-nav.dropdown-top-left { |
| | | bottom: 100%; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-left { |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-left .dropdown-anchor, .dropdown-menu-nav.dropdown-top-left .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | bottom: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-left .dropdown-anchor:after { |
| | | top: -8px; |
| | | left: -7px; |
| | | bottom: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-left .dropdown-anchor { |
| | | left: 12px; |
| | | } |
| | | |
| | | /** 上右位置 */ |
| | | .dropdown-menu-nav.dropdown-top-right { |
| | | bottom: 100%; |
| | | right: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-right { |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-right .dropdown-anchor, .dropdown-menu-nav.dropdown-top-right .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | bottom: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-right .dropdown-anchor:after { |
| | | top: -8px; |
| | | left: -7px; |
| | | bottom: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-right .dropdown-anchor { |
| | | right: 12px; |
| | | } |
| | | |
| | | /** 上中位置 */ |
| | | .dropdown-menu-nav.dropdown-top-center { |
| | | bottom: 100%; |
| | | left: 50%; |
| | | /*transform: translateX(-50%);*/ |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-center { |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-center .dropdown-anchor, .dropdown-menu-nav.dropdown-top-center .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | bottom: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-center .dropdown-anchor:after { |
| | | top: -8px; |
| | | left: -7px; |
| | | bottom: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-center .dropdown-anchor { |
| | | left: calc(50% - 8px); |
| | | } |
| | | |
| | | /** 左上位置 */ |
| | | .dropdown-menu-nav.dropdown-left-top { |
| | | right: 100%; |
| | | bottom: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-top { |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-top .dropdown-anchor, .dropdown-menu-nav.dropdown-left-top .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-top-color: transparent; |
| | | right: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-top .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -8px; |
| | | right: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-top .dropdown-anchor { |
| | | bottom: 12px; |
| | | } |
| | | |
| | | /** 左下位置 */ |
| | | .dropdown-menu-nav.dropdown-left-bottom { |
| | | right: 100%; |
| | | top: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-bottom { |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor, .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-top-color: transparent; |
| | | right: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -8px; |
| | | right: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor { |
| | | top: 12px; |
| | | } |
| | | |
| | | /** 左中位置 */ |
| | | .dropdown-menu-nav.dropdown-left-center { |
| | | right: 100%; |
| | | top: 50%; |
| | | /*transform: translateY(-50%);*/ |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-center { |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-center .dropdown-anchor, .dropdown-menu-nav.dropdown-left-center .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-top-color: transparent; |
| | | right: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-center .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -8px; |
| | | right: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-center .dropdown-anchor { |
| | | top: calc(50% - 8px); |
| | | } |
| | | |
| | | /** 右上位置 */ |
| | | .dropdown-menu-nav.dropdown-right-top { |
| | | left: 100%; |
| | | bottom: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-top { |
| | | margin-left: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-top .dropdown-anchor, .dropdown-menu-nav.dropdown-right-top .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-left-color: transparent; |
| | | border-top-color: transparent; |
| | | left: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-top .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -6px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-top .dropdown-anchor { |
| | | bottom: 12px; |
| | | } |
| | | |
| | | /** 右下位置 */ |
| | | .dropdown-menu-nav.dropdown-right-bottom { |
| | | left: 100%; |
| | | top: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-bottom { |
| | | margin-left: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor, .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-left-color: transparent; |
| | | border-top-color: transparent; |
| | | left: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -6px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor { |
| | | top: 12px; |
| | | } |
| | | |
| | | /** 右中位置 */ |
| | | .dropdown-menu-nav.dropdown-right-center { |
| | | left: 100%; |
| | | top: 50%; |
| | | /*transform: translateY(-50%);*/ |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-center { |
| | | margin-left: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-center .dropdown-anchor, .dropdown-menu-nav.dropdown-right-center .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-left-color: transparent; |
| | | border-top-color: transparent; |
| | | left: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-center .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -6px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-center .dropdown-anchor { |
| | | top: calc(50% - 8px); |
| | | } |
| | | |
| | | /** 按钮里面三角形样式 */ |
| | | .icon-btn .layui-icon-drop { |
| | | margin-right: 0; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .layui-icon-drop:before { |
| | | content: "\e625"; |
| | | } |
| | | |
| | | .layui-icon-drop.top { |
| | | transform: rotate(180deg); |
| | | display: inline-table; |
| | | } |
| | | |
| | | .layui-icon-drop.left { |
| | | transform: rotate(90deg); |
| | | display: inline-table; |
| | | } |
| | | |
| | | .layui-icon-drop.right { |
| | | transform: rotate(-90deg); |
| | | display: inline-table; |
| | | } |
| | | |
| | | /** 适配btn-container */ |
| | | .layui-btn-container .dropdown-menu .layui-btn { |
| | | margin: 0; |
| | | } |
| | | |
| | | .layui-btn-container .dropdown-menu { |
| | | margin-right: 10px; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .dropdown-menu + .dropdown-menu, .layui-btn + .dropdown-menu, .dropdown-menu + .layui-btn { |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .layui-btn-container input { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | /** 气泡确认框 */ |
| | | .dropdown-popconfirm { |
| | | color: #555; |
| | | font-size: 14px; |
| | | max-width: 230px; |
| | | min-width: 200px; |
| | | width: max-content; |
| | | padding: 15px 15px; |
| | | box-sizing: border-box; |
| | | border: none; |
| | | border-radius: 4px; |
| | | box-shadow: 0 1px 6px rgba(0, 0, 0, .2); |
| | | } |
| | | |
| | | .dropdown-popconfirm .layui-icon-help, .dropdown-popconfirm .layui-icon-about { |
| | | font-size: 12px; |
| | | color: #fff; |
| | | height: 16px; |
| | | width: 16px; |
| | | line-height: 16px; |
| | | text-align: center; |
| | | display: inline-block; |
| | | box-sizing: border-box; |
| | | background-color: #FF9900; |
| | | border-radius: 50%; |
| | | margin: -2px 3px 0 0; |
| | | overflow: hidden; |
| | | vertical-align: middle; |
| | | } |
| | | |
| | | .dropdown-popconfirm .layui-icon-about { |
| | | background-color: #FF0000; |
| | | position: relative; |
| | | } |
| | | |
| | | .dropdown-popconfirm .layui-icon-about:before { |
| | | font-size: 28px; |
| | | position: absolute; |
| | | left: -6px; |
| | | top: 0; |
| | | } |
| | | |
| | | .dropdown-popconfirm .dropdown-popconfirm-title > span { |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | } |
| | | |
| | | .dropdown-popconfirm .dropdown-popconfirm-btn { |
| | | margin-top: 12px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .dropdown-popconfirm .dropdown-popconfirm-btn .layui-btn { |
| | | height: 24px; |
| | | min-width: 45px; |
| | | line-height: 24px; |
| | | padding: 0; |
| | | font-size: 12px; |
| | | border-radius: 3px; |
| | | } |
| | | |
| | | .dropdown-popconfirm .dropdown-popconfirm-btn .layui-btn[btn-cancel] { |
| | | color: #333; |
| | | background: transparent; |
| | | } |
New file |
| | |
| | | /** 下拉菜单模块 date:2020-05-04 License By http://easyweb.vip */ |
| | | layui.define(['jquery'], function (exports) { |
| | | var $ = layui.jquery; |
| | | var openClass = 'dropdown-open'; |
| | | var disableClass = 'dropdown-disabled'; |
| | | var noScrollClass = 'dropdown-no-scroll'; |
| | | var shadeClass = 'dropdown-menu-shade'; |
| | | var dropdownClass = 'dropdown-menu'; |
| | | var dropNavClass = 'dropdown-menu-nav'; |
| | | var hoverClass = 'dropdown-hover'; |
| | | var fixedClass = 'fixed'; |
| | | var noShadeClass = 'no-shade'; |
| | | var animClass = 'layui-anim layui-anim-upbit'; |
| | | var popAnimClass = 'layui-anim layui-anim-fadein'; |
| | | var dropDirect = ['bottom-left', 'bottom-right', 'bottom-center', 'top-left', 'top-right', 'top-center', 'left-top', 'left-bottom', 'left-center', 'right-top', 'right-bottom', 'right-center']; |
| | | if ($('#ew-css-dropdown').length <= 0) { |
| | | layui.link(layui.cache.base + 'dropdown/dropdown.css'); |
| | | } |
| | | |
| | | var dropdown = { |
| | | // 绑定事件 |
| | | init: function () { |
| | | // 点击触发 |
| | | $(document).off('click.dropdown').on('click.dropdown', '.' + dropdownClass + '>*:first-child', function (event) { |
| | | var $drop = $(this).parent(); |
| | | if (!$drop.hasClass(hoverClass)) { |
| | | if ($drop.hasClass(openClass)) { |
| | | $drop.removeClass(openClass); |
| | | } else { |
| | | dropdown.hideAll(); |
| | | dropdown.show($(this).parent().find('.' + dropNavClass)); |
| | | } |
| | | } |
| | | event.stopPropagation(); |
| | | }); |
| | | // 点击任何位置关闭所有 |
| | | $(document).off('click.dropHide').on('click.dropHide', function (event) { |
| | | dropdown.hideAll(); |
| | | }); |
| | | // 点击下拉菜单内容部分不关闭 |
| | | $(document).off('click.dropNav').on('click.dropNav', '.' + dropNavClass, function (event) { |
| | | event.stopPropagation(); |
| | | }); |
| | | // hover触发 |
| | | var timer, lastDrop, hoverSelector = '.' + dropdownClass + '.' + hoverClass; |
| | | $(document).off('mouseenter.dropdown').on('mouseenter.dropdown', hoverSelector, function (event) { |
| | | if (lastDrop && lastDrop == event.currentTarget) { |
| | | clearTimeout(timer); |
| | | } |
| | | dropdown.show($(this).find('.' + dropNavClass)); |
| | | }); |
| | | $(document).off('mouseleave.dropdown').on('mouseleave.dropdown', hoverSelector, function (event) { |
| | | lastDrop = event.currentTarget; |
| | | timer = setTimeout(function () { |
| | | $(event.currentTarget).removeClass(openClass); |
| | | }, 300); |
| | | }); |
| | | // 分离式绑定 |
| | | $(document).off('click.dropStand').on('click.dropStand', '[data-dropdown]', function (event) { |
| | | dropdown.showFixed($(this)); |
| | | event.stopPropagation(); |
| | | }); |
| | | // 无限级子菜单 |
| | | var hoverNavSelector = '.' + dropNavClass + ' li'; |
| | | $(document).off('mouseenter.dropdownNav').on('mouseenter.dropdownNav', hoverNavSelector, function (event) { |
| | | $(this).children('.dropdown-menu-nav-child').addClass(animClass); |
| | | $(this).addClass('active'); |
| | | }); |
| | | $(document).off('mouseleave.dropdownNav').on('mouseleave.dropdownNav', hoverNavSelector, function (event) { |
| | | $(this).removeClass('active'); |
| | | $(this).find('li.active').removeClass('active'); |
| | | }); |
| | | // 气泡确认弹窗 |
| | | $(document).off('click.popconfirm').on('click.popconfirm', '.dropdown-menu-nav [btn-cancel]', function (event) { |
| | | dropdown.hideAll(); |
| | | event.stopPropagation(); |
| | | }); |
| | | }, |
| | | // 点击菜单关闭 |
| | | openClickNavClose: function () { |
| | | $(document).off('click.dropNavA').on('click.dropNavA', '.' + dropNavClass + '>li>a', function (event) { |
| | | dropdown.hideAll(); |
| | | $(this).parentsUntil('.' + dropdownClass).last().parent().removeClass(openClass); |
| | | event.stopPropagation(); |
| | | }); |
| | | }, |
| | | // 关闭所有 |
| | | hideAll: function () { |
| | | $('.' + dropdownClass).removeClass(openClass); |
| | | // 隐藏分离式菜单 |
| | | $('.' + dropNavClass + '.' + fixedClass).addClass('layui-hide'); // 隐藏分离式菜单 |
| | | $('.' + shadeClass).remove(); // 移除遮罩层 |
| | | $('body').removeClass(noScrollClass); // 移除禁止页面滚动 |
| | | $('.dropdown-fix-parent').removeClass('dropdown-fix-parent'); |
| | | $('[data-dropdown]').removeClass(openClass); |
| | | }, |
| | | // 展开非分离式下拉菜单 |
| | | show: function ($dropNav) { |
| | | if ($dropNav && $dropNav.length > 0 && !$dropNav.hasClass(disableClass)) { |
| | | if ($dropNav.hasClass('dropdown-popconfirm')) { |
| | | $dropNav.removeClass(animClass); |
| | | $dropNav.addClass(popAnimClass); |
| | | } else { |
| | | $dropNav.removeClass(popAnimClass); |
| | | $dropNav.addClass(animClass); |
| | | } |
| | | var position; // 获取位置 |
| | | for (var i = 0; i < dropDirect.length; i++) { |
| | | if ($dropNav.hasClass('dropdown-' + dropDirect[i])) { |
| | | position = dropDirect[i]; |
| | | break; |
| | | } |
| | | } |
| | | if (!position) { // 没有设置位置添加默认位置 |
| | | $dropNav.addClass('dropdown-' + dropDirect[0]); |
| | | position = dropDirect[0]; |
| | | } |
| | | dropdown.forCenter($dropNav, position); |
| | | $dropNav.parent('.' + dropdownClass).addClass(openClass); |
| | | return position; |
| | | } |
| | | return false; |
| | | }, |
| | | // 展开分离式菜单 |
| | | showFixed: function ($trigger) { |
| | | var $dropNav = $($trigger.data('dropdown')), position; |
| | | if (!$dropNav.hasClass('layui-hide')) { |
| | | dropdown.hideAll(); // 已经展开则隐藏 |
| | | return; |
| | | } |
| | | dropdown.hideAll(); // 已经展开则隐藏 |
| | | position = dropdown.show($dropNav); // 获取弹出位置 |
| | | if (position) { |
| | | $dropNav.addClass(fixedClass); // 设置为固定定位 |
| | | $dropNav.removeClass('layui-hide'); // 显示下拉菜单 |
| | | var topLeft = dropdown.getTopLeft($trigger, $dropNav, position); // 计算坐标 |
| | | topLeft = dropdown.checkPosition($dropNav, $trigger, position, topLeft); // 是否溢出屏幕 |
| | | $dropNav.css(topLeft); // 设置坐标 |
| | | $('body').addClass(noScrollClass); // 禁止页面滚动 |
| | | var hideShade = ($trigger.attr('no-shade') == 'true'); // 是否隐藏遮罩层 |
| | | $('body').append('<div class="' + (hideShade ? (shadeClass + ' ' + noShadeClass) : shadeClass) + ' layui-anim layui-anim-fadein"></div>'); // 添加遮罩层 |
| | | // 重置父元素z-index |
| | | $trigger.parentsUntil('body').each(function () { |
| | | var zIndex = $(this).css('z-index'); |
| | | if (/[0-9]+/.test(zIndex)) { |
| | | $(this).addClass('dropdown-fix-parent'); |
| | | } |
| | | }); |
| | | $trigger.addClass(openClass); |
| | | } |
| | | }, |
| | | // 解决绝对定位因动画导致平移失效 |
| | | forCenter: function ($dropNav, position) { |
| | | if (!$dropNav.hasClass(fixedClass)) { |
| | | var wTrigger = $dropNav.parent().outerWidth(), hTrigger = $dropNav.parent().outerHeight(); |
| | | var wDrop = $dropNav.outerWidth(), hDrop = $dropNav.outerHeight(); |
| | | var pParts = position.split('-'), dropSide = pParts[0], dropPosition = pParts[1]; // 显示方向 |
| | | if ((dropSide == 'top' || dropSide == 'bottom') && dropPosition == 'center') { |
| | | $dropNav.css('left', (wTrigger - wDrop) / 2); |
| | | } |
| | | if ((dropSide == 'left' || dropSide == 'right') && dropPosition == 'center') { |
| | | $dropNav.css('top', (hTrigger - hDrop) / 2); |
| | | } |
| | | } |
| | | }, |
| | | // 计算固定定位坐标 |
| | | getTopLeft: function ($trigger, $dropdown, position) { |
| | | var widthTrigger = $trigger.outerWidth(); |
| | | var heightTrigger = $trigger.outerHeight(); |
| | | var widthDropdown = $dropdown.outerWidth(); |
| | | var heightDropdown = $dropdown.outerHeight(); |
| | | var topTrigger = $trigger.offset().top - $(document).scrollTop(); |
| | | var leftTrigger = $trigger.offset().left; |
| | | var rightTrigger = leftTrigger + widthTrigger; |
| | | var top = 0, left = 0; |
| | | var positionParts = position.split('-'); |
| | | var anchorSide = positionParts[0]; // 箭头位置 |
| | | var anchorPosition = positionParts[1]; // 箭头方向 |
| | | if (anchorSide == 'top' || anchorSide == 'bottom') { |
| | | heightDropdown += 8; // 加上margin距离 |
| | | switch (anchorPosition) { |
| | | case 'left': |
| | | left = leftTrigger; |
| | | break; |
| | | case 'center': |
| | | left = leftTrigger - widthDropdown / 2 + widthTrigger / 2; |
| | | break; |
| | | case 'right': |
| | | left = rightTrigger - widthDropdown; |
| | | } |
| | | } |
| | | if (anchorSide == 'left' || anchorSide == 'right') { |
| | | widthDropdown += 8; // 加上margin距离 |
| | | switch (anchorPosition) { |
| | | case 'top': |
| | | top = topTrigger + heightTrigger - heightDropdown; |
| | | break; |
| | | case 'center': |
| | | top = topTrigger - heightDropdown / 2 + heightTrigger / 2; |
| | | break; |
| | | case 'bottom': |
| | | top = topTrigger; |
| | | } |
| | | } |
| | | switch (anchorSide) { |
| | | case 'top': |
| | | top = topTrigger - heightDropdown; |
| | | break; |
| | | case 'right': |
| | | left = leftTrigger + widthTrigger; |
| | | break; |
| | | case 'bottom': |
| | | top = topTrigger + heightTrigger; |
| | | break; |
| | | case 'left': |
| | | left = leftTrigger - widthDropdown; |
| | | } |
| | | return {top: top, left: left, right: 'auto', bottom: 'auto'}; |
| | | }, |
| | | // 检查是否溢出屏幕 |
| | | checkPosition: function ($dropNav, $trigger, position, topLeft) { |
| | | var aps = position.split('-'); |
| | | if ('bottom' == aps[0]) { |
| | | if ((topLeft.top + $dropNav.outerHeight()) > dropdown.getPageHeight()) { |
| | | topLeft = dropdown.getTopLeft($trigger, $dropNav, 'top-' + aps[1]); |
| | | $dropNav.removeClass('dropdown-' + position); |
| | | $dropNav.addClass('dropdown-top-' + aps[1]); |
| | | } |
| | | } else if ('top' == aps[0]) { |
| | | if (topLeft.top < 0) { |
| | | topLeft = dropdown.getTopLeft($trigger, $dropNav, 'bottom-' + aps[1]); |
| | | $dropNav.removeClass('dropdown-' + position); |
| | | $dropNav.addClass('dropdown-bottom-' + aps[1]); |
| | | } |
| | | } |
| | | return topLeft; |
| | | }, |
| | | // 获取浏览器高度 |
| | | getPageHeight: function () { |
| | | return document.documentElement.clientHeight || document.body.clientHeight; |
| | | }, |
| | | // 获取浏览器宽度 |
| | | getPageWidth: function () { |
| | | return document.documentElement.clientWidth || document.body.clientWidth; |
| | | } |
| | | }; |
| | | |
| | | dropdown.init(); |
| | | exports('dropdown', dropdown); |
| | | }); |
New file |
| | |
| | | /** EasyWeb iframe v3.1.8 date:2020-05-04 License By http://easyweb.vip */ |
| | | |
| | | layui.define(['layer', 'element', 'admin'], function (exports) { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var element = layui.element; |
| | | var admin = layui.admin; |
| | | var setter = admin.setter; |
| | | var headerDOM = '.layui-layout-admin>.layui-header'; |
| | | var sideDOM = '.layui-layout-admin>.layui-side>.layui-side-scroll'; |
| | | var bodyDOM = '.layui-layout-admin>.layui-body'; |
| | | var tabDOM = bodyDOM + '>.layui-tab'; |
| | | var titleDOM = bodyDOM + '>.layui-body-header'; |
| | | var tabFilter = 'admin-pagetabs'; |
| | | var navFilter = 'admin-side-nav'; |
| | | var tabEndCall = {}; // Tab关闭的事件回调 |
| | | var mIsAddTab = false; // 是否是添加Tab,添加Tab的时候切换不自动刷新 |
| | | var index = {homeUrl: undefined, mTabPosition: undefined, mTabList: []}; |
| | | |
| | | /** 渲染主体部分 */ |
| | | index.loadView = function (param) { |
| | | if (!param.menuPath) return layer.msg('url不能为空', {icon: 2, anim: 6}); |
| | | if (setter.pageTabs) { // 多标签模式 |
| | | var flag; // 选项卡是否已添加 |
| | | $(tabDOM + '>.layui-tab-title>li').each(function () { |
| | | if ($(this).attr('lay-id') === param.menuPath) flag = true; |
| | | }); |
| | | if (!flag) { // 添加选项卡 |
| | | if (index.mTabList.length + 1 >= setter.maxTabNum) { |
| | | layer.msg('最多打开' + setter.maxTabNum + '个选项卡', {icon: 2, anim: 6}); |
| | | return admin.activeNav(index.mTabPosition); |
| | | } |
| | | mIsAddTab = true; |
| | | element.tabAdd(tabFilter, { |
| | | id: param.menuPath, title: '<span class="title">' + (param.menuName || '') + '</span>', |
| | | content: '<iframe class="admin-iframe" lay-id="' + param.menuPath + '" src="' + param.menuPath + |
| | | '" onload="layui.index.hideLoading(this);" frameborder="0"></iframe>' |
| | | }); |
| | | admin.showLoading({elem: $('iframe[lay-id="' + param.menuPath + '"]').parent(), size: ''}); |
| | | if (param.menuPath !== index.homeUrl) index.mTabList.push(param); // 记录tab |
| | | if (setter.cacheTab) admin.putTempData('indexTabs', index.mTabList); // 缓存tab |
| | | } |
| | | if (!param.noChange) element.tabChange(tabFilter, param.menuPath); // 切换到此tab |
| | | } else { // 单标签模式 |
| | | admin.activeNav(param.menuPath); |
| | | var $contentDom = $(bodyDOM + '>div>.admin-iframe'); |
| | | if ($contentDom.length === 0) { |
| | | $(bodyDOM).html([ |
| | | '<div class="layui-body-header">', |
| | | ' <span class="layui-body-header-title"></span>', |
| | | ' <span class="layui-breadcrumb pull-right" lay-filter="admin-body-breadcrumb" style="visibility: visible;"></span>', |
| | | '</div>', |
| | | '<div style="-webkit-overflow-scrolling: touch;">', |
| | | ' <iframe class="admin-iframe" lay-id="', param.menuPath, '" src="', param.menuPath, '"', |
| | | ' onload="layui.index.hideLoading(this);" frameborder="0"></iframe>', |
| | | '</div>'].join('')); |
| | | admin.showLoading({elem: $('iframe[lay-id="' + param.menuPath + '"]').parent(), size: ''}); |
| | | } else { |
| | | admin.showLoading({elem: $contentDom.parent(), size: ''}); |
| | | $contentDom.attr('lay-id', param.menuPath).attr('src', param.menuPath); |
| | | } |
| | | $('[lay-filter="admin-body-breadcrumb"]').html(index.getBreadcrumbHtml(param.menuPath)); |
| | | index.mTabList.splice(0, index.mTabList.length); |
| | | if (param.menuPath === index.homeUrl) { |
| | | index.mTabPosition = undefined; |
| | | index.setTabTitle($(param.menuName).text() || $(sideDOM + ' [lay-href="' + index.homeUrl + '"]').text() || '主页'); |
| | | } else { |
| | | index.mTabPosition = param.menuPath; |
| | | index.mTabList.push(param); |
| | | index.setTabTitle(param.menuName); |
| | | } |
| | | if (!setter.cacheTab) return; |
| | | admin.putTempData('indexTabs', index.mTabList); |
| | | admin.putTempData('tabPosition', index.mTabPosition); |
| | | } |
| | | if (admin.getPageWidth() <= 768) admin.flexible(true); // 移动端自动收起侧导航 |
| | | }; |
| | | |
| | | /** 加载主页 */ |
| | | index.loadHome = function (param) { |
| | | var cacheTabs = admin.getTempData('indexTabs'); // 获取缓存tab |
| | | var cachePosition = admin.getTempData('tabPosition'); |
| | | var recover = (param.loadSetting === undefined || param.loadSetting) && (setter.cacheTab && cacheTabs && cacheTabs.length > 0); |
| | | index.homeUrl = param.menuPath; |
| | | param.noChange = cachePosition ? recover : false; |
| | | if (setter.pageTabs || !recover) index.loadView(param); |
| | | if (recover) { // 恢复缓存tab |
| | | for (var i = 0; i < cacheTabs.length; i++) { |
| | | cacheTabs[i].noChange = cacheTabs[i].menuPath !== cachePosition; |
| | | if (!cacheTabs[i].noChange || (setter.pageTabs && !param.onlyLast)) index.loadView(cacheTabs[i]); |
| | | } |
| | | } |
| | | admin.removeLoading(undefined, false); |
| | | }; |
| | | |
| | | /** 打开tab */ |
| | | index.openTab = function (param) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.openTab(param); |
| | | if (param.end) tabEndCall[param.url] = param.end; |
| | | index.loadView({menuPath: param.url, menuName: param.title}); |
| | | }; |
| | | |
| | | /** 关闭tab */ |
| | | index.closeTab = function (url) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.closeTab(url); |
| | | element.tabDelete(tabFilter, url); |
| | | }; |
| | | |
| | | /** 设置是否记忆Tab */ |
| | | index.setTabCache = function (isCache) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabCache(isCache); |
| | | admin.putSetting('cacheTab', isCache); |
| | | if (!isCache) return index.clearTabCache(); |
| | | admin.putTempData('indexTabs', index.mTabList); |
| | | admin.putTempData('tabPosition', index.mTabPosition); |
| | | }; |
| | | |
| | | /** 清除tab记忆 */ |
| | | index.clearTabCache = function () { |
| | | admin.putTempData('indexTabs', null); |
| | | admin.putTempData('tabPosition', null); |
| | | }; |
| | | |
| | | /** 设置tab标题 */ |
| | | index.setTabTitle = function (title, tabId) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabTitle(title, tabId); |
| | | if (setter.pageTabs) { |
| | | if (!tabId) tabId = $(tabDOM + '>.layui-tab-title>li.layui-this').attr('lay-id'); |
| | | if (tabId) $(tabDOM + '>.layui-tab-title>li[lay-id="' + tabId + '"] .title').html(title || ''); |
| | | } else if (title) { |
| | | $(titleDOM + '>.layui-body-header-title').html(title); |
| | | $(titleDOM).addClass('show'); |
| | | $(headerDOM).css('box-shadow', '0 1px 0 0 rgba(0, 0, 0, .03)'); |
| | | } else { |
| | | $(titleDOM).removeClass('show'); |
| | | $(headerDOM).css('box-shadow', ''); |
| | | } |
| | | }; |
| | | |
| | | /** 自定义tab标题 */ |
| | | index.setTabTitleHtml = function (html) { |
| | | if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabTitleHtml(html); |
| | | if (setter.pageTabs) return; |
| | | if (!html) return $(titleDOM).removeClass('show'); |
| | | $(titleDOM).html(html); |
| | | $(titleDOM).addClass('show'); |
| | | }; |
| | | |
| | | /** 获取面包屑 */ |
| | | index.getBreadcrumb = function (tabId) { |
| | | if (!tabId) tabId = $(bodyDOM + '>div>.admin-iframe').attr('lay-id'); |
| | | var breadcrumb = []; |
| | | var $href = $(sideDOM).find('[lay-href="' + tabId + '"]'); |
| | | if ($href.length > 0) breadcrumb.push($href.text().replace(/(^\s*)|(\s*$)/g, '')); |
| | | while (true) { |
| | | $href = $href.parent('dd').parent('dl').prev('a'); |
| | | if ($href.length === 0) break; |
| | | breadcrumb.unshift($href.text().replace(/(^\s*)|(\s*$)/g, '')); |
| | | } |
| | | return breadcrumb; |
| | | }; |
| | | |
| | | /** 获取面包屑结构 */ |
| | | index.getBreadcrumbHtml = function (tabId) { |
| | | var breadcrumb = index.getBreadcrumb(tabId); |
| | | var htmlStr = tabId === index.homeUrl ? '' : ('<a ew-href="' + index.homeUrl + '">首页</a>'); |
| | | for (var i = 0; i < breadcrumb.length - 1; i++) { |
| | | if (htmlStr) htmlStr += '<span lay-separator="">/</span>'; |
| | | htmlStr += ('<a><cite>' + breadcrumb[i] + '</cite></a>'); |
| | | } |
| | | return htmlStr; |
| | | }; |
| | | |
| | | /** 关闭loading */ |
| | | index.hideLoading = function (url) { |
| | | if (typeof url !== 'string') url = $(url).attr('lay-id'); |
| | | admin.removeLoading($('iframe[lay-id="' + url + '"],' + bodyDOM + ' iframe[lay-id]').parent(), false); |
| | | }; |
| | | |
| | | /** 移动设备遮罩层 */ |
| | | var siteShadeDom = '.layui-layout-admin .site-mobile-shade'; |
| | | if ($(siteShadeDom).length === 0) $('.layui-layout-admin').append('<div class="site-mobile-shade"></div>'); |
| | | $(siteShadeDom).click(function () { |
| | | admin.flexible(true); |
| | | }); |
| | | |
| | | /** 补充tab的dom */ |
| | | if (setter.pageTabs && $(tabDOM).length === 0) { |
| | | $(bodyDOM).html([ |
| | | '<div class="layui-tab" lay-allowClose="true" lay-filter="', tabFilter, '" lay-autoRefresh="', setter.tabAutoRefresh == 'true', '">', |
| | | ' <ul class="layui-tab-title"></ul><div class="layui-tab-content"></div>', |
| | | '</div>', |
| | | '<div class="layui-icon admin-tabs-control layui-icon-prev" ew-event="leftPage"></div>', |
| | | '<div class="layui-icon admin-tabs-control layui-icon-next" ew-event="rightPage"></div>', |
| | | '<div class="layui-icon admin-tabs-control layui-icon-down">', |
| | | ' <ul class="layui-nav" lay-filter="admin-pagetabs-nav">', |
| | | ' <li class="layui-nav-item" lay-unselect>', |
| | | ' <dl class="layui-nav-child layui-anim-fadein">', |
| | | ' <dd ew-event="closeThisTabs" lay-unselect><a>关闭当前标签页</a></dd>', |
| | | ' <dd ew-event="closeOtherTabs" lay-unselect><a>关闭其它标签页</a></dd>', |
| | | ' <dd ew-event="closeAllTabs" lay-unselect><a>关闭全部标签页</a></dd>', |
| | | ' </dl>', |
| | | ' </li>', |
| | | ' </ul>', |
| | | '</div>' |
| | | ].join('')); |
| | | element.render('nav', 'admin-pagetabs-nav'); |
| | | } |
| | | |
| | | /** 侧导航点击监听 */ |
| | | element.on('nav(' + navFilter + ')', function (elem) { |
| | | var $that = $(elem); |
| | | var href = $that.attr('lay-href'); |
| | | if (!href || href === '#') return; |
| | | if (href.indexOf('javascript:') === 0) return new Function(href.substring(11))(); |
| | | var name = $that.attr('ew-title') || $that.text().replace(/(^\s*)|(\s*$)/g, ''); |
| | | var end = $that.attr('ew-end'); |
| | | try { |
| | | if (end) end = new Function(end); |
| | | else end = undefined; |
| | | } catch (e) { |
| | | console.error(e); |
| | | } |
| | | index.openTab({url: href, title: name, end: end}); |
| | | layui.event.call(this, 'admin', 'side({*})', {href: href}); |
| | | }); |
| | | |
| | | /** tab切换监听 */ |
| | | element.on('tab(' + tabFilter + ')', function () { |
| | | var layId = $(this).attr('lay-id'); |
| | | index.mTabPosition = (layId !== index.homeUrl ? layId : undefined); // 记录当前Tab位置 |
| | | if (setter.cacheTab) admin.putTempData('tabPosition', index.mTabPosition); |
| | | admin.activeNav(layId); |
| | | admin.rollPage('auto'); |
| | | if ($(tabDOM).attr('lay-autoRefresh') == 'true' && !mIsAddTab) admin.refresh(layId, true); // 切换tab刷新 |
| | | mIsAddTab = false; |
| | | layui.event.call(this, 'admin', 'tab({*})', {layId: layId}); |
| | | }); |
| | | |
| | | /** tab删除监听 */ |
| | | element.on('tabDelete(' + tabFilter + ')', function (data) { |
| | | var mTab = index.mTabList[data.index - 1]; |
| | | if (mTab) { |
| | | index.mTabList.splice(data.index - 1, 1); |
| | | if (setter.cacheTab) admin.putTempData('indexTabs', index.mTabList); |
| | | tabEndCall[mTab.menuPath] && tabEndCall[mTab.menuPath].call(); |
| | | layui.event.call(this, 'admin', 'tabDelete({*})', {layId: mTab.menuPath}); |
| | | } |
| | | if ($(tabDOM + '>.layui-tab-title>li.layui-this').length === 0) |
| | | $(tabDOM + '>.layui-tab-title>li:last').trigger('click'); // 解决删除后可能无选中bug |
| | | }); |
| | | |
| | | /** 多系统切换事件 */ |
| | | $(document).off('click.navMore').on('click.navMore', '[nav-bind]', function () { |
| | | var navId = $(this).attr('nav-bind'); |
| | | $('ul[lay-filter="' + navFilter + '"]').addClass('layui-hide'); |
| | | $('ul[nav-id="' + navId + '"]').removeClass('layui-hide'); |
| | | $(headerDOM + '>.layui-nav .layui-nav-item').removeClass('layui-this'); |
| | | $(this).parent('.layui-nav-item').addClass('layui-this'); |
| | | if (admin.getPageWidth() <= 768) admin.flexible(false); // 展开侧边栏 |
| | | layui.event.call(this, 'admin', 'nav({*})', {navId: navId}); |
| | | }); |
| | | |
| | | /** 开启Tab右键菜单 */ |
| | | if (setter.openTabCtxMenu && setter.pageTabs) { |
| | | layui.use('contextMenu', function () { |
| | | if (!layui.contextMenu) return; |
| | | $(tabDOM + '>.layui-tab-title').off('contextmenu.tab').on('contextmenu.tab', 'li', function (e) { |
| | | var layId = $(this).attr('lay-id'); |
| | | layui.contextMenu.show([{ |
| | | icon: 'layui-icon layui-icon-refresh', |
| | | name: '刷新当前', |
| | | click: function () { |
| | | element.tabChange(tabFilter, layId); |
| | | if ('true' != $(tabDOM).attr('lay-autoRefresh')) admin.refresh(layId); |
| | | } |
| | | }, { |
| | | icon: 'layui-icon layui-icon-close-fill ctx-ic-lg', |
| | | name: '关闭当前', |
| | | click: function () { |
| | | admin.closeThisTabs(layId); |
| | | } |
| | | }, { |
| | | icon: 'layui-icon layui-icon-unlink', |
| | | name: '关闭其他', |
| | | click: function () { |
| | | admin.closeOtherTabs(layId); |
| | | } |
| | | }, { |
| | | icon: 'layui-icon layui-icon-close ctx-ic-lg', |
| | | name: '关闭全部', |
| | | click: function () { |
| | | admin.closeAllTabs(); |
| | | } |
| | | }], e.clientX, e.clientY); |
| | | return false; |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | exports('index', index); |
| | | }); |
New file |
| | |
| | | .iziToast-capsule { |
| | | font-size: 0; |
| | | height: 0; |
| | | width: 100%; |
| | | transform: translateZ(0); |
| | | backface-visibility: hidden; |
| | | transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); |
| | | } |
| | | |
| | | .iziToast-capsule, .iziToast-capsule * { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .iziToast-overlay { |
| | | display: block; |
| | | position: fixed; |
| | | top: -100px; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: -100px; |
| | | z-index: 19891100; |
| | | } |
| | | |
| | | .iziToast { |
| | | display: inline-block; |
| | | clear: both; |
| | | position: relative; |
| | | font-family: 'Lato', Tahoma, Arial; |
| | | font-size: 14px; |
| | | padding: 8px 45px 9px 0; |
| | | background: #fff; |
| | | border-color: #fff; |
| | | width: 100%; |
| | | pointer-events: all; |
| | | cursor: default; |
| | | transform: translateX(0); |
| | | -webkit-touch-callout: none /* iOS Safari */; |
| | | -webkit-user-select: none /* Chrome/Safari/Opera */; |
| | | -khtml-user-select: none /* Konqueror */; |
| | | -moz-user-select: none /* Firefox */; |
| | | -ms-user-select: none /* Internet Explorer/Edge */; |
| | | user-select: none; |
| | | min-height: 45px; |
| | | box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); |
| | | max-width: 90%; |
| | | margin: 5px 0; |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-progressbar { |
| | | position: absolute; |
| | | left: 0; |
| | | bottom: 0; |
| | | width: 100%; |
| | | z-index: 1; |
| | | background: rgba(255, 255, 255, 0.5); |
| | | } |
| | | |
| | | .iziToast > .iziToast-progressbar > div { |
| | | height: 2px; |
| | | width: 100%; |
| | | background: #dddddd; |
| | | border-radius: 0 0 3px 3px; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark > .iziToast-progressbar > div { |
| | | background: #fff; |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon:before { |
| | | content: ''; |
| | | position: absolute; |
| | | right: 8px; |
| | | left: auto; |
| | | width: 0px; |
| | | height: 0px; |
| | | top: 100%; |
| | | border-right: 0px solid transparent; |
| | | border-left: 15px solid transparent; |
| | | border-top: 10px solid #000; |
| | | border-top-color: inherit; |
| | | border-radius: 0; |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon .iziToast-progressbar { |
| | | top: 0; |
| | | bottom: auto; |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon > div { |
| | | border-radius: 0 0 0 3px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-cover { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 0; |
| | | bottom: 0; |
| | | height: 100%; |
| | | margin: 0; |
| | | background-size: 100%; |
| | | background-position: 50% 50%; |
| | | background-repeat: no-repeat; |
| | | } |
| | | |
| | | .iziToast > .iziToast-close { |
| | | position: absolute; |
| | | right: 0; |
| | | top: 0; |
| | | border: 0; |
| | | padding: 0; |
| | | opacity: 0.6; |
| | | width: 42px; |
| | | height: 100%; |
| | | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJPAAACTwBcGfW0QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD3SURBVFiF1ZdtDoMgDEBfdi4PwAX8vLFn0qT7wxantojKupmQmCi8R4tSACpgjC2ICCUbEBa8ingjsU1AXRBeR8aLN64FiknswN8CYefBBDQ3whuFESy7WyQMeC0ipEI0A+0FeBvHUFN8xPaUhAH/iKoWsnXHGegy4J0yxialOfaHJAz4bhRzQzgDvdGnz4GbAonZbCQMuBm1K/kcFu8Mp1N2cFFpsxsMuJqqbIGExGl4loARajU1twskJLLhIsID7+tvUoDnIjTg5T9DPH9EBrz8rxjPzciAl9+O8SxI8CzJ8CxKFfh3ynK8Dyb8wNHM/XDqejx/AtNyPO87tNybAAAAAElFTkSuQmCC") no-repeat 50% 50%; |
| | | background-size: 8px; |
| | | cursor: pointer; |
| | | outline: none; |
| | | } |
| | | |
| | | .iziToast > .iziToast-close:hover { |
| | | opacity: 1; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body { |
| | | position: relative; |
| | | padding: 0 0 0 10px; |
| | | height: auto; |
| | | min-height: 28px; |
| | | margin: 0 0 0 15px; |
| | | text-align: left; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body:after { |
| | | content: ""; |
| | | display: table; |
| | | clear: both; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-texts { |
| | | margin: 6px 0; |
| | | padding-right: 2px; |
| | | display: inline-block; |
| | | float: left; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-inputs { |
| | | min-height: 19px; |
| | | float: left; |
| | | margin: 3px -2px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-inputs > input:not([type=checkbox]):not([type=radio]), |
| | | .iziToast > .iziToast-body .iziToast-inputs > select { |
| | | position: relative; |
| | | display: inline-block; |
| | | margin: 2px; |
| | | border-radius: 2px; |
| | | border: 0; |
| | | padding: 4px 7px; |
| | | font-size: 13px; |
| | | letter-spacing: 0.02em; |
| | | background: rgba(0, 0, 0, 0.1); |
| | | color: #000; |
| | | box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); |
| | | min-height: 26px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-inputs > input:not([type=checkbox]):not([type=radio]):focus, |
| | | .iziToast > .iziToast-body .iziToast-inputs > select:focus { |
| | | box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6); |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons { |
| | | min-height: 17px; |
| | | float: left; |
| | | margin: 4px 0 0 0; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons > a, |
| | | .iziToast > .iziToast-body .iziToast-buttons > button, |
| | | .iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]) { |
| | | position: relative; |
| | | display: inline-block; |
| | | margin: 2px; |
| | | border-radius: 2px; |
| | | border: 0; |
| | | padding: 5px 10px; |
| | | font-size: 12px; |
| | | letter-spacing: 0.02em; |
| | | cursor: pointer; |
| | | background: rgba(0, 0, 0, 0.1); |
| | | color: #555; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons > a:hover, |
| | | .iziToast > .iziToast-body .iziToast-buttons > button:hover, |
| | | .iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):hover { |
| | | background: rgba(0, 0, 0, 0.15); |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons > a:focus, |
| | | .iziToast > .iziToast-body .iziToast-buttons > button:focus, |
| | | .iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):focus { |
| | | box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6); |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons > a:active, |
| | | .iziToast > .iziToast-body .iziToast-buttons > button:active, |
| | | .iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):active { |
| | | top: 1px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon { |
| | | height: 100%; |
| | | position: absolute; |
| | | left: 0; |
| | | top: 50%; |
| | | display: table; |
| | | font-size: 23px; |
| | | line-height: 24px; |
| | | margin-top: -11px; |
| | | color: #000; |
| | | width: 24px; |
| | | height: 24px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-info { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcxMTk5MzYwIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEwODAzIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiAyOC40MTZjLTI2Ny40Njg4IDAtNDg0LjI0OTYgMjE2LjgzMi00ODQuMjQ5NiA0ODQuMjQ5NiAwIDI2Ny40MTc2IDIxNi44MzIgNDg0LjI0OTYgNDg0LjI0OTYgNDg0LjI0OTYgMjY3LjQxNzYgMCA0ODQuMzAwOC0yMTYuODMyIDQ4NC4zMDA4LTQ4NC4yNDk2Qzk5Ni4zMDA4IDI0NS4yNDggNzc5LjQxNzYgMjguNDE2IDUxMiAyOC40MTZ6TTQ1NS41MjY0IDI0NS4wOTQ0QzQ3MC4zMjMyIDIyOS44ODggNDkwLjcwMDggMjIxLjMzNzYgNTExLjc5NTIgMjIxLjY0NDhjMjEuMTk2OC0wLjIwNDggNDEuNzc5MiA4LjI0MzIgNTYuNTI0OCAyMy40NDk2IDE1LjAwMTYgMTQuNzk2OCAyMy4yOTYgMzUuMTIzMiAyMy4wOTEyIDU2LjExNTIgMC4yMDQ4IDIxLjE5NjgtOC4yOTQ0IDQxLjU3NDQtMjMuMzk4NCA1Ni4yMTc2LTE0LjY5NDQgMTQuNjk0NC0zNC43MTM2IDIzLjA0LTU1LjM5ODQgMjMuMDRMNTExLjc5NTIgMzgwLjQ2NzJjLTIwLjk5MiAwLjIwNDgtNDEuMzY5Ni04LjE0MDgtNTYuMDY0LTIzLjE0MjRDNDQwLjY3ODQgMzQyLjY4MTYgNDMyLjMzMjggMzIyLjMwNCA0MzIuNTM3NiAzMDEuMjA5NiA0MzIuMzMyOCAyODAuMjE3NiA0NDAuNjc4NCAyNTkuODkxMiA0NTUuNTI2NCAyNDUuMDk0NHpNNjI3LjYwOTYgNzY4LjE1MzZsMCAxMy40MTQ0IDAgMjIuMjIwOEwzOTYuMjg4IDgwMy43ODg4bDAtNTcuMTM5MiAyMS42MDY0LTAuNzY4YzEwLjI0LTAuNDYwOCAxNC41OTItMi43MTM2IDE2Ljk5ODQtNC43NjE2bDEuMjI4OC01LjQyNzJjMC45NzI4LTUuNTgwOCAxLjYzODQtMTQuNDM4NCAxLjU4NzItMjUuOTA3Mkw0MzcuNzA4OCA1MDcuOTA0YzAuMjU2LTE3Ljc2NjQtMi4zNTUyLTI5LjkwMDgtMy40ODE2LTMyLjU2MzJsMCAwTDQzMS42MTYgNDc0LjA2MDhDNDI4Ljg1MTIgNDczLjA4OCA0MjMuOTM2IDQ3Mi4wNjQgNDE3LjE3NzYgNDcxLjY1NDRMMzk2LjI4OCA0NzAuMzc0NCAzOTYuMjg4IDQxMy40OTEybDE4OS40OTEyIDAgMCAyOTYuMjk0NGMtMC4zMDcyIDE3LjcxNTIgMi40MDY0IDI5Ljc5ODQgMy40MzA0IDMyLjU2MzJsMC4wNTEyIDAgMi43MTM2IDEuMTc3NmMyLjgxNiAwLjk3MjggNy43ODI0IDEuOTk2OCAxNC42OTQ0IDIuMzU1MmwyMC44ODk2IDEuMjhMNjI3LjU1ODQgNzY4LjE1MzZ6IiBwLWlkPSIxMDgwNCIgZmlsbD0iIzQwOUVGRiI+PC9wYXRoPjwvc3ZnPg==") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-warning { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwODczNzUzIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUxMTgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyLjAyMzI3MyAxMDI0Qzc5NC43NjM2MzYgMTAyNCAxMDI0IDc5NC43ODY5MDkgMTAyNCA1MTEuOTc2NzI3IDEwMjQgMjI5LjIzNjM2NCA3OTQuNzg2OTA5LTAuMDIzMjczIDUxMi4wMjMyNzMtMC4wMjMyNzNTMCAyMjkuMjEzMDkxIDAgNTExLjk3NjcyN0MwIDc5NC43ODY5MDkgMjI5LjIzNjM2NCAxMDI0IDUxMi4wMjMyNzMgMTAyNE00NjkuMzQxMDkxIDc2OGMwLTIzLjU1MiAxOC45MjA3MjctNDIuNjU4OTA5IDQyLjcwNTQ1NS00Mi42NTg5MDkgMjMuNTUyIDAgNDIuNjU4OTA5IDE4LjkyMDcyNyA0Mi42NTg5MDkgNDIuNjU4OTA5IDAgMjMuNTc1MjczLTE4LjkyMDcyNyA0Mi43MDU0NTUtNDIuNjU4OTA5IDQyLjcwNTQ1NUM0ODguNDcxMjczIDgxMC43MDU0NTUgNDY5LjM0MTA5MSA3OTEuNzM4MTgyIDQ2OS4zNDEwOTEgNzY4TTQ2OS4zNDEwOTEgMjU1LjgxMzgxOGMwLTIzLjQ1ODkwOSAxOC45MjA3MjctNDIuNDcyNzI3IDQyLjcwNTQ1NS00Mi40NzI3MjcgMjMuNTUyIDAgNDIuNjU4OTA5IDE5LjQzMjcyNyA0Mi42NTg5MDkgNDIuNDcyNzI3bDAgMzQxLjczNjcyN2MwIDIzLjQ1ODkwOS0xOC45MjA3MjcgNDIuNDcyNzI3LTQyLjY1ODkwOSA0Mi40NzI3MjctMjMuNTc1MjczIDAtNDIuNzA1NDU1LTE5LjQzMjcyNy00Mi43MDU0NTUtNDIuNDcyNzI3TDQ2OS4zNDEwOTEgMjU1LjgxMzgxOHoiIHAtaWQ9IjUxMTkiIGZpbGw9IiNmZjk5MDAiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-error { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwNDI1NDkwIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEyNjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5NjQxOCAyMy41MjA2OTNjLTI2OS43NjcwNSAwLTQ4OC40NTQ3NDggMjE4LjY4ODcyMS00ODguNDU0NzQ4IDQ4OC40NTQ3NDggMCAyNjkuNzY4MDczIDIxOC42ODg3MjEgNDg4LjQ1MzcyNCA0ODguNDU0NzQ4IDQ4OC40NTM3MjQgMjY5Ljc2NjAyNyAwIDQ4OC40NTQ3NDgtMjE4LjY4NTY1MSA0ODguNDU0NzQ4LTQ4OC40NTM3MjRDMTAwMC40NTExNjYgMjQyLjIwOTQxNCA3ODEuNzYyNDQ1IDIzLjUyMDY5MyA1MTEuOTk2NDE4IDIzLjUyMDY5M3pNNzY5LjMzNDM5MSA3MTUuMTU1OTU2bC01NC4xNTY0MzQgNTQuMTU2NDM0TDUxMS45OTY0MTggNTY2LjEyOTgyOCAzMDguODEzODU2IDc2OS4zMTIzOWwtNTQuMTU1NDExLTU0LjE1NjQzNEw0NTcuODQxMDA4IDUxMS45NzU0NDEgMjU0LjY1ODQ0NiAzMDguNzkyODc4bDU0LjE1NTQxMS01NC4xNTU0MTFMNTExLjk5NjQxOCA0NTcuODIwMDNsMjAzLjE4MjU2Mi0yMDMuMTgyNTYyIDU0LjE1NjQzNCA1NC4xNTU0MTFMNTY2LjE1MTgyOSA1MTEuOTc1NDQxIDc2OS4zMzQzOTEgNzE1LjE1NTk1NnoiIHAtaWQ9IjEyNjYiIGZpbGw9IiNGNTZDNkMiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 80%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-success { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwNTI2MjA3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ5NjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMTAyNCA1MTEuOTk5NTAyYzAgMjgyLjc3MDU1Ny0yMjkuMjI5OTQxIDUxMi4wMDA0OTgtNTExLjk5OTUwMiA1MTIuMDAwNDk4LTI4Mi43Njk1NjEgMC01MTIuMDAwNDk4LTIyOS4yMjk5NDEtNTEyLjAwMDQ5OC01MTIuMDAwNDk4IDAtMjgyLjc2ODU2NiAyMjkuMjMwOTM2LTUxMS45OTk1MDIgNTEyLjAwMDQ5OC01MTEuOTk5NTAyQzc5NC43NjkwNjQgMCAxMDI0IDIyOS4yMzA5MzYgMTAyNCA1MTEuOTk5NTAyek03OTYuNTc3MDgxIDM3OC4zMTc3MTNsLTQ4LjQ1OTA1MS00OC40NTkwNTEtMjk3LjA3ODM4NyAyOTcuMDc3MzkyTDI3Ny4yNjc4NTIgNDUzLjE2NTI1OGwtNDguNDU4MDU2IDQ4LjQ1ODA1NiAyMjIuMjI4ODUxIDIyMi4yMzA4NDJMNzk2LjU3NzA4MSAzNzguMzE3NzEzeiIgcC1pZD0iNDk2NiIgZmlsbD0iIzY3YzIzYSI+PC9wYXRoPjwvc3ZnPg==") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-question { |
| | | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCQkUEhFovxTxAAAEDklEQVRo3s2ZTWgTQRTHf03ipTRUqghNSgsRjHgQrFUQC6JgD1Kak3gQUUoPqRdBglf1oBehBws9Cn4cGk+1SOmh2upBxAYVoeJHrR9tgq0i1Cq0lqYeks7MbpPdmU00/c8hm9n33v/t7Nt5M2+qMEWQI0QIibZKRrQpHvLL2KI2wnQzzBKrDm2RIeKEy01dTYKUI7G1ZRknQXV5yP10kTYgly1NF/5S6duZ8ES+1iZodyaocrjXxE0OFeifYYgp0mRIkwFChAkRJsIxGgrIP+I0n82fvZW5dc/zkss0O2o1c5mX6/TmaDWl77RFe5YkUW3tKEmyFv0lOvXJ/fTYnmCEFuMRbGHEZqVHLyT9DFjUJmkzJl9DG5MWWwM6Llif/gF1nukB6nhgGwUXdFrE+wiURA8QoM9i0zEWWpXQW+ZsyeRrOMuyEo5Fv4gmy4dXPvqcC+pH2VRYaMwy+OWG+iLGCgm0W0Kv9HdvR8ASjmKCXpuK/bxiV/76A/v5UdDIZuKcJGjrnec5KZ7wwsWFOp6xPX/9mt2sqDe7FO+Kf/fXHBPPDWpdXGhTpLvUG9VKwh1xMDDjkvu+cNDFBTk7ptX1QkKZ850m3duu6fcrWxwdaFFyREJ2j4vOpKP6Du6z4uJCv8sYJIVkCnJBGGZaBONO3roY2EqNrSfIPi7SKP4fdXyNUd6I6wbSAHEl33tFLe+FlSsusnK90A0+oEPcuufZgXnOi+u9LrKSJQZQw6LwqBnv2CKsfHORbFbyQhA6xN/pEuihSdj56Co7LWRjPiKie6gkB2LiKuUqK5kiPkLiz1QJ9K1cNXBAMoUCigNpQ9IqDtMI1HKA4/jyvUsaoSyZLA5kjOjDPFZen8Ql5TsvBskUgjciIPSX3QAXC86DT7VWvlEh/xZ+ij9BDVWJ0QL0SbZq6QaFxoLPcXPmBLveLCc4wXdDK6s+6/vwhCSniFLPXW0NJe5UB8zKCsviqpc7vGPVQFcyZbyPwGD+d5ZnxmNWlhG4xSBZZjivjIWHEQgoDkSMjMwTo54569JSE5IpA7EyJSMTyGTUAUFlO1ZKOtaHTMeL1PhYYFTcihmY2cQ5+ullj7EDkiVfVez2sCTz8yiv84djhg7IJVk81xFWJlPdfHBG0flkRC/zQFZ+DSllNtfDdUsOMCliyGX5uOzU3ZhIXFDof4m1gDuKbEx0t2YS25gVGpcMnr/I1kx3c6piB8P8ZoqEwfMX3ZyCXynJTmq/U7NUXqfUzCbWL1wqVKBQUeESzQYoUlW8TAcVL1RCxUu1G6BYXfFyfQ4VPbDI4T8d2WzgQ6sc/vmxnTsqfHCZQzUJxm1h5dxS5Tu6lQgTZ0ipqRVqSwzTbbLHMt+c19iO76tsx/cLZub+Ali+tYC93olEAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA5LTA5VDIwOjE4OjE3KzAyOjAwjKtfjgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wOS0wOVQyMDoxODoxNyswMjowMP325zIAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-load { |
| | | background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQ1NTUyMzAyOTE3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQyNDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDY0YzI0Ny4yIDAgNDQ4IDIwMC44IDQ0OCA0NDhoLTY0YzAtMjEyLTE3Mi0zODQtMzg0LTM4NFY2NHogbTAgODMyYy0yMTIgMC0zODQtMTcyLTM4NC0zODRINjRjMCAyNDcuMiAyMDAuOCA0NDggNDQ4IDQ0OHYtNjR6IiBwLWlkPSI0MjQxIiBmaWxsPSIjMUU5RkZGIj48L3BhdGg+PC9zdmc+') no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | animation: rotating 1.2s linear infinite |
| | | } |
| | | |
| | | @keyframes rotating { |
| | | from { |
| | | transform: rotate(0) |
| | | } |
| | | to { |
| | | transform: rotate(360deg) |
| | | } |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-title { |
| | | padding: 0; |
| | | margin: 0 0 10px 0; |
| | | line-height: 16px; |
| | | font-size: 14px; |
| | | text-align: left; |
| | | float: left; |
| | | color: #303133; |
| | | white-space: normal; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-message { |
| | | padding: 0; |
| | | margin: 0; |
| | | font-size: 14px; |
| | | line-height: 16px; |
| | | text-align: left; |
| | | float: left; |
| | | color: #606266; |
| | | white-space: normal; |
| | | } |
| | | |
| | | .iziToast.iziToast-animateInside .iziToast-title, |
| | | .iziToast.iziToast-animateInside .iziToast-message, |
| | | .iziToast.iziToast-animateInside .iziToast-icon, |
| | | .iziToast.iziToast-animateInside .iziToast-buttons-child, |
| | | .iziToast.iziToast-animateInside .iziToast-inputs-child { |
| | | opacity: 0; |
| | | } |
| | | |
| | | .iziToast-target { |
| | | position: relative; |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | .iziToast-target .iziToast-capsule { |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .iziToast-target .iziToast-capsule:after { |
| | | visibility: hidden; |
| | | display: block; |
| | | font-size: 0; |
| | | content: " "; |
| | | clear: both; |
| | | height: 0; |
| | | } |
| | | |
| | | .iziToast-target .iziToast-capsule .iziToast { |
| | | width: 100%; |
| | | float: left; |
| | | } |
| | | |
| | | .iziToast-wrapper { |
| | | z-index: 19891101; |
| | | position: fixed; |
| | | width: 100%; |
| | | pointer-events: none; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .iziToast-wrapper .iziToast.iziToast-balloon:before { |
| | | border-right: 0 solid transparent; |
| | | border-left: 15px solid transparent; |
| | | border-top: 10px solid #000; |
| | | border-top-color: inherit; |
| | | right: 8px; |
| | | left: auto; |
| | | } |
| | | |
| | | .iziToast-wrapper-bottomLeft { |
| | | left: 0; |
| | | bottom: 0; |
| | | text-align: left; |
| | | } |
| | | |
| | | .iziToast-wrapper-bottomLeft .iziToast.iziToast-balloon:before { |
| | | border-right: 15px solid transparent; |
| | | border-left: 0 solid transparent; |
| | | right: auto; |
| | | left: 8px; |
| | | } |
| | | |
| | | .iziToast-wrapper-bottomRight { |
| | | right: 0; |
| | | bottom: 0; |
| | | text-align: right; |
| | | } |
| | | |
| | | .iziToast-wrapper-topLeft { |
| | | left: 0; |
| | | top: 0; |
| | | text-align: left; |
| | | } |
| | | |
| | | .iziToast-wrapper-topLeft .iziToast.iziToast-balloon:before { |
| | | border-right: 15px solid transparent; |
| | | border-left: 0 solid transparent; |
| | | right: auto; |
| | | left: 8px; |
| | | } |
| | | |
| | | .iziToast-wrapper-topRight { |
| | | top: 0; |
| | | right: 0; |
| | | text-align: right; |
| | | } |
| | | |
| | | .iziToast-wrapper-topCenter { |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .iziToast-wrapper-bottomCenter { |
| | | bottom: 0; |
| | | left: 0; |
| | | right: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .iziToast-wrapper-center { |
| | | top: 0; |
| | | bottom: 0; |
| | | left: 0; |
| | | right: 0; |
| | | text-align: center; |
| | | justify-content: center; |
| | | flex-flow: column; |
| | | align-items: center; |
| | | } |
| | | |
| | | .iziToast-rtl { |
| | | direction: rtl; |
| | | padding: 8px 0 9px 45px; |
| | | font-family: Tahoma, 'Lato', Arial; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-cover { |
| | | left: auto; |
| | | right: 0; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-close { |
| | | right: auto; |
| | | left: 0; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-body { |
| | | padding: 0 10px 0 0; |
| | | margin: 0 16px 0 0; |
| | | text-align: right; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-body .iziToast-buttons, |
| | | .iziToast-rtl .iziToast-body .iziToast-inputs, |
| | | .iziToast-rtl .iziToast-body .iziToast-texts, |
| | | .iziToast-rtl .iziToast-body .iziToast-title, |
| | | .iziToast-rtl .iziToast-body .iziToast-message { |
| | | float: right; |
| | | text-align: right; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-body .iziToast-icon { |
| | | left: auto; |
| | | right: 0; |
| | | } |
| | | |
| | | @media only screen and (min-width: 568px) { |
| | | .iziToast-wrapper { |
| | | padding: 10px 15px; |
| | | } |
| | | |
| | | .iziToast { |
| | | width: auto; |
| | | } |
| | | |
| | | .iziToast:not(.iziToast-rtl) .iziToast-cover { |
| | | border-radius: 3px 0 0 3px; |
| | | } |
| | | |
| | | .iziToast.iziToast-rtl .iziToast-cover { |
| | | border-radius: 0 3px 3px 0; |
| | | } |
| | | |
| | | .iziToast.iziToast-color-dark:after { |
| | | box-shadow: inset 0 -10px 20px -10px rgba(255, 255, 255, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.25); |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon .iziToast-progressbar { |
| | | background: transparent; |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon:after { |
| | | box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.25), inset 0 10px 20px -5px rgba(0, 0, 0, 0.25); |
| | | } |
| | | |
| | | .iziToast-target .iziToast:after { |
| | | box-shadow: inset 0 -10px 20px -10px rgba(0, 0, 0, 0.2), inset 0 0 5px rgba(0, 0, 0, 0.1); |
| | | } |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark { |
| | | background: #565c70; |
| | | border-color: #565c70; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-title { |
| | | color: #fff; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-message { |
| | | color: rgba(255, 255, 255, 0.9); |
| | | font-weight: 300; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-close { |
| | | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfgCR4OIQIPSao6AAAAwElEQVRIx72VUQ6EIAwFmz2XB+AConhjzqTJ7JeGKhLYlyx/BGdoBVpjIpMJNjgIZDKTkQHYmYfwmR2AfAqGFBcO2QjXZCd24bEggvd1KBx+xlwoDpYmvnBUUy68DYXD77ESr8WDtYqvxRex7a8oHP4Wo1Mkt5I68Mc+qYqv1h5OsZmZsQ3gj/02h6cO/KEYx29hu3R+VTTwz6D3TymIP1E8RvEiiVdZfEzicxYLiljSxKIqlnW5seitTW6uYnv/Aqh4whX3mEUrAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA5LTMwVDE0OjMzOjAyKzAyOjAwl6RMVgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wOS0zMFQxNDozMzowMiswMjowMOb59OoAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; |
| | | background-size: 8px; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon { |
| | | color: #fff; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-info { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjQ5NjA1MTc2IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM1MzIiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNODUxLjE3MTU1NiA3MTcuOTM3Nzc4YzMuMjQyNjY3IDExLjk0NjY2NyAyLjg0NDQ0NCAyNC40NjIyMjItMS40MjIyMjMgMzYuNDA4ODg5YTYyLjkxOTExMSA2Mi45MTkxMTEgMCAwIDEtMjEuOTU5MTExIDI5LjUyNTMzMyA2NS4yNTE1NTYgNjUuMjUxNTU2IDAgMCAxLTM4LjkxMiAxMi41MTU1NTZIMTc4LjExOTExMWE2NC44NTMzMzMgNjQuODUzMzMzIDAgMCAxLTM4Ljc5ODIyMi0xMi41NzI0NDUgNjIuMjM2NDQ0IDYyLjIzNjQ0NCAwIDAgMS0yMi4wMTYtMjkuNTI1MzMzIDYwLjY0MzU1NiA2MC42NDM1NTYgMCAwIDEtMS4zNjUzMzMtMzYuNDA4ODg5YzMuNTg0LTEzLjE0MTMzMyAxMS40MzQ2NjctMjQuNTc2IDIyLjY5ODY2Ni0zMy4xMDkzMzNsNTguNDgxNzc4LTQ0LjAzMmE0MC43MzI0NDQgNDAuNzMyNDQ0IDAgMCAwIDE2LjQ5Nzc3OC0zMi43MTExMTJ2LTIwMy4wOTMzMzNjMC0zNS4yMTQyMjIgNy4xNjgtNjkuNTE4MjIyIDIxLjIxOTU1NS0xMDEuNzE3MzMzIDEzLjY1MzMzMy0zMS4xNzUxMTEgMzMuMTA5MzMzLTU5LjE2NDQ0NCA1Ny44NTYtODMuMTE0NjY3QTI2OC44NTY4ODkgMjY4Ljg1Njg4OSAwIDAgMSA0MTQuNzIgMTUyLjA2NHYtMjguNTAxMzMzQzQxNC43MiA4Ni44MTI0NDQgNDQ1LjYxMDY2NyA1Ni44ODg4ODkgNDgzLjU1NTU1NiA1Ni44ODg4ODljMzcuOTQ0ODg5IDAgNjguODM1NTU2IDI5LjkyMzU1NiA2OC44MzU1NTUgNjYuNjczNzc4djI4LjUwMTMzM2MxMi4zNDQ4ODkgMy4xODU3NzggMjQuNDYyMjIyIDcuMTY4IDM2LjIzODIyMiAxMi4wMDM1NTZhMjY4LjY4NjIyMiAyNjguNjg2MjIyIDAgMCAxIDg1Ljc4ODQ0NSA1Ni4wMzU1NTVjMjQuNzQ2NjY3IDI0LjAwNzExMSA0NC4yMDI2NjcgNTEuOTM5NTU2IDU3Ljc5OTExMSA4My4wNTc3NzggMTQuMTA4NDQ0IDMyLjMxMjg4OSAyMS4yMTk1NTYgNjYuNTYgMjEuMjE5NTU1IDEwMS44MzExMTF2MjAzLjA5MzMzM2MwIDEyLjg1Njg4OSA2LjAzMDIyMiAyNC44NjA0NDQgMTYuNTU0NjY3IDMyLjcxMTExMWw1OC40ODE3NzggNDQuMDMyYzExLjIwNzExMSA4LjUzMzMzMyAxOS4wNTc3NzggMTkuOTExMTExIDIyLjc1NTU1NSAzMy4wNTI0NDV6TTM5OC4yMjIyMjIgODU2LjE3Nzc3OFY4NTMuMzMzMzMzaDE3MC42NjY2Njd2Mi44NDQ0NDVDNTY4Ljg4ODg4OSA5MzUuOTM2IDUzMC42MDI2NjcgOTY3LjExMTExMSA0ODMuNTU1NTU2IDk2Ny4xMTExMTFTMzk4LjIyMjIyMiA5MzUuOTM2IDM5OC4yMjIyMjIgODU2LjE3Nzc3OHoiIHAtaWQ9IjM1MzMiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-warning { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMTE1OTQ4IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUwOTYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4LjEyNSIgaGVpZ2h0PSIxMjgiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTk4NC4wMjI5NTAwMiA3NDYuODc1NDk3NUw2NDEuOTY0NjA3NTIgMTMwLjM4MDY1Yy0zMC40OTE4NDI1LTU0Ljg2MTUwMjUtNzcuOTMxMzE1LTg2LjMzNTY3MjUtMTMwLjE0MzUxLTg2LjMzNTY3MjUtNTIuMjkxNTc1IDAtOTkuNzQwOTcgMzEuNTEzODYtMTMwLjE0MzUxIDg2LjQzNDg5NzVMMzkuOTc2NDU1MDIgNzQ2LjgyNTg4NUM5Ljk2MDg5MjUyIDgwMC45NjMwNDUgNy45MTY4NTc1MiA4NTguMDE3NDIgMzQuMzUwMzk3NTIgOTAzLjM1MzMyMjVjMjYuNTEyOTIgNDUuNDc0ODE3NSA3Ny4xOTcwNSA3MS41NjEwNyAxMzkuMDczNzYgNzEuNTYxMDdoNjc3LjIyMDU0NzVjNjEuOTA2NDc3NSAwIDExMi41OTA2MDc1LTI2LjA4NjI1MjUgMTM5LjAxNDIyNS03MS40OTE2MTI1IDI2LjQ4MzE1MjUtNDUuMjc2MzY3NSAyNC40MjkxOTUtMTAyLjM0MDY2NS01LjYzNTk4LTE1Ni41NDcyODI1ek05MTEuNzU3MzgyNTIgODU3Ljk5NzU3NWMtOS44OTI3MzI1IDE2Ljk4NzMyLTMyLjE1ODgyMjUgMjYuNzMxMjE1LTYxLjExMjY3NzUgMjYuNzMxMjE1SDE3My40MjQxNTc1MmMtMjguOTQzOTMyNSAwLTUxLjIyOTg2NzUtOS43NjM3NC02MS4xNjIyOS0yNi43OTA3NS0xMC4wMjE3MjUtMTcuMTg1NzctNy42MTA1NTc1LTQxLjc0Mzk1NzUgNi41ODg1NC02Ny4zNzM3NzVsMzQxLjcxMTA1NS02MTYuMzY1ODU1YzE0LjA2MDE4MjUtMjUuMzkxNjc3NSAzMi43NTQxNzI1LTM5Ljk1NzkwNzUgNTEuMjU5NjM1LTM5Ljk1NzkwNzUgMTguNDk1NTQgMCAzNy4xOTk0NTI1IDE0LjU2NjIzIDUxLjMwOTI0NzUgMzkuOTM4MDYyNWwzNDIuMDI4NTc1IDYxNi40NDUyMzVjMTQuMjI4ODY1IDI1LjY0OTY2MjUgMTYuNjQwMDMyNSA1MC4xODgwMDUgNi41OTg0NjI1IDY3LjM3Mzc3NXoiIGZpbGw9IiNmZmZmZmYiIHAtaWQ9IjUwOTciPjwvcGF0aD48cGF0aCBkPSJNNTEyLjAxOTU0NzUyIDYzMC4yODYxMjI1YTQ1LjA4Nzg0IDQ1LjA4Nzg0IDAgMCAwIDQ1LjA5Nzc2MjUtNDUuMDA4NDZWMzc0LjY1Mjc1NWE0NS4wNzc5MTc1IDQ1LjA3NzkxNzUgMCAwIDAtNDUuMDk3NzYyNS00NS4wMDg0NiA0NS4wODc4NCA0NS4wODc4NCAwIDAgMC00NS4wOTc3NjI1IDQ1LjAwODQ2djIxMC42MTQ5ODVhNDUuMDg3ODQgNDUuMDg3ODQgMCAwIDAgNDUuMDk3NzYyNSA0NS4wMTgzODI1ek01MTIuMDE5NTQ3NTIgNjc1LjM3Mzk2MjVhNjAuMTcwMDQgNjAuMTcwMDQgMCAwIDAtNjAuMTMwMzUgNjAuMTMwMzVjMCAzMy4xNDExNSAyNi45MTk3NDI1IDYwLjEzMDM1IDYwLjEzMDM1IDYwLjEzMDM1IDMzLjE0MTE1IDAgNjAuMTMwMzUtMjYuOTE5NzQyNSA2MC4xMzAzNS02MC4xMzAzNSAwLTMzLjE0MTE1LTI2LjkxOTc0MjUtNjAuMTMwMzUtNjAuMTMwMzUtNjAuMTMwMzV6IiBmaWxsPSIjZmZmZmZmIiBwLWlkPSI1MDk4Ij48L3BhdGg+PC9zdmc+") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-error { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMzE1NTQ3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjY4MDYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNzcyLjI2NjY2NyA4ODMuMmMyNS42IDI1LjYgNjQgMjUuNiA4OS42IDAgMjUuNi0yNS42IDI1LjYtNjQgMC04OS42TDIzMC40IDE2Mi4xMzMzMzNjLTI1LjYtMjUuNi02NC0yNS42LTg5LjYgMC0yNS42IDI1LjYtMjUuNiA2NCAwIDg5LjZsNjMxLjQ2NjY2NyA2MzEuNDY2NjY3eiIgcC1pZD0iNjgwNyIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik04NjEuODY2NjY3IDI1MS43MzMzMzNjMjUuNi0yNS42IDI1LjYtNjQgMC04OS42LTI1LjYtMjUuNi02NC0yNS42LTg5LjYgMEwxNDAuOCA3OTMuNmMtMjUuNiAyNS42LTI1LjYgNjQgMCA4OS42czY0IDI1LjYgODkuNiAwbDYzMS40NjY2NjctNjMxLjQ2NjY2N3oiIHAtaWQ9IjY4MDgiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 80%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-success { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMjQyNTMxIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwMjMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNDA0LjI1MTQyOCA4MDkuNjEwN2MtMTEuNjY0MTAyIDAtMjMuMzI3MTc5LTQuNDQ4NzgyLTMyLjIyNTc2Ny0xMy4zNDczNjlMODMuOTgwMDk4IDUwOC4yMTk4MTVjLTE3Ljc5ODE5OS0xNy43OTcxNzUtMTcuNzk4MTk5LTQ2LjY1MzMzNSAwLTY0LjQ1MTUzM3M0Ni42NTMzMzUtMTcuNzk4MTk5IDY0LjQ1MTUzNCAwbDI4OC4wNDQ1MzkgMjg4LjA0MjQ5MWMxNy43OTgxOTkgMTcuNzk4MTk5IDE3Ljc5ODE5OSA0Ni42NTQzNTkgMCA2NC40NTI1NTgtOC44OTc1NjMgOC44OTg1ODctMjAuNTYxNjY1IDEzLjM0NzM2OS0zMi4yMjQ3NDMgMTMuMzQ3MzY5eiIgcC1pZD0iNjAyNCIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik00MDQuMjczOTUzIDgwOS42MTE3MjNjLTExLjY2NDEwMiAwLTIzLjMyNjE1NS00LjQ0OTgwNi0zMi4yMjU3NjYtMTMuMzQ4MzkyLTE3Ljc5ODE5OS0xNy43OTcxNzUtMTcuNzk5MjIyLTQ2LjY1MzMzNS0wLjAwMTAyNC02NC40NTE1MzRMODc2LjEwMTgxMyAyMjcuNzM1NjQ2YzE3Ljc5NjE1MS0xNy43OTgxOTkgNDYuNjUzMzM1LTE3Ljc5OTIyMiA2NC40NTE1MzMtMC4wMDEwMjQgMTcuNzk4MTk5IDE3Ljc5NzE3NSAxNy43OTkyMjIgNDYuNjUzMzM1IDAuMDAxMDI0IDY0LjQ1MTUzM0w0MzYuNTAwNzQ0IDc5Ni4yNjIzMDdjLTguODk4NTg3IDguODk4NTg3LTIwLjU2MjY4OSAxMy4zNDk0MTctMzIuMjI2NzkxIDEzLjM0OTQxNnoiIHAtaWQ9IjYwMjUiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-question { |
| | | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCQkUEg18vki+AAAETUlEQVRo3s1ZTWhbRxD+VlIuxsLFCYVIIQYVopBDoK5bKDWUBupDMNbJ5FBKg/FBziUQdE9yaC+FHBrwsdCfQ9RTGoLxwWl+DqHEojUFFydxnB9bInZDqOsErBrr6yGvs/ueX97bldTKo4Pe7puZb3Z33s7srIIjMY1jyCEjP6ImvyX8pF64arSHznKC06wzijY5xSKz7YbuYokV2lODsyyxqz3gSY6z6gCuqcpxJluFH+Z8U+D/0jyHoxFUBHgfvsGHIS9WMIUlVFFDFTUAGWSRQRY5HMeBEP6b+Ew9dh/7INd2jGeO59kfKdXP85zbIbfGQVf4sYC3N1hm3lo6zzIbPvk6x+zBk7wQGMEMB5xncIAzAS0XrFySSV72iS1yyBVcdA1x0afrsoUJgdFfY2+z8ADAXl7zz0KcwJiPfZKpVuABgClO+nRG+QIHDdfb4qlWwUXvKW4Z7vi6L4J9vg+vbfCeCeZH2RfOdMOc/HbCA4BvIW6EMQz7XK/ltd+hP+VzR9mgva2YSfyGI17fA7ynnocqeQNFfIJ0oHsdv6CC2+rXGBN6cQdveY3fcVRtmy/HDete+93zy8jA8zV7YkwYMrjHzRddRsCdiVCwwmh6wg9iTNC7Y9XIF1iS7kbUpsvvGEdPuTfSgAEjRpR096x0liPFD/Eqt2NMuBQzB2XhrACAApjFsuQFh9XdGAX70B3oSuNdnMVBaX+sopYxjwVpHFBVACyKTXNoktjD+6Ll8xhenS9MAAkAI/Lux2YNUOs4I413Ypg1SgEAu7kpFvWjaeJe0fJHDGe/cNaZBkekudw8PMA+0fMwlndZeAsJ5KR/qhUDUJCnSiyvRsolkJHGUgvjH8QXDgZopEzKMKDqCKrwEQ4C6MH7GEXC665buLJG8hlQc4LP4paxfJrOqYVYYY2UARfEIazTbgDg2dB98GebzJd54b8L/iWNdLyooeR6CHyZ+6xk0yKxkYg6nEVSUG4VJ9QJ9cxRCxO+9WiOyvgUeexXP1hLGH5nGuBWVtiSp4vqe3VP0UFWI9Wan4Er3v8q7jjPWVtm4FtcQQMrOKO2nOQCM5AyDMi56FDrKHA/1nyppS1ppBpYaE8wciEjGI2AaeM41kI4doDX4XiT3Qm1gevyruCgZg9P8xIv8m1nCzTKq6oiJ9xTMiZ505P5m8cdZ0CnZMVXHVljM7WMBzxpyDxygtdxoCEFTaMIWbZU85UvBjgUMYy0fBaAF8V1Lj9qWQ1aMZ5f4k9r+AGMSkMP1vZoZih6k6sicc5h/OFHM9vDqU/VIU7zJZdYYsKGH4g4nAJMGiXZRds1pVMoZ69RM5vfkbh0qkBhsnS2RLMLilQdL9MBHS9UAh0v1e6CYnXHy/WeeCcvLDwl/9OVze69tPKM+M+v7eJN6OzFpWdEF0ucDbhVNFXadnVrmJFlkVNGTS2M6pzmhMvltfPhnN2B63sVuL7fcNP3D1TSk2ihosPrAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA5LTA5VDIwOjE4OjEzKzAyOjAweOR7nQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wOS0wOVQyMDoxODoxMyswMjowMAm5wyEAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > a, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > button, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > input { |
| | | color: #fff; |
| | | background: rgba(255, 255, 255, 0.1); |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > a:hover, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > button:hover, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > input:hover { |
| | | background: rgba(255, 255, 255, 0.2); |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > a:focus, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > button:focus, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > input:focus { |
| | | box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.6); |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-red { |
| | | background: #F56C6C; |
| | | border-color: #F56C6C; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-orange { |
| | | background: #E6A23C; |
| | | border-color: #E6A23C; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-yellow { |
| | | background: rgba(255, 249, 178, 0.9); |
| | | border-color: rgba(255, 249, 178, 0.9); |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-blue { |
| | | background: #409EFF; |
| | | border-color: #409EFF; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-green { |
| | | background: #67C23A; |
| | | border-color: #67C23A; |
| | | } |
| | | |
| | | .iziToast.iziToast-layout2 .iziToast-body .iziToast-texts, |
| | | .iziToast.iziToast-layout2 .iziToast-body .iziToast-message { |
| | | width: 100%; |
| | | } |
| | | |
| | | .iziToast.iziToast-layout3 { |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .iziToast.iziToast-layout3::after { |
| | | display: none; |
| | | } |
| | | |
| | | .iziToast.revealIn, |
| | | .iziToast .revealIn { |
| | | -webkit-animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; |
| | | -moz-animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; |
| | | animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; |
| | | } |
| | | |
| | | .iziToast.slideIn, |
| | | .iziToast .slideIn { |
| | | -webkit-animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; |
| | | -moz-animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; |
| | | animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; |
| | | } |
| | | |
| | | .iziToast.bounceInLeft { |
| | | -webkit-animation: iziT-bounceInLeft 0.7s ease-in-out both; |
| | | animation: iziT-bounceInLeft 0.7s ease-in-out both; |
| | | } |
| | | |
| | | .iziToast.bounceInRight { |
| | | -webkit-animation: iziT-bounceInRight 0.85s ease-in-out both; |
| | | animation: iziT-bounceInRight 0.85s ease-in-out both; |
| | | } |
| | | |
| | | .iziToast.bounceInDown { |
| | | -webkit-animation: iziT-bounceInDown 0.7s ease-in-out both; |
| | | animation: iziT-bounceInDown 0.7s ease-in-out both; |
| | | } |
| | | |
| | | .iziToast.bounceInUp { |
| | | -webkit-animation: iziT-bounceInUp 0.7s ease-in-out both; |
| | | animation: iziT-bounceInUp 0.7s ease-in-out both; |
| | | } |
| | | |
| | | .iziToast.fadeIn, |
| | | .iziToast .fadeIn { |
| | | -webkit-animation: iziT-fadeIn 0.5s ease both; |
| | | animation: iziT-fadeIn 0.5s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeInUp { |
| | | -webkit-animation: iziT-fadeInUp 0.7s ease both; |
| | | animation: iziT-fadeInUp 0.7s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeInDown { |
| | | -webkit-animation: iziT-fadeInDown 0.7s ease both; |
| | | animation: iziT-fadeInDown 0.7s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeInLeft { |
| | | -webkit-animation: iziT-fadeInLeft 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; |
| | | animation: iziT-fadeInLeft 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; |
| | | } |
| | | |
| | | .iziToast.fadeInRight { |
| | | -webkit-animation: iziT-fadeInRight 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; |
| | | animation: iziT-fadeInRight 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; |
| | | } |
| | | |
| | | .iziToast.flipInX { |
| | | -webkit-animation: iziT-flipInX 0.85s cubic-bezier(0.35, 0, 0.25, 1) both; |
| | | animation: iziT-flipInX 0.85s cubic-bezier(0.35, 0, 0.25, 1) both; |
| | | } |
| | | |
| | | .iziToast.fadeOut { |
| | | -webkit-animation: iziT-fadeOut 0.7s ease both; |
| | | animation: iziT-fadeOut 0.7s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeOutDown { |
| | | -webkit-animation: iziT-fadeOutDown 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | animation: iziT-fadeOutDown 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | } |
| | | |
| | | .iziToast.fadeOutUp { |
| | | -webkit-animation: iziT-fadeOutUp 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | animation: iziT-fadeOutUp 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | } |
| | | |
| | | .iziToast.fadeOutLeft { |
| | | -webkit-animation: iziT-fadeOutLeft 0.5s ease both; |
| | | animation: iziT-fadeOutLeft 0.5s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeOutRight { |
| | | -webkit-animation: iziT-fadeOutRight 0.5s ease both; |
| | | animation: iziT-fadeOutRight 0.5s ease both; |
| | | } |
| | | |
| | | .iziToast.flipOutX { |
| | | -webkit-backface-visibility: visible !important; |
| | | backface-visibility: visible !important; |
| | | -webkit-animation: iziT-flipOutX 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | animation: iziT-flipOutX 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | } |
| | | |
| | | .iziToast-overlay.fadeIn { |
| | | -webkit-animation: iziT-fadeIn 0.5s ease both; |
| | | animation: iziT-fadeIn 0.5s ease both; |
| | | } |
| | | |
| | | .iziToast-overlay.fadeOut { |
| | | -webkit-animation: iziT-fadeOut 0.7s ease both; |
| | | animation: iziT-fadeOut 0.7s ease both; |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | -moz-transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | -webkit-transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | -moz-transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | -moz-transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | -webkit-transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | -webkit-transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | -webkit-transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | -webkit-transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | -webkit-transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | -webkit-transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | -webkit-transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | -webkit-transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
New file |
| | |
| | | layui.define([], function (exports) { |
| | | var PLUGIN_NAME = 'iziToast'; // 样式类名 |
| | | var BODY = document.querySelector('body'); |
| | | var ISMOBILE = (/Mobi/.test(navigator.userAgent)) ? true : false; |
| | | var MOBILEWIDTH = 568; |
| | | var ISCHROME = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); |
| | | var ISFIREFOX = typeof InstallTrigger !== 'undefined'; |
| | | var ACCEPTSTOUCH = 'ontouchstart' in document.documentElement; |
| | | // 显示区域 |
| | | var POSITIONS = ['bottomRight', 'bottomLeft', 'bottomCenter', 'topRight', 'topLeft', 'topCenter', 'center']; |
| | | // 默认主题 |
| | | var THEMES = { |
| | | info: { |
| | | color: 'blue', |
| | | icon: 'ico-info' |
| | | }, |
| | | success: { |
| | | color: 'green', |
| | | icon: 'ico-success' |
| | | }, |
| | | warning: { |
| | | color: 'orange', |
| | | icon: 'ico-warning' |
| | | }, |
| | | error: { |
| | | color: 'red', |
| | | icon: 'ico-error' |
| | | }, |
| | | question: { |
| | | color: 'yellow', |
| | | icon: 'ico-question' |
| | | } |
| | | }; |
| | | var CONFIG = {}; // 全局配置 |
| | | // 默认配置 |
| | | var defaults = { |
| | | id: null, |
| | | className: '', // 自定义class,用空格分割 |
| | | title: '', // 标题 |
| | | titleColor: '', // 标题文字颜色 |
| | | titleSize: '', // 标题文字大小 |
| | | titleLineHeight: '', // 标题高度 |
| | | message: '', // 内容 |
| | | messageColor: '', // 内容文字颜色 |
| | | messageSize: '', // 内容文字大小 |
| | | messageLineHeight: '', // 内容高度 |
| | | backgroundColor: '', // 背景颜色 |
| | | theme: 'light', // dark |
| | | color: '', // 背景颜色 |
| | | icon: '', // 图标 |
| | | iconText: '', // 图标文字 |
| | | iconColor: '', // 图标颜色 |
| | | iconUrl: null, // 图标地址 |
| | | image: '', // 是否显示图片 |
| | | imageWidth: 60, // 图片宽度 |
| | | maxWidth: null, // 最大宽度 |
| | | zindex: null, // |
| | | layout: 2, // 布局类型 |
| | | balloon: false, // 气泡 |
| | | close: true, // 是否显示关闭按钮 |
| | | closeOnEscape: false, |
| | | closeOnClick: false, // 点击关闭 |
| | | displayMode: 0, // 0无限制,1存在就不发出,2销毁之前 |
| | | position: 'topRight', // bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter, center |
| | | target: '', // 显示位置 |
| | | targetFirst: null, // 插入顺序 |
| | | timeout: 5000, // 关闭时间,false不自动关闭 |
| | | rtl: false, // 内容居右 |
| | | animateInside: false, // 进入动画效果 |
| | | drag: true, // 是否可滑动移除 |
| | | pauseOnHover: true, // 鼠标移入暂停进度条时间 |
| | | resetOnHover: false, // 鼠标移入重置进度条时间 |
| | | progressBar: true, // 是否显示进度条 |
| | | progressBarColor: '', // 进度条颜色 |
| | | progressBarEasing: 'linear', // 进度条动画效果 |
| | | overlay: false, // 是否显示遮罩层 |
| | | overlayClose: false, // 点击遮罩层是否关闭 |
| | | overlayColor: 'rgba(0, 0, 0, 0.1)', // 遮罩层颜色 |
| | | transitionIn: 'fadeInLeft', // bounceInLeft, bounceInRight, bounceInUp, bounceInDown, fadeIn, fadeInDown, fadeInUp, fadeInLeft, fadeInRight, flipInX |
| | | transitionOut: 'fadeOutRight', // fadeOut, fadeOutUp, fadeOutDown, fadeOutLeft, fadeOutRight, flipOutX |
| | | transitionInMobile: 'bounceInDown', // 移动端进入动画 |
| | | transitionOutMobile: 'fadeOutUp', // 移动端退出动画 |
| | | buttons: {}, // 操作按钮 |
| | | inputs: {}, // 输入框 |
| | | audio: '', // 音效 |
| | | onOpening: function () { |
| | | }, |
| | | onOpened: function () { |
| | | }, |
| | | onClosing: function () { |
| | | }, |
| | | onClosed: function () { |
| | | } |
| | | }; |
| | | |
| | | var $iziToast = { |
| | | children: {}, |
| | | setSetting: function (ref, option, value) { |
| | | $iziToast.children[ref][option] = value; |
| | | }, |
| | | getSetting: function (ref, option) { |
| | | return $iziToast.children[ref][option]; |
| | | }, |
| | | // 全局设置 |
| | | settings: function (options) { |
| | | $iziToast.destroy(); // 全部销毁之前的通知 |
| | | CONFIG = options; |
| | | defaults = extend(defaults, options || {}); |
| | | }, |
| | | // 关闭所有通知 |
| | | destroy: function () { |
| | | forEach(document.querySelectorAll('.' + PLUGIN_NAME + '-overlay'), function (element, index) { |
| | | element.remove(); |
| | | }); |
| | | forEach(document.querySelectorAll('.' + PLUGIN_NAME + '-wrapper'), function (element, index) { |
| | | element.remove(); |
| | | }); |
| | | forEach(document.querySelectorAll('.' + PLUGIN_NAME), function (element, index) { |
| | | element.remove(); |
| | | }); |
| | | this.children = {}; |
| | | // 移除事件监听 |
| | | document.removeEventListener(PLUGIN_NAME + '-opened', {}, false); |
| | | document.removeEventListener(PLUGIN_NAME + '-opening', {}, false); |
| | | document.removeEventListener(PLUGIN_NAME + '-closing', {}, false); |
| | | document.removeEventListener(PLUGIN_NAME + '-closed', {}, false); |
| | | document.removeEventListener('keyup', {}, false); |
| | | CONFIG = {}; // 移除全局配置 |
| | | }, |
| | | // msg类型 |
| | | msg: function (msg, options) { |
| | | if (options.icon == 4) { |
| | | options.overlay = true; |
| | | options.timeout = false; |
| | | options.drag = false; |
| | | options.displayMode = 0; |
| | | } |
| | | var icons = ['ico-success', 'ico-error', 'ico-warning', 'ico-load', 'ico-info']; |
| | | options.icon = icons[options.icon - 1]; |
| | | var theme = { |
| | | message: msg, |
| | | position: 'topCenter', |
| | | transitionIn: 'bounceInDown', |
| | | transitionOut: 'fadeOut', |
| | | transitionOutMobile: 'fadeOut', |
| | | progressBar: false, |
| | | close: false, |
| | | layout: 1, |
| | | audio: '' |
| | | }; |
| | | var settings = extend(CONFIG, options || {}); |
| | | settings = extend(theme, settings || {}); |
| | | this.show(settings); |
| | | } |
| | | }; |
| | | |
| | | // 关闭指定的通知 |
| | | $iziToast.hide = function (options, $toast, closedBy) { |
| | | if (typeof $toast != 'object') { |
| | | $toast = document.querySelector($toast); |
| | | } |
| | | var that = this; |
| | | var settings = extend(this.children[$toast.getAttribute('data-iziToast-ref')], options || {}); |
| | | settings.closedBy = closedBy || null; |
| | | delete settings.time.REMAINING; |
| | | $toast.classList.add(PLUGIN_NAME + '-closing'); |
| | | // 移除遮罩层 |
| | | (function () { |
| | | var $overlay = document.querySelector('.' + PLUGIN_NAME + '-overlay'); |
| | | if ($overlay !== null) { |
| | | var refs = $overlay.getAttribute('data-iziToast-ref'); |
| | | refs = refs.split(','); |
| | | var index = refs.indexOf(String(settings.ref)); |
| | | if (index !== -1) { |
| | | refs.splice(index, 1); |
| | | } |
| | | $overlay.setAttribute('data-iziToast-ref', refs.join()); |
| | | if (refs.length === 0) { |
| | | $overlay.classList.remove('fadeIn'); |
| | | $overlay.classList.add('fadeOut'); |
| | | setTimeout(function () { |
| | | $overlay.remove(); |
| | | }, 700); |
| | | } |
| | | } |
| | | })(); |
| | | // 移除动画 |
| | | if (settings.transitionIn) { |
| | | $toast.classList.remove(settings.transitionIn); |
| | | } |
| | | if (settings.transitionInMobile) { |
| | | $toast.classList.remove(settings.transitionInMobile); |
| | | } |
| | | if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { |
| | | if (settings.transitionOutMobile) |
| | | $toast.classList.add(settings.transitionOutMobile); |
| | | } else { |
| | | if (settings.transitionOut) |
| | | $toast.classList.add(settings.transitionOut); |
| | | } |
| | | var H = $toast.parentNode.offsetHeight; |
| | | $toast.parentNode.style.height = H + 'px'; |
| | | $toast.style.pointerEvents = 'none'; |
| | | if (!ISMOBILE || window.innerWidth > MOBILEWIDTH) { |
| | | $toast.parentNode.style.transitionDelay = '0.2s'; |
| | | } |
| | | try { |
| | | var event = new CustomEvent(PLUGIN_NAME + '-closing', {detail: settings, bubbles: true, cancelable: true}); |
| | | document.dispatchEvent(event); |
| | | } catch (ex) { |
| | | console.warn(ex); |
| | | } |
| | | setTimeout(function () { |
| | | $toast.parentNode.style.height = '0px'; |
| | | $toast.parentNode.style.overflow = ''; |
| | | setTimeout(function () { |
| | | delete that.children[settings.ref]; |
| | | $toast.parentNode.remove(); |
| | | try { |
| | | var event = new CustomEvent(PLUGIN_NAME + '-closed', { |
| | | detail: settings, |
| | | bubbles: true, |
| | | cancelable: true |
| | | }); |
| | | document.dispatchEvent(event); |
| | | } catch (ex) { |
| | | console.warn(ex); |
| | | } |
| | | if (typeof settings.onClosed !== 'undefined') { |
| | | settings.onClosed.apply(null, [settings, $toast, closedBy]); |
| | | } |
| | | }, 1000); |
| | | }, 200); |
| | | // 回调关闭事件 |
| | | if (typeof settings.onClosing !== 'undefined') { |
| | | settings.onClosing.apply(null, [settings, $toast, closedBy]); |
| | | } |
| | | }; |
| | | |
| | | // 显示通知 |
| | | $iziToast.show = function (options) { |
| | | var that = this; |
| | | // Merge user options with defaults |
| | | var settings = extend(CONFIG, options || {}); |
| | | settings = extend(defaults, settings); |
| | | settings.time = {}; |
| | | if (settings.id === null) { |
| | | settings.id = generateId(settings.title + settings.message + settings.color); |
| | | } |
| | | if (settings.displayMode == 1 || settings.displayMode == 'once') { |
| | | try { |
| | | if (document.querySelectorAll('.' + PLUGIN_NAME + '#' + settings.id).length > 0) { |
| | | return false; |
| | | } |
| | | } catch (exc) { |
| | | console.warn('[' + PLUGIN_NAME + '] Could not find an element with this selector: ' + '#' + settings.id + '. Try to set an valid id.'); |
| | | } |
| | | } |
| | | if (settings.displayMode == 2 || settings.displayMode == 'replace') { |
| | | try { |
| | | forEach(document.querySelectorAll('.' + PLUGIN_NAME + '#' + settings.id), function (element, index) { |
| | | that.hide(settings, element, 'replaced'); |
| | | }); |
| | | } catch (exc) { |
| | | console.warn('[' + PLUGIN_NAME + '] Could not find an element with this selector: ' + '#' + settings.id + '. Try to set an valid id.'); |
| | | } |
| | | } |
| | | settings.ref = new Date().getTime() + Math.floor((Math.random() * 10000000) + 1); |
| | | $iziToast.children[settings.ref] = settings; |
| | | var $DOM = { |
| | | body: document.querySelector('body'), |
| | | overlay: document.createElement('div'), |
| | | toast: document.createElement('div'), |
| | | toastBody: document.createElement('div'), |
| | | toastTexts: document.createElement('div'), |
| | | toastCapsule: document.createElement('div'), |
| | | cover: document.createElement('div'), |
| | | buttons: document.createElement('div'), |
| | | inputs: document.createElement('div'), |
| | | icon: !settings.iconUrl ? document.createElement('i') : document.createElement('img'), |
| | | wrapper: null |
| | | }; |
| | | $DOM.toast.setAttribute('data-iziToast-ref', settings.ref); |
| | | $DOM.toast.appendChild($DOM.toastBody); |
| | | $DOM.toastCapsule.appendChild($DOM.toast); |
| | | // CSS Settings |
| | | (function () { |
| | | $DOM.toast.classList.add(PLUGIN_NAME); |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-opening'); |
| | | $DOM.toastCapsule.classList.add(PLUGIN_NAME + '-capsule'); |
| | | $DOM.toastBody.classList.add(PLUGIN_NAME + '-body'); |
| | | $DOM.toastTexts.classList.add(PLUGIN_NAME + '-texts'); |
| | | if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { |
| | | if (settings.transitionInMobile) |
| | | $DOM.toast.classList.add(settings.transitionInMobile); |
| | | } else { |
| | | if (settings.transitionIn) |
| | | $DOM.toast.classList.add(settings.transitionIn); |
| | | } |
| | | if (settings.className) { |
| | | var classes = settings.className.split(' '); |
| | | forEach(classes, function (value, index) { |
| | | $DOM.toast.classList.add(value); |
| | | }); |
| | | } |
| | | if (settings.id) { |
| | | $DOM.toast.id = settings.id; |
| | | } |
| | | if (settings.rtl) { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-rtl'); |
| | | $DOM.toast.setAttribute('dir', 'rtl'); |
| | | } |
| | | if (settings.layout > 1) { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-layout' + settings.layout); |
| | | } |
| | | if (settings.balloon) { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-balloon'); |
| | | } |
| | | if (settings.maxWidth) { |
| | | if (!isNaN(settings.maxWidth)) { |
| | | $DOM.toast.style.maxWidth = settings.maxWidth + 'px'; |
| | | } else { |
| | | $DOM.toast.style.maxWidth = settings.maxWidth; |
| | | } |
| | | } |
| | | if (settings.theme !== '' || settings.theme !== 'light') { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-theme-' + settings.theme); |
| | | } |
| | | if (settings.color) { //#, rgb, rgba, hsl |
| | | if (isColor(settings.color)) { |
| | | $DOM.toast.style.background = settings.color; |
| | | } else { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-color-' + settings.color); |
| | | } |
| | | } |
| | | if (settings.backgroundColor) { |
| | | $DOM.toast.style.background = settings.backgroundColor; |
| | | if (settings.balloon) { |
| | | $DOM.toast.style.borderColor = settings.backgroundColor; |
| | | } |
| | | } |
| | | })(); |
| | | // Cover image |
| | | (function () { |
| | | if (settings.image) { |
| | | $DOM.cover.classList.add(PLUGIN_NAME + '-cover'); |
| | | $DOM.cover.style.width = settings.imageWidth + 'px'; |
| | | if (isBase64(settings.image.replace(/ /g, ''))) { |
| | | $DOM.cover.style.backgroundImage = 'url(data:image/png;base64,' + settings.image.replace(/ /g, '') + ')'; |
| | | } else { |
| | | $DOM.cover.style.backgroundImage = 'url(' + settings.image + ')'; |
| | | } |
| | | if (settings.rtl) { |
| | | $DOM.toastBody.style.marginRight = (settings.imageWidth) + 'px'; |
| | | } else { |
| | | $DOM.toastBody.style.marginLeft = (settings.imageWidth) + 'px'; |
| | | } |
| | | $DOM.toast.appendChild($DOM.cover); |
| | | } |
| | | })(); |
| | | // Button close |
| | | (function () { |
| | | if (settings.close) { |
| | | $DOM.buttonClose = document.createElement('button'); |
| | | // $DOM.buttonClose.type = 'button'; |
| | | $DOM.buttonClose.setAttribute('type', 'button'); |
| | | $DOM.buttonClose.classList.add(PLUGIN_NAME + '-close'); |
| | | $DOM.buttonClose.addEventListener('click', function (e) { |
| | | var button = e.target; |
| | | that.hide(settings, $DOM.toast, 'button'); |
| | | }); |
| | | $DOM.toast.appendChild($DOM.buttonClose); |
| | | } else { |
| | | if (settings.rtl) { |
| | | $DOM.toast.style.paddingLeft = '18px'; |
| | | } else { |
| | | $DOM.toast.style.paddingRight = '18px'; |
| | | } |
| | | } |
| | | })(); |
| | | // Progress Bar & Timeout |
| | | (function () { |
| | | if (settings.progressBar) { |
| | | $DOM.progressBar = document.createElement('div'); |
| | | $DOM.progressBarDiv = document.createElement('div'); |
| | | $DOM.progressBar.classList.add(PLUGIN_NAME + '-progressbar'); |
| | | $DOM.progressBarDiv.style.background = settings.progressBarColor; |
| | | $DOM.progressBar.appendChild($DOM.progressBarDiv); |
| | | $DOM.toast.appendChild($DOM.progressBar); |
| | | } |
| | | if (settings.timeout) { |
| | | if (settings.pauseOnHover && !settings.resetOnHover) { |
| | | $DOM.toast.addEventListener('mouseenter', function (e) { |
| | | that.progress(settings, $DOM.toast).pause(); |
| | | }); |
| | | $DOM.toast.addEventListener('mouseleave', function (e) { |
| | | that.progress(settings, $DOM.toast).resume(); |
| | | }); |
| | | } |
| | | if (settings.resetOnHover) { |
| | | $DOM.toast.addEventListener('mouseenter', function (e) { |
| | | that.progress(settings, $DOM.toast).reset(); |
| | | }); |
| | | $DOM.toast.addEventListener('mouseleave', function (e) { |
| | | that.progress(settings, $DOM.toast).start(); |
| | | }); |
| | | } |
| | | } |
| | | })(); |
| | | // Icon |
| | | (function () { |
| | | if (settings.iconUrl) { |
| | | $DOM.icon.setAttribute('class', PLUGIN_NAME + '-icon'); |
| | | $DOM.icon.setAttribute('src', settings.iconUrl); |
| | | } else if (settings.icon) { |
| | | $DOM.icon.setAttribute('class', PLUGIN_NAME + '-icon ' + settings.icon); |
| | | if (settings.iconText) { |
| | | $DOM.icon.appendChild(document.createTextNode(settings.iconText)); |
| | | } |
| | | if (settings.iconColor) { |
| | | $DOM.icon.style.color = settings.iconColor; |
| | | } |
| | | } |
| | | if (settings.icon || settings.iconUrl) { |
| | | if (settings.rtl) { |
| | | $DOM.toastBody.style.paddingRight = '33px'; |
| | | } else { |
| | | $DOM.toastBody.style.paddingLeft = '33px'; |
| | | } |
| | | $DOM.toastBody.appendChild($DOM.icon); |
| | | } |
| | | |
| | | })(); |
| | | // Title & Message |
| | | (function () { |
| | | if (settings.title.length > 0) { |
| | | $DOM.strong = document.createElement('strong'); |
| | | $DOM.strong.classList.add(PLUGIN_NAME + '-title'); |
| | | $DOM.strong.appendChild(createFragElem(settings.title)); |
| | | $DOM.toastTexts.appendChild($DOM.strong); |
| | | if (settings.titleColor) { |
| | | $DOM.strong.style.color = settings.titleColor; |
| | | } |
| | | if (settings.titleSize) { |
| | | if (!isNaN(settings.titleSize)) { |
| | | $DOM.strong.style.fontSize = settings.titleSize + 'px'; |
| | | } else { |
| | | $DOM.strong.style.fontSize = settings.titleSize; |
| | | } |
| | | } |
| | | if (settings.titleLineHeight) { |
| | | if (!isNaN(settings.titleSize)) { |
| | | $DOM.strong.style.lineHeight = settings.titleLineHeight + 'px'; |
| | | } else { |
| | | $DOM.strong.style.lineHeight = settings.titleLineHeight; |
| | | } |
| | | } |
| | | } |
| | | if (settings.message.length > 0) { |
| | | $DOM.p = document.createElement('p'); |
| | | $DOM.p.classList.add(PLUGIN_NAME + '-message'); |
| | | $DOM.p.appendChild(createFragElem(settings.message)); |
| | | $DOM.toastTexts.appendChild($DOM.p); |
| | | if (settings.messageColor) { |
| | | $DOM.p.style.color = settings.messageColor; |
| | | } |
| | | if (settings.messageSize) { |
| | | if (!isNaN(settings.titleSize)) { |
| | | $DOM.p.style.fontSize = settings.messageSize + 'px'; |
| | | } else { |
| | | $DOM.p.style.fontSize = settings.messageSize; |
| | | } |
| | | } |
| | | if (settings.messageLineHeight) { |
| | | if (!isNaN(settings.titleSize)) { |
| | | $DOM.p.style.lineHeight = settings.messageLineHeight + 'px'; |
| | | } else { |
| | | $DOM.p.style.lineHeight = settings.messageLineHeight; |
| | | } |
| | | } |
| | | } |
| | | if (settings.title.length > 0 && settings.message.length > 0) { |
| | | if (settings.rtl) { |
| | | $DOM.strong.style.marginLeft = '10px'; |
| | | } else if (settings.layout != 2 && !settings.rtl) { |
| | | $DOM.strong.style.marginRight = '10px'; |
| | | $DOM.strong.style.marginBottom = '0px'; |
| | | } |
| | | } |
| | | })(); |
| | | $DOM.toastBody.appendChild($DOM.toastTexts); |
| | | // Inputs |
| | | var $inputs; |
| | | (function () { |
| | | if (settings.inputs.length > 0) { |
| | | $DOM.inputs.classList.add(PLUGIN_NAME + '-inputs'); |
| | | forEach(settings.inputs, function (value, index) { |
| | | $DOM.inputs.appendChild(createFragElem(value[0])); |
| | | $inputs = $DOM.inputs.childNodes; |
| | | $inputs[index].classList.add(PLUGIN_NAME + '-inputs-child'); |
| | | if (value[3]) { |
| | | setTimeout(function () { |
| | | $inputs[index].focus(); |
| | | }, 300); |
| | | } |
| | | $inputs[index].addEventListener(value[1], function (e) { |
| | | var ts = value[2]; |
| | | return ts(that, $DOM.toast, this, e); |
| | | }); |
| | | }); |
| | | $DOM.toastBody.appendChild($DOM.inputs); |
| | | } |
| | | })(); |
| | | // Buttons |
| | | (function () { |
| | | if (settings.buttons.length > 0) { |
| | | $DOM.buttons.classList.add(PLUGIN_NAME + '-buttons'); |
| | | forEach(settings.buttons, function (value, index) { |
| | | $DOM.buttons.appendChild(createFragElem(value[0])); |
| | | var $btns = $DOM.buttons.childNodes; |
| | | $btns[index].classList.add(PLUGIN_NAME + '-buttons-child'); |
| | | if (value[2]) { |
| | | setTimeout(function () { |
| | | $btns[index].focus(); |
| | | }, 300); |
| | | } |
| | | $btns[index].addEventListener('click', function (e) { |
| | | e.preventDefault(); |
| | | var ts = value[1]; |
| | | return ts(that, $DOM.toast, this, e, $inputs); |
| | | }); |
| | | }); |
| | | } |
| | | $DOM.toastTexts.appendChild($DOM.buttons); |
| | | })(); |
| | | if (settings.message.length > 0 && (settings.inputs.length > 0 || settings.buttons.length > 0)) { |
| | | $DOM.p.style.marginBottom = '0'; |
| | | } |
| | | if (settings.inputs.length > 0 || settings.buttons.length > 0) { |
| | | if (settings.rtl) { |
| | | $DOM.toastTexts.style.marginLeft = '10px'; |
| | | } else { |
| | | $DOM.toastTexts.style.marginRight = '10px'; |
| | | } |
| | | if (settings.inputs.length > 0 && settings.buttons.length > 0) { |
| | | if (settings.rtl) { |
| | | $DOM.inputs.style.marginLeft = '8px'; |
| | | } else { |
| | | $DOM.inputs.style.marginRight = '8px'; |
| | | } |
| | | } |
| | | } |
| | | // Wrap |
| | | (function () { |
| | | $DOM.toastCapsule.style.visibility = 'hidden'; |
| | | setTimeout(function () { |
| | | var H = $DOM.toast.offsetHeight; |
| | | var style = $DOM.toast.currentStyle || window.getComputedStyle($DOM.toast); |
| | | var marginTop = style.marginTop; |
| | | marginTop = marginTop.split('px'); |
| | | marginTop = parseInt(marginTop[0]); |
| | | var marginBottom = style.marginBottom; |
| | | marginBottom = marginBottom.split('px'); |
| | | marginBottom = parseInt(marginBottom[0]); |
| | | |
| | | $DOM.toastCapsule.style.visibility = ''; |
| | | $DOM.toastCapsule.style.height = (H + marginBottom + marginTop) + 'px'; |
| | | |
| | | setTimeout(function () { |
| | | $DOM.toastCapsule.style.height = 'auto'; |
| | | if (settings.target) { |
| | | $DOM.toastCapsule.style.overflow = 'visible'; |
| | | } |
| | | }, 500); |
| | | |
| | | if (settings.timeout) { |
| | | that.progress(settings, $DOM.toast).start(); |
| | | } |
| | | }, 100); |
| | | })(); |
| | | // Target |
| | | (function () { |
| | | var position = settings.position; |
| | | if (settings.target) { |
| | | $DOM.wrapper = document.querySelector(settings.target); |
| | | $DOM.wrapper.classList.add(PLUGIN_NAME + '-target'); |
| | | if (settings.targetFirst) { |
| | | $DOM.wrapper.insertBefore($DOM.toastCapsule, $DOM.wrapper.firstChild); |
| | | } else { |
| | | $DOM.wrapper.appendChild($DOM.toastCapsule); |
| | | } |
| | | } else { |
| | | if (POSITIONS.indexOf(settings.position) == -1) { |
| | | console.warn('[' + PLUGIN_NAME + '] Incorrect position.\nIt can be › ' + POSITIONS); |
| | | return; |
| | | } |
| | | if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { |
| | | if (settings.position == 'bottomLeft' || settings.position == 'bottomRight' || settings.position == 'bottomCenter') { |
| | | position = PLUGIN_NAME + '-wrapper-bottomCenter'; |
| | | } else if (settings.position == 'topLeft' || settings.position == 'topRight' || settings.position == 'topCenter') { |
| | | position = PLUGIN_NAME + '-wrapper-topCenter'; |
| | | } else { |
| | | position = PLUGIN_NAME + '-wrapper-center'; |
| | | } |
| | | } else { |
| | | position = PLUGIN_NAME + '-wrapper-' + position; |
| | | } |
| | | $DOM.wrapper = document.querySelector('.' + PLUGIN_NAME + '-wrapper.' + position); |
| | | if (!$DOM.wrapper) { |
| | | $DOM.wrapper = document.createElement('div'); |
| | | $DOM.wrapper.classList.add(PLUGIN_NAME + '-wrapper'); |
| | | $DOM.wrapper.classList.add(position); |
| | | document.body.appendChild($DOM.wrapper); |
| | | } |
| | | var targetFirst = settings.targetFirst; |
| | | if ((targetFirst == undefined || targetFirst == null) && (settings.position == 'topLeft' || settings.position == 'topCenter' || settings.position == 'topRight')) { |
| | | targetFirst = true; |
| | | } |
| | | if (targetFirst) { |
| | | $DOM.wrapper.insertBefore($DOM.toastCapsule, $DOM.wrapper.firstChild); |
| | | } else { |
| | | $DOM.wrapper.appendChild($DOM.toastCapsule); |
| | | } |
| | | } |
| | | if (!isNaN(settings.zindex)) { |
| | | $DOM.wrapper.style.zIndex = settings.zindex; |
| | | } else { |
| | | console.warn('[' + PLUGIN_NAME + '] Invalid zIndex.'); |
| | | } |
| | | })(); |
| | | // Overlay |
| | | (function () { |
| | | if (settings.overlay) { |
| | | if (document.querySelector('.' + PLUGIN_NAME + '-overlay.fadeIn') !== null) { |
| | | $DOM.overlay = document.querySelector('.' + PLUGIN_NAME + '-overlay'); |
| | | $DOM.overlay.setAttribute('data-iziToast-ref', $DOM.overlay.getAttribute('data-iziToast-ref') + ',' + settings.ref); |
| | | if (!isNaN(settings.zindex) && settings.zindex !== null) { |
| | | $DOM.overlay.style.zIndex = settings.zindex - 1; |
| | | } |
| | | } else { |
| | | $DOM.overlay.classList.add(PLUGIN_NAME + '-overlay'); |
| | | $DOM.overlay.classList.add('fadeIn'); |
| | | $DOM.overlay.style.background = settings.overlayColor; |
| | | $DOM.overlay.setAttribute('data-iziToast-ref', settings.ref); |
| | | if (!isNaN(settings.zindex) && settings.zindex !== null) { |
| | | $DOM.overlay.style.zIndex = settings.zindex - 1; |
| | | } |
| | | document.querySelector('body').appendChild($DOM.overlay); |
| | | } |
| | | if (settings.overlayClose) { |
| | | $DOM.overlay.removeEventListener('click', {}); |
| | | $DOM.overlay.addEventListener('click', function (e) { |
| | | that.hide(settings, $DOM.toast, 'overlay'); |
| | | }); |
| | | } else { |
| | | $DOM.overlay.removeEventListener('click', {}); |
| | | } |
| | | } |
| | | })(); |
| | | // Inside animations |
| | | (function () { |
| | | if (settings.animateInside) { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-animateInside'); |
| | | var animationTimes = [200, 100, 300]; |
| | | if (settings.transitionIn == 'bounceInLeft' || settings.transitionIn == 'bounceInRight') { |
| | | animationTimes = [400, 200, 400]; |
| | | } |
| | | if (settings.title.length > 0) { |
| | | setTimeout(function () { |
| | | $DOM.strong.classList.add('slideIn'); |
| | | }, animationTimes[0]); |
| | | } |
| | | if (settings.message.length > 0) { |
| | | setTimeout(function () { |
| | | $DOM.p.classList.add('slideIn'); |
| | | }, animationTimes[1]); |
| | | } |
| | | if (settings.icon || settings.iconUrl) { |
| | | setTimeout(function () { |
| | | $DOM.icon.classList.add('revealIn'); |
| | | }, animationTimes[2]); |
| | | } |
| | | var counter = 150; |
| | | if (settings.buttons.length > 0 && $DOM.buttons) { |
| | | setTimeout(function () { |
| | | forEach($DOM.buttons.childNodes, function (element, index) { |
| | | setTimeout(function () { |
| | | element.classList.add('revealIn'); |
| | | }, counter); |
| | | counter = counter + 150; |
| | | }); |
| | | }, settings.inputs.length > 0 ? 150 : 0); |
| | | } |
| | | if (settings.inputs.length > 0 && $DOM.inputs) { |
| | | counter = 150; |
| | | forEach($DOM.inputs.childNodes, function (element, index) { |
| | | setTimeout(function () { |
| | | element.classList.add('revealIn'); |
| | | }, counter); |
| | | counter = counter + 150; |
| | | }); |
| | | } |
| | | } |
| | | })(); |
| | | settings.onOpening.apply(null, [settings, $DOM.toast]); |
| | | try { |
| | | var event = new CustomEvent(PLUGIN_NAME + '-opening', {detail: settings, bubbles: true, cancelable: true}); |
| | | document.dispatchEvent(event); |
| | | } catch (ex) { |
| | | console.warn(ex); |
| | | } |
| | | setTimeout(function () { |
| | | $DOM.toast.classList.remove(PLUGIN_NAME + '-opening'); |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-opened'); |
| | | try { |
| | | var event = new CustomEvent(PLUGIN_NAME + '-opened', { |
| | | detail: settings, |
| | | bubbles: true, |
| | | cancelable: true |
| | | }); |
| | | document.dispatchEvent(event); |
| | | } catch (ex) { |
| | | console.warn(ex); |
| | | } |
| | | settings.onOpened.apply(null, [settings, $DOM.toast]); |
| | | }, 1000); |
| | | if (settings.drag) { |
| | | if (ACCEPTSTOUCH) { |
| | | $DOM.toast.addEventListener('touchstart', function (e) { |
| | | drag.startMoving(this, that, settings, e); |
| | | }, false); |
| | | $DOM.toast.addEventListener('touchend', function (e) { |
| | | drag.stopMoving(this, e); |
| | | }, false); |
| | | } else { |
| | | $DOM.toast.addEventListener('mousedown', function (e) { |
| | | e.preventDefault(); |
| | | drag.startMoving(this, that, settings, e); |
| | | }, false); |
| | | $DOM.toast.addEventListener('mouseup', function (e) { |
| | | e.preventDefault(); |
| | | drag.stopMoving(this, e); |
| | | }, false); |
| | | } |
| | | } |
| | | if (settings.closeOnEscape) { |
| | | document.addEventListener('keyup', function (evt) { |
| | | evt = evt || window.event; |
| | | if (evt.keyCode == 27) { |
| | | that.hide(settings, $DOM.toast, 'esc'); |
| | | } |
| | | }); |
| | | } |
| | | if (settings.closeOnClick) { |
| | | $DOM.toast.addEventListener('click', function (evt) { |
| | | that.hide(settings, $DOM.toast, 'toast'); |
| | | }); |
| | | } |
| | | // 播放声音 |
| | | if (settings.audio) { |
| | | that.playSound(settings.audio); |
| | | } |
| | | that.toast = $DOM.toast; |
| | | }; |
| | | |
| | | // 控制进度条 |
| | | $iziToast.progress = function (options, $toast, callback) { |
| | | var that = this, |
| | | ref = $toast.getAttribute('data-iziToast-ref'), |
| | | settings = extend(this.children[ref], options || {}), |
| | | $elem = $toast.querySelector('.' + PLUGIN_NAME + '-progressbar div'); |
| | | return { |
| | | start: function () { |
| | | if (typeof settings.time.REMAINING == 'undefined') { |
| | | $toast.classList.remove(PLUGIN_NAME + '-reseted'); |
| | | if ($elem !== null) { |
| | | $elem.style.transition = 'width ' + settings.timeout + 'ms ' + settings.progressBarEasing; |
| | | $elem.style.width = '0%'; |
| | | } |
| | | settings.time.START = new Date().getTime(); |
| | | settings.time.END = settings.time.START + settings.timeout; |
| | | settings.time.TIMER = setTimeout(function () { |
| | | clearTimeout(settings.time.TIMER); |
| | | if (!$toast.classList.contains(PLUGIN_NAME + '-closing')) { |
| | | that.hide(settings, $toast, 'timeout'); |
| | | if (typeof callback === 'function') { |
| | | callback.apply(that); |
| | | } |
| | | } |
| | | }, settings.timeout); |
| | | that.setSetting(ref, 'time', settings.time); |
| | | } |
| | | }, |
| | | pause: function () { |
| | | if (typeof settings.time.START !== 'undefined' && !$toast.classList.contains(PLUGIN_NAME + '-paused') && !$toast.classList.contains(PLUGIN_NAME + '-reseted')) { |
| | | $toast.classList.add(PLUGIN_NAME + '-paused'); |
| | | settings.time.REMAINING = settings.time.END - new Date().getTime(); |
| | | clearTimeout(settings.time.TIMER); |
| | | that.setSetting(ref, 'time', settings.time); |
| | | if ($elem !== null) { |
| | | var computedStyle = window.getComputedStyle($elem), |
| | | propertyWidth = computedStyle.getPropertyValue('width'); |
| | | $elem.style.transition = 'none'; |
| | | $elem.style.width = propertyWidth; |
| | | } |
| | | if (typeof callback === 'function') { |
| | | setTimeout(function () { |
| | | callback.apply(that); |
| | | }, 10); |
| | | } |
| | | } |
| | | }, |
| | | resume: function () { |
| | | if (typeof settings.time.REMAINING !== 'undefined') { |
| | | $toast.classList.remove(PLUGIN_NAME + '-paused'); |
| | | if ($elem !== null) { |
| | | $elem.style.transition = 'width ' + settings.time.REMAINING + 'ms ' + settings.progressBarEasing; |
| | | $elem.style.width = '0%'; |
| | | } |
| | | settings.time.END = new Date().getTime() + settings.time.REMAINING; |
| | | settings.time.TIMER = setTimeout(function () { |
| | | clearTimeout(settings.time.TIMER); |
| | | if (!$toast.classList.contains(PLUGIN_NAME + '-closing')) { |
| | | that.hide(settings, $toast, 'timeout'); |
| | | if (typeof callback === 'function') { |
| | | callback.apply(that); |
| | | } |
| | | } |
| | | }, settings.time.REMAINING); |
| | | that.setSetting(ref, 'time', settings.time); |
| | | } else { |
| | | this.start(); |
| | | } |
| | | }, |
| | | reset: function () { |
| | | clearTimeout(settings.time.TIMER); |
| | | delete settings.time.REMAINING; |
| | | that.setSetting(ref, 'time', settings.time); |
| | | $toast.classList.add(PLUGIN_NAME + '-reseted'); |
| | | $toast.classList.remove(PLUGIN_NAME + '-paused'); |
| | | if ($elem !== null) { |
| | | $elem.style.transition = 'none'; |
| | | $elem.style.width = '100%'; |
| | | } |
| | | if (typeof callback === 'function') { |
| | | setTimeout(function () { |
| | | callback.apply(that); |
| | | }, 10); |
| | | } |
| | | } |
| | | }; |
| | | }; |
| | | |
| | | // 判断是否是ie9以下版本 |
| | | var isIE9_ = function () { |
| | | var userAgent = navigator.userAgent; |
| | | if (window.navigator.userAgent.indexOf("MSIE") >= 1) { |
| | | var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); |
| | | reIE.test(userAgent); |
| | | var fIEVersion = parseFloat(RegExp["$1"]); |
| | | if (fIEVersion != 10) { |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | }; |
| | | |
| | | // 给Element添加remove方法 |
| | | if (!('remove' in Element.prototype)) { |
| | | Element.prototype.remove = function () { |
| | | if (this.parentNode) { |
| | | this.parentNode.removeChild(this); |
| | | } |
| | | }; |
| | | } |
| | | |
| | | // 自定义事件 |
| | | if (typeof window.CustomEvent !== 'function') { |
| | | var CustomEventPolyfill = function (event, params) { |
| | | params = params || {bubbles: false, cancelable: false, detail: undefined}; |
| | | var evt = document.createEvent('CustomEvent'); |
| | | evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); |
| | | return evt; |
| | | }; |
| | | CustomEventPolyfill.prototype = window.Event.prototype; |
| | | window.CustomEvent = CustomEventPolyfill; |
| | | } |
| | | |
| | | // 遍历数据 |
| | | var forEach = function (collection, callback, scope) { |
| | | if (Object.prototype.toString.call(collection) === '[object Object]') { |
| | | for (var prop in collection) { |
| | | if (Object.prototype.hasOwnProperty.call(collection, prop)) { |
| | | callback.call(scope, collection[prop], prop, collection); |
| | | } |
| | | } |
| | | } else { |
| | | if (collection) { |
| | | for (var i = 0, len = collection.length; i < len; i++) { |
| | | callback.call(scope, collection[i], i, collection); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // 合并自定义参数和默认参数 |
| | | var extend = function (defaults, options) { |
| | | var extended = {}; |
| | | forEach(defaults, function (value, prop) { |
| | | extended[prop] = defaults[prop]; |
| | | }); |
| | | forEach(options, function (value, prop) { |
| | | extended[prop] = options[prop]; |
| | | }); |
| | | return extended; |
| | | }; |
| | | |
| | | // 创建新的文档片段 |
| | | var createFragElem = function (htmlStr) { |
| | | var frag = document.createDocumentFragment(), |
| | | temp = document.createElement('div'); |
| | | temp.innerHTML = htmlStr; |
| | | while (temp.firstChild) { |
| | | frag.appendChild(temp.firstChild); |
| | | } |
| | | return frag; |
| | | }; |
| | | |
| | | // 生成ID |
| | | var generateId = function (params) { |
| | | var newId = btoa(encodeURIComponent(params)); |
| | | return newId.replace(/=/g, ""); |
| | | }; |
| | | |
| | | // 判断是否是颜色字符串 |
| | | var isColor = function (color) { |
| | | if (color.substring(0, 1) == '#' || color.substring(0, 3) == 'rgb' || color.substring(0, 3) == 'hsl') { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | }; |
| | | |
| | | // 判断是否是base64字符串 |
| | | var isBase64 = function (str) { |
| | | try { |
| | | return btoa(atob(str)) == str; |
| | | } catch (err) { |
| | | return false; |
| | | } |
| | | }; |
| | | |
| | | // 拖拽方法 |
| | | var drag = function () { |
| | | return { |
| | | move: function (toast, instance, settings, xpos) { |
| | | var opacity, |
| | | opacityRange = 0.3, |
| | | distance = 180; |
| | | if (xpos !== 0) { |
| | | toast.classList.add(PLUGIN_NAME + '-dragged'); |
| | | toast.style.transform = 'translateX(' + xpos + 'px)'; |
| | | if (xpos > 0) { |
| | | opacity = (distance - xpos) / distance; |
| | | if (opacity < opacityRange) { |
| | | instance.hide(extend(settings, { |
| | | transitionOut: 'fadeOutRight', |
| | | transitionOutMobile: 'fadeOutRight' |
| | | }), toast, 'drag'); |
| | | } |
| | | } else { |
| | | opacity = (distance + xpos) / distance; |
| | | if (opacity < opacityRange) { |
| | | instance.hide(extend(settings, { |
| | | transitionOut: 'fadeOutLeft', |
| | | transitionOutMobile: 'fadeOutLeft' |
| | | }), toast, 'drag'); |
| | | } |
| | | } |
| | | toast.style.opacity = opacity; |
| | | if (opacity < opacityRange) { |
| | | if (ISCHROME || ISFIREFOX) |
| | | toast.style.left = xpos + 'px'; |
| | | toast.parentNode.style.opacity = opacityRange; |
| | | this.stopMoving(toast, null); |
| | | } |
| | | } |
| | | }, |
| | | startMoving: function (toast, instance, settings, e) { |
| | | e = e || window.event; |
| | | var posX = ((ACCEPTSTOUCH) ? e.touches[0].clientX : e.clientX), |
| | | toastLeft = toast.style.transform.replace('px)', ''); |
| | | toastLeft = toastLeft.replace('translateX(', ''); |
| | | var offsetX = posX - toastLeft; |
| | | if (settings.transitionIn) { |
| | | toast.classList.remove(settings.transitionIn); |
| | | } |
| | | if (settings.transitionInMobile) { |
| | | toast.classList.remove(settings.transitionInMobile); |
| | | } |
| | | toast.style.transition = ''; |
| | | if (ACCEPTSTOUCH) { |
| | | document.ontouchmove = function (e) { |
| | | e.preventDefault(); |
| | | e = e || window.event; |
| | | var posX = e.touches[0].clientX, |
| | | finalX = posX - offsetX; |
| | | drag.move(toast, instance, settings, finalX); |
| | | }; |
| | | } else { |
| | | document.onmousemove = function (e) { |
| | | e.preventDefault(); |
| | | e = e || window.event; |
| | | var posX = e.clientX, |
| | | finalX = posX - offsetX; |
| | | drag.move(toast, instance, settings, finalX); |
| | | }; |
| | | } |
| | | }, |
| | | stopMoving: function (toast, e) { |
| | | if (ACCEPTSTOUCH) { |
| | | document.ontouchmove = function () { |
| | | }; |
| | | } else { |
| | | document.onmousemove = function () { |
| | | }; |
| | | } |
| | | toast.style.opacity = ''; |
| | | toast.style.transform = ''; |
| | | if (toast.classList.contains(PLUGIN_NAME + '-dragged')) { |
| | | toast.classList.remove(PLUGIN_NAME + '-dragged'); |
| | | toast.style.transition = 'transform 0.4s ease, opacity 0.4s ease'; |
| | | setTimeout(function () { |
| | | toast.style.transition = ''; |
| | | }, 400); |
| | | } |
| | | } |
| | | }; |
| | | }(); |
| | | |
| | | // 兼容IE |
| | | var Base64 = { |
| | | _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (e) { |
| | | var t = ""; |
| | | var n, r, i, s, o, u, a; |
| | | var f = 0; |
| | | e = Base64._utf8_encode(e); |
| | | while (f < e.length) { |
| | | n = e.charCodeAt(f++); |
| | | r = e.charCodeAt(f++); |
| | | i = e.charCodeAt(f++); |
| | | s = n >> 2; |
| | | o = (n & 3) << 4 | r >> 4; |
| | | u = (r & 15) << 2 | i >> 6; |
| | | a = i & 63; |
| | | if (isNaN(r)) { |
| | | u = a = 64 |
| | | } else if (isNaN(i)) { |
| | | a = 64 |
| | | } |
| | | t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a) |
| | | } |
| | | return t |
| | | }, decode: function (e) { |
| | | var t = ""; |
| | | var n, r, i; |
| | | var s, o, u, a; |
| | | var f = 0; |
| | | e = e.replace(/[^A-Za-z0-9+/=]/g, ""); |
| | | while (f < e.length) { |
| | | s = this._keyStr.indexOf(e.charAt(f++)); |
| | | o = this._keyStr.indexOf(e.charAt(f++)); |
| | | u = this._keyStr.indexOf(e.charAt(f++)); |
| | | a = this._keyStr.indexOf(e.charAt(f++)); |
| | | n = s << 2 | o >> 4; |
| | | r = (o & 15) << 4 | u >> 2; |
| | | i = (u & 3) << 6 | a; |
| | | t = t + String.fromCharCode(n); |
| | | if (u != 64) { |
| | | t = t + String.fromCharCode(r) |
| | | } |
| | | if (a != 64) { |
| | | t = t + String.fromCharCode(i) |
| | | } |
| | | } |
| | | t = Base64._utf8_decode(t); |
| | | return t |
| | | }, _utf8_encode: function (e) { |
| | | e = e.replace(/rn/g, "n"); |
| | | var t = ""; |
| | | for (var n = 0; n < e.length; n++) { |
| | | var r = e.charCodeAt(n); |
| | | if (r < 128) { |
| | | t += String.fromCharCode(r) |
| | | } else if (r > 127 && r < 2048) { |
| | | t += String.fromCharCode(r >> 6 | 192); |
| | | t += String.fromCharCode(r & 63 | 128) |
| | | } else { |
| | | t += String.fromCharCode(r >> 12 | 224); |
| | | t += String.fromCharCode(r >> 6 & 63 | 128); |
| | | t += String.fromCharCode(r & 63 | 128) |
| | | } |
| | | } |
| | | return t |
| | | }, _utf8_decode: function (e) { |
| | | var t = ""; |
| | | var n = 0; |
| | | var r = c1 = c2 = 0; |
| | | while (n < e.length) { |
| | | r = e.charCodeAt(n); |
| | | if (r < 128) { |
| | | t += String.fromCharCode(r); |
| | | n++ |
| | | } else if (r > 191 && r < 224) { |
| | | c2 = e.charCodeAt(n + 1); |
| | | t += String.fromCharCode((r & 31) << 6 | c2 & 63); |
| | | n += 2 |
| | | } else { |
| | | c2 = e.charCodeAt(n + 1); |
| | | c3 = e.charCodeAt(n + 2); |
| | | t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); |
| | | n += 3 |
| | | } |
| | | } |
| | | return t |
| | | } |
| | | }; |
| | | if (isIE9_()) { |
| | | // 兼容btoa和atob方法 |
| | | window.btoa = function (str) { |
| | | return Base64.encode(str); |
| | | }; |
| | | window.atob = function (str) { |
| | | return Base64.decode(str); |
| | | }; |
| | | // 兼容classList属性 |
| | | if (!("classList" in document.documentElement)) { |
| | | Object.defineProperty(window.Element.prototype, 'classList', { |
| | | get: function () { |
| | | var self = this; |
| | | |
| | | function update(fn) { |
| | | return function () { |
| | | var className = self.className.replace(/^\s+|\s+$/g, ''), |
| | | valArr = arguments; |
| | | return fn(className, valArr) |
| | | } |
| | | } |
| | | |
| | | function add_rmv(className, valArr, tag) { |
| | | for (var i in valArr) { |
| | | if (typeof valArr[i] !== 'string' || !!~valArr[i].search(/\s+/g)) throw TypeError('the type of value is error') |
| | | var temp = valArr[i] |
| | | var flag = !!~className.search(new RegExp('(\\s+)?' + temp + '(\\s+)?')) |
| | | if (tag === 1) { |
| | | !flag ? className += ' ' + temp : '' |
| | | } else if (tag === 2) { |
| | | flag ? className = className.replace(new RegExp('(\\s+)?' + temp), '') : '' |
| | | } |
| | | } |
| | | self.className = className; |
| | | return tag; |
| | | } |
| | | |
| | | return { |
| | | add: update(function (className, valArr) { |
| | | add_rmv(className, valArr, 1) |
| | | }), |
| | | remove: update(function (className, valArr) { |
| | | add_rmv(className, valArr, 2) |
| | | }), |
| | | toggle: function (value) { |
| | | if (typeof value !== 'string' || arguments.length === 0) throw TypeError("Failed to execute 'toggle' on 'DOMTokenList': 1 argument(string) required, but only 0 present.") |
| | | if (arguments.length === 1) { |
| | | this.contains(value) ? this.remove(value) : this.add(value) |
| | | return |
| | | } |
| | | !arguments[1] ? this.remove(value) : this.add(value) |
| | | }, |
| | | contains: update(function (className, valArr) { |
| | | if (valArr.length === 0) throw TypeError("Failed to execute 'contains' on 'DOMTokenList': 1 argument required, but only 0 present.") |
| | | if (typeof valArr[0] !== 'string' || !!~valArr[0].search(/\s+/g)) return false |
| | | return !!~className.search(new RegExp(valArr[0])) |
| | | }), |
| | | item: function (index) { |
| | | typeof index === 'string' ? index = parseInt(index) : '' |
| | | if (arguments.length === 0 || typeof index !== 'number') throw TypeError("Failed to execute 'toggle' on 'DOMTokenList': 1 argument required, but only 0 present.") |
| | | var claArr = self.className.replace(/^\s+|\s+$/, '').split(/\s+/) |
| | | var len = claArr.length |
| | | if (index < 0 || index >= len) return null |
| | | return claArr[index] |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // 播放声音 |
| | | $iziToast.playSound = function (src) { |
| | | if (!(src.indexOf('http') == 0)) { |
| | | src = layui.cache.base + 'notice/' + src + '.wav'; |
| | | } |
| | | if (!!window.ActiveXObject || "ActiveXObject" in window) { // IE |
| | | var embed = document.noticePlay; |
| | | if (embed) { |
| | | embed.remove(); |
| | | } |
| | | embed = document.createElement('embed'); |
| | | embed.setAttribute('name', 'noticePlay'); |
| | | embed.setAttribute('src', src); |
| | | embed.setAttribute('autostart', true); |
| | | embed.setAttribute('loop', false); |
| | | embed.setAttribute('hidden', true); |
| | | document.body.appendChild(embed); |
| | | embed = document.noticePlay; |
| | | embed.volume = 100; |
| | | } else { // 非IE |
| | | var audio = document.createElement('audio'); |
| | | audio.setAttribute('hidden', true); |
| | | audio.setAttribute('src', src); |
| | | document.body.appendChild(audio); |
| | | audio.addEventListener('ended', function () { |
| | | audio.parentNode.removeChild(audio); |
| | | }, false); |
| | | audio.play(); |
| | | } |
| | | }; |
| | | |
| | | // 不同主题的通知 |
| | | forEach(THEMES, function (theme, name) { |
| | | $iziToast[name] = function (options) { |
| | | var settings = extend(CONFIG, options || {}); |
| | | settings = extend(theme, settings || {}); |
| | | this.show(settings); |
| | | }; |
| | | }); |
| | | |
| | | layui.link(layui.cache.base + 'notice/notice.css'); // 加载css |
| | | exports('notice', $iziToast); |
| | | }); |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>首页</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <script type="text/javascript" src="../../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js"></script> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/echarts/echarts.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/echarts/highcharts.js"></script> |
| | | <style> |
| | | body { |
| | | background-color: #f1f1f1; |
| | | } |
| | | .home-elem { |
| | | background-color: #fff; |
| | | height: 30%; |
| | | margin: 15px 15px 45px 15px; |
| | | border-radius: 5px; |
| | | box-shadow: 0 0 3px rgba(0,0,0,.3); |
| | | } |
| | | .home-elem:first-child{ |
| | | margin-bottom: 0; |
| | | } |
| | | .chart-elem { |
| | | box-sizing: border-box; |
| | | display: inline-block; |
| | | width: 49%; |
| | | } |
| | | .chart-elem div { |
| | | padding-top: 15px; |
| | | padding-bottom: 5px; |
| | | } |
| | | .chart-elem:first-child { |
| | | padding: 0 50px; |
| | | } |
| | | .chart-elem:last-child { |
| | | padding: 0 50px; |
| | | border-left: 1px solid rgba(0,0,0,.1); |
| | | } |
| | | /*表格工具栏*/ |
| | | .layui-table-tool { |
| | | display: none; |
| | | } |
| | | /*表格*/ |
| | | .layui-table thead th { |
| | | font-weight: bold; |
| | | text-align: center; |
| | | } |
| | | div .layui-table-tool .layui-table-tool-self .layui-inline[title='导出']{ |
| | | display: none; |
| | | } |
| | | .layui-form.layui-border-box.layui-table-view{ |
| | | margin: 15px 0 35px 0; |
| | | width: 100%; |
| | | border-width: 0; |
| | | } |
| | | .layui-table-box{ |
| | | padding-bottom: 10px; |
| | | } |
| | | .layui-table-body.layui-table-main{ |
| | | overflow: hidden; |
| | | } |
| | | .layui-table-page{ |
| | | border-width: 0; |
| | | } |
| | | .layui-table tbody tr:hover, .layui-table thead tr, .layui-table-click, .layui-table-header, .layui-table-hover, .layui-table-mend, .layui-table-patch, .layui-table-tool, .layui-table-total, .layui-table-total tr, .layui-table[lay-even] tr:nth-child(even) { |
| | | background-color: #f9f9f9; |
| | | } |
| | | .layui-table thead tr { |
| | | background-color: #fff; |
| | | } |
| | | #form-header { |
| | | font-size: 18px; |
| | | color: #377bb5; |
| | | font-weight: bold; |
| | | height: 30px; |
| | | box-sizing: border-box; |
| | | padding: 10px 0 10px 20px; |
| | | } |
| | | .layui-form.layui-border-box.layui-table-view { |
| | | border-top: 1px solid rgba(0,0,0,.1); |
| | | } |
| | | #search-box { |
| | | margin-left: 10px; |
| | | z-index: 999; |
| | | position: relative; |
| | | padding: 0 30px 10px 30px; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | |
| | | <!--报表数据--> |
| | | <div class="home-elem charts-contain"> |
| | | <div class="chart-elem"> |
| | | <div id="pie"></div> |
| | | </div> |
| | | <div class="chart-elem"> |
| | | <div id="line"></div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!--表格数据--> |
| | | <div class="home-elem loc-retention"> |
| | | <div class="layui-form"> |
| | | <div id="form-header">库存滞留时间统计表</div> |
| | | <div class="layui-card" style="padding: 0 20px 1px 20px;"> |
| | | <fieldset class="layui-elem-field site-demo-button" style="margin: 20px;"> |
| | | <legend>搜索栏</legend> |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="商品编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="specs" placeholder="规格" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | |
| | | </div> |
| | | <table class="layui-hide" id="stayTime" lay-filter="stayTime"></table> |
| | | </div> |
| | | </div> |
| | | </body> |
| | | <script> |
| | | pieCharts(); |
| | | lineCharts(); |
| | | // 饼图 |
| | | function pieCharts(){ |
| | | $.ajax({ |
| | | url:baseUrl+'/console/loc/pie/charts', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | crossDomain: true, |
| | | method: 'POST', |
| | | success:function(res){ |
| | | var data = res.data; |
| | | var dataPie=eval(data.rows); |
| | | var chart = { |
| | | plotBackgroundColor: null, |
| | | plotBorderWidth: null, |
| | | plotShadow: false |
| | | }; |
| | | var title = { |
| | | text: '库位使用比例', |
| | | margin:1, |
| | | style: {fontSize: '18px',color: '#777',fontWeight: 'bold'}, |
| | | y: 5 |
| | | }; |
| | | var tooltip = { |
| | | pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>' |
| | | }; |
| | | var plotOptions = { |
| | | pie: { |
| | | allowPointSelect: true, |
| | | cursor: 'pointer', |
| | | dataLabels: { |
| | | enabled: true, |
| | | format: '<b>{point.name}</b>: {point.percentage:.1f} %', |
| | | style: { |
| | | color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | var series= [{ |
| | | type: 'pie', |
| | | name: '库位占比', |
| | | data: dataPie |
| | | }]; |
| | | var loading = { |
| | | hideDuration: 3, |
| | | showDuration: 3 |
| | | }; |
| | | var json = {}; |
| | | json.chart = chart; |
| | | json.title = title; |
| | | json.tooltip = tooltip; |
| | | json.series = series; |
| | | json.plotOptions = plotOptions; |
| | | json.loading = loading; |
| | | json.credits = {enabled: false}; |
| | | $('#pie').highcharts(json); |
| | | |
| | | }, |
| | | error:function(){ |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 折线图 |
| | | function lineCharts() { |
| | | $.ajax({ |
| | | url: baseUrl+'/console/locIo/line/charts', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | var data = res.data; |
| | | var dataPie = eval(data.rows); |
| | | var title = { |
| | | text: '日入出库数量', |
| | | margin: 1, |
| | | style: {fontSize: '18px',color: '#777',fontWeight: 'bold'}, |
| | | y: 5 |
| | | }; |
| | | var xAxis = { |
| | | categories: [getDate(-11), getDate(-10), getDate(-9), getDate(-8), getDate(-7), getDate(-6), |
| | | getDate(-5), getDate(-4), getDate(-3), getDate(-2), getDate(-1), getDate(-0)] |
| | | }; |
| | | var yAxis = { |
| | | title: { |
| | | text: '入/出库数量' |
| | | }, |
| | | plotLines: [{ |
| | | value: 0, |
| | | width: 1, |
| | | color: '#808080' |
| | | }] |
| | | }; |
| | | var tooltip = {}; |
| | | var legend = { |
| | | layout: 'vertical', |
| | | align: 'right', |
| | | verticalAlign: 'middle', |
| | | borderWidth: 0 |
| | | }; |
| | | var loading = { |
| | | hideDuration: 3, |
| | | showDuration: 3 |
| | | } |
| | | var series = dataPie; |
| | | var json = {}; |
| | | json.title = title; |
| | | json.xAxis = xAxis; |
| | | json.yAxis = yAxis; |
| | | json.tooltip = tooltip; |
| | | json.legend = legend; |
| | | json.loading = loading; |
| | | json.series = series; |
| | | json.credits = {enabled: false}; |
| | | $('#line').highcharts(json); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 表格 |
| | | var pageCurr; |
| | | function getCol() { |
| | | var cols = [ |
| | | //{field: 'appeTime$', title: '入库时间', align: 'center', width: 165} |
| | | {field: 'stay_time', align: 'center',title: '滞留天数',width: 90} |
| | | ,{field: 'store_max_date', align: 'center',title: '库龄上限',width: 90} |
| | | ,{field: 'store_min', title: '库存下限', align: 'center'} |
| | | ,{field: 'sum_qty', title: '库存总数', align: 'center'} |
| | | ,{field: 'store_max', title: '库存上限', align: 'center'} |
| | | ,{field: 'loc_no', align: 'center',title: '库位号',width: 90} |
| | | |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | //cols.push({field: 'sum_qty', title: '库存总数', align: 'center'}) |
| | | return cols; |
| | | } |
| | | layui.use(['table','laydate', 'form'], function() { |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var form = layui.form; |
| | | |
| | | // 数据渲染 |
| | | tableIns = table.render({ |
| | | elem: '#stayTime', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/report/viewStayTimeList.action', |
| | | page: true, |
| | | limit: 10, |
| | | toolbar: '#toolbar', |
| | | even: true, |
| | | cellMinWidth: 50, |
| | | crossDomain: true, |
| | | cols: [getCol()], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function(res, curr, count) { |
| | | var that = this.elem.next(); |
| | | res.data.forEach(function (item, index) { |
| | | var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']"); |
| | | if (item.store_max_date != null) { |
| | | if (item.stay_time > item.store_max_date) { |
| | | tr.css("background-color", "#ff6f00"); |
| | | tr.css("color", "white"); |
| | | tr.children()[1].style.backgroundColor="#ff0000" |
| | | } |
| | | } |
| | | //低于下限 |
| | | if (item.sum_qty < item.store_min) { |
| | | tr.css("background-color", "#ff6f00"); |
| | | tr.css("color", "white"); |
| | | tr.children()[2].style.backgroundColor="rgb(255,0,0)" |
| | | tr.children()[2].style.color="white" |
| | | tr.children()[3].style.backgroundColor="#ff0000" |
| | | tr.children()[3].style.color="white" |
| | | } |
| | | //高于上限 |
| | | if(item.store_max != null) { |
| | | if (item.sum_qty > item.store_max) { |
| | | tr.css("background-color", "#ff6f00"); |
| | | tr.css("color", "white"); |
| | | tr.children()[3].style.backgroundColor="#009c04" |
| | | tr.children()[3].style.color="white" |
| | | tr.children()[4].style.backgroundColor="#3da83f" |
| | | tr.children()[4].style.color="white" |
| | | } |
| | | } |
| | | }); |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | } |
| | | }); |
| | | |
| | | // 监听排序事件 |
| | | table.on('sort(stayTime)', function (obj) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | searchData['orderByField'] = obj.field; |
| | | searchData['orderByType'] = obj.type; |
| | | tableIns.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: 1 |
| | | }, |
| | | done: function (res, curr, count) { |
| | | var that = this.elem.next(); |
| | | res.data.forEach(function (item, index) { |
| | | if (item.store_max_date != null) { |
| | | if (item.stay_time > item.store_max_date) { |
| | | var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']"); |
| | | tr.css("background-color", "#FF5722"); |
| | | tr.css("color", "white"); |
| | | } |
| | | } |
| | | }); |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 搜索栏搜索事件 |
| | | form.on('submit(search)', function (data) { |
| | | tableReload(); |
| | | }); |
| | | // 搜索栏搜索事件 |
| | | form.on('submit(reset)', function (data) { |
| | | $(':input', $('#search-box')) |
| | | .val('') |
| | | .removeAttr('checked') |
| | | .removeAttr('selected'); |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | tableIns.reload({ |
| | | where: searchData |
| | | }); |
| | | |
| | | }); |
| | | |
| | | function tableReload() { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | tableIns.reload({ |
| | | where: searchData |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | |
| | | function getDate(value){ |
| | | var date = new Date();// 获取当前时间 |
| | | date.setDate(date.getDate() + value);// 设置天数 -1 天 |
| | | return date.Format("MM-dd"); |
| | | } |
| | | /** |
| | | * 日期格式化 |
| | | */ |
| | | Date.prototype.Format = function (fmt) { |
| | | var o = { |
| | | "M+": this.getMonth() + 1, //月份 |
| | | "d+": this.getDate(), //日 |
| | | "h+": this.getHours(), //小时 |
| | | "m+": this.getMinutes(), //分 |
| | | "s+": this.getSeconds(), //秒 |
| | | "q+": Math.floor((this.getMonth() + 3) / 3), //季度 |
| | | "S": this.getMilliseconds() //毫秒 |
| | | }; |
| | | if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); |
| | | for (var k in o) |
| | | if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); |
| | | return fmt; |
| | | } |
| | | </script> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>库位地图</title> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js"></script> |
| | | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../../static/js/vue.min.js"></script> |
| | | <style> |
| | | .pointContainer { |
| | | display: flex; |
| | | justify-content: center; |
| | | margin-top: 1px; |
| | | } |
| | | |
| | | .pointBox { |
| | | background: #bababa; |
| | | width: 40px; |
| | | height: 40px; |
| | | margin-right: 1px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 14px; |
| | | user-select: none; |
| | | color: #fff; |
| | | } |
| | | |
| | | .pointBox:hover{ |
| | | background: #00ff7f; |
| | | } |
| | | |
| | | .pointBoxEmpty { |
| | | background: #c2c934; |
| | | } |
| | | |
| | | .pointBoxOut { |
| | | background: #f1aa19; |
| | | } |
| | | |
| | | .pointBoxOutYy { |
| | | background: #618593; |
| | | } |
| | | |
| | | .pointBoxInYy { |
| | | background: #fa736f; |
| | | } |
| | | |
| | | .pointBoxGreen { |
| | | background: #00ff7f; |
| | | } |
| | | |
| | | .pointBoxBlue { |
| | | background: #55aaff; |
| | | } |
| | | |
| | | .pointBoxRed { |
| | | background: #ff0000; |
| | | } |
| | | |
| | | .pointBoxStart { |
| | | background: #ffaa00; |
| | | } |
| | | |
| | | .pointBoxEnd { |
| | | background: #ff55ff; |
| | | } |
| | | |
| | | .pointBoxStation { |
| | | background: #ffff00; |
| | | } |
| | | |
| | | .chargeStation { |
| | | background: #ffaa7f; |
| | | } |
| | | |
| | | .pointBoxDefault { |
| | | background: #86779d; |
| | | } |
| | | |
| | | .pointBoxSelected { |
| | | background: #00ff7f !important; |
| | | } |
| | | |
| | | .pointBoxSearch { |
| | | background: #9900ff; |
| | | } |
| | | |
| | | .crnLine{ |
| | | width: auto; |
| | | height: 2px; |
| | | margin: 10px 0; |
| | | background: #000; |
| | | position: relative; |
| | | } |
| | | |
| | | .popBox { |
| | | position: absolute; |
| | | } |
| | | |
| | | /*卡片样式start*/ |
| | | .apple-card { |
| | | width: 190px; |
| | | height: 254px; |
| | | margin: 0 auto; |
| | | background-color: #011522; |
| | | border-radius: 8px; |
| | | z-index: 1; |
| | | animation:fadeInOut 0.5s 1; |
| | | } |
| | | |
| | | .apple-card .tools { |
| | | display: flex; |
| | | align-items: center; |
| | | padding: 9px; |
| | | } |
| | | |
| | | .apple-card .circle { |
| | | padding: 0 4px; |
| | | } |
| | | |
| | | .apple-card .box { |
| | | display: inline-block; |
| | | align-items: center; |
| | | width: 10px; |
| | | height: 10px; |
| | | padding: 1px; |
| | | border-radius: 50%; |
| | | } |
| | | |
| | | .apple-card .red { |
| | | background-color: #ff605c; |
| | | position: relative; |
| | | } |
| | | |
| | | .apple-card .red:hover{ |
| | | background-color: #ff0300; |
| | | } |
| | | |
| | | .apple-card .red:hover::before { |
| | | content: "x"; |
| | | font-size: 11px; |
| | | color: #fff; |
| | | width: 10px; |
| | | height: 10px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | position: absolute; |
| | | animation:fadeInOut 0.5s 1; |
| | | } |
| | | |
| | | .apple-card .yellow { |
| | | background-color: #ffbd44; |
| | | } |
| | | |
| | | .apple-card .green { |
| | | background-color: #00ca4e; |
| | | } |
| | | |
| | | .apple-card .card-content{ |
| | | color: #fff; |
| | | padding: 10px; |
| | | } |
| | | /*卡片样式end*/ |
| | | |
| | | /*滑动卡片start*/ |
| | | .hoverCard { |
| | | width: 160px; |
| | | height: 224px; |
| | | border-radius: 20px; |
| | | background: #f5f5f5; |
| | | position: relative; |
| | | padding: 1.8rem; |
| | | border: 2px solid #c3c6ce; |
| | | transition: 0.5s ease-out; |
| | | overflow: visible; |
| | | margin-top: 30px; |
| | | } |
| | | |
| | | .hoverCard .card-details { |
| | | color: black; |
| | | height: 100%; |
| | | gap: .5em; |
| | | display: grid; |
| | | place-content: center; |
| | | } |
| | | |
| | | .hoverCard .card-button { |
| | | transform: translate(-50%, 125%); |
| | | width: 60%; |
| | | border-radius: 1rem; |
| | | border: none; |
| | | background-color: #008bf8; |
| | | color: #fff; |
| | | font-size: 1rem; |
| | | padding: .5rem 1rem; |
| | | position: absolute; |
| | | left: 50%; |
| | | bottom: 0; |
| | | opacity: 0; |
| | | transition: 0.3s ease-out; |
| | | } |
| | | |
| | | .hoverCard .text-body { |
| | | color: rgb(134, 134, 134); |
| | | } |
| | | |
| | | /*Text*/ |
| | | .hoverCard .text-title { |
| | | font-size: 1.5em; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | /*Hover*/ |
| | | .hoverCard:hover { |
| | | border-color: #008bf8; |
| | | box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.25); |
| | | } |
| | | |
| | | .hoverCard:hover .card-button { |
| | | transform: translate(-50%, 50%); |
| | | opacity: 1; |
| | | } |
| | | /*滑动卡片end*/ |
| | | |
| | | /*楼层控制start*/ |
| | | .floorSelect { |
| | | --text: #414856; |
| | | --radio: #7C96B2; |
| | | --radio-checked: #4F29F0; |
| | | --radio-size: 20px; |
| | | --width: 150px; |
| | | --height: 200px; |
| | | --border-radius: 10px; |
| | | width: var(--width); |
| | | height: var(--height); |
| | | border-radius: var(--border-radius); |
| | | color: var(--text); |
| | | position: relative; |
| | | box-shadow: 0 10px 30px rgba(65, 72, 86, 0.05); |
| | | display: grid; |
| | | grid-template-columns: auto var(--radio-size); |
| | | align-items: center; |
| | | } |
| | | |
| | | .floorSelect label { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .floorSelect input[type="radio"] { |
| | | -webkit-appearance: none; |
| | | -moz-appearance: none; |
| | | position: relative; |
| | | height: var(--radio-size); |
| | | width: var(--radio-size); |
| | | outline: none; |
| | | margin: 0; |
| | | cursor: pointer; |
| | | border: 2px solid var(--radio); |
| | | background: transparent; |
| | | border-radius: 50%; |
| | | display: grid; |
| | | justify-self: end; |
| | | justify-items: center; |
| | | align-items: center; |
| | | overflow: hidden; |
| | | transition: border .5s ease; |
| | | } |
| | | |
| | | .floorSelect input[type="radio"]::before, .floorSelect input[type="radio"]::after { |
| | | content: ""; |
| | | display: flex; |
| | | justify-self: center; |
| | | border-radius: 50%; |
| | | } |
| | | |
| | | .floorSelect input[type="radio"]::before { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | z-index: 1; |
| | | opacity: var(--opacity, 1); |
| | | } |
| | | |
| | | .floorSelect input[type="radio"]::after { |
| | | position: relative; |
| | | width: calc(100% /2); |
| | | height: calc(100% /2); |
| | | background: var(--radio-checked); |
| | | top: var(--y, 100%); |
| | | transition: top 0.5s cubic-bezier(0.48, 1.97, 0.5, 0.63); |
| | | } |
| | | |
| | | .floorSelect input[type="radio"]:checked { |
| | | --radio: var(--radio-checked); |
| | | } |
| | | |
| | | .floorSelect input[type="radio"]:checked::after { |
| | | --y: 0%; |
| | | animation: stretch-animate .3s ease-out .17s; |
| | | } |
| | | |
| | | .floorSelect input[type="radio"]:checked::before { |
| | | --opacity: 0; |
| | | } |
| | | |
| | | .floorSelect input[type="radio"]:checked ~ input[type="radio"]::after { |
| | | --y: -100%; |
| | | } |
| | | |
| | | .floorSelect input[type="radio"]:not(:checked)::before { |
| | | --opacity: 1; |
| | | transition: opacity 0s linear .5s; |
| | | } |
| | | |
| | | @keyframes stretch-animate { |
| | | 0% { |
| | | transform: scale(1, 1); |
| | | } |
| | | |
| | | 28% { |
| | | transform: scale(1.15, 0.85); |
| | | } |
| | | |
| | | 50% { |
| | | transform: scale(0.9, 1.1); |
| | | } |
| | | |
| | | 100% { |
| | | transform: scale(1, 1); |
| | | } |
| | | } |
| | | /*楼层控制end*/ |
| | | |
| | | /*搜索start*/ |
| | | .search-input { |
| | | line-height: 28px; |
| | | border: 2px solid transparent; |
| | | border-bottom-color: #777; |
| | | padding: .2rem 0; |
| | | outline: none; |
| | | background-color: transparent; |
| | | color: #0d0c22; |
| | | transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1); |
| | | } |
| | | |
| | | .search-input:focus, .search-input:hover { |
| | | outline: none; |
| | | padding: .2rem 1rem; |
| | | border-radius: 1rem; |
| | | border-color: #7a9cc6; |
| | | } |
| | | |
| | | .search-input::placeholder { |
| | | color: #777; |
| | | } |
| | | |
| | | .search-input:focus::placeholder { |
| | | opacity: 0; |
| | | transition: opacity .3s; |
| | | } |
| | | /*搜索end*/ |
| | | |
| | | @keyframes fadeInOut { |
| | | 0%{ |
| | | opacity: 0; |
| | | } |
| | | 100%{ |
| | | opacity: 1; |
| | | } |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <div id="app" style="display: flex;justify-content: space-around;margin-top: 50px;flex-wrap: wrap;" @click="bgClick()"> |
| | | <div style="flex: 12;scale: 0.85;"> |
| | | <div style="margin-top: -110px;"> |
| | | <div class="pointContainer" v-for="(x,index) in map" :key="index"> |
| | | <div v-if="index != 0 && (index != map.length-1)" v-for="(y,idx) in x" :key="idx"> |
| | | <div v-if="idx != 0 && (idx != map[index].length-1)"> |
| | | <div v-if="map[index][idx].value < 0" style="visibility: hidden;" class="pointBox"></div> |
| | | |
| | | <!--库位--> |
| | | <div v-else-if="map[index][idx].value == 0" @contextmenu.prevent="rightEvent(index,idx,$event)"> |
| | | <div v-if="map[index][idx].locSts == 'O'" class="pointBox pointBoxBlue">{{ map[index][idx].locSts }}</div> |
| | | <div v-else-if="map[index][idx].locSts == 'F'" @click.left.stop="selectLoc(index,idx)" :class="{'pointBoxSelected':map[index][idx].locOutSelected,'pointBoxSearch':map[index][idx].searchStatus}" class="pointBox pointBoxRed">{{ map[index][idx].locSts }}</div> |
| | | <div v-else-if="map[index][idx].locSts == 'D'" class="pointBox pointBoxEmpty">{{ map[index][idx].locSts }}</div> |
| | | <div v-else-if="map[index][idx].locSts == 'P'" class="pointBox pointBoxOut">{{ map[index][idx].locSts }}</div> |
| | | <div v-else-if="map[index][idx].locSts == 'R'" :class="{'pointBoxSearch':map[index][idx].searchStatus}" class="pointBox pointBoxOutYy">{{ map[index][idx].locSts }}</div> |
| | | <div v-else-if="map[index][idx].locSts == 'S'" class="pointBox pointBoxInYy">{{ map[index][idx].locSts }}</div> |
| | | <div v-else class="pointBox pointBoxDefault">{{ map[index][idx].locSts }}</div> |
| | | </div> |
| | | |
| | | <!--母轨道--> |
| | | <div v-else-if="map[index][idx].value == 3"> |
| | | <div class="pointBox" style="visibility: hidden;"></div> |
| | | </div> |
| | | |
| | | <!--站点--> |
| | | <div v-else-if="map[index][idx].value == 4" class="pointBox pointBoxStation" style="visibility: hidden;"></div> |
| | | <div v-else-if="map[index][idx].value == 5" class="pointBox chargeStation" |
| | | @contextmenu.prevent="rightEvent(index,idx,$event)"></div> |
| | | <div v-else-if="map[index][idx].value == 9" class="pointBox pointBoxRed" |
| | | @contextmenu.prevent="rightEvent(index,idx,$event)"></div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div style="padding: 20px;flex: 5;margin-top: -70px;"> |
| | | <div style="display: flex;justify-content: space-between;flex-wrap: wrap;"> |
| | | <div class="hoverCard" style="width: 100%;"> |
| | | <div class="card-details" style="place-content: normal;height: auto;"> |
| | | <div class="text-body" style="display: flex;flex-wrap: wrap;"> |
| | | <div style="width: 100%;margin-bottom: 20px;"> |
| | | <div style="display: flex;justify-content: space-between;"> |
| | | <div><input v-model="searchMatnr" placeholder="物料号" type="text" class="search-input"></div> |
| | | <div><input v-model="searchOrderNo" placeholder="订单号" type="text" class="search-input"></div> |
| | | </div> |
| | | <div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
| | | <div><input style="width: 110px;" v-model="searchMaktx" placeholder="物料名称" type="text" class="search-input"></div> |
| | | <div><input style="width: 110px;" v-model="searchSpecs" placeholder="规格" type="text" class="search-input"></div> |
| | | <div><input style="width: 110px;" v-model="searchLocNo" placeholder="库位号" type="text" class="search-input"></div> |
| | | </div> |
| | | <button style="width: 100%;margin-top: 10px;" @click="searchLoc" class="layui-btn layui-btn-sm">搜索</button> |
| | | </div> |
| | | <!-- <div>--> |
| | | <!-- <button @click="locToLoc2" class="layui-btn layui-btn-sm">侧边移库</button>--> |
| | | <!-- </div>--> |
| | | <div v-if="!locOutStatus"> |
| | | <button @click="locOutStatus = true" class="layui-btn layui-btn-sm">出库选择</button> |
| | | </div> |
| | | <div v-else style="margin-left: 10px;border: 1px red solid;display: flex;"> |
| | | <div> |
| | | <button @click="cancelSelectLoc" class="layui-btn layui-btn-sm">取消选择</button> |
| | | </div> |
| | | <div style="display: flex;justify-content: center;align-items: center;"> |
| | | <select v-model="outSite"> |
| | | <option v-for="(item,index) in outSites" :key="index" :value="item.siteId">{{ item.desc }}</option> |
| | | </select> |
| | | </div> |
| | | <div> |
| | | <button @click="locOut" class="layui-btn layui-btn-sm">出库</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <button class="card-button">功能区</button> |
| | | </div> |
| | | |
| | | <div class="hoverCard"> |
| | | <div class="card-details"> |
| | | <div class="text-body" style="display: flex;justify-content: space-around;flex-wrap: wrap;"> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">空库位</div><div class="pointBox pointBoxBlue">O</div> |
| | | </div> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">在库</div><div class="pointBox pointBoxRed">F</div> |
| | | </div> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">空板</div><div class="pointBox pointBoxEmpty">D</div> |
| | | </div> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">出库中</div><div class="pointBox pointBoxOut">P</div> |
| | | </div> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">出库预约</div><div class="pointBox pointBoxOutYy">R</div> |
| | | </div> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">入库预约</div><div class="pointBox pointBoxInYy">S</div> |
| | | </div> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">搜索结果</div><div class="pointBox pointBoxSearch"></div> |
| | | </div> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">选择结果</div><div class="pointBox pointBoxSelected"></div> |
| | | </div> |
| | | <div style="flex: 1;margin-top: 10px;"> |
| | | <div style="font-size: 10px;">其他</div><div class="pointBox pointBoxDefault">其他</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <button class="card-button">库位状态</button> |
| | | </div> |
| | | |
| | | <div class="hoverCard"> |
| | | <div class="card-details"> |
| | | <p class="text-title" style="text-align: center;">楼层 {{currentLev}}F</p> |
| | | <div class="text-body" style="display: flex;"> |
| | | <div class="floorSelect"> |
| | | <label for="01">1F</label> |
| | | <input id="01" type="radio" name="r" v-model="currentLev" value="1" checked=""> |
| | | <label for="02">2F</label> |
| | | <input id="02" type="radio" v-model="currentLev" name="r" value="2"> |
| | | <label for="03">3F</label> |
| | | <input id="03" type="radio" v-model="currentLev" name="r" value="3"> |
| | | <label for="04">4F</label> |
| | | <input id="04" type="radio" v-model="currentLev" name="r" value="4"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <button class="card-button">楼层 {{currentLev}}F</button> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-if="rightBox" @click.stop="" :style="{left: rightBoxLeft,top: rightBoxTop}" class="popBox"> |
| | | <div class="apple-card"> |
| | | <div class="tools"> |
| | | <div class="circle" @click.stop="rightBox = false"> |
| | | <span class="red box"></span> |
| | | </div> |
| | | <div class="circle"> |
| | | <span class="yellow box"></span> |
| | | </div> |
| | | <div class="circle"> |
| | | <span class="green box"></span> |
| | | </div> |
| | | </div> |
| | | <div class="card-content"> |
| | | <div> |
| | | 库位号: {{ map[mapI][mapJ].locNo }} |
| | | </div> |
| | | <div style="margin-top: 10px;"> |
| | | 库位状态: {{ map[mapI][mapJ].locSts$ }} |
| | | </div> |
| | | <div style="margin-top: 10px;display: flex;justify-content: space-between;flex-wrap: wrap;"> |
| | | <div style="margin-top: 5px;"> |
| | | <button class="layui-btn layui-btn-sm" @click="openLocDetail(map[mapI][mapJ].locNo)">库位详情</button> |
| | | </div> |
| | | <div style="margin-top: 5px;"> |
| | | <button v-if="map[mapI][mapJ].locSts == 'F'" class="layui-btn layui-btn-sm" @click="locMove(map[mapI][mapJ].locNo)">库位移转</button> |
| | | <button v-else-if="map[mapI][mapJ].locSts == 'D'" class="layui-btn layui-btn-sm" @click="locMove(map[mapI][mapJ].locNo)">库位移转</button> |
| | | <button v-else class="layui-btn layui-btn-sm layui-btn-disabled" disabled>库位移转</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-if="crnBox" @click.stop="" :style="{left: crnBoxLeft,top: crnBoxTop}" class="popBox"> |
| | | <div class="apple-card"> |
| | | <div class="tools"> |
| | | <div class="circle" @click.stop="crnBox = false"> |
| | | <span class="red box"></span> |
| | | </div> |
| | | <div class="circle"> |
| | | <span class="yellow box"></span> |
| | | </div> |
| | | <div class="circle"> |
| | | <span class="green box"></span> |
| | | </div> |
| | | </div> |
| | | <div class="card-content"> |
| | | <div>堆垛机号:{{crnList[crnBox - 1].crnNo}}</div> |
| | | <div>工作号:{{crnList[crnBox - 1].wrkNo}}</div> |
| | | <div>源库位:{{crnList[crnBox - 1].frmLocno}}</div> |
| | | <div>目标库位:{{crnList[crnBox - 1].toLocno}}</div> |
| | | <div>可入:{{crnList[crnBox - 1].inEnable}}</div> |
| | | <div>可出:{{crnList[crnBox - 1].outEnable}}</div> |
| | | <div>状态:{{crnList[crnBox - 1].crnSts$}}</div> |
| | | <div>异常:{{crnList[crnBox - 1].crnErr$}}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <script> |
| | | |
| | | var $layui = layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer','form'], function () {}) |
| | | |
| | | var app = new Vue({ |
| | | el: '#app', |
| | | data: { |
| | | map: [], |
| | | mapData: "", |
| | | importData: null, |
| | | startPosition: "0500501", |
| | | endPosition: "0802501", |
| | | mapI: 0, |
| | | mapJ: 0, |
| | | rightBox: false, |
| | | rightBoxTop: "0px", |
| | | rightBoxLeft: "0px", |
| | | pointContainerWidth: 0, |
| | | currentLev: 1, |
| | | crnList: null, |
| | | crnBox: false, |
| | | crnBoxTop: "0px", |
| | | crnBoxLeft: "0px", |
| | | locOutStatus: false, |
| | | locOutLocNo: [], |
| | | searchMatnr: "", |
| | | searchOrderNo: "", |
| | | searchSpecs: "", |
| | | searchMaktx: "", |
| | | searchLocNo: "", |
| | | outSite: null, |
| | | outSites: null, |
| | | }, |
| | | created(){ |
| | | this.init() |
| | | |
| | | this.getOutSite() |
| | | |
| | | // setInterval((that) => { |
| | | // //定时获取堆垛机数据 |
| | | // that.getCrnData() |
| | | // },1000,this) |
| | | }, |
| | | watch: { |
| | | map: { |
| | | deep: true, |
| | | handler(val) { |
| | | this.printData() |
| | | } |
| | | }, |
| | | currentLev: { |
| | | deep: true, |
| | | handler(val) { |
| | | this.init() |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | init(){ |
| | | let that = this |
| | | $.ajax({ |
| | | url: baseUrl + "/map/getData/" + this.currentLev + "/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: "get", |
| | | success: (data) => { |
| | | that.importDataClick(data) |
| | | } |
| | | }) |
| | | |
| | | this.locOutStatus = false |
| | | this.locOutLocNo = [] |
| | | }, |
| | | printData() { |
| | | this.mapData = JSON.stringify(this.map) |
| | | }, |
| | | importDataClick(mapData) { |
| | | let tmp = JSON.parse(mapData); |
| | | let data = [] |
| | | tmp.forEach((item, index) => { |
| | | let data2 = [] |
| | | item.forEach((val, idx) => { |
| | | val.searchStatus = false//搜索标记 |
| | | data2.push(val) |
| | | }) |
| | | this.pointContainerWidth = item.length * (40+1) |
| | | data.push(data2) |
| | | }) |
| | | this.map = data |
| | | this.printData() |
| | | }, |
| | | rightEvent(x, y, e) { |
| | | this.rightBox = true |
| | | this.mapI = x |
| | | this.mapJ = y |
| | | this.rightBoxTop = e.y + "px" |
| | | this.rightBoxLeft = e.x + "px" |
| | | }, |
| | | bgClick() { |
| | | this.rightBox = false |
| | | this.crnBox = false |
| | | }, |
| | | openLocDetail(locNo) { |
| | | $layui.layer.open({ |
| | | type: 2, |
| | | title: '库位物料', |
| | | maxmin: true, |
| | | area: [top.detailWidth, top.detailHeight], |
| | | shadeClose: true, |
| | | content: '../report/locDetl.html?locNo=' + locNo, |
| | | success: function(layero, index){ |
| | | } |
| | | }); |
| | | }, |
| | | locMove(locNo) { |
| | | //库位移转 |
| | | let that = this |
| | | $.ajax({ |
| | | url: baseUrl + "/loc/move/start", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | data: { |
| | | sourceLocNo: locNo |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | $layui.layer.msg(res.msg); |
| | | that.init() |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | $layui.layer.msg(res.msg); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getCrnData() { |
| | | //获取堆垛机数据 |
| | | let that = this |
| | | $.ajax({ |
| | | url: baseUrl + "/basCrnp/list/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | data: {}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | let tmp = []; |
| | | res.data.records.forEach((item,index) => { |
| | | if (item.endLoc != null && item.endLoc != "") { |
| | | let locNo = item.endLoc |
| | | item.bay = parseInt(locNo.substr(2,3)) |
| | | item.lev = parseInt(locNo.substr(5,2)) |
| | | }else { |
| | | item.bay = 0 |
| | | item.lev = 1 |
| | | } |
| | | //计算移动路径 |
| | | item.left = item.bay * 41 - 80; |
| | | item.sameLev = item.lev == that.currentLev ? true : false//是否为同一层 |
| | | tmp[item.crnNo - 1] = item; |
| | | }) |
| | | |
| | | console.log(tmp) |
| | | that.crnList = tmp; |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | $layui.layer.msg(res.msg); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | clickCrnBox(e,crnNo) { |
| | | this.crnBox = crnNo |
| | | this.crnBoxTop = e.y + "px" |
| | | this.crnBoxLeft = e.x + "px" |
| | | }, |
| | | locToLoc2(){ |
| | | //侧边入库 |
| | | let that = this |
| | | $.ajax({ |
| | | url: baseUrl + "/loc/locToLoc2/start", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | data: {}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | $layui.layer.msg(res.msg); |
| | | that.init() |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | $layui.layer.msg(res.msg); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | locOut() { |
| | | //出库 |
| | | let that = this |
| | | let locOutLocNo = this.locOutLocNo |
| | | if (locOutLocNo.length == 0) { |
| | | $layui.layer.msg("请先选择库位"); |
| | | return; |
| | | } |
| | | |
| | | let map = this.map |
| | | //巷道list |
| | | let bayList = [] |
| | | // 将用户选定的库位通过巷道进行分组 |
| | | locOutLocNo.forEach((item,index) => { |
| | | let obj = { |
| | | x: item.x, |
| | | y: item.y, |
| | | locNo: map[item.x][item.y].locNo |
| | | } |
| | | |
| | | if (bayList[item.y] == undefined) { |
| | | bayList[item.y] = [obj] |
| | | }else { |
| | | bayList[item.y].push(obj) |
| | | } |
| | | }) |
| | | |
| | | //进行排序 |
| | | bayList.forEach((item,index) => { |
| | | for (var i = 0; i < item.length; i++) { |
| | | for (var j = i+1; j < item.length; j++) { |
| | | if (item[i].x > item[j].x) { |
| | | //交换 |
| | | let tmp = item[j]; |
| | | item[j] = item[i] |
| | | item[i] = tmp |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | |
| | | // let result = true;//最终结果 |
| | | // //检测库位是否缺少选择导致不完整 |
| | | // bayList.forEach((item,index) => { |
| | | // //搜索当前巷道有效在库list |
| | | // //上半部分,巷道 |
| | | // let topList = [] |
| | | // for (var i = 8; i >= 3; i--) { |
| | | // let obj = { |
| | | // x: i, |
| | | // y: index, |
| | | // status: false, |
| | | // locNo: map[i][index].locNo |
| | | // } |
| | | // |
| | | // if (map[i][index].locSts == 'F') { |
| | | // //在库状态,存入巷道在库list |
| | | // topList.push(obj) |
| | | // } |
| | | // } |
| | | // |
| | | // //下半部分,巷道 |
| | | // let bottomList = [] |
| | | // for (var i = 9; i < 14; i++) { |
| | | // let obj = { |
| | | // x: i, |
| | | // y: index, |
| | | // status: false, |
| | | // locNo: map[i][index].locNo |
| | | // } |
| | | // |
| | | // if (map[i][index].locSts == 'F') { |
| | | // //在库状态,存入巷道在库list |
| | | // bottomList.push(obj) |
| | | // } |
| | | // } |
| | | // |
| | | // // if (topList.length == 0 && bottomList.length == 0) { |
| | | // // result = false; |
| | | // // } |
| | | // |
| | | // for (var i = 0; i < item.length; i++) { |
| | | // if (item[i].x > 8) { |
| | | // //下半部分数据 |
| | | // let index = this.searchDataIndex(item[i],bottomList) |
| | | // // console.log(item[i],bottomList,index) |
| | | // if (index == -1) { |
| | | // continue |
| | | // } |
| | | // bottomList[index].status = true |
| | | // }else { |
| | | // //上半部分数据 |
| | | // let index = this.searchDataIndex(item[i],topList) |
| | | // // console.log(item[i],topList,index) |
| | | // if (index == -1) { |
| | | // continue |
| | | // } |
| | | // topList[index].status = true |
| | | // } |
| | | // |
| | | // } |
| | | // |
| | | // let tmp1 = [] |
| | | // let tmp2 = [] |
| | | // for (var i = item.length - 1; i >= 0; i--) { |
| | | // if (item[i].x < 9) { |
| | | // tmp1.push(item[i]); |
| | | // } |
| | | // } |
| | | // for (var i = 0; i < item.length; i++) { |
| | | // if (item[i].x > 8) { |
| | | // tmp2.push(item[i]); |
| | | // } |
| | | // } |
| | | // |
| | | // if (tmp1.length > 0) { |
| | | // //判断上半部分出库是否选择完整 |
| | | // let topIndex = this.searchDataIndex(tmp1[0],topList); |
| | | // if (topIndex != -1) { |
| | | // for (var i = topIndex; i < topList.length; i++) { |
| | | // if (topList[i].status != true) { |
| | | // result = false; |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // |
| | | // if (tmp2.length > 0) { |
| | | // //判断下半部分出库是否选择完整 |
| | | // let bottomIndex = this.searchDataIndex(tmp2[0],bottomList) |
| | | // if (bottomIndex != -1) { |
| | | // for (var i = bottomIndex; i < bottomList.length; i++) { |
| | | // if (bottomList[i].status != true) { |
| | | // result = false; |
| | | // } |
| | | // } |
| | | // console.log(tmp2[0],bottomList,bottomIndex) |
| | | // } |
| | | // } |
| | | // }) |
| | | // |
| | | // if (!result) { |
| | | // $layui.layer.msg("出库路径选择有误"); |
| | | // return; |
| | | // } |
| | | |
| | | //准备出库 |
| | | if (this.outSite == null) { |
| | | $layui.layer.msg("请选择出库站点"); |
| | | return; |
| | | } |
| | | |
| | | let locNos = [] |
| | | bayList.forEach((item,index) => { |
| | | item.forEach((val,idx) => { |
| | | locNos.push(val.locNo) |
| | | }) |
| | | }) |
| | | |
| | | let locDetls = [] |
| | | $.ajax({ |
| | | url: baseUrl+"/locDetl/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {locNos:locNos}, |
| | | method: 'POST', |
| | | async: false, |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | locDetls = res.data |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }) |
| | | |
| | | locDetls.forEach((item,index) => { |
| | | item.count = item.anfme |
| | | }) |
| | | |
| | | $.ajax({ |
| | | url: baseUrl + "/plate/out/start", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | outSite: this.outSite, |
| | | locDetls: locDetls |
| | | }), |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | $layui.layer.msg(res.msg); |
| | | that.init() |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | $layui.layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | searchDataIndex(data,dist) { |
| | | //搜索起始点 |
| | | let searchStartPoint = -1; |
| | | dist.forEach((val,idx) => { |
| | | if (val.x == data.x && val.y == data.y) { |
| | | //找到点位 |
| | | searchStartPoint = idx |
| | | } |
| | | }) |
| | | return searchStartPoint; |
| | | }, |
| | | selectLoc(x, y) { |
| | | //选择库位 |
| | | if (this.locOutStatus) { |
| | | let tmp = this.map |
| | | let selected = tmp[x][y].locOutSelected ? 0 : 1 |
| | | tmp[x][y].locOutSelected = selected |
| | | |
| | | if (selected) { |
| | | this.locOutLocNo.push({ |
| | | x: x, |
| | | y: y |
| | | }); |
| | | }else { |
| | | //剔除掉不选择元素 |
| | | let locOutLocNo = this.locOutLocNo |
| | | let tmp = [] |
| | | locOutLocNo.forEach((item,index) => { |
| | | if (item.x !== x || item.y !== y) { |
| | | tmp.push(item) |
| | | } |
| | | }) |
| | | this.locOutLocNo = tmp |
| | | } |
| | | |
| | | this.map = tmp |
| | | this.$forceUpdate() |
| | | } |
| | | }, |
| | | cancelSelectLoc() { |
| | | //取消选择库位 |
| | | let data = this.locOutLocNo |
| | | let tmp = this.map |
| | | data.forEach((item,index) => { |
| | | tmp[item.x][item.y].locOutSelected = 0; |
| | | }) |
| | | this.locOutLocNo = [] |
| | | this.map = tmp |
| | | this.locOutStatus = false |
| | | }, |
| | | searchLoc() { |
| | | //通过物料编号搜索库位号 |
| | | // if (this.searchValue == "") { |
| | | // $layui.layer.msg("请输入物料编号或订单号"); |
| | | // return; |
| | | // } |
| | | |
| | | let that = this; |
| | | $.ajax({ |
| | | url: baseUrl + "/map/searchData/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | data: { |
| | | lev: this.currentLev, |
| | | locNo: this.searchLocNo, |
| | | orderNo: this.searchOrderNo, |
| | | specs: this.searchSpecs, |
| | | matnr: this.searchMatnr, |
| | | maktx: this.searchMaktx |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | let tmp = that.map |
| | | let data = res.data |
| | | tmp.forEach((item,index) => {//清空之前的搜索结果 |
| | | item.forEach((val,idx) => { |
| | | if (tmp[index][idx].searchStatus != undefined) { |
| | | tmp[index][idx].searchStatus = false;//搜索标记 |
| | | } |
| | | |
| | | }) |
| | | }) |
| | | |
| | | tmp.forEach((item,index) => {//清空之前的搜索结果 |
| | | item.forEach((val,idx) => { |
| | | if (tmp[index][idx].searchStatus != undefined) { |
| | | tmp[index][idx].searchStatus = false;//搜索标记 |
| | | } |
| | | |
| | | }) |
| | | }) |
| | | data.forEach((item,index) => { |
| | | let locNo = item.locNo |
| | | let y = parseInt(locNo.substr(2,3)) |
| | | let x = parseInt(locNo.substr(0,2)) |
| | | if (x >= 2 && x <= 12) { |
| | | x += 1; |
| | | }else if (x == 13) { |
| | | x += 2; |
| | | } |
| | | |
| | | tmp[x][y].searchStatus = true//搜索标记 |
| | | }) |
| | | that.map = tmp |
| | | $layui.layer.msg("搜索成功"); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | $layui.layer.msg(res.msg); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getOutSite() { |
| | | let that = this |
| | | $.ajax({ |
| | | url: baseUrl + "/available/take/site", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | data: {}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | that.outSites = res.data |
| | | that.outSite = res.data[0].siteId |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | $layui.layer.msg(res.msg); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | }) |
| | | |
| | | </script> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>库位地图编辑</title> |
| | | <script type="text/javascript" src="../../static/js/vue.min.js"></script> |
| | | <style> |
| | | .pointContainer { |
| | | display: flex; |
| | | justify-content: center; |
| | | margin-top: 1px; |
| | | } |
| | | |
| | | .pointBox { |
| | | background: #bababa; |
| | | width: 30px; |
| | | height: 30px; |
| | | margin-right: 1px; |
| | | } |
| | | |
| | | .pointBoxGreen { |
| | | background: #00ff7f !important; |
| | | } |
| | | |
| | | .pointBoxBlue { |
| | | background: #55aaff !important; |
| | | } |
| | | |
| | | .pointBoxRed { |
| | | background: #ff0000 !important; |
| | | } |
| | | |
| | | .pointBoxStart { |
| | | background: #ffaa00 !important; |
| | | } |
| | | |
| | | .pointBoxEnd { |
| | | background: #ff55ff !important; |
| | | } |
| | | |
| | | .pointBoxStation { |
| | | background: #ffff00 !important; |
| | | } |
| | | |
| | | .chargeStation { |
| | | background: #ffaa7f !important; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <div id="app" style="display: flex;justify-content: flex-start;" @click="bgClick()"> |
| | | <div style="margin-right: 100px;"> |
| | | <div>Col:<input type="text" v-model="col" /></div> |
| | | <div>Row:<input type="text" v-model="row" /></div> |
| | | <div> |
| | | <button @click="generate">生成数据</button> |
| | | <button @click="printData">显示数据</button> |
| | | </div> |
| | | <div> |
| | | <div> |
| | | 禁止区域: |
| | | <div class="pointBox"></div> |
| | | </div> |
| | | <div> |
| | | 库位: |
| | | <div class="pointBox pointBoxBlue"></div> |
| | | </div> |
| | | <div> |
| | | 堆垛机: |
| | | <div class="pointBox pointBoxGreen"></div> |
| | | </div> |
| | | <div> |
| | | 轨迹: |
| | | <div class="pointBox pointBoxRed"></div> |
| | | </div> |
| | | <div> |
| | | 站点: |
| | | <div class="pointBox pointBoxStation"></div> |
| | | </div> |
| | | <div> |
| | | 充电桩: |
| | | <div class="pointBox chargeStation"></div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div>起点:<input type="text" v-model="startPosition"></div> |
| | | <div>终点:<input type="text" v-model="endPosition"></div> |
| | | <div><button @click="calcPath">计算路径</button></div> |
| | | </div> |
| | | <div> |
| | | <textarea v-model="importData"></textarea> |
| | | <button @click="importDataClick">导入数据</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <div> |
| | | <div class="pointContainer" v-for="(x,index) in map" :key="index"> |
| | | <div v-for="(y,ind) in x" :key="ind"> |
| | | <div v-if="map[index][ind].value < 0" class="pointBox" |
| | | @contextmenu.prevent="rightEvent(index,ind,$event)" @click.left="switchBox(index,ind)"></div> |
| | | <div v-else-if="map[index][ind].value == 0" class="pointBox pointBoxBlue" |
| | | @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div> |
| | | <div v-else-if="map[index][ind].value == 3" class="pointBox pointBoxGreen" |
| | | @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div> |
| | | <div v-else-if="map[index][ind].value == 4" class="pointBox pointBoxStation" |
| | | @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div> |
| | | <div v-else-if="map[index][ind].value == 5" class="pointBox chargeStation" |
| | | @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div> |
| | | <div v-else-if="map[index][ind].value == 9" class="pointBox pointBoxRed" |
| | | @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div> |
| | | <div v-else-if="map[index][ind].value == 10" class="pointBox pointBoxStart" |
| | | @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div> |
| | | <div v-else-if="map[index][ind].value == 11" class="pointBox pointBoxEnd" |
| | | @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div> |
| | | {{ mapData }} |
| | | </div> |
| | | |
| | | <div v-if="rightBox" @click.stop="" :style="{left: rightBoxLeft,top: rightBoxTop}" |
| | | style="position: absolute;height: 270px;width: 200px;background-color: antiquewhite;padding: 10px;"> |
| | | <div> |
| | | value: |
| | | <div style="display: flex;justify-content: space-between;"> |
| | | <div @click="map[mapI][mapJ].value = -1" class="pointBox"></div> |
| | | <div @click="map[mapI][mapJ].value = 0" class="pointBox pointBoxBlue"></div> |
| | | <div @click="map[mapI][mapJ].value = 3" class="pointBox pointBoxGreen"></div> |
| | | <div @click="map[mapI][mapJ].value = 4" class="pointBox pointBoxStation"></div> |
| | | <div @click="map[mapI][mapJ].value = 5" class="pointBox chargeStation"></div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | data: <input type="text" v-model="map[mapI][mapJ].data"> |
| | | </div> |
| | | <div> |
| | | top: <input type="text" v-model="map[mapI][mapJ].top"> |
| | | </div> |
| | | <div> |
| | | bottom: <input type="text" v-model="map[mapI][mapJ].bottom"> |
| | | </div> |
| | | <div> |
| | | left: <input type="text" v-model="map[mapI][mapJ].left"> |
| | | </div> |
| | | <div> |
| | | right: <input type="text" v-model="map[mapI][mapJ].right"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script> |
| | | var app = new Vue({ |
| | | el: '#app', |
| | | data: { |
| | | map: [], |
| | | col: 25, |
| | | row: 15, |
| | | mapData: "", |
| | | importData: null, |
| | | startPosition: "0500501", |
| | | endPosition: "0802501", |
| | | mapI: 0, |
| | | mapJ: 0, |
| | | rightBox: false, |
| | | rightBoxTop: "0px", |
| | | rightBoxLeft: "0px" |
| | | }, |
| | | watch: { |
| | | map: { |
| | | deep: true, |
| | | handler(val) { |
| | | this.printData() |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | generate() { |
| | | let tmp = [] |
| | | //实际区域增加两行两列禁区 |
| | | let rowR = Number(this.row) + Number(2) |
| | | let colR = Number(this.col) + Number(2) |
| | | console.log(rowR, colR) |
| | | for (var i = 0; i < rowR; i++) { |
| | | let x = [] |
| | | for (var j = 0; j < colR; j++) { |
| | | if (i == 0 || i == rowR - 1) { |
| | | // x.push(-1) |
| | | x.push({ |
| | | value: -1, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | |
| | | if (j == 0) { |
| | | // x.push(-1) |
| | | x.push({ |
| | | value: -1, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | |
| | | if (j == colR - 1) { |
| | | let calc = (this.row - i + 1) * -1 |
| | | // x.push(calc == 0 ? -1 : calc) |
| | | x.push({ |
| | | value: calc == 0 ? -1 : calc, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | // x.push(0) |
| | | x.push({ |
| | | value: 0, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | } |
| | | tmp.push(x) |
| | | } |
| | | |
| | | this.map = tmp |
| | | this.printData() |
| | | }, |
| | | switchBox(x, y) { |
| | | let tmp = this.map |
| | | console.log(x, y, tmp[x][y]) |
| | | switch (tmp[x][y].value) { |
| | | case -1: |
| | | tmp[x][y].value = 0 |
| | | break; |
| | | case 0: |
| | | tmp[x][y].value = 3 |
| | | break; |
| | | case 3: |
| | | tmp[x][y].value = 4 |
| | | break; |
| | | case 4: |
| | | tmp[x][y].value = 5 |
| | | break; |
| | | case 5: |
| | | tmp[x][y].value = -1 |
| | | break; |
| | | default: |
| | | tmp[x][y].value = -1 |
| | | } |
| | | this.map = tmp |
| | | this.$forceUpdate() |
| | | this.printData() |
| | | this.rightBox = false |
| | | }, |
| | | printData() { |
| | | // let tmp = this.map |
| | | // let data = [] |
| | | // tmp.forEach((item,index) => { |
| | | // let data2 = [] |
| | | // item.forEach((val,idx) => { |
| | | // let valJson = { |
| | | // value: val, |
| | | // data: '', |
| | | // top: '', |
| | | // bottom: '', |
| | | // left: '', |
| | | // right: '' |
| | | // } |
| | | // data2.push(valJson) |
| | | // }) |
| | | // data.push(data2) |
| | | // }) |
| | | |
| | | // this.mapData = JSON.stringify(data) |
| | | this.mapData = JSON.stringify(this.map) |
| | | }, |
| | | importDataClick() { |
| | | let tmp = JSON.parse(this.importData); |
| | | let data = [] |
| | | tmp.forEach((item, index) => { |
| | | let data2 = [] |
| | | item.forEach((val, idx) => { |
| | | let json = { |
| | | value: val.value, |
| | | data: val.data, |
| | | top: val.top == null ? 1000: val.top, |
| | | bottom: val.bottom == null ? 1000:val.bottom, |
| | | left: val.left == null ? 1000:val.left, |
| | | right: val.right == null ? 1000:val.right |
| | | } |
| | | data2.push(json) |
| | | }) |
| | | data.push(data2) |
| | | }) |
| | | this.map = data |
| | | this.printData() |
| | | }, |
| | | calcPath() { |
| | | let that = this |
| | | let param = new URLSearchParams() |
| | | param.append('startPosition', this.startPosition) |
| | | param.append('endPosition', this.endPosition) |
| | | param.append('map', JSON.stringify(this.map)) |
| | | this.$axios({ |
| | | method: "post", |
| | | url: "http://127.0.0.1:8081/calc", |
| | | data: param |
| | | }).then((res) => { |
| | | let data = res.data |
| | | let tmp = that.map |
| | | console.log(data) |
| | | data.forEach((item, index) => { |
| | | let x = item.x |
| | | let y = item.y |
| | | tmp[x][y] = 9 |
| | | |
| | | if (index == 0) { |
| | | tmp[x][y] = 10 |
| | | } |
| | | |
| | | if (index == data.length - 1) { |
| | | tmp[x][y] = 11 |
| | | } |
| | | that.map = tmp |
| | | }) |
| | | this.$forceUpdate() |
| | | this.printData() |
| | | }).catch((error) => { |
| | | console.log(error) |
| | | }) |
| | | }, |
| | | rightEvent(x, y, e) { |
| | | this.rightBox = true |
| | | this.mapI = x |
| | | this.mapJ = y |
| | | this.rightBoxTop = e.y + "px" |
| | | this.rightBoxLeft = e.x + "px" |
| | | }, |
| | | bgClick() { |
| | | this.rightBox = false |
| | | } |
| | | } |
| | | }) |
| | | </script> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>仓储管理系统</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/road.css"> |
| | | |
| | | <style media="screen"> |
| | | *{ |
| | | -webkit-box-sizing: border-box; |
| | | -moz-box-sizing: border-box; |
| | | box-sizing: border-box; |
| | | margin: 0; |
| | | padding: 0; |
| | | font-family: 微软雅黑; |
| | | letter-spacing: 1px; |
| | | } |
| | | body{ |
| | | background: url(../../static/image/nav/bg_1.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_1{ |
| | | width: 250px; height: 220px; |
| | | background: url(../../static/image/nav/fn_1.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_1:hover{ |
| | | background: url(../../static/image/nav/fn_1_h.png); |
| | | background-size: cover; |
| | | } |
| | | |
| | | .fn_2{ |
| | | width: 250px; height: 220px; |
| | | background: url(../../static/image/nav/fn_2.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_2:hover{ |
| | | background: url(../../static/image/nav/fn_2_h.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_3{ |
| | | width: 250px; height: 220px; |
| | | background: url(../../static/image/nav/fn_3.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_3:hover{ |
| | | background: url(../../static/image/nav/fn_3_h.png); |
| | | background-size: cover; |
| | | } |
| | | |
| | | .sci-wheel{ |
| | | position: absolute; |
| | | top: 0; |
| | | right: 0; |
| | | width: 100px; |
| | | } |
| | | |
| | | .header{ |
| | | width: 100%; height: 100px; line-height: 100px; |
| | | padding: 0 40px; |
| | | background:rgba(0,0,0,0.3); |
| | | } |
| | | .header img{ |
| | | float: left; |
| | | margin: 10px 10px; |
| | | width: 100px; |
| | | } |
| | | .header p{ |
| | | float: left; |
| | | font-size: 30px; color: white; |
| | | letter-spacing: 3px; |
| | | } |
| | | .header .home-btn { |
| | | float: left; |
| | | margin-top: 20px; |
| | | width: 74px; |
| | | height: 74px; |
| | | border: 1px solid #102262; |
| | | border-radius: 5px; |
| | | background: url(../../static/image/nav/icon.png) no-repeat center center; |
| | | background-size: 45% 45%; |
| | | cursor: pointer; |
| | | } |
| | | .center{ |
| | | position: absolute; |
| | | top: 0; bottom: 0; left: 0; right: 0; |
| | | margin: auto; |
| | | width: 930px; height: 250px; |
| | | /* bottom: 300px; */ |
| | | } |
| | | .center .list{ |
| | | display: block; |
| | | float: left; |
| | | margin: 0 30px; |
| | | cursor: pointer; |
| | | } |
| | | .center .list p{ |
| | | text-align: center; |
| | | color: #00BAF1; |
| | | font-size: 18px; |
| | | margin-top: 240px; |
| | | } |
| | | /* .center .list img{ |
| | | width: 250px; |
| | | margin: 0 30px; |
| | | } */ |
| | | </style> |
| | | |
| | | </head> |
| | | <body> |
| | | |
| | | <div class="header"> |
| | | <p style="margin-left:20px">请选择您要使用的模块</p> |
| | | </div> |
| | | |
| | | <div class="center"> |
| | | <a class="list fn_1 moveUpDownFla1" ew-href="order/order.html?resourceId=40517"> |
| | | <p>单据管理</p> |
| | | </a> |
| | | <a class="list fn_2 moveUpDownFla2" ew-href="wrkMast/wrkMast.html?resourceId=214"> |
| | | <p>运行任务</p> |
| | | </a> |
| | | <a class="list fn_3 moveUpDownFla1" ew-href="stoMan/stoQue.html?resourceId=10276"> |
| | | <p>库存明细</p> |
| | | </a> |
| | | </div> |
| | | |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js"></script> |
| | | <script> |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer', 'element', 'admin'], function () { |
| | | var element = layui.element; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var admin = layui.admin; |
| | | }) |
| | | </script> |
| | | </html> |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>自动仓库WCS系统</title> |
| | | <link rel="stylesheet" href="../static/css/index.css"> |
| | | <script src="../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <meta charset="utf-8"> |
| | | <title>浙江中扬 - 自动化立体仓库 - AS / RS</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="stylesheet" href="../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../static/css/loader.css" media="all"> |
| | | <style> |
| | | .layui-logo img { |
| | | width: 25px; |
| | | } |
| | | .layui-logo cite { |
| | | font-size: 18px; |
| | | font-weight: 400; |
| | | /*margin-left: 5px;*/ |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <!-- 导航栏 --> |
| | | <!-- <div class="nav">--> |
| | | <!-- <li class="right">注销<a id="about" class="nav-unselect" onclick="logout()" href="#"></a></li>--> |
| | | <!-- </div>--> |
| | | <div class="sidebar"> |
| | | <div class="nav"> |
| | | <ul class="cl-effect-4"> |
| | | <li><a id="console" onclick="nav(this.id)" class="nav-select" href="#">主控图</a></li> |
| | | <li><a id="pipeline" onclick="nav(this.id)" class="nav-unselect" href="#">输送设备</a></li> |
| | | <li><a id="crn" onclick="nav(this.id)" class="nav-unselect" href="#">堆垛机</a></li> |
| | | </ul> |
| | | <body class="layui-layout-body"> |
| | | <div class="layui-layout layui-layout-admin"> |
| | | <!-- 头部 --> |
| | | <div class="layui-header"> |
| | | <div class="layui-logo"> |
| | | <img src="../static/image/logo.png" style="display: inline-block; width: 60%;height: auto"> |
| | | <!-- <span style="margin-top: 0; letter-spacing: 10px">中扬立库</span>--> |
| | | <!-- <img src="../static/image/logo.svg"/>--> |
| | | <!-- <cite>中扬 - Zoneyung</cite>--> |
| | | </div> |
| | | |
| | | <ul class="layui-nav layui-layout-left"> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a ew-event="flexible" title="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a> |
| | | </li> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a ew-event="refresh" title="刷新"><i class="layui-icon layui-icon-refresh-3"></i></a> |
| | | </li> |
| | | </ul> |
| | | <ul class="layui-nav layui-layout-right"> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a ew-event="note" title="便签"><i class="layui-icon layui-icon-note"></i></a> |
| | | </li> |
| | | <li class="layui-nav-item layui-hide-xs" lay-unselect> |
| | | <a ew-event="fullScreen" title="全屏"><i class="layui-icon layui-icon-screen-full"></i></a> |
| | | </li> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a> |
| | | <cite id="username" style="margin-right: 5px">管理员</cite> |
| | | </a> |
| | | <dl class="layui-nav-child"> |
| | | <dd lay-unselect><a ew-href="detail.html?resourceId=8">基本资料</a></dd> |
| | | <hr> |
| | | <dd lay-unselect><a id="logout">退出</a></dd> |
| | | </dl> |
| | | </li> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a ew-event="theme" title="主题"><i class="layui-icon layui-icon-more-vertical"></i></a> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | |
| | | <!-- 侧边栏 --> |
| | | <div class="layui-side"> |
| | | <div class="layui-side-scroll"> |
| | | <ul id="menu-main" class="layui-nav layui-nav-tree arrow2" lay-filter="admin-side-nav" lay-shrink="_all"> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 主体部分 --> |
| | | <div class="layui-body"></div> |
| | | <!-- 底部 --> |
| | | <div class="layui-footer layui-text"> |
| | | copyright © 2023 浙江中扬立库技术有限公司 all rights reserved. |
| | | <span class="pull-right">Version 1.0.0</span> |
| | | </div> |
| | | |
| | | </div> |
| | | <!--<div style="z-index: 999; position: absolute; top: 250px; left: 900px; width: 200px; height: 200px; opacity: 0.5;background-color: #0000FF">--> |
| | | |
| | | <!--</div>--> |
| | | <!-- 主体内容 --> |
| | | <iframe id="content" src="console.html"></iframe> |
| | | <footer class="footer"> |
| | | Copyright © 2015 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">浙江中扬立库技术有限公司</a> 保留所有权利 |
| | | </footer> |
| | | </body> |
| | | <!--初始化加载层--> |
| | | <div class="layuimini-loader"> |
| | | <div class="layuimini-loader-inner"></div> |
| | | </div> |
| | | |
| | | <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/layui/layui.js"></script> |
| | | <script type="text/javascript" src="../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <script> |
| | | // 导航栏 |
| | | function nav(id) { |
| | | $('.nav-select').attr("class", "nav-unselect"); |
| | | $('#'+id).attr("class", "nav-select"); |
| | | $('#content').attr("src", id+".html"); |
| | | console.log('%c 中扬立库平台 %c 1.0.0','background-color:rgb(53,73,94);color: #fff;border-radius:2px 0 0 2px;padding:2px 4px;','background-color:rgb(25,190,107);color: #fff;border-radius:0 2px 2px 0;padding:2px 4px;font: 9pt "Apercu Regular", Georgia, "Times New Roman", Times, serif;'); |
| | | $(function () { |
| | | if ("" === localStorage.getItem('token')) { |
| | | top.location.href = baseUrl + "/login"; |
| | | } |
| | | }); |
| | | |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).extend({ |
| | | notice: 'notice/notice', |
| | | }).use(['index', 'element', 'layer', 'admin', 'notice'], function () { |
| | | var $ = layui.jquery; |
| | | var index = layui.index; |
| | | var element = layui.element; |
| | | var layer = layui.layer; |
| | | var admin = layui.admin; |
| | | var notice = layui.notice; |
| | | |
| | | var easywebIframeMsg = localStorage.getItem("easyweb-iframe"); |
| | | if (!isEmpty(easywebIframeMsg)) { |
| | | var easywebIframeObj = JSON.parse(easywebIframeMsg); |
| | | if (easywebIframeObj.defaultTheme === undefined) { |
| | | admin.changeTheme("theme-colorful"); |
| | | } |
| | | } |
| | | |
| | | function logout() { |
| | | localStorage.removeItem("token"); |
| | | window.location.href = baseUrl + "/login"; |
| | | } |
| | | $.ajax({ |
| | | url: baseUrl + "/menu/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | // async: false, |
| | | success: function (res) { |
| | | // 关闭加载动画 |
| | | $('.layuimini-loader').fadeOut(); |
| | | if (res.code === 200) { |
| | | var tpl = $('#menuTpl').html(); |
| | | var template = Handlebars.compile(tpl); |
| | | var html = template(res); |
| | | $("#menu-main").html(html); |
| | | element.init(); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/login"; |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 系统运行状态 |
| | | var systemRunning = true; |
| | | // 默认加载主页 |
| | | index.loadHome({ |
| | | menuPath: baseUrl+'/views/home/navigation.html', |
| | | menuName: '<i class="layui-icon layui-icon-home"></i>' |
| | | }); |
| | | |
| | | $('#username').text(localStorage.getItem('username')); |
| | | |
| | | $(document).on('click','#logout', function () { |
| | | window.location.href = "login.html"; |
| | | localStorage.removeItem('token'); |
| | | localStorage.removeItem('username'); |
| | | admin.closeAllTabs(); |
| | | }); |
| | | |
| | | // 替换退出按钮变量 |
| | | var logout = document.getElementById('logout'); |
| | | var url = logout.getAttribute('href'); |
| | | logout.setAttribute('href', baseUrl + "/login"); |
| | | |
| | | }); |
| | | </script> |
| | | <script type="text/html" id="menuTpl"> |
| | | {{#each data}} |
| | | <li class="layui-nav-item"> |
| | | <a><i class="layui-icon {{this.menuIcon}}"></i> <cite>{{this.menu}}</cite></a> |
| | | <dl class="layui-nav-child"> |
| | | {{#each this.subMenu}} |
| | | <dd><a lay-href="{{this.code}}?resourceId={{this.id}}">{{this.name}}</a></dd> |
| | | {{/each}} |
| | | </dl> |
| | | </li> |
| | | {{/each}} |
| | | </script> |
| | | </body> |
| | | </html> |
| | | |
| | | |