58 changed files with 2418 additions and 2098 deletions
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 446 KiB |
|
After Width: | Height: | Size: 187 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
@ -1,262 +1,269 @@ |
|||
.aui-page__login { |
|||
|
|||
&::before, |
|||
&::after { |
|||
position: absolute; |
|||
top: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
z-index: -1; |
|||
content: ""; |
|||
} |
|||
|
|||
&::before { |
|||
background: url(~@/assets/img/login_bg.jpg) no-repeat; |
|||
background-size: 100% 100%; |
|||
} |
|||
|
|||
// &::after { |
|||
// background-color: rgba(38, 50, 56, .4); |
|||
// } |
|||
|
|||
.aui-content { |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
align-items: center; |
|||
min-height: 100vh; |
|||
padding: 50px 20px 150px; |
|||
text-align: center; |
|||
|
|||
&__wrapper { |
|||
height: 100vh; |
|||
background-color: transparent; |
|||
overflow-x: hidden; |
|||
overflow-y: auto; |
|||
} |
|||
} |
|||
|
|||
.login-header { |
|||
padding: 20px; |
|||
color: #fff; |
|||
|
|||
.login-brand { |
|||
margin: 0 0 15px; |
|||
font-size: 40px; |
|||
font-weight: 400; |
|||
letter-spacing: 2px; |
|||
text-transform: uppercase; |
|||
} |
|||
|
|||
.login-intro { |
|||
padding: 0; |
|||
margin: 0; |
|||
list-style: none; |
|||
|
|||
>li { |
|||
font-size: 16px; |
|||
line-height: 1.5; |
|||
color: rgba(255, 255, 255, .6); |
|||
|
|||
&+li { |
|||
margin-top: 5px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.login-body, |
|||
.login-footer { |
|||
width: 460px; |
|||
} |
|||
|
|||
.login-body { |
|||
padding: 20px 30px; |
|||
background-color: #fff; |
|||
box-shadow: 6px 6px 16px #FDDBD4; |
|||
|
|||
.login-title { |
|||
font-size: 18px; |
|||
font-weight: 400; |
|||
} |
|||
|
|||
.el-input__prefix .el-input__icon { |
|||
font-size: 16px; |
|||
} |
|||
|
|||
.login-captcha { |
|||
height: $--input-height; |
|||
line-height: $--input-height -2px; |
|||
|
|||
>img { |
|||
max-width: 100%; |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
|
|||
.login-shortcut { |
|||
margin-bottom: 20px; |
|||
|
|||
&__title { |
|||
position: relative; |
|||
margin: 0 0 15px; |
|||
font-weight: 400; |
|||
|
|||
&::before { |
|||
position: absolute; |
|||
top: 50%; |
|||
right: 0; |
|||
left: 0; |
|||
z-index: 1; |
|||
content: ""; |
|||
height: 1px; |
|||
margin-top: -.5px; |
|||
background-color: $--border-color-base; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
>span { |
|||
position: relative; |
|||
z-index: 2; |
|||
padding: 0 20px; |
|||
color: rgba(0, 0, 0, .3); |
|||
background-color: #fff; |
|||
} |
|||
} |
|||
|
|||
&__list { |
|||
padding: 0; |
|||
margin: 0; |
|||
list-style: none; |
|||
font-size: 0; |
|||
|
|||
>li { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
margin: 0 10px; |
|||
font-size: 28px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.login-guide { |
|||
color: rgba(0, 0, 0, .3); |
|||
} |
|||
} |
|||
|
|||
.login-footer { |
|||
position: absolute; |
|||
bottom: 0; |
|||
padding: 20px; |
|||
color: rgba(255, 255, 255, .6); |
|||
|
|||
p { |
|||
margin: 10px 0; |
|||
} |
|||
|
|||
a { |
|||
padding: 0 5px; |
|||
color: rgba(255, 255, 255, .6); |
|||
|
|||
&:focus, |
|||
&:hover { |
|||
color: #fff; |
|||
} |
|||
} |
|||
} |
|||
|
|||
// 右侧垂直风格 |
|||
&--right-vertical { |
|||
.aui-content { |
|||
flex-flow: row nowrap; |
|||
justify-content: flex-start; |
|||
align-items: stretch; |
|||
padding: 0; |
|||
} |
|||
|
|||
.login-header { |
|||
flex: 1; |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
padding: 30px 120px; |
|||
text-align: left; |
|||
} |
|||
|
|||
.login-body { |
|||
position: relative; |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
padding: 120px 30px 150px; |
|||
text-align: center; |
|||
|
|||
.login-guide { |
|||
margin-top: 0; |
|||
} |
|||
} |
|||
|
|||
.login-footer { |
|||
right: 0; |
|||
color: $--color-text-regular; |
|||
|
|||
a { |
|||
color: $--color-text-regular; |
|||
|
|||
&:focus, |
|||
&:hover { |
|||
color: $--color-primary; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@media (max-width: 991px) { |
|||
.aui-page__login { |
|||
&--right-vertical { |
|||
.login-header { |
|||
padding: 30px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@media (max-width: 767px) { |
|||
.aui-page__login { |
|||
&--right-vertical { |
|||
.login-header { |
|||
|
|||
.login-brand, |
|||
.login-intro { |
|||
display: none; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@media (max-width: 575px) { |
|||
.aui-page__login { |
|||
|
|||
.login-body, |
|||
.login-footer { |
|||
width: 100%; |
|||
} |
|||
|
|||
.login-captcha { |
|||
text-align: left; |
|||
|
|||
>img { |
|||
width: 136px; |
|||
} |
|||
} |
|||
|
|||
&--right-vertical { |
|||
.login-header { |
|||
display: none; |
|||
} |
|||
} |
|||
} |
|||
.aui-page__login { |
|||
&::before, |
|||
&::after { |
|||
position: absolute; |
|||
top: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
z-index: -1; |
|||
content: ""; |
|||
} |
|||
|
|||
&::before { |
|||
background: url(~@/assets/img/login_bg_2112.png) no-repeat; |
|||
background-size: 100% 100%; |
|||
} |
|||
|
|||
// &::after { |
|||
// background-color: rgba(38, 50, 56, .4); |
|||
// } |
|||
|
|||
.aui-content { |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
align-items: flex-end; |
|||
margin-right: 12%; |
|||
min-height: 100vh; |
|||
padding: 50px 20px 150px; |
|||
text-align: center; |
|||
|
|||
&__wrapper { |
|||
height: 100vh; |
|||
background-color: transparent; |
|||
overflow-x: hidden; |
|||
overflow-y: auto; |
|||
} |
|||
} |
|||
|
|||
.login-header { |
|||
padding: 20px; |
|||
color: #fff; |
|||
|
|||
.login-brand { |
|||
margin: 0 0 15px; |
|||
font-size: 40px; |
|||
font-weight: 400; |
|||
letter-spacing: 2px; |
|||
text-transform: uppercase; |
|||
} |
|||
|
|||
.login-intro { |
|||
padding: 0; |
|||
margin: 0; |
|||
list-style: none; |
|||
|
|||
> li { |
|||
font-size: 16px; |
|||
line-height: 1.5; |
|||
color: rgba(255, 255, 255, 0.6); |
|||
|
|||
& + li { |
|||
margin-top: 5px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.login-body, |
|||
.login-footer { |
|||
width: 400px; |
|||
} |
|||
|
|||
.login-body { |
|||
padding: 20px 50px; |
|||
background-color: #fff; |
|||
border-radius: 20px; |
|||
// box-shadow: 6px 6px 16px #fddbd4; |
|||
|
|||
.login-title { |
|||
font-size: 18px; |
|||
font-weight: 400; |
|||
} |
|||
|
|||
.el-input__prefix .el-input__icon { |
|||
font-size: 16px; |
|||
} |
|||
|
|||
.login-captcha { |
|||
height: $--input-height; |
|||
line-height: $--input-height -2px; |
|||
|
|||
> img { |
|||
max-width: 100%; |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
|
|||
.login-shortcut { |
|||
margin-bottom: 20px; |
|||
|
|||
&__title { |
|||
position: relative; |
|||
margin: 0 0 15px; |
|||
font-weight: 400; |
|||
|
|||
&::before { |
|||
position: absolute; |
|||
top: 50%; |
|||
right: 0; |
|||
left: 0; |
|||
z-index: 1; |
|||
content: ""; |
|||
height: 1px; |
|||
margin-top: -0.5px; |
|||
background-color: $--border-color-base; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
> span { |
|||
position: relative; |
|||
z-index: 2; |
|||
padding: 0 20px; |
|||
color: rgba(0, 0, 0, 0.3); |
|||
background-color: #fff; |
|||
} |
|||
} |
|||
|
|||
&__list { |
|||
padding: 0; |
|||
margin: 0; |
|||
list-style: none; |
|||
font-size: 0; |
|||
|
|||
> li { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
margin: 0 10px; |
|||
font-size: 28px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.login-guide { |
|||
color: rgba(0, 0, 0, 0.3); |
|||
} |
|||
} |
|||
|
|||
.login-footer { |
|||
position: absolute; |
|||
bottom: 0; |
|||
padding: 20px; |
|||
color: rgba(255, 255, 255, 0.6); |
|||
|
|||
p { |
|||
margin: 10px 0; |
|||
} |
|||
|
|||
a { |
|||
padding: 0 5px; |
|||
color: rgba(255, 255, 255, 0.6); |
|||
|
|||
&:focus, |
|||
&:hover { |
|||
color: #fff; |
|||
} |
|||
} |
|||
} |
|||
|
|||
// 右侧垂直风格 |
|||
&--right-vertical { |
|||
.aui-content { |
|||
flex-flow: row nowrap; |
|||
justify-content: flex-start; |
|||
align-items: stretch; |
|||
padding: 0; |
|||
} |
|||
|
|||
.login-header { |
|||
flex: 1; |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
padding: 30px 120px; |
|||
text-align: left; |
|||
} |
|||
|
|||
.login-body { |
|||
position: relative; |
|||
display: flex; |
|||
flex-flow: column wrap; |
|||
justify-content: center; |
|||
padding: 120px 30px 150px; |
|||
text-align: center; |
|||
|
|||
.login-guide { |
|||
margin-top: 0; |
|||
} |
|||
} |
|||
|
|||
.login-footer { |
|||
right: 0; |
|||
color: $--color-text-regular; |
|||
|
|||
a { |
|||
color: $--color-text-regular; |
|||
|
|||
&:focus, |
|||
&:hover { |
|||
color: $--color-primary; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@media (max-width: 991px) { |
|||
.aui-page__login { |
|||
&--right-vertical { |
|||
.login-header { |
|||
padding: 30px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@media (max-width: 767px) { |
|||
.aui-page__login { |
|||
&--right-vertical { |
|||
.login-header { |
|||
|
|||
.login-brand, |
|||
.login-intro { |
|||
display: none; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@media (max-width: 575px) { |
|||
.aui-page__login { |
|||
|
|||
.login-body, |
|||
.login-footer { |
|||
width: 100%; |
|||
} |
|||
|
|||
.login-captcha { |
|||
text-align: left; |
|||
|
|||
>img { |
|||
width: 136px; |
|||
} |
|||
} |
|||
|
|||
&--right-vertical { |
|||
.login-header { |
|||
display: none; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.w-percent-100.el-button--primary { |
|||
color: #fff; |
|||
background: linear-gradient(90deg, #1A5AFD, #26C4FF); |
|||
border-radius: 2px; |
|||
} |
|||
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#c0c4cc}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#17B3A3;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none} |
|||
.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#c0c4cc}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#1B80FD;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.el-fade-in-enter,.el-fade-in-leave-active,.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.el-collapse-item__header{height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #ebeef5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin-right:8px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:right;line-height:48px;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#17B3A3}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #ebeef5}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px} |
|||
.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.el-collapse-item__header{height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #ebeef5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin-right:8px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:right;line-height:48px;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#1B80FD}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #ebeef5}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-dialog{position:relative;margin:0 auto 50px;background:#fff;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#17B3A3}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}} |
|||
.el-dialog,.el-dialog__footer{-webkit-box-sizing:border-box}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-dialog{position:relative;margin:0 auto 50px;background:#fff;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#1B80FD}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px}.el-dialog__footer{padding:10px 20px 20px;text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}} |
|||
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.el-form--inline .el-form-item,.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form-item::after,.el-form-item__content::after{clear:both}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{margin-right:10px}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form-item__content .el-input-group,.el-form-item__label{vertical-align:middle}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item::after,.el-form-item::before{display:table;content:""}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label{text-align:right;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item__error{color:#f56c6c;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required>.el-form-item__label:before{content:'*';color:#f56c6c;margin-right:4px}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{border-color:#f56c6c}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#f56c6c}.el-form-item.is-success .el-input__inner,.el-form-item.is-success .el-input__inner:focus,.el-form-item.is-success .el-textarea__inner,.el-form-item.is-success .el-textarea__inner:focus{border-color:#67c23a}.el-form-item.is-success .el-input-group__append .el-input__inner,.el-form-item.is-success .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-success .el-input__validateIcon{color:#67c23a}.el-form-item--feedback .el-input__validateIcon{display:inline-block} |
|||
.el-form--inline .el-form-item,.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form-item::after,.el-form-item__content::after{clear:both}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{margin-right:10px}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form-item__content .el-input-group,.el-form-item__label{vertical-align:middle}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item::after,.el-form-item::before,.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item{margin-bottom:22px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label{text-align:right;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__error{color:#f56c6c;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required>.el-form-item__label:before{content:'*';color:#f56c6c;margin-right:4px}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{border-color:#f56c6c}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#f56c6c}.el-form-item.is-success .el-input__inner,.el-form-item.is-success .el-input__inner:focus,.el-form-item.is-success .el-textarea__inner,.el-form-item.is-success .el-textarea__inner:focus{border-color:#67c23a}.el-form-item.is-success .el-input-group__append .el-input__inner,.el-form-item.is-success .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-success .el-input__validateIcon{color:#67c23a}.el-form-item--feedback .el-input__validateIcon{display:inline-block} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#17B3A3;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#17B3A3;stroke-linecap:round}.el-loading-spinner i{color:#17B3A3}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}} |
|||
.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#1B80FD;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#1B80FD;stroke-linecap:round}.el-loading-spinner i{color:#1B80FD}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.el-message__closeBtn:focus,.el-message__content:focus{outline-width:0}.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#ebeef5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,transform .4s;transition:opacity .3s,transform .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67c23a}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#e6a23c}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#f56c6c}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67c23a}.el-message .el-icon-error{color:#f56c6c}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#e6a23c}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)} |
|||
.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#ebeef5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,transform .4s;transition:opacity .3s,transform .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67c23a}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#e6a23c}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#f56c6c}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67c23a}.el-message .el-icon-error{color:#f56c6c}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#e6a23c}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)} |
|||
@ -1 +1 @@ |
|||
.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#fff}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#f5f7fa}.el-select-dropdown__item.selected{color:#17B3A3;font-weight:700} |
|||
.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#fff}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#f5f7fa}.el-select-dropdown__item.selected{color:#1B80FD;font-weight:700} |
|||
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-popover{position:absolute;background:#fff;min-width:150px;border-radius:4px;border:1px solid #ebeef5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0} |
|||
.el-popover__title,.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-popover{position:absolute;background:#fff;min-width:150px;border-radius:4px;border:1px solid #ebeef5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0} |
|||
@ -1 +1 @@ |
|||
.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle{display:inline-block}.el-progress--circle .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner::after,.el-progress-bar__innerText{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-exception .el-progress-bar__inner{background-color:#f56c6c}.el-progress.is-exception .el-progress__text{color:#f56c6c}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#ebeef5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#17B3A3;text-align:right;border-radius:100px;line-height:1;white-space:nowrap}.el-progress-bar__inner::after{content:"";height:100%}.el-progress-bar__innerText{color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}} |
|||
.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle{display:inline-block}.el-progress--circle .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner::after,.el-progress-bar__innerText{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-exception .el-progress-bar__inner{background-color:#f56c6c}.el-progress.is-exception .el-progress__text{color:#f56c6c}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#ebeef5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#1B80FD;text-align:right;border-radius:100px;line-height:1;white-space:nowrap}.el-progress-bar__inner::after{content:"";height:100%}.el-progress-bar__innerText{color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}} |
|||
@ -1 +1 @@ |
|||
@charset "UTF-8";.el-radio-button,.el-radio-button__inner{display:inline-block;position:relative;outline:0}.el-radio-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;background:#fff;border:1px solid #dcdfe6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#17B3A3}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#17B3A3;border-color:#17B3A3;-webkit-box-shadow:-1px 0 0 0 #17B3A3;box-shadow:-1px 0 0 0 #17B3A3}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #17B3A3;box-shadow:0 0 2px 2px #17B3A3} |
|||
@charset "UTF-8";.el-radio-button,.el-radio-button__inner{display:inline-block;position:relative;outline:0}.el-radio-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;background:#fff;border:1px solid #dcdfe6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#1B80FD}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#1B80FD;border-color:#1B80FD;-webkit-box-shadow:-1px 0 0 0 #1B80FD;box-shadow:-1px 0 0 0 #1B80FD}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #1B80FD;box-shadow:0 0 2px 2px #1B80FD} |
|||
@ -1 +1 @@ |
|||
@charset "UTF-8";.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio,.el-radio__input{white-space:nowrap;line-height:1;outline:0}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-radio{color:#606266;font-weight:500;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#17B3A3}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio+.el-radio{margin-left:30px}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#f5f7fa}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#c0c4cc}.el-radio__input.is-disabled+span.el-radio__label{color:#c0c4cc;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#17B3A3;background:#17B3A3}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#17B3A3}.el-radio__input.is-focus .el-radio__inner{border-color:#17B3A3}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#17B3A3}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #17B3A3;box-shadow:0 0 2px 2px #17B3A3}.el-radio__label{font-size:14px;padding-left:10px} |
|||
@charset "UTF-8";.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio,.el-radio__input{white-space:nowrap;line-height:1;outline:0}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-radio{color:#606266;font-weight:500;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#1B80FD}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__label{font-size:12px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio+.el-radio{margin-left:30px}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#f5f7fa}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#c0c4cc}.el-radio__input.is-disabled+span.el-radio__label{color:#c0c4cc;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#1B80FD;background:#1B80FD}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#1B80FD}.el-radio__input.is-focus .el-radio__inner{border-color:#1B80FD}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#1B80FD}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #1B80FD;box-shadow:0 0 2px 2px #1B80FD}.el-radio__label{font-size:14px;padding-left:10px} |
|||
@ -1 +1 @@ |
|||
@charset "UTF-8";body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;font-weight:400;font-size:14px;color:#000;-webkit-font-smoothing:antialiased}a{color:#17B3A3;text-decoration:none}a:focus,a:hover{color:#45c2b5}a:active{color:#15a193}h1,h2,h3,h4,h5,h6{color:#606266;font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,p:last-child{margin-bottom:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}sub,sup{font-size:13px}small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} |
|||
@charset "UTF-8";body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;font-weight:400;font-size:14px;color:#000;-webkit-font-smoothing:antialiased}a{color:#1B80FD;text-decoration:none}a:focus,a:hover{color:#4999fd}a:active{color:#1873e4}h1,h2,h3,h4,h5,h6{color:#606266;font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,p:last-child{margin-bottom:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}sub,sup{font-size:13px}small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} |
|||
@ -1 +1 @@ |
|||
.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#17B3A3;background-color:#fff}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\E611";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box} |
|||
.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#1B80FD;background-color:#fff}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\E611";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer;vertical-align:middle}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;color:#303133}.el-switch__label.is-active{color:#17B3A3}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__input:focus~.el-switch__core{outline:#17B3A3 solid 1px}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #dcdfe6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#dcdfe6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#fff}.el-switch.is-checked .el-switch__core{border-color:#17B3A3;background-color:#17B3A3}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0} |
|||
.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer;vertical-align:middle}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;color:#303133}.el-switch__label.is-active{color:#1B80FD}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__input:focus~.el-switch__core{outline:#1B80FD solid 1px}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #dcdfe6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#dcdfe6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#fff}.el-switch.is-checked .el-switch__core{border-color:#1B80FD;background-color:#1B80FD}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
.el-tag{background-color:rgba(23,179,163,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#17B3A3;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(23,179,163,.2);white-space:nowrap}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px;color:#17B3A3}.el-tag .el-icon-close::before{display:block}.el-tag .el-icon-close:hover{background-color:#17B3A3;color:#fff}.el-tag--info,.el-tag--info .el-tag__close{color:#909399}.el-tag--info{background-color:rgba(144,147,153,.1);border-color:rgba(144,147,153,.2)}.el-tag--info.is-hit{border-color:#909399}.el-tag--info .el-tag__close:hover{background-color:#909399;color:#fff}.el-tag--success{background-color:rgba(103,194,58,.1);border-color:rgba(103,194,58,.2);color:#67c23a}.el-tag--success.is-hit{border-color:#67c23a}.el-tag--success .el-tag__close{color:#67c23a}.el-tag--success .el-tag__close:hover{background-color:#67c23a;color:#fff}.el-tag--warning{background-color:rgba(230,162,60,.1);border-color:rgba(230,162,60,.2);color:#e6a23c}.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--warning .el-tag__close:hover{background-color:#e6a23c;color:#fff}.el-tag--danger{background-color:rgba(245,108,108,.1);border-color:rgba(245,108,108,.2);color:#f56c6c}.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--danger .el-tag__close:hover{background-color:#f56c6c;color:#fff}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)} |
|||
.el-tag{background-color:rgba(27,128,253,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#1B80FD;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(27,128,253,.2);white-space:nowrap}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px;color:#1B80FD}.el-tag .el-icon-close::before{display:block}.el-tag .el-icon-close:hover{background-color:#1B80FD;color:#fff}.el-tag--info,.el-tag--info .el-tag__close{color:#909399}.el-tag--info{background-color:rgba(144,147,153,.1);border-color:rgba(144,147,153,.2)}.el-tag--info.is-hit{border-color:#909399}.el-tag--info .el-tag__close:hover{background-color:#909399;color:#fff}.el-tag--success{background-color:rgba(103,194,58,.1);border-color:rgba(103,194,58,.2);color:#67c23a}.el-tag--success.is-hit{border-color:#67c23a}.el-tag--success .el-tag__close{color:#67c23a}.el-tag--success .el-tag__close:hover{background-color:#67c23a;color:#fff}.el-tag--warning{background-color:rgba(230,162,60,.1);border-color:rgba(230,162,60,.2);color:#e6a23c}.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--warning .el-tag__close:hover{background-color:#e6a23c;color:#fff}.el-tag--danger{background-color:rgba(245,108,108,.1);border-color:rgba(245,108,108,.2);color:#f56c6c}.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--danger .el-tag__close:hover{background-color:#f56c6c;color:#fff}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,157 @@ |
|||
<template> |
|||
<div class="aui-main-index"> |
|||
<div class="click-item"> |
|||
<div class="item-left" @mouseover="mouseOver('1')" @mouseleave="mouseLeave()" @click="mainIndexClick"> |
|||
<img class="item-guanlipingtai" :src="guanlipingtai"> |
|||
<div :class="isSelectleft ? 'noselect-item-title' : 'select-item-title'"> |
|||
<div class="circular"></div> |
|||
<div class="name">党群e家管理平台</div> |
|||
</div> |
|||
<img class="item-zhuangshi" :src="zhuangshi"> |
|||
</div> |
|||
<div class="item-left" @mouseover="mouseOver('2')" @mouseleave="mouseLeave()" @click="goNewUrl"> |
|||
<img class="item-guanlipingtai" :src="shujukeshihua"> |
|||
<div :class="isSelectRight ? 'noselect-item-title' : 'select-item-title'"> |
|||
<div class="circular"></div> |
|||
<div class="name">数字社区工作平台</div> |
|||
</div> |
|||
<img class="item-zhuangshi" :src="zhuangshi"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import guanlipingtai from '@/assets/img/guanlipingtai@2x.png' |
|||
import shujukeshihua from '@/assets/img/shujukeshihua@2x.png' |
|||
import zhuangshi from '@/assets/img/zhuangshi@2x.png' |
|||
import Cookies from 'js-cookie' |
|||
export default { |
|||
data () { |
|||
return { |
|||
guanlipingtai: guanlipingtai, |
|||
shujukeshihua: shujukeshihua, |
|||
zhuangshi: zhuangshi, |
|||
isSelectleft: false, |
|||
isSelectRight: false |
|||
} |
|||
}, |
|||
created () { |
|||
}, |
|||
methods: { |
|||
mouseOver (e) { |
|||
if (e === '1') { |
|||
this.isSelectleft = true |
|||
this.isSelectRight = false |
|||
} else if (e === '2') { |
|||
this.isSelectleft = false |
|||
this.isSelectRight = true |
|||
} |
|||
}, |
|||
mouseLeave () { |
|||
this.isSelectleft = false |
|||
this.isSelectRight = false |
|||
}, |
|||
mainIndexClick () { |
|||
this.$emit('mainIndexByValue', true) |
|||
}, |
|||
goNewUrl () { |
|||
// window.location.replace(`http://120.27.18.76/epmet-oper-gov/#/main/base-resi?token=${Cookies.get('token')}`) |
|||
window.open(`http://120.27.18.76/epmet-oper-gov/#/main/base-resi?token=${Cookies.get('token')}`) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.aui-main-index { |
|||
height: 100vh; |
|||
width: 100%; |
|||
position: absolute; |
|||
background: url(~@/assets/img/main_index_bg.png) no-repeat; |
|||
background-size: 100% 100%; |
|||
top: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
} |
|||
.click-item{ |
|||
width: 100%; |
|||
height: calc(45% + 21px + 72px); |
|||
margin-top: 10%; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
padding: 0 14%; |
|||
box-sizing: border-box; |
|||
.item-left{ |
|||
cursor: pointer; |
|||
height: 100%; |
|||
width: 31%; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
flex-direction:column; |
|||
.item-guanlipingtai{ |
|||
width: 100%; |
|||
height: calc(100% - 21px - 72px); |
|||
} |
|||
.select-item-title { |
|||
padding: 0 10px; |
|||
box-sizing: border-box; |
|||
text-align: center; |
|||
width: auto; |
|||
height: 21px; |
|||
line-height: 21px; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-size: 11px; |
|||
background: #FFFFFF; |
|||
border: 1px solid #B9B9B9; |
|||
border-radius: 11px; |
|||
font-weight: 500; |
|||
color: #002FEC; |
|||
.circular{ |
|||
width: 7px; |
|||
height: 7px; |
|||
background: #0065F6; |
|||
border-radius: 50%; |
|||
} |
|||
.name{ |
|||
margin-left: 5px; |
|||
} |
|||
} |
|||
.noselect-item-title{ |
|||
padding: 0 10px; |
|||
box-sizing: border-box; |
|||
text-align: center; |
|||
width: auto; |
|||
height: 21px; |
|||
line-height: 21px; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-size: 11px; |
|||
background: #007AFA; |
|||
border: 1px solid #FFFFFF; |
|||
border-radius: 11px; |
|||
font-weight: 500; |
|||
color: #FFFFFF; |
|||
.circular{ |
|||
width: 7px; |
|||
height: 7px; |
|||
background: #FFFFFF; |
|||
border-radius: 50%; |
|||
} |
|||
.name{ |
|||
margin-left: 5px; |
|||
} |
|||
} |
|||
.item-zhuangshi{ |
|||
margin-top: 3px; |
|||
width: 13px; |
|||
height: 69px; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
@ -1,97 +1,98 @@ |
|||
<template> |
|||
<el-dialog |
|||
:visible.sync="visible" |
|||
:title="$t('updatePassword.title')" |
|||
:close-on-click-modal="false" |
|||
:close-on-press-escape="false" |
|||
:append-to-body="true"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px"> |
|||
<el-form-item :label="$t('updatePassword.username')"> |
|||
<span>{{ $store.state.user.name }}</span> |
|||
</el-form-item> |
|||
<el-form-item prop="password" :label="$t('updatePassword.password')"> |
|||
<el-input v-model="dataForm.password" type="password" :placeholder="$t('updatePassword.password')"></el-input> |
|||
</el-form-item> |
|||
<el-form-item prop="newPassword" :label="$t('updatePassword.newPassword')"> |
|||
<el-input v-model="dataForm.newPassword" type="password" :placeholder="$t('updatePassword.newPassword')"></el-input> |
|||
</el-form-item> |
|||
<el-form-item prop="comfirmPassword" :label="$t('updatePassword.comfirmPassword')"> |
|||
<el-input v-model="dataForm.comfirmPassword" type="password" :placeholder="$t('updatePassword.comfirmPassword')"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
import { clearLoginInfo } from '@/utils' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
password: '', |
|||
newPassword: '', |
|||
comfirmPassword: '' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
var validateComfirmPassword = (rule, value, callback) => { |
|||
if (this.dataForm.newPassword !== value) { |
|||
return callback(new Error(this.$t('updatePassword.validate.comfirmPassword'))) |
|||
} |
|||
callback() |
|||
} |
|||
return { |
|||
password: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
newPassword: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
comfirmPassword: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }, |
|||
{ validator: validateComfirmPassword, trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http.put('/sys/user/password', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
clearLoginInfo() |
|||
this.$router.replace({ name: 'login' }) |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
|||
<template> |
|||
<el-dialog |
|||
:visible.sync="visible" |
|||
:title="$t('updatePassword.title')" |
|||
:close-on-click-modal="false" |
|||
:close-on-press-escape="false" |
|||
:append-to-body="true"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px"> |
|||
<el-form-item :label="$t('updatePassword.username')"> |
|||
<span>{{ $store.state.user.name }}</span> |
|||
</el-form-item> |
|||
<el-form-item prop="password" :label="$t('updatePassword.password')"> |
|||
<el-input v-model="dataForm.password" type="password" :placeholder="$t('updatePassword.password')"></el-input> |
|||
</el-form-item> |
|||
<el-form-item prop="newPassword" :label="$t('updatePassword.newPassword')"> |
|||
<el-input v-model="dataForm.newPassword" type="password" :placeholder="$t('updatePassword.newPassword')"></el-input> |
|||
</el-form-item> |
|||
<el-form-item prop="comfirmPassword" :label="$t('updatePassword.comfirmPassword')"> |
|||
<el-input v-model="dataForm.comfirmPassword" type="password" :placeholder="$t('updatePassword.comfirmPassword')"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
import { clearLoginInfo } from '@/utils' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
password: '', |
|||
newPassword: '', |
|||
comfirmPassword: '' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
var validateComfirmPassword = (rule, value, callback) => { |
|||
if (this.dataForm.newPassword !== value) { |
|||
return callback(new Error(this.$t('updatePassword.validate.comfirmPassword'))) |
|||
} |
|||
callback() |
|||
} |
|||
return { |
|||
password: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
newPassword: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
comfirmPassword: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }, |
|||
{ validator: validateComfirmPassword, trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http.put('/sys/user/password', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
clearLoginInfo() |
|||
this.$router.replace({ name: 'login' }) |
|||
window.localStorage.setItem('isGoProgect', false) |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
@ -1,138 +1,233 @@ |
|||
<template> |
|||
<nav class="aui-navbar" |
|||
:class="`aui-navbar--${$store.state.navbarLayoutType}`"> |
|||
<div class="aui-navbar__header"> |
|||
<h1 class="aui-navbar__brand" |
|||
style="text-transform: none;" |
|||
@click="$router.push({ name: 'home' })"> |
|||
<a class="aui-navbar__brand-lg" |
|||
href="javascript:;">{{ $t('brand.lg') }}</a> |
|||
<a class="aui-navbar__brand-mini" |
|||
href="javascript:;">{{ $t('brand.mini') }}</a> |
|||
</h1> |
|||
</div> |
|||
<div class="aui-navbar__body"> |
|||
<el-menu class="aui-navbar__menu mr-auto" |
|||
mode="horizontal"> |
|||
<el-menu-item index="1" |
|||
@click="$store.state.sidebarFold = !$store.state.sidebarFold"> |
|||
<svg class="icon-svg aui-navbar__icon-menu aui-navbar__icon-menu--switch" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-outdent"></use> |
|||
</svg> |
|||
</el-menu-item> |
|||
<el-menu-item index="2" |
|||
@click="refresh()"> |
|||
<svg class="icon-svg aui-navbar__icon-menu aui-navbar__icon-menu--refresh" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-sync"></use> |
|||
</svg> |
|||
</el-menu-item> |
|||
</el-menu> |
|||
<el-menu class="aui-navbar__menu" |
|||
mode="horizontal"> |
|||
<!-- <el-menu-item index="1"> |
|||
<el-dropdown placement="bottom" |
|||
:show-timeout="0"> |
|||
<el-button size="mini">{{ $t('_lang') }}</el-button> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-dropdown-item v-for="(val, key) in i18nMessages" |
|||
:key="key" |
|||
@click.native="$i18n.locale = key">{{ val._lang }}</el-dropdown-item> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
</el-menu-item> |
|||
<el-menu-item index="2"> |
|||
<a href="//www.renren.io/" |
|||
target="_blank"> |
|||
<svg class="icon-svg aui-navbar__icon-menu" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-earth"></use> |
|||
</svg> |
|||
</a> |
|||
</el-menu-item> --> |
|||
<el-menu-item index="3" |
|||
@click="fullscreenHandle()"> |
|||
<svg class="icon-svg aui-navbar__icon-menu" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-fullscreen"></use> |
|||
</svg> |
|||
</el-menu-item> |
|||
<el-menu-item index="4" |
|||
class="aui-navbar__avatar"> |
|||
<el-dropdown placement="bottom" |
|||
:show-timeout="0"> |
|||
<span class="el-dropdown-link"> |
|||
<img src="~@/assets/img/avatar.png"> |
|||
<span>{{ $store.state.user.realName }}</span> |
|||
<i class="el-icon-arrow-down"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-dropdown-item @click.native="updatePasswordHandle()">{{ $t('updatePassword.title') }}</el-dropdown-item> |
|||
<el-dropdown-item @click.native="logoutHandle()">{{ $t('logout') }}</el-dropdown-item> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
</el-menu-item> |
|||
</el-menu> |
|||
</div> |
|||
<!-- 弹窗, 修改密码 --> |
|||
<update-password v-if="updatePassowrdVisible" |
|||
ref="updatePassowrd"></update-password> |
|||
</nav> |
|||
</template> |
|||
|
|||
<script> |
|||
import { messages } from '@/i18n' |
|||
import screenfull from 'screenfull' |
|||
import UpdatePassword from './main-navbar-update-password' |
|||
import { clearLoginInfo } from '@/utils' |
|||
export default { |
|||
inject: ['refresh'], |
|||
data () { |
|||
return { |
|||
i18nMessages: messages, |
|||
updatePassowrdVisible: false |
|||
} |
|||
}, |
|||
components: { |
|||
UpdatePassword |
|||
}, |
|||
methods: { |
|||
// 全屏 |
|||
fullscreenHandle () { |
|||
if (!screenfull.enabled) { |
|||
return this.$message({ |
|||
message: this.$t('fullscreen.prompt'), |
|||
type: 'warning', |
|||
duration: 500 |
|||
}) |
|||
} |
|||
screenfull.toggle() |
|||
}, |
|||
// 修改密码 |
|||
updatePasswordHandle () { |
|||
this.updatePassowrdVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.updatePassowrd.init() |
|||
}) |
|||
}, |
|||
// 退出 |
|||
logoutHandle () { |
|||
this.$confirm(this.$t('prompt.info', { 'handle': this.$t('logout') }), this.$t('prompt.title'), { |
|||
confirmButtonText: this.$t('confirm'), |
|||
cancelButtonText: this.$t('cancel'), |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.$http.post('/auth/logout').then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
window.sessionStorage.removeItem('routeList') |
|||
clearLoginInfo() |
|||
this.$router.push({ name: 'login' }) |
|||
}).catch(() => { }) |
|||
}).catch(() => { }) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<template> |
|||
<nav class="aui-navbar" |
|||
:class="`aui-navbar--${$store.state.navbarLayoutType}`"> |
|||
<div class="aui-navbar__header"> |
|||
<h1 class="aui-navbar__brand" |
|||
style="text-transform: none;" |
|||
@click="$router.push({ name: 'home' })"> |
|||
<a class="aui-navbar__brand-lg" |
|||
href="javascript:;">{{ $t('brand.lg') }}</a> |
|||
<a class="aui-navbar__brand-mini" |
|||
href="javascript:;">{{ $t('brand.mini') }}</a> |
|||
</h1> |
|||
</div> |
|||
<div class="aui-navbar__body"> |
|||
<el-menu class="aui-navbar__menu" |
|||
mode="horizontal"> |
|||
<el-menu-item index="1" |
|||
@click="$store.state.sidebarFold = !$store.state.sidebarFold"> |
|||
<svg class="icon-svg aui-navbar__icon-menu aui-navbar__icon-menu--switch" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-outdent"></use> |
|||
</svg> |
|||
</el-menu-item> |
|||
<el-menu-item index="2" |
|||
@click="refresh()"> |
|||
<svg class="icon-svg aui-navbar__icon-menu aui-navbar__icon-menu--refresh" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-sync"></use> |
|||
</svg> |
|||
</el-menu-item> |
|||
</el-menu> |
|||
<el-menu |
|||
class="aui-navbar__menu" |
|||
mode="horizontal" |
|||
@select="selectGoHome"> |
|||
<el-menu-item index="1">首页</el-menu-item> |
|||
</el-menu> |
|||
<div class="mr-auto aui-menu-w menu-width"> |
|||
<i class="arrow el-icon-arrow-left" @click="scrollTab('left')"></i> |
|||
<el-menu |
|||
class="aui-navbar__menu scroll-ui" |
|||
mode="horizontal" |
|||
id="tab-menu" |
|||
@select="handleSelect"> |
|||
<el-menu-item v-for="(item,index) in routeList_F" :key="index" :id="'li'+index" :index="index.toString()">{{item.name}}</el-menu-item> |
|||
</el-menu> |
|||
<i class="arrow el-icon-arrow-right" @click="scrollTab('right')"></i> |
|||
</div> |
|||
<el-menu class="aui-navbar__menu" |
|||
mode="horizontal"> |
|||
<!-- <el-menu-item index="1"> |
|||
<el-dropdown placement="bottom" |
|||
:show-timeout="0"> |
|||
<el-button size="mini">{{ $t('_lang') }}</el-button> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-dropdown-item v-for="(val, key) in i18nMessages" |
|||
:key="key" |
|||
@click.native="$i18n.locale = key">{{ val._lang }}</el-dropdown-item> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
</el-menu-item> |
|||
<el-menu-item index="2"> |
|||
<a href="//www.renren.io/" |
|||
target="_blank"> |
|||
<svg class="icon-svg aui-navbar__icon-menu" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-earth"></use> |
|||
</svg> |
|||
</a> |
|||
</el-menu-item> --> |
|||
<el-menu-item index="3" |
|||
@click="fullscreenHandle()"> |
|||
<svg class="icon-svg aui-navbar__icon-menu" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-fullscreen"></use> |
|||
</svg> |
|||
</el-menu-item> |
|||
<el-menu-item index="4" |
|||
class="aui-navbar__avatar"> |
|||
<el-dropdown placement="bottom" |
|||
:show-timeout="0"> |
|||
<span class="el-dropdown-link"> |
|||
<img src="~@/assets/img/avatar.png"> |
|||
<span>{{ $store.state.user.realName }}</span> |
|||
<i class="el-icon-arrow-down"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-dropdown-item @click.native="updatePasswordHandle()">{{ $t('updatePassword.title') }}</el-dropdown-item> |
|||
<el-dropdown-item @click.native="logoutHandle()">{{ $t('logout') }}</el-dropdown-item> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
</el-menu-item> |
|||
</el-menu> |
|||
</div> |
|||
<!-- 弹窗, 修改密码 --> |
|||
<update-password v-if="updatePassowrdVisible" |
|||
ref="updatePassowrd"></update-password> |
|||
</nav> |
|||
</template> |
|||
|
|||
<script> |
|||
import { messages } from '@/i18n' |
|||
import screenfull from 'screenfull' |
|||
import UpdatePassword from './main-navbar-update-password' |
|||
import { clearLoginInfo } from '@/utils' |
|||
export default { |
|||
inject: ['refresh'], |
|||
data () { |
|||
return { |
|||
i18nMessages: messages, |
|||
updatePassowrdVisible: false, |
|||
offsetCount: 0 |
|||
} |
|||
}, |
|||
props: { |
|||
routeList_F: { |
|||
type: Array, |
|||
required: true |
|||
} |
|||
}, |
|||
components: { |
|||
UpdatePassword |
|||
}, |
|||
methods: { |
|||
// 全屏 |
|||
fullscreenHandle () { |
|||
if (!screenfull.enabled) { |
|||
return this.$message({ |
|||
message: this.$t('fullscreen.prompt'), |
|||
type: 'warning', |
|||
duration: 500 |
|||
}) |
|||
} |
|||
screenfull.toggle() |
|||
}, |
|||
// 修改密码 |
|||
updatePasswordHandle () { |
|||
this.updatePassowrdVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.updatePassowrd.init() |
|||
}) |
|||
}, |
|||
// 退出 |
|||
logoutHandle () { |
|||
this.$confirm(this.$t('prompt.info', { 'handle': this.$t('logout') }), this.$t('prompt.title'), { |
|||
confirmButtonText: this.$t('confirm'), |
|||
cancelButtonText: this.$t('cancel'), |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.$http.post('/auth/logout').then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
window.sessionStorage.removeItem('routeList') |
|||
clearLoginInfo() |
|||
this.$router.push({ name: 'login' }) |
|||
window.localStorage.setItem('isGoProgect', false) |
|||
}).catch(() => { }) |
|||
}).catch(() => { }) |
|||
}, |
|||
handleSelect (e) { |
|||
this.$emit('routeList_child', JSON.stringify(this.routeList_F[e].children)) |
|||
}, |
|||
selectGoHome (e) { |
|||
window.localStorage.setItem('isGoProgect', false) |
|||
this.$router.go(0) |
|||
}, |
|||
// 滑动tab页签 |
|||
scrollTab (direction) { |
|||
if (this.routeList_F.length === 0) return |
|||
let menu = document.querySelector('#tab-menu') |
|||
// 计算ul宽度和当前 |
|||
let ulWidth = menu.clientWidth |
|||
const getWidth = (idName) => { |
|||
let li = document.querySelector(idName) |
|||
return li.clientWidth |
|||
} |
|||
let liWidth = 0 |
|||
this.routeList_F.forEach((ele, index) => { |
|||
liWidth = liWidth + getWidth(`#li${index}`) |
|||
}) |
|||
// 根据方向和宽度计算偏移量 |
|||
if (liWidth < ulWidth) return |
|||
let distance = this.offsetCount * 100 |
|||
|
|||
if (direction === 'left') { |
|||
if (this.offsetCount > 0) { |
|||
this.offsetCount = this.offsetCount - 1 |
|||
} |
|||
} else if (direction === 'right') { |
|||
if ((ulWidth + distance) < liWidth) { |
|||
this.offsetCount = this.offsetCount + 1 |
|||
} |
|||
} |
|||
distance = this.offsetCount * 100 |
|||
menu.scrollTo({ |
|||
'left': distance, |
|||
'behavior': 'smooth' |
|||
}) |
|||
// console.log(distance) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.aui-navbar{ |
|||
background: linear-gradient(180deg, #0445EC, #1BACFF); |
|||
box-shadow: 0px 2px 8px 0px rgba(187, 187, 227, 0.35); |
|||
} |
|||
.menu-width{ |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
width: 70%; |
|||
} |
|||
.arrow{ |
|||
color: #fff; |
|||
cursor: pointer; |
|||
margin: 0 20px; |
|||
} |
|||
.scroll-ui { |
|||
display: flex; |
|||
height: 100%; |
|||
overflow-x: scroll; |
|||
overflow-y: hidden; |
|||
-webkit-overflow-scrolling : touch; |
|||
scrollbar-width: none; /* firefox */ |
|||
-ms-overflow-style: none; /* IE 10+ */ |
|||
} |
|||
.scroll-ui::-webkit-scrollbar { |
|||
display: none; /* Chrome Safari */ |
|||
} |
|||
</style> |
|||
|
|||
@ -1,66 +1,80 @@ |
|||
<template> |
|||
<el-submenu v-if="menu.children && menu.children.length >= 1" :index="menu.id" :popper-append-to-body="false"> |
|||
<template slot="title"> |
|||
<svg class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"><use :xlink:href="`#${menu.icon}`"></use></svg> |
|||
<span>{{ menu.name }}</span> |
|||
<span v-if="menu.redPoint" class="red-point"></span> |
|||
</template> |
|||
<sub-menu v-for="item in menu.children" :key="item.id" :menu="item"></sub-menu> |
|||
</el-submenu> |
|||
<el-menu-item v-else :index="menu.id" @click="gotoRouteHandle(menu.id)"> |
|||
<svg class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"><use :xlink:href="`#${menu.icon}`"></use></svg> |
|||
<span>{{ menu.name }}</span> |
|||
<span class="num" v-if="menu.num && menu.num > 0">{{menu.num}}</span> |
|||
</el-menu-item> |
|||
</template> |
|||
|
|||
<script> |
|||
import SubMenu from './main-sidebar-sub-menu' |
|||
export default { |
|||
name: 'sub-menu', |
|||
props: { |
|||
menu: { |
|||
type: Object, |
|||
required: true |
|||
} |
|||
}, |
|||
components: { |
|||
SubMenu |
|||
}, |
|||
methods: { |
|||
// 通过menuId与动态(菜单)路由进行匹配跳转至指定路由 |
|||
gotoRouteHandle (menuId) { |
|||
var route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === menuId)[0] |
|||
if (route) { |
|||
this.$router.push({ name: route.name }) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.red-point { |
|||
width: 5px; |
|||
height: 5px; |
|||
background: #FF4C52; |
|||
border-radius: 50%; |
|||
margin-left: 10px; |
|||
display: inline-block; |
|||
} |
|||
.num { |
|||
margin-left: 10px; |
|||
background: #FF4C52; |
|||
color: #ffffff; |
|||
min-width: 20px; |
|||
height: 20px; |
|||
display: inline-block; |
|||
line-height: 14px; |
|||
text-align: center; |
|||
border-radius: 5px; |
|||
font-size: 12px; |
|||
padding: 4px; |
|||
-webkit-box-sizing: border-box; |
|||
box-sizing: border-box; |
|||
} |
|||
</style> |
|||
<template> |
|||
<el-submenu v-if="menu.children && menu.children.length >= 1" :index="menu.id" :popper-append-to-body="false"> |
|||
<template slot="title"> |
|||
<svg class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"><use :xlink:href="`#${menu.icon}`"></use></svg> |
|||
<span>{{ menu.name }}</span> |
|||
<span v-if="menu.redPoint" class="red-point"></span> |
|||
</template> |
|||
<sub-menu v-for="item in menu.children" :key="item.id" :menu="item"></sub-menu> |
|||
</el-submenu> |
|||
<el-menu-item v-else :index="menu.id" @click="gotoRouteHandle(menu.id)"> |
|||
<svg class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"><use :xlink:href="`#${menu.icon}`"></use></svg> |
|||
<span>{{ menu.name }}</span> |
|||
<span class="num" v-if="menu.num && menu.num > 0">{{menu.num}}</span> |
|||
</el-menu-item> |
|||
</template> |
|||
|
|||
<script> |
|||
import SubMenu from './main-sidebar-sub-menu' |
|||
export default { |
|||
name: 'sub-menu', |
|||
props: { |
|||
menu: { |
|||
type: Object, |
|||
required: true |
|||
} |
|||
}, |
|||
components: { |
|||
SubMenu |
|||
}, |
|||
methods: { |
|||
// 通过menuId与动态(菜单)路由进行匹配跳转至指定路由 |
|||
gotoRouteHandle (menuId) { |
|||
var route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === menuId)[0] |
|||
if (route) { |
|||
this.$router.push({ name: route.name }) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.red-point { |
|||
width: 5px; |
|||
height: 5px; |
|||
background: #FF4C52; |
|||
border-radius: 50%; |
|||
margin-left: 10px; |
|||
display: inline-block; |
|||
} |
|||
.num { |
|||
margin-left: 10px; |
|||
background: #FF4C52; |
|||
color: #ffffff; |
|||
min-width: 20px; |
|||
height: 20px; |
|||
display: inline-block; |
|||
line-height: 14px; |
|||
text-align: center; |
|||
border-radius: 5px; |
|||
font-size: 12px; |
|||
padding: 4px; |
|||
-webkit-box-sizing: border-box; |
|||
box-sizing: border-box; |
|||
} |
|||
// .el-menu{ |
|||
// background: linear-gradient(90deg, #1A5AFD, #26C4FF) !important; |
|||
// } |
|||
// .aui-sidebar .aui-sidebar__inner .el-menu .el-submenu .el-menu{ |
|||
// background: red !important; |
|||
// } |
|||
// .el-menu.el-menu--inline .el-menu-item{ |
|||
// background-color: #191A2B !important; |
|||
// } |
|||
.el-menu-item.is-active { |
|||
background: linear-gradient(90deg, #1A5AFD, #26C4FF) !important; |
|||
// font-size: 14px; |
|||
// font-weight: bold; |
|||
} |
|||
</style> |
|||
|
|||
@ -1,156 +1,179 @@ |
|||
<template> |
|||
<aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]"> |
|||
<div class="aui-sidebar__inner"> |
|||
<el-menu :default-active="$store.state.sidebarMenuActiveName" |
|||
:collapse="$store.state.sidebarFold" |
|||
:unique-opened="true" |
|||
:collapseTransition="false" |
|||
class="aui-sidebar__menu"> |
|||
<sub-menu v-for="menu in routeList" |
|||
:key="menu.id" |
|||
:menu="menu" /> |
|||
</el-menu> |
|||
</div> |
|||
</aside> |
|||
</template> |
|||
|
|||
<script> |
|||
import SubMenu from './main-sidebar-sub-menu' |
|||
import SockJS from 'sockjs-client' |
|||
import Stomp from 'stompjs' |
|||
import Cookies from 'js-cookie' |
|||
|
|||
export default { |
|||
data () { |
|||
return { |
|||
pid: '', |
|||
parentPid: '', |
|||
socket: '', |
|||
stompClient: '', |
|||
routeList: [] |
|||
} |
|||
}, |
|||
components: { |
|||
SubMenu |
|||
}, |
|||
created () { |
|||
this.$store.state.sidebarMenuList = [...window.SITE_CONFIG['menuList']] |
|||
this.routeList = JSON.parse(JSON.stringify(window.SITE_CONFIG['menuList'])) |
|||
this.initWebSocket() |
|||
}, |
|||
methods: { |
|||
filterRoute (routeList, selectRoute) { |
|||
routeList.forEach((item, index) => { |
|||
if (item.children && item.children.length >= 1) { |
|||
this.filterRoute(item.children, selectRoute) |
|||
} else { |
|||
if (item.menuCode === selectRoute.menuCode) { |
|||
if (selectRoute.num !== 0) { |
|||
item.num = selectRoute.num |
|||
this.pid = `true${item.pid}` |
|||
} else { |
|||
item.num = selectRoute.num |
|||
this.pid = `false${item.pid}` |
|||
} |
|||
} |
|||
} |
|||
}) |
|||
routeList.forEach(item => { |
|||
if (item.children && item.children.length >= 1) { |
|||
if (this.pid.indexOf('true') > -1) { |
|||
if (item.id === this.pid.substring(4)) { |
|||
item.redPoint = true |
|||
if (parseInt(item.pid) !== 0) { |
|||
this.parentPid = `true${item.pid}` |
|||
} |
|||
} |
|||
} else if (this.pid.indexOf('false') > -1) { |
|||
if (item.id === this.pid.substring(5)) { |
|||
item.redPoint = false |
|||
if (parseInt(item.pid) !== 0) { |
|||
this.parentPid = `false${item.pid}` |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}) |
|||
routeList.forEach(item => { |
|||
if (this.parentPid.indexOf('true') > -1) { |
|||
if (item.id === this.parentPid.substring(4)) { |
|||
item.redPoint = true |
|||
} |
|||
} else if (this.parentPid.indexOf('false') > -1) { |
|||
if (item.id === this.parentPid.substring(5)) { |
|||
item.redPoint = false |
|||
} |
|||
} |
|||
}) |
|||
return routeList |
|||
}, |
|||
initWebSocket () { |
|||
this.connection() |
|||
// 断开重连机制,尝试发送消息,捕获异常发生时重连 |
|||
this.timer = setInterval(() => { |
|||
try { |
|||
this.stompClient.send('alive') |
|||
} catch (err) { |
|||
console.log('断线了: ' + err) |
|||
this.connection() |
|||
} |
|||
}, 5000) |
|||
}, |
|||
connection () { |
|||
// 建立连接对象 |
|||
let socketUrl = window.SITE_CONFIG['apiURL'] + '/ws/menuNoticeEndpoint' |
|||
this.socket = new SockJS(socketUrl)// 连接服务端提供的通信接口,连接以后才可以订阅广播消息和个人消息,注意这里用的是http而不是原生WebSocket的ws |
|||
|
|||
// 获取STOMP子协议的客户端对象 |
|||
this.stompClient = Stomp.over(this.socket) |
|||
|
|||
// 定义客户端的认证信息,按需求配置 |
|||
let token = Cookies.get('token') || '' |
|||
console.log('token: ' + token) |
|||
let headers = { |
|||
'token': token |
|||
} |
|||
// 向服务器发起websocket连接 |
|||
this.stompClient.connect(headers, this.onConnected, this.onFailed) |
|||
}, |
|||
onConnected: function (frame) { |
|||
console.log('Connected: ' + frame) |
|||
let topic = '/userMenuNotice/menuNoticeQueue/menu/getResponse' |
|||
this.stompClient.subscribe(topic, this.onSubscribe) |
|||
if (window.sessionStorage.getItem('routeList')) { |
|||
this.routeList = JSON.parse(window.sessionStorage.getItem('routeList')) |
|||
} |
|||
// 获取党群议事菜单消息 |
|||
this.$http.get('/events/epdcevents/initMenuNotice').then(({ data: res }) => {}).catch(() => { |
|||
}) |
|||
}, |
|||
onSubscribe (value) { |
|||
this.pid = '' |
|||
this.parentPid = '' |
|||
const selectRoute = JSON.parse(value.body) |
|||
const list = JSON.parse(JSON.stringify(this.$store.state.sidebarMenuList)) |
|||
if (Object.prototype.toString.call(selectRoute) === '[object Array]') { |
|||
selectRoute.forEach(item => { |
|||
this.$store.state.sidebarMenuList = this.filterRoute(list, item) |
|||
}) |
|||
} else if (Object.prototype.toString.call(selectRoute) === '[object Object]') { |
|||
this.$store.state.sidebarMenuList = this.filterRoute(list, selectRoute) |
|||
} |
|||
this.routeList = JSON.parse(JSON.stringify(this.$store.state.sidebarMenuList)) |
|||
window.sessionStorage.setItem('routeList', JSON.stringify(this.$store.state.sidebarMenuList)) |
|||
}, |
|||
onFailed (frame) { |
|||
console.log('Failed: ' + frame) |
|||
}, |
|||
disconnect () { |
|||
if (this.stompClient != null) { |
|||
this.stompClient.disconnect() |
|||
console.log('Disconnected') |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<template> |
|||
<aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]"> |
|||
<div class="aui-sidebar__inner"> |
|||
<el-menu :default-active="$store.state.sidebarMenuActiveName" |
|||
:collapse="$store.state.sidebarFold" |
|||
:unique-opened="true" |
|||
:collapseTransition="false" |
|||
class="aui-sidebar__menu" |
|||
background-color="#2D2E42" |
|||
text-color="#fff" |
|||
active-text-color="#fff"> |
|||
<sub-menu v-for="menu in routeList_C" |
|||
:key="menu.id" |
|||
:menu="menu" /> |
|||
</el-menu> |
|||
</div> |
|||
</aside> |
|||
</template> |
|||
|
|||
<script> |
|||
import SubMenu from './main-sidebar-sub-menu' |
|||
import SockJS from 'sockjs-client' |
|||
import Stomp from 'stompjs' |
|||
import Cookies from 'js-cookie' |
|||
|
|||
export default { |
|||
data () { |
|||
return { |
|||
pid: '', |
|||
parentPid: '', |
|||
socket: '', |
|||
stompClient: '', |
|||
routeList: [] |
|||
} |
|||
}, |
|||
props: { |
|||
routeList_C: { |
|||
type: Array, |
|||
required: true |
|||
} |
|||
}, |
|||
components: { |
|||
SubMenu |
|||
}, |
|||
created () { |
|||
this.$store.state.sidebarMenuList = [...window.SITE_CONFIG['menuList']] |
|||
this.routeList = JSON.parse(JSON.stringify(window.SITE_CONFIG['menuList'])) |
|||
this.$emit('routeList', JSON.stringify(this.routeList)) |
|||
this.initWebSocket() |
|||
}, |
|||
methods: { |
|||
filterRoute (routeList, selectRoute) { |
|||
routeList.forEach((item, index) => { |
|||
if (item.children && item.children.length >= 1) { |
|||
this.filterRoute(item.children, selectRoute) |
|||
} else { |
|||
if (item.menuCode === selectRoute.menuCode) { |
|||
if (selectRoute.num !== 0) { |
|||
item.num = selectRoute.num |
|||
this.pid = `true${item.pid}` |
|||
} else { |
|||
item.num = selectRoute.num |
|||
this.pid = `false${item.pid}` |
|||
} |
|||
} |
|||
} |
|||
}) |
|||
routeList.forEach(item => { |
|||
if (item.children && item.children.length >= 1) { |
|||
if (this.pid.indexOf('true') > -1) { |
|||
if (item.id === this.pid.substring(4)) { |
|||
item.redPoint = true |
|||
if (parseInt(item.pid) !== 0) { |
|||
this.parentPid = `true${item.pid}` |
|||
} |
|||
} |
|||
} else if (this.pid.indexOf('false') > -1) { |
|||
if (item.id === this.pid.substring(5)) { |
|||
item.redPoint = false |
|||
if (parseInt(item.pid) !== 0) { |
|||
this.parentPid = `false${item.pid}` |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}) |
|||
routeList.forEach(item => { |
|||
if (this.parentPid.indexOf('true') > -1) { |
|||
if (item.id === this.parentPid.substring(4)) { |
|||
item.redPoint = true |
|||
} |
|||
} else if (this.parentPid.indexOf('false') > -1) { |
|||
if (item.id === this.parentPid.substring(5)) { |
|||
item.redPoint = false |
|||
} |
|||
} |
|||
}) |
|||
return routeList |
|||
}, |
|||
initWebSocket () { |
|||
this.connection() |
|||
// 断开重连机制,尝试发送消息,捕获异常发生时重连 |
|||
this.timer = setInterval(() => { |
|||
try { |
|||
this.stompClient.send('alive') |
|||
} catch (err) { |
|||
console.log('断线了: ' + err) |
|||
this.connection() |
|||
} |
|||
}, 5000) |
|||
}, |
|||
connection () { |
|||
// 建立连接对象 |
|||
let socketUrl = window.SITE_CONFIG['apiURL'] + '/ws/menuNoticeEndpoint' |
|||
this.socket = new SockJS(socketUrl)// 连接服务端提供的通信接口,连接以后才可以订阅广播消息和个人消息,注意这里用的是http而不是原生WebSocket的ws |
|||
|
|||
// 获取STOMP子协议的客户端对象 |
|||
this.stompClient = Stomp.over(this.socket) |
|||
|
|||
// 定义客户端的认证信息,按需求配置 |
|||
let token = Cookies.get('token') || '' |
|||
console.log('token: ' + token) |
|||
let headers = { |
|||
'token': token |
|||
} |
|||
// 向服务器发起websocket连接 |
|||
this.stompClient.connect(headers, this.onConnected, this.onFailed) |
|||
}, |
|||
onConnected: function (frame) { |
|||
console.log('Connected: ' + frame) |
|||
let topic = '/userMenuNotice/menuNoticeQueue/menu/getResponse' |
|||
this.stompClient.subscribe(topic, this.onSubscribe) |
|||
if (window.sessionStorage.getItem('routeList')) { |
|||
this.routeList = JSON.parse(window.sessionStorage.getItem('routeList')) |
|||
} |
|||
// 获取党群议事菜单消息 |
|||
this.$http.get('/events/epdcevents/initMenuNotice').then(({ data: res }) => {}).catch(() => { |
|||
}) |
|||
}, |
|||
onSubscribe (value) { |
|||
this.pid = '' |
|||
this.parentPid = '' |
|||
const selectRoute = JSON.parse(value.body) |
|||
const list = JSON.parse(JSON.stringify(this.$store.state.sidebarMenuList)) |
|||
if (Object.prototype.toString.call(selectRoute) === '[object Array]') { |
|||
selectRoute.forEach(item => { |
|||
this.$store.state.sidebarMenuList = this.filterRoute(list, item) |
|||
}) |
|||
} else if (Object.prototype.toString.call(selectRoute) === '[object Object]') { |
|||
this.$store.state.sidebarMenuList = this.filterRoute(list, selectRoute) |
|||
} |
|||
this.routeList = JSON.parse(JSON.stringify(this.$store.state.sidebarMenuList)) |
|||
window.sessionStorage.setItem('routeList', JSON.stringify(this.$store.state.sidebarMenuList)) |
|||
}, |
|||
onFailed (frame) { |
|||
console.log('Failed: ' + frame) |
|||
}, |
|||
disconnect () { |
|||
if (this.stompClient != null) { |
|||
this.stompClient.disconnect() |
|||
console.log('Disconnected') |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
// .aui-sidebar__menu{ |
|||
// background: #2D2E42; |
|||
// } |
|||
.is-active { |
|||
background: linear-gradient(90deg, #1A5AFD, #26C4FF) !important; |
|||
// font-size: 14px; |
|||
// font-weight: bold; |
|||
} |
|||
.aui-sidebar__inner{ |
|||
background: #2D2E42; |
|||
} |
|||
</style> |
|||
|
|||
@ -1,106 +1,126 @@ |
|||
<template> |
|||
<div v-loading.fullscreen.lock="loading" :element-loading-text="$t('loading')" :class="['aui-wrapper', { 'aui-sidebar--fold': $store.state.sidebarFold }]"> |
|||
<template v-if="!loading"> |
|||
<main-navbar /> |
|||
<main-sidebar /> |
|||
<div class="aui-content__wrapper"> |
|||
<main-content v-if="!$store.state.contentIsNeedRefresh" /> |
|||
</div> |
|||
<main-theme-tools /> |
|||
</template> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import MainNavbar from './main-navbar' |
|||
import MainSidebar from './main-sidebar' |
|||
import MainContent from './main-content' |
|||
import MainThemeTools from './main-theme-tools' |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
provide () { |
|||
return { |
|||
// 刷新 |
|||
refresh () { |
|||
this.$store.state.contentIsNeedRefresh = true |
|||
this.$nextTick(() => { |
|||
this.$store.state.contentIsNeedRefresh = false |
|||
}) |
|||
} |
|||
} |
|||
}, |
|||
data () { |
|||
return { |
|||
loading: true |
|||
} |
|||
}, |
|||
components: { |
|||
MainNavbar, |
|||
MainSidebar, |
|||
MainContent, |
|||
MainThemeTools |
|||
}, |
|||
watch: { |
|||
$route: 'routeHandle' |
|||
}, |
|||
created () { |
|||
this.windowResizeHandle() |
|||
this.routeHandle(this.$route) |
|||
Promise.all([ |
|||
this.getUserInfo(), |
|||
this.getPermissions() |
|||
]).then(() => { |
|||
this.loading = false |
|||
}) |
|||
}, |
|||
methods: { |
|||
// 窗口改变大小 |
|||
windowResizeHandle () { |
|||
this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false |
|||
window.addEventListener('resize', debounce(() => { |
|||
this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false |
|||
}, 150)) |
|||
}, |
|||
// 路由, 监听 |
|||
routeHandle (route) { |
|||
if (!route.meta.isTab) { |
|||
return false |
|||
} |
|||
var tab = this.$store.state.contentTabs.filter(item => item.name === route.name)[0] |
|||
if (!tab) { |
|||
tab = { |
|||
...window.SITE_CONFIG['contentTabDefault'], |
|||
...route.meta, |
|||
'name': route.name, |
|||
'params': { ...route.params }, |
|||
'query': { ...route.query } |
|||
} |
|||
this.$store.state.contentTabs = this.$store.state.contentTabs.concat(tab) |
|||
} |
|||
this.$store.state.sidebarMenuActiveName = tab.menuId |
|||
this.$store.state.contentTabsActiveName = tab.name |
|||
}, |
|||
// 获取当前管理员信息 |
|||
getUserInfo () { |
|||
return this.$http.get('/sys/user/info').then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$store.state.user.id = res.data.id |
|||
this.$store.state.user.name = res.data.username |
|||
this.$store.state.user.realName = res.data.realName |
|||
this.$store.state.user.superAdmin = res.data.superAdmin |
|||
}).catch(() => {}) |
|||
}, |
|||
// 获取权限 |
|||
getPermissions () { |
|||
return this.$http.get('/sys/menu/permissions').then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
window.SITE_CONFIG['permissions'] = res.data |
|||
}).catch(() => {}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<template> |
|||
<div v-loading.fullscreen.lock="loading" :element-loading-text="$t('loading')" :class="['aui-wrapper', { 'aui-sidebar--fold': $store.state.sidebarFold }]"> |
|||
<template v-if="!loading"> |
|||
<div v-show="isGoProgect==='false'"> |
|||
<main-index v-on:mainIndexByValue="mainIndexByValue" /> |
|||
</div> |
|||
<div v-show="isGoProgect==='true'"> |
|||
<main-navbar :routeList_F = routeList_F v-on:routeList_child="routeList_child" /> |
|||
<main-sidebar :routeList_C = routeList_C v-on:routeList="routeList" /> |
|||
<div class="aui-content__wrapper"> |
|||
<main-content v-if="!$store.state.contentIsNeedRefresh" /> |
|||
</div> |
|||
<main-theme-tools /> |
|||
</div> |
|||
</template> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import MainIndex from './main-index' |
|||
import MainNavbar from './main-navbar' |
|||
import MainSidebar from './main-sidebar' |
|||
import MainContent from './main-content' |
|||
import MainThemeTools from './main-theme-tools' |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
provide () { |
|||
return { |
|||
// 刷新 |
|||
refresh () { |
|||
this.$store.state.contentIsNeedRefresh = true |
|||
this.$nextTick(() => { |
|||
this.$store.state.contentIsNeedRefresh = false |
|||
}) |
|||
} |
|||
} |
|||
}, |
|||
data () { |
|||
return { |
|||
loading: true, |
|||
isGoProgect: window.localStorage.getItem('isGoProgect'), |
|||
routeList_F: [], |
|||
routeList_C: [] |
|||
} |
|||
}, |
|||
components: { |
|||
MainIndex, |
|||
MainNavbar, |
|||
MainSidebar, |
|||
MainContent, |
|||
MainThemeTools |
|||
}, |
|||
watch: { |
|||
$route: 'routeHandle' |
|||
}, |
|||
created () { |
|||
this.windowResizeHandle() |
|||
this.routeHandle(this.$route) |
|||
Promise.all([ |
|||
this.getUserInfo(), |
|||
this.getPermissions() |
|||
]).then(() => { |
|||
this.loading = false |
|||
}) |
|||
}, |
|||
methods: { |
|||
routeList (e) { |
|||
this.routeList_F = JSON.parse(e) |
|||
}, |
|||
routeList_child (e) { |
|||
this.routeList_C = JSON.parse(e) |
|||
}, |
|||
// 窗口改变大小 |
|||
windowResizeHandle () { |
|||
this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false |
|||
window.addEventListener('resize', debounce(() => { |
|||
this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false |
|||
}, 150)) |
|||
}, |
|||
// 路由, 监听 |
|||
routeHandle (route) { |
|||
if (!route.meta.isTab) { |
|||
return false |
|||
} |
|||
var tab = this.$store.state.contentTabs.filter(item => item.name === route.name)[0] |
|||
if (!tab) { |
|||
tab = { |
|||
...window.SITE_CONFIG['contentTabDefault'], |
|||
...route.meta, |
|||
'name': route.name, |
|||
'params': { ...route.params }, |
|||
'query': { ...route.query } |
|||
} |
|||
this.$store.state.contentTabs = this.$store.state.contentTabs.concat(tab) |
|||
} |
|||
this.$store.state.sidebarMenuActiveName = tab.menuId |
|||
this.$store.state.contentTabsActiveName = tab.name |
|||
}, |
|||
// 获取当前管理员信息 |
|||
getUserInfo () { |
|||
return this.$http.get('/sys/user/info').then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$store.state.user.id = res.data.id |
|||
this.$store.state.user.name = res.data.username |
|||
this.$store.state.user.realName = res.data.realName |
|||
this.$store.state.user.superAdmin = res.data.superAdmin |
|||
}).catch(() => {}) |
|||
}, |
|||
// 获取权限 |
|||
getPermissions () { |
|||
return this.$http.get('/sys/menu/permissions').then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
window.SITE_CONFIG['permissions'] = res.data |
|||
}).catch(() => {}) |
|||
}, |
|||
mainIndexByValue (e) { |
|||
window.localStorage.setItem('isGoProgect', e) |
|||
this.isGoProgect = window.localStorage.getItem('isGoProgect') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
@ -1,193 +1,193 @@ |
|||
<template> |
|||
<el-card shadow="never" class="aui-card--fill"> |
|||
<div class="mod-news__weekrecordinfo}"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()"> |
|||
<!-- <el-form-item> |
|||
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input> |
|||
</el-form-item> --> |
|||
<div> |
|||
<el-form-item label="周报内容" prop="content" label-width="90px"> |
|||
<el-input v-model="dataForm.content" placeholder="周报内容" clearable maxlength="20" @keyup.native="btKeyUpContent" style="width:200px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="发布人" prop="nickName" label-width="90px"> |
|||
<el-input v-model="dataForm.nickName" placeholder="发布人" clearable maxlength="10" @keyup.native="btKeyUpNickName" style="width:200px"></el-input> |
|||
</el-form-item> |
|||
</div> |
|||
<el-form-item label="所属机构" label-width="90px"> |
|||
<el-cascader |
|||
v-model="ids" |
|||
:options="options" |
|||
:props="{ checkStrictly: true }" |
|||
clearable |
|||
> |
|||
</el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="发布时间" prop="startTime" label-width="90px"> |
|||
<el-date-picker v-model="dataForm.startTime" |
|||
type="date" |
|||
:picker-options="pickerBeginDateBefore" |
|||
value-format="yyyy-MM-dd" |
|||
format="yyyy-MM-dd" |
|||
placeholder="选择日期时间" |
|||
style="width:200px" @change="changeTime"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="至" prop="endTime"> |
|||
<el-date-picker v-model="dataForm.endTime" |
|||
type="date" |
|||
:picker-options="pickerBeginDateAfter" |
|||
value-format="yyyy-MM-dd" |
|||
format="yyyy-MM-dd" |
|||
placeholder="选择日期时间" |
|||
style="width:200px" @change="changeTime"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
<!-- <el-form-item> |
|||
<el-button v-if="$hasPermission('news:weekrecordinfo:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
|||
</el-form-item> --> |
|||
<el-form-item> |
|||
<el-button type="primary" @click="addHandle('','0','1')">{{ $t('add') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="success" @click="exportHandle()">{{ $t('export') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('news:weekrecordinfo:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
|||
<el-table-column label="序号" header-align="center" align="center" width="50px"> |
|||
<template slot-scope="scope"> |
|||
{{scope.$index+1}} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="nickName" label="发布人" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
|||
<el-table-column prop="deptName" label="部门名称" header-align="center" align="center" width="120" show-overflow-tooltip></el-table-column> |
|||
<el-table-column prop="startDate" label="统计开始时间" header-align="center" align="center" width="180" :formatter="dateFormat"></el-table-column> |
|||
<el-table-column prop="endDate" label="统计结束时间" header-align="center" align="center" width="180" :formatter="dateFormat"></el-table-column> |
|||
<el-table-column prop="content" label="内容" header-align="center" align="left" min-width="400" show-overflow-tooltip></el-table-column> |
|||
<el-table-column prop="state" label="周报状态" header-align="center" align="center" width="120"></el-table-column> |
|||
<el-table-column prop="createdTime" label="发布时间" header-align="center" align="center" width="180"></el-table-column> |
|||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button :disabled="scope.row.isUpdate == '0'" type="text" size="small" @click="addHandle(scope.row.id,'0','0')">{{ $t('update') }}</el-button> |
|||
<el-button type="text" size="small" @click="addHandle(scope.row.id,'1','0')">{{ '查看' }}</el-button> |
|||
<el-button v-if="$hasPermission('news:weekrecordinfo:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> |
|||
<el-button v-if="$hasPermission('news:weekrecordinfo:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"> |
|||
</el-pagination> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './weekrecordinfo-add-or-update' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: '/workRecord/weekrecordinfo/page', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/workRecord/weekrecordinfo', |
|||
deleteIsBatch: true, |
|||
exportURL: '/workRecord/weekrecordinfo/export' |
|||
}, |
|||
dataForm: { |
|||
id: '', |
|||
content: '', |
|||
nickName: '', |
|||
startTime: '', |
|||
endTime: '' |
|||
}, |
|||
pickerBeginDateBefore: { |
|||
disabledDate: (time) => { |
|||
let beginDateVal = this.dataForm.endTime |
|||
if (beginDateVal) { |
|||
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime() |
|||
} |
|||
} |
|||
}, |
|||
pickerBeginDateAfter: { |
|||
disabledDate: (time) => { |
|||
let EndDateVal = this.dataForm.startTime |
|||
if (EndDateVal) { |
|||
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime() |
|||
} |
|||
} |
|||
}, |
|||
ids: [], |
|||
options: [] |
|||
} |
|||
}, |
|||
created: function () { |
|||
this.getDataList() |
|||
this.getOptions() |
|||
}, |
|||
components: { |
|||
AddOrUpdate |
|||
}, |
|||
watch: { |
|||
ids: function (val) { |
|||
if (val.length === 0) { |
|||
this.dataForm.deptId = '' |
|||
} else { |
|||
this.dataForm.deptId = this.ids[val.length - 1] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
dateFormat (row, column) { |
|||
let date = row[column.property] |
|||
return date.length >= 10 ? date.substring(0, 10) : date |
|||
}, |
|||
addHandle (id, disabled, isAdd) { |
|||
this.$parent.selectComponent = 'WeekrecordinfoDetail' |
|||
this.$router.push({ path: '/workRecord-weekrecordinforoute', query: { id: id, disabled: disabled, isAdd: isAdd } }) |
|||
}, |
|||
getOptions () { |
|||
this.$http |
|||
.get(`/sys/user/deptOptions/getByLoginUser`) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.options = res.data.options |
|||
}) |
|||
.catch(() => {}) |
|||
}, |
|||
btKeyUpContent (e) { |
|||
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_+=<>?:"{}|·~!@#¥%……&*()——+={}|《》?:“”【】、;‘’,。、]/g, '') |
|||
this.dataForm.content = e.target.value |
|||
}, |
|||
btKeyUpNickName (e) { |
|||
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_+=<>?:"{}|·~!@#¥%……&*()——+={}|《》?:“”【】、;‘’,。、]/g, '') |
|||
this.dataForm.nickName = e.target.value |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-tooltip__popper { |
|||
max-width: 80%; |
|||
color: #353434 !important; |
|||
background:#e6eaebf3 !important; |
|||
word-break:break-all; |
|||
} |
|||
</style> |
|||
<template> |
|||
<el-card shadow="never" class="aui-card--fill"> |
|||
<div class="mod-news__weekrecordinfo}"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()"> |
|||
<!-- <el-form-item> |
|||
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input> |
|||
</el-form-item> --> |
|||
<div> |
|||
<el-form-item label="周报内容" prop="content" label-width="90px"> |
|||
<el-input v-model="dataForm.content" placeholder="周报内容" clearable maxlength="20" @keyup.native="btKeyUpContent" style="width:200px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="发布人" prop="nickName" label-width="90px"> |
|||
<el-input v-model="dataForm.nickName" placeholder="发布人" clearable maxlength="10" @keyup.native="btKeyUpNickName" style="width:200px"></el-input> |
|||
</el-form-item> |
|||
</div> |
|||
<el-form-item label="所属机构" label-width="90px"> |
|||
<el-cascader |
|||
v-model="ids" |
|||
:options="options" |
|||
:props="{ checkStrictly: true }" |
|||
clearable |
|||
> |
|||
</el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="发布时间" prop="startTime" label-width="90px"> |
|||
<el-date-picker v-model="dataForm.startTime" |
|||
type="date" |
|||
:picker-options="pickerBeginDateBefore" |
|||
value-format="yyyy-MM-dd" |
|||
format="yyyy-MM-dd" |
|||
placeholder="选择日期时间" |
|||
style="width:200px" @change="changeTime"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="至" prop="endTime"> |
|||
<el-date-picker v-model="dataForm.endTime" |
|||
type="date" |
|||
:picker-options="pickerBeginDateAfter" |
|||
value-format="yyyy-MM-dd" |
|||
format="yyyy-MM-dd" |
|||
placeholder="选择日期时间" |
|||
style="width:200px" @change="changeTime"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
<!-- <el-form-item> |
|||
<el-button v-if="$hasPermission('news:weekrecordinfo:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
|||
</el-form-item> --> |
|||
<el-form-item> |
|||
<el-button type="primary" @click="addHandle('','0','1')">{{ $t('add') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="success" @click="exportHandle()">{{ $t('export') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('news:weekrecordinfo:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
|||
<el-table-column label="序号" header-align="center" align="center" width="50px"> |
|||
<template slot-scope="scope"> |
|||
{{scope.$index+1}} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="nickName" label="发布人" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
|||
<el-table-column prop="deptName" label="部门名称" header-align="center" align="center" width="120" show-overflow-tooltip></el-table-column> |
|||
<el-table-column prop="startDate" label="统计开始时间" header-align="center" align="center" width="180" :formatter="dateFormat"></el-table-column> |
|||
<el-table-column prop="endDate" label="统计结束时间" header-align="center" align="center" width="180" :formatter="dateFormat"></el-table-column> |
|||
<el-table-column prop="content" label="内容" header-align="center" align="left" min-width="400" show-overflow-tooltip></el-table-column> |
|||
<el-table-column prop="state" label="周报状态" header-align="center" align="center" width="120"></el-table-column> |
|||
<el-table-column prop="createdTime" label="发布时间" header-align="center" align="center" width="180"></el-table-column> |
|||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button :disabled="scope.row.isUpdate == '0'" type="text" size="small" @click="addHandle(scope.row.id,'0','0')">{{ $t('update') }}</el-button> |
|||
<el-button type="text" size="small" @click="addHandle(scope.row.id,'1','0')">{{ '查看' }}</el-button> |
|||
<el-button v-if="$hasPermission('news:weekrecordinfo:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> |
|||
<el-button v-if="$hasPermission('news:weekrecordinfo:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"> |
|||
</el-pagination> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './weekrecordinfo-add-or-update' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: '/workRecord/weekrecordinfo/page', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/workRecord/weekrecordinfo', |
|||
deleteIsBatch: true, |
|||
exportURL: '/workRecord/weekrecordinfo/export' |
|||
}, |
|||
dataForm: { |
|||
id: '', |
|||
content: '', |
|||
nickName: '', |
|||
startTime: '', |
|||
endTime: '' |
|||
}, |
|||
pickerBeginDateBefore: { |
|||
disabledDate: (time) => { |
|||
let beginDateVal = this.dataForm.endTime |
|||
if (beginDateVal) { |
|||
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime() |
|||
} |
|||
} |
|||
}, |
|||
pickerBeginDateAfter: { |
|||
disabledDate: (time) => { |
|||
let EndDateVal = this.dataForm.startTime |
|||
if (EndDateVal) { |
|||
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime() |
|||
} |
|||
} |
|||
}, |
|||
ids: [], |
|||
options: [] |
|||
} |
|||
}, |
|||
created: function () { |
|||
this.getDataList() |
|||
this.getOptions() |
|||
}, |
|||
components: { |
|||
AddOrUpdate |
|||
}, |
|||
watch: { |
|||
ids: function (val) { |
|||
if (val.length === 0) { |
|||
this.dataForm.deptId = '' |
|||
} else { |
|||
this.dataForm.deptId = this.ids[val.length - 1] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
dateFormat (row, column) { |
|||
let date = row[column.property] |
|||
return date.length >= 10 ? date.substring(0, 10) : date |
|||
}, |
|||
addHandle (id, disabled, isAdd) { |
|||
this.$parent.selectComponent = 'WeekrecordinfoDetail' |
|||
this.$router.push({ path: '/workRecord-weekrecordinforoute', query: { id: id, disabled: disabled, isAdd: isAdd } }) |
|||
}, |
|||
getOptions () { |
|||
this.$http |
|||
.get(`/sys/user/deptOptions/getByLoginUser`) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.options = res.data.options |
|||
}) |
|||
.catch(() => {}) |
|||
}, |
|||
btKeyUpContent (e) { |
|||
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_+=<>?:"{}|·~!@#¥%……&*()——+={}|《》?:“”【】、;‘’,。、]/g, '') |
|||
this.dataForm.content = e.target.value |
|||
}, |
|||
btKeyUpNickName (e) { |
|||
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_+=<>?:"{}|·~!@#¥%……&*()——+={}|《》?:“”【】、;‘’,。、]/g, '') |
|||
this.dataForm.nickName = e.target.value |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-tooltip__popper { |
|||
max-width: 80%; |
|||
color: #353434 !important; |
|||
background:#e6eaebf3 !important; |
|||
word-break:break-all; |
|||
} |
|||
</style> |
|||
|
|||
@ -1,173 +1,174 @@ |
|||
<template> |
|||
<div class="aui-wrapper aui-page__login"> |
|||
<div class="aui-content__wrapper"> |
|||
<main class="aui-content"> |
|||
<div class="login-header"> |
|||
<h2 class="login-brand" |
|||
style="text-transform: none;color:red;">{{ $t('brand.lg') }}</h2> |
|||
</div> |
|||
<div class="login-body"> |
|||
<h3 class="login-title">{{ $t('login.title') }}</h3> |
|||
<el-form :model="dataForm" |
|||
:rules="dataRule" |
|||
ref="dataForm" |
|||
@keyup.enter.native="dataFormSubmitHandle()" |
|||
status-icon> |
|||
<!-- <el-form-item> |
|||
<el-select v-model="$i18n.locale" class="w-percent-100"> |
|||
<el-option v-for="(val, key) in i18nMessages" :key="key" :label="val._lang" :value="key"></el-option> |
|||
</el-select> |
|||
</el-form-item> --> |
|||
<el-form-item prop="username"> |
|||
<el-input v-model="dataForm.username" |
|||
:placeholder="$t('login.username')"> |
|||
<span slot="prefix" |
|||
class="el-input__icon"> |
|||
<svg class="icon-svg" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-user"></use> |
|||
</svg> |
|||
</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item prop="password"> |
|||
<el-input v-model="dataForm.password" |
|||
type="password" |
|||
:placeholder="$t('login.password')"> |
|||
<span slot="prefix" |
|||
class="el-input__icon"> |
|||
<svg class="icon-svg" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-lock"></use> |
|||
</svg> |
|||
</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item prop="captcha"> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="14"> |
|||
<el-input v-model="dataForm.captcha" |
|||
:placeholder="$t('login.captcha')"> |
|||
<span slot="prefix" |
|||
class="el-input__icon"> |
|||
<svg class="icon-svg" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-safetycertificate"></use> |
|||
</svg> |
|||
</span> |
|||
</el-input> |
|||
</el-col> |
|||
<el-col :span="10" |
|||
class="login-captcha"> |
|||
<img :src="captchaPath" |
|||
@click="getCaptcha()"> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" |
|||
@click="dataFormSubmitHandle()" |
|||
class="w-percent-100">{{ $t('login.title') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</div> |
|||
<div v-if="isHidden"> |
|||
<p><a href="https://dl.google.com/tag/s/appguid%3D%7B8A69D345-D564-463C-AFF1-A69D9E530F96%7D%26iid%3D%7B0EBBEC46-30F5-946B-A54E-5628DFF12914%7D%26lang%3Den%26browser%3D4%26usagestats%3D1%26appname%3DGoogle%2520Chrome%26needsadmin%3Dprefers%26ap%3Dx64-stable-statsdef_1%26installdataindex%3Ddefaultbrowser/update2/installers/ChromeSetup.exe" target="_blank">点击此处下载谷歌浏览器</a></p> |
|||
</div> |
|||
<!-- <div class="login-footer"> |
|||
<p><a href="http://www.elinkit.com.cn/" |
|||
target="_blank">{{ $t('login.copyright') }}</a>2020 © www.elinkit.com.cn</p> |
|||
</div> --> |
|||
</main> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Cookies from 'js-cookie' |
|||
import debounce from 'lodash/debounce' |
|||
import { messages } from '@/i18n' |
|||
import { getUUID } from '@/utils' |
|||
export default { |
|||
data () { |
|||
return { |
|||
i18nMessages: messages, |
|||
captchaPath: '', |
|||
isHidden: false, |
|||
dataForm: { |
|||
username: '', |
|||
password: '', |
|||
uuid: '', |
|||
captcha: '' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
username: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
password: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
captcha: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
created () { |
|||
this.getCaptcha() |
|||
this.myBrowser() |
|||
}, |
|||
methods: { |
|||
myBrowser () { |
|||
var userAgent = navigator.userAgent |
|||
if (userAgent.indexOf('Chrome') > -1) { |
|||
this.isHidden = false |
|||
} else { |
|||
this.isHidden = true |
|||
} |
|||
}, |
|||
// 获取验证码 |
|||
getCaptcha () { |
|||
this.dataForm.uuid = getUUID() |
|||
this.captchaPath = `${window.SITE_CONFIG['apiURL']}/auth/captcha?uuid=${this.dataForm.uuid}` |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http.post('/auth/login', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
this.getCaptcha() |
|||
return this.$message.error(res.msg) |
|||
} |
|||
Cookies.set('token', res.data.token) |
|||
this.$router.replace({ name: 'home' }) |
|||
// 登陆之后从localStorage获取党委为空则从网络上拉取 |
|||
this.checkLocakStorage() |
|||
}).catch(() => { }) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }), |
|||
checkLocakStorage () { |
|||
var street = localStorage.getItem('street') |
|||
if (street === null) { |
|||
this.getIdByCode('shibei') |
|||
} |
|||
}, |
|||
// 获取党委 |
|||
getIdByCode (partyCode) { |
|||
this.$http.get(`/sys/dept/getIdByCode/` + partyCode).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
localStorage.setItem('street', res.data.id) |
|||
}).catch(() => { }) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<template> |
|||
<div class="aui-wrapper aui-page__login"> |
|||
<div class="aui-content__wrapper"> |
|||
<main class="aui-content"> |
|||
<!-- <div class="login-header"> |
|||
<h2 class="login-brand" |
|||
style="text-transform: none;color:red;">{{ $t('brand.lg') }}</h2> |
|||
</div> --> |
|||
<div class="login-body"> |
|||
<h3 class="login-title">党群e家管理平台</h3> |
|||
<el-form :model="dataForm" |
|||
:rules="dataRule" |
|||
ref="dataForm" |
|||
@keyup.enter.native="dataFormSubmitHandle()" |
|||
status-icon> |
|||
<!-- <el-form-item> |
|||
<el-select v-model="$i18n.locale" class="w-percent-100"> |
|||
<el-option v-for="(val, key) in i18nMessages" :key="key" :label="val._lang" :value="key"></el-option> |
|||
</el-select> |
|||
</el-form-item> --> |
|||
<el-form-item prop="username"> |
|||
<el-input v-model="dataForm.username" |
|||
:placeholder="$t('login.username')"> |
|||
<span slot="prefix" |
|||
class="el-input__icon"> |
|||
<svg class="icon-svg" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-user"></use> |
|||
</svg> |
|||
</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item prop="password"> |
|||
<el-input v-model="dataForm.password" |
|||
type="password" |
|||
:placeholder="$t('login.password')"> |
|||
<span slot="prefix" |
|||
class="el-input__icon"> |
|||
<svg class="icon-svg" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-lock"></use> |
|||
</svg> |
|||
</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item prop="captcha"> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="14"> |
|||
<el-input v-model="dataForm.captcha" |
|||
:placeholder="$t('login.captcha')"> |
|||
<span slot="prefix" |
|||
class="el-input__icon"> |
|||
<svg class="icon-svg" |
|||
aria-hidden="true"> |
|||
<use xlink:href="#icon-safetycertificate"></use> |
|||
</svg> |
|||
</span> |
|||
</el-input> |
|||
</el-col> |
|||
<el-col :span="10" |
|||
class="login-captcha"> |
|||
<img :src="captchaPath" |
|||
@click="getCaptcha()"> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" |
|||
@click="dataFormSubmitHandle()" |
|||
class="w-percent-100">{{ $t('login.title') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</div> |
|||
<div v-if="isHidden"> |
|||
<p><a href="https://dl.google.com/tag/s/appguid%3D%7B8A69D345-D564-463C-AFF1-A69D9E530F96%7D%26iid%3D%7B0EBBEC46-30F5-946B-A54E-5628DFF12914%7D%26lang%3Den%26browser%3D4%26usagestats%3D1%26appname%3DGoogle%2520Chrome%26needsadmin%3Dprefers%26ap%3Dx64-stable-statsdef_1%26installdataindex%3Ddefaultbrowser/update2/installers/ChromeSetup.exe" target="_blank">点击此处下载谷歌浏览器</a></p> |
|||
</div> |
|||
<!-- <div class="login-footer"> |
|||
<p><a href="http://www.elinkit.com.cn/" |
|||
target="_blank">{{ $t('login.copyright') }}</a>2020 © www.elinkit.com.cn</p> |
|||
</div> --> |
|||
</main> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Cookies from 'js-cookie' |
|||
import debounce from 'lodash/debounce' |
|||
import { messages } from '@/i18n' |
|||
import { getUUID } from '@/utils' |
|||
export default { |
|||
data () { |
|||
return { |
|||
i18nMessages: messages, |
|||
captchaPath: '', |
|||
isHidden: false, |
|||
dataForm: { |
|||
username: '', |
|||
password: '', |
|||
uuid: '', |
|||
captcha: '' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
username: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
password: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
captcha: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
created () { |
|||
this.getCaptcha() |
|||
this.myBrowser() |
|||
}, |
|||
methods: { |
|||
myBrowser () { |
|||
var userAgent = navigator.userAgent |
|||
if (userAgent.indexOf('Chrome') > -1) { |
|||
this.isHidden = false |
|||
} else { |
|||
this.isHidden = true |
|||
} |
|||
}, |
|||
// 获取验证码 |
|||
getCaptcha () { |
|||
this.dataForm.uuid = getUUID() |
|||
this.captchaPath = `${window.SITE_CONFIG['apiURL']}/auth/captcha?uuid=${this.dataForm.uuid}` |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http.post('/auth/login', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
this.getCaptcha() |
|||
return this.$message.error(res.msg) |
|||
} |
|||
Cookies.set('token', res.data.token) |
|||
this.$router.replace({ name: 'home' }) |
|||
window.localStorage.setItem('isGoProgect', false) |
|||
// 登陆之后从localStorage获取党委为空则从网络上拉取 |
|||
this.checkLocakStorage() |
|||
}).catch(() => { }) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }), |
|||
checkLocakStorage () { |
|||
var street = localStorage.getItem('street') |
|||
if (street === null) { |
|||
this.getIdByCode('shibei') |
|||
} |
|||
}, |
|||
// 获取党委 |
|||
getIdByCode (partyCode) { |
|||
this.$http.get(`/sys/dept/getIdByCode/` + partyCode).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
localStorage.setItem('street', res.data.id) |
|||
}).catch(() => { }) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
Loading…
Reference in new issue