<div class="wrapper">
|
<div class="abs-center mt-lg width-lg">
|
<nz-card [nzTitle]="nzTitle" [nzBordered]="false" class="ant-card__primary ant-card__title-img">
|
<ng-template #nzTitle>
|
<div class="text-center"><img src="./assets/img/logo.svg" style="height:20px;"></div>
|
</ng-template>
|
<form nz-form [formGroup]="valForm" (ngSubmit)="submit()" role="form">
|
<div nz-form-item>
|
<div nz-form-control [nzValidateStatus]="valForm.controls.email">
|
<nz-input formControlName="email" [nzPlaceHolder]="'邮箱'" [nzSize]="'large'">
|
<ng-template #suffix>
|
<i class="anticon anticon-mail"></i>
|
</ng-template>
|
</nz-input>
|
<div nz-form-explain *ngIf="valForm.controls.email.dirty&&valForm.controls.email.hasError('required')">邮箱必填</div>
|
</div>
|
</div>
|
<div nz-form-item>
|
<div nz-form-control [nzValidateStatus]="valForm.controls.password">
|
<nz-input formControlName="password" [nzPlaceHolder]="'密码'" [nzType]="'password'" [nzSize]="'large'">
|
<ng-template #suffix>
|
<i class="anticon anticon-lock"></i>
|
</ng-template>
|
</nz-input>
|
<div nz-form-explain *ngIf="valForm.controls.password.dirty&&valForm.controls.password.hasError('required')">密码必填</div>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-col [nzSpan]="12">
|
<label nz-checkbox formControlName="remember_me">
|
<span>记住密码</span>
|
</label>
|
</div>
|
<div nz-col [nzSpan]="12" class="text-right">
|
<a [routerLink]="['/forget']">忘记密码?</a>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-col [nzSpan]="24">
|
<button nz-button [disabled]="!valForm.valid" [nzType]="'primary'" [nzSize]="'large'" class="ant-btn__block">
|
<span>登录</span>
|
</button>
|
</div>
|
</div>
|
</form>
|
<div nz-form-item nz-row>
|
<div nz-col [nzSpan]="24" class="text-center">或</div>
|
</div>
|
<div nz-row>
|
<div nz-col [nzSpan]="24">
|
<button nz-button [routerLink]="['/register']" [nzType]="'default'" [nzSize]="'large'" class="ant-btn__block">
|
<span>立即注册</span>
|
</button>
|
</div>
|
</div>
|
</nz-card>
|
<div class="p-lg text-center text-sm">
|
© {{ settings.app.year }} - {{ settings.app.name }}
|
<br> {{ settings.app.description }}
|
</div>
|
</div>
|
</div>
|