This commit is contained in:
Taric Xin
2022-03-28 11:10:41 +08:00
parent e33c956306
commit f8cb159203
7 changed files with 88 additions and 115 deletions

View File

@ -9,8 +9,8 @@
</nz-header> </nz-header>
<nz-content class="content"> <nz-content class="content">
<nz-row> <nz-row>
<nz-col nzSpan="14"> <nz-col nzSpan="14" style="max-height : calc(100% - 64px);">
<div> <div class="earth-box">
<img class="earth" src="./assets/images/login/earth.png" alt=""> <img class="earth" src="./assets/images/login/earth.png" alt="">
</div> </div>
</nz-col> </nz-col>

View File

@ -8,18 +8,25 @@
.ant-layout-header { .ant-layout-header {
background: #ffffff; background: #ffffff;
box-shadow: 0px 5px 5px #d1d1d1; // box-shadow: 0px 5px 5px #d1d1d1;
} }
nz-content { nz-content {
background : url('../../../assets/images/login/login-bg.jpg') 100% 100% no-repeat; background : url('../../../assets/images/login/login-bg.jpg') 100% 100% no-repeat;
background-size: cover background-size: cover;
overflow : hidden;
} }
passport-login { passport-login {
background: transparent; background: transparent;
} }
.earth-box {
background : url('../../../assets/images/login/5-地球元素02.png') 100% 100% no-repeat;
background-size: cover;
overflow : hidden;
}
.earth { .earth {
animation : eatthAnimation 60s linear infinite; animation : eatthAnimation 60s linear infinite;
-webkit-animation: eatthAnimation 60s linear infinite; -webkit-animation: eatthAnimation 60s linear infinite;

View File

@ -10,141 +10,88 @@
--> -->
<div class="body-box"> <div class="body-box">
<div></div> <div>
</div>
<div> <div>
<div class="box-content d-flex"> <div class="box-content d-flex">
<!-- <img src="./assets/images/user/login-image.png" class="login-logo" alt="" /> --> <!-- <img src="./assets/images/user/login-image.png" class="login-logo" alt="" /> -->
<div class="login-box"> <div class="login-box">
<div class="login-box-content"> <div class="login-box-content">
<nz-tabset (nzSelectChange)="switch($event)"> <img src="./assets/images/login/运多星logo-01.png" alt="" style="width: 130px;margin: auto;">
<nz-tabset (nzSelectChange)="switch($event)" class="mt-md text-left">
<nz-tab nzTitle="密码登录"> <nz-tab nzTitle="密码登录">
<sf #accountSF [layout]="'vertical'" [schema]="accountSchema" [ui]="accountUI" [button]="'none'"> <sf #accountSF [layout]="'vertical'" [schema]="accountSchema" [ui]="accountUI" [button]="'none'">
<ng-template sf-template="username" let-i let-ui="ui" let-schema="schema"> <ng-template sf-template="username" let-i let-ui="ui" let-schema="schema">
<nz-input-group [nzSuffix]="inputClearTpl"> <nz-input-group [nzSuffix]="inputClearTpl">
<input <input type="text" nz-input [ngModel]="i.value" (ngModelChange)="i.setValue($event)"
type="text" (keyup.enter)="submit()" placeholder="手机号码" />
nz-input
[ngModel]="i.value"
(ngModelChange)="i.setValue($event)"
(keyup.enter)="submit()"
placeholder="请输入手机号"
/>
</nz-input-group> </nz-input-group>
<ng-template #inputClearTpl> <ng-template #inputClearTpl>
<i <i nz-icon class="ant-input-clear-icon" nzTheme="fill" nzType="close-circle" *ngIf="i.value"
nz-icon style="font-size: 16px" (click)="i.setValue(null)"></i>
class="ant-input-clear-icon"
nzTheme="fill"
nzType="close-circle"
*ngIf="i.value"
style="font-size: 16px"
(click)="i.setValue(null)"
></i>
</ng-template> </ng-template>
</ng-template> </ng-template>
<ng-template sf-template="password" let-i let-ui="ui" let-schema="schema"> <ng-template sf-template="password" let-i let-ui="ui" let-schema="schema">
<nz-input-group [nzSuffix]="inputClearTpl"> <nz-input-group [nzSuffix]="inputClearTpl">
<input <input [type]="isPasswordType ? 'password' : 'text'" nz-input [ngModel]="i.value"
[type]="isPasswordType ? 'password' : 'text'" (ngModelChange)="i.setValue($event)" placeholder="密码" (keyup.enter)="submit()" />
nz-input
[ngModel]="i.value"
(ngModelChange)="i.setValue($event)"
placeholder="请输入密码"
(keyup.enter)="submit()"
/>
</nz-input-group> </nz-input-group>
<ng-template #inputClearTpl> <ng-template #inputClearTpl>
<i <i *ngIf="isPasswordType" nz-icon class="ant-input-clear-icon" style="font-size: 22px"
*ngIf="i.value && isPasswordType" nzType="eye" nzTheme="fill" (click)="isPasswordType = false"></i>
nz-icon <i *ngIf="!isPasswordType" nz-icon class="ant-input-clear-icon" style="font-size: 22px"
class="ant-input-clear-icon" nzType="eye-invisible" nzTheme="fill" (click)="isPasswordType = true"></i>
style="font-size: 18px"
nzType="eye"
nzTheme="fill"
(click)="isPasswordType = false"
></i>
<i
*ngIf="i.value && !isPasswordType"
nz-icon
class="ant-input-clear-icon"
style="font-size: 18px"
nzType="eye-invisible"
nzTheme="fill"
(click)="isPasswordType = true"
></i>
</ng-template> </ng-template>
</ng-template> </ng-template>
</sf> </sf>
</nz-tab> </nz-tab>
<nz-tab nzTitle="验证码登录"> <nz-tab nzTitle="短信登录">
<sf #captchaSF [layout]="'vertical'" [schema]="captchaSchema" [ui]="captchaUI" [button]="'none'"> <sf #captchaSF [layout]="'vertical'" [schema]="captchaSchema" [ui]="captchaUI" [button]="'none'">
<ng-template sf-template="phone" let-i let-ui="ui" let-schema="schema"> <ng-template sf-template="phone" let-i let-ui="ui" let-schema="schema">
<nz-input-group [nzSuffix]="inputClearTpl"> <nz-input-group [nzSuffix]="inputClearTpl">
<input <input type="text" nz-input [ngModel]="i.value" (ngModelChange)="i.setValue($event)"
type="text" (keyup.enter)="submit()" placeholder="手机号码" />
nz-input
[ngModel]="i.value"
(ngModelChange)="i.setValue($event)"
(keyup.enter)="submit()"
placeholder="请输入手机号"
/>
</nz-input-group> </nz-input-group>
<ng-template #inputClearTpl> <ng-template #inputClearTpl>
<i <i nz-icon class="ant-input-clear-icon" nzTheme="fill" nzType="close-circle" *ngIf="i.value"
nz-icon style="font-size: 16px" (click)="i.setValue(null)"></i>
class="ant-input-clear-icon"
nzTheme="fill"
nzType="close-circle"
*ngIf="i.value"
style="font-size: 16px"
(click)="i.setValue(null)"
></i>
</ng-template> </ng-template>
</ng-template> </ng-template>
<ng-template sf-template="smsCode" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="smsCode" let-me let-ui="ui" let-schema="schema">
<nz-input-group nzSearch [nzSuffix]="suffixTemplateInfo"> <nz-input-group nzSearch [nzSuffix]="suffixTemplateInfo">
<input <input nz-input type="text" [maxLength]="6" placeholder="验证码" [attr.id]="me.id"
nz-input [disabled]="me.disabled" [attr.disabled]="me.disabled" [nzSize]="ui.size"
type="text" [ngModel]="me.formProperty.value" (ngModelChange)="me.setValue($event)"
[maxLength]="6" (keyup.enter)="submit()" />
placeholder="验证码"
[attr.id]="me.id"
[disabled]="me.disabled"
[attr.disabled]="me.disabled"
[nzSize]="ui.size"
[ngModel]="me.formProperty.value"
(ngModelChange)="me.setValue($event)"
(keyup.enter)="submit()"
/>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
</sf> </sf>
</nz-tab> </nz-tab>
</nz-tabset> </nz-tabset>
<button <button nz-button type="button" nzType="primary" nzSize="large" (click)="submit()"
nz-button [nzLoading]="userSrv?.http?.loading" nzBlock class="but">
type="button"
nzType="primary"
nzSize="large"
(click)="submit()"
[nzLoading]="userSrv?.http?.loading"
nzBlock
class="mt-md"
>
登录 登录
</button> </button>
<p class="forgetPwd mt-xl" routerLink="/passport/retrieve-password">忘记密码</p> <nz-divider></nz-divider>
<button nz-button type="button" nzSize="large" nzDanger nzBlock class="but">
还没有账号?免费注册
</button><br>
<button nz-button type="button" nzSize="large" nzDanger nzBlock class="but mt-md">
忘记密码?重置
</button>
<!-- <p class="forgetPwd mt-xl" routerLink="/passport/retrieve-password">忘记密码</p>
<p class="agreement"> <p class="agreement">
登录即代表您同意 <a target="_blank" [routerLink]="['/passport/agreement']" [queryParams]="{ type: 1 }">《平台服务协议》</a> 登录即代表您同意 <a target="_blank" [routerLink]="['/passport/agreement']" [queryParams]="{ type: 1 }">《平台服务协议》</a>
<a target="_blank" [queryParams]="{ type: 2 }" [routerLink]="['/passport/agreement']">《隐私政策》</a> <a target="_blank" [queryParams]="{ type: 2 }" [routerLink]="['/passport/agreement']">《隐私政策》</a>
</p> </p> -->
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="box-footer"> <div class="box-footer">
深圳市怡亚通供应链股份有限公司 版权所有 <!-- 深圳市怡亚通供应链股份有限公司 版权所有
<p [innerHTML]="copyright"></p> <p [innerHTML]="copyright"></p> -->
</div> </div>
</div> </div>
@ -153,4 +100,4 @@
<span class="msg-btn" style="color: #26282a; cursor: pointer; font-size: 14px" (click)="getCaptcha()">获取验证码</span> <span class="msg-btn" style="color: #26282a; cursor: pointer; font-size: 14px" (click)="getCaptcha()">获取验证码</span>
</ng-container> </ng-container>
<ng-template #intervalTemplate> 请等待{{ count }}s </ng-template> <ng-template #intervalTemplate> 请等待{{ count }}s </ng-template>
</ng-template> </ng-template>

View File

@ -5,14 +5,14 @@
flex-direction : column; flex-direction : column;
justify-content : space-between; justify-content : space-between;
width : 100%; width : 100%;
max-width : 960px; max-width : 473px;
height : calc(100vh - 64px); height : calc(100vh - 64px);
margin : auto; margin : auto;
-webkit-box-orient : vertical; -webkit-box-orient : vertical;
.box-content { .box-content {
width : 100%; width : 100%;
height : 600px; height : 630px;
border-radius: 0px 16px 16px 0px; border-radius: 0px 16px 16px 0px;
.login-logo { .login-logo {
@ -25,9 +25,10 @@
background-color: #fff; background-color: #fff;
.login-box-content { .login-box-content {
max-width: 434px; max-width : 340px;
margin : auto; margin : auto;
padding : 88px 0 38px; padding : 46px 0 38px;
text-align: center;
} }
} }
@ -107,7 +108,7 @@
width: 281px; width: 281px;
.ant-tabs-tab-btn { .ant-tabs-tab-btn {
font-size : 24px; font-size : 20px;
color : #86909C; color : #86909C;
font-weight: 500; font-weight: 500;
} }
@ -119,20 +120,25 @@
} }
.ant-tabs-tab { .ant-tabs-tab {
padding: 8px 0; padding: 8px 0 20px;
}
.ant-tabs-tab+.ant-tabs-tab {
margin: 0 0 0 74px;
} }
.ant-tabs-top>.ant-tabs-nav { .ant-tabs-top>.ant-tabs-nav {
margin: 0 0 38px 0; margin: 0 0 22px 0;
.ant-tabs-ink-bar { .ant-tabs-ink-bar {
background: #26282A; // background: #26282A;
height: 4px;
} }
} }
// input 框样式修改 // input 框样式修改
nz-input-group { nz-input-group {
height : 44px; height : 48px;
font-size : 14px; font-size : 14px;
border-radius: 4px; border-radius: 4px;
border-color : #E5E6EB; border-color : #E5E6EB;
@ -152,7 +158,7 @@
} }
.ant-form-item { .ant-form-item {
margin-bottom: 32px; margin-bottom: 24px;
} }
.ant-form-item-with-help { .ant-form-item-with-help {
@ -161,24 +167,36 @@
.ant-form-item-explain, .ant-form-item-explain,
.ant-form-item-extra { .ant-form-item-extra {
min-height : 32px; min-height : 24px;
line-height: 2; line-height: 2;
} }
.ant-form-item-explain,
.ant-form-item-extra {
font-size: 12px;
}
// 按钮样式修改 // 按钮样式修改
.ant-btn { .ant-btn {
padding: 0 16px 12px; padding: 0 16px 12px;
} }
.but {
font-size : 14px;
line-height: 48px;
height : 48px;
color : #86909C;
}
.ant-btn-primary { .ant-btn-primary {
color : #fff; color : #fff;
background : #26282A; // background : #26282A;
border-color : #26282A; // border-color : #26282A;
font-size : 14px;
line-height : 40px;
height : 44px;
border-radius: 4px border-radius: 4px
} }
} }
@media (max-width: 990px) { @media (max-width: 990px) {

View File

@ -25,7 +25,7 @@ import { ProPageModule } from 'src/app/layout/pro/shared/page';
import { UserLoginComponent } from './components/login/login.component'; import { UserLoginComponent } from './components/login/login.component';
import { OrderAgreementComponent } from './components/order-agreement/order-agreement.component'; import { OrderAgreementComponent } from './components/order-agreement/order-agreement.component';
import { UserRetrievePasswordComponent } from './components/retrieve-password/retrieve-password.component'; import { UserRetrievePasswordComponent } from './components/retrieve-password/retrieve-password.component';
import { NzDividerModule } from 'ng-zorro-antd/divider';
import { PassportRoutingModule } from './passport-routing.module'; import { PassportRoutingModule } from './passport-routing.module';
const COMPONENTS = [ const COMPONENTS = [
@ -54,6 +54,7 @@ const COMPONENTS = [
NzToolTipModule, NzToolTipModule,
NzPopoverModule, NzPopoverModule,
NzProgressModule, NzProgressModule,
NzDividerModule,
NzAvatarModule, NzAvatarModule,
SEModule, SEModule,
ResultModule, ResultModule,

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -118,7 +118,7 @@
clearInterval(me.createIntervalId); clearInterval(me.createIntervalId);
} }
counter++; counter++;
}.bind(this), 250); }.bind(this), 50);
} }
else { else {
// Create particle objects // Create particle objects