|  |  |  | 
|---|
|  |  |  | <pro-header [title]="'安装用户列表'"></pro-header> | 
|---|
|  |  |  | <nz-card [nzBordered]="false"> | 
|---|
|  |  |  | <form nz-form (ngSubmit)="getData()" [nzLayout]="'inline'"> | 
|---|
|  |  |  | <form nz-form (ngSubmit)="load(true)" [nzLayout]="'inline'"> | 
|---|
|  |  |  | <div nz-row [nzGutter]="24"> | 
|---|
|  |  |  | <div nz-col [nzSpan]="8" class="mb-md"> | 
|---|
|  |  |  | <div nz-form-item class="d-flex"> | 
|---|
|  |  |  | <div nz-form-label><label for="u_name">姓名</label></div> | 
|---|
|  |  |  | <div nz-form-control class="flex-1"> | 
|---|
|  |  |  | <nz-input [(ngModel)]="q.u_name" name="u_name" [nzSize]="'large'" [nzPlaceHolder]="'请输入'" nzId="u_name"></nz-input> | 
|---|
|  |  |  | <nz-input [(ngModel)]="q.u_name" name="u_name" [nzSize]="'large'" [nzPlaceHolder]="'请输入姓名'" nzId="u_name"></nz-input> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-col [nzSpan]="8" class="mb-md"> | 
|---|
|  |  |  | <div nz-form-item class="d-flex"> | 
|---|
|  |  |  | <div nz-form-label><label for="u_mobile">账号</label></div> | 
|---|
|  |  |  | <div nz-form-label><label for="u_mobile">账号/电话</label></div> | 
|---|
|  |  |  | <div nz-form-control class="flex-1"> | 
|---|
|  |  |  | <nz-input [(ngModel)]="q.u_mobile" name="u_mobile" [nzSize]="'large'" [nzPlaceHolder]="'请输入'" nzId="u_mobile"></nz-input> | 
|---|
|  |  |  | <nz-input [(ngModel)]="q.u_mobile" name="u_mobile" [nzSize]="'large'" [nzPlaceHolder]="'请输入账号'" nzId="u_mobile"></nz-input> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-col [nzSpan]="8" class="mb-md"> | 
|---|
|  |  |  | <div nz-form-item class="d-flex"> | 
|---|
|  |  |  | <div nz-form-label> | 
|---|
|  |  |  | <label>是否删除</label> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-form-control class="flex-1"> | 
|---|
|  |  |  | <nz-select [(ngModel)]="q.isDelete" name="isDelete" [nzSize]="'large'"> | 
|---|
|  |  |  | <nz-option *ngFor="let option of isDeleteOptions" [nzLabel]="option.label" [nzValue]="option.value" ></nz-option> | 
|---|
|  |  |  | </nz-select> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-col [nzSpan]="8" class="mb-md"> | 
|---|
|  |  |  | <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="loading" [nzSize]="'large'">查询</button> | 
|---|
|  |  |  | <button nz-button type="reset" (click)="getData()" [nzSize]="'large'" class="mx-sm">重置</button> | 
|---|
|  |  |  | <button nz-button type="reset" [nzSize]="'large'" class="mx-sm">重置</button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </form> | 
|---|
|  |  |  | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </nz-alert> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <nz-table #nzTable [nzDataSource]="data" [nzPageSize]="q.ps" [nzLoading]="loading" (nzDataChange)="dataChange($event)" (nzPageIndexChange)="pageChange($event)" [nzShowTotal]="true"> | 
|---|
|  |  |  | <nz-table #nzTable | 
|---|
|  |  |  | [nzAjaxData]="data" | 
|---|
|  |  |  | [nzLoading]="loading" | 
|---|
|  |  |  | [nzTotal]="total" | 
|---|
|  |  |  | [(nzPageIndex)]="q.pi" | 
|---|
|  |  |  | [nzPageSize]="q.ps" | 
|---|
|  |  |  | [nzShowTotal]="true" | 
|---|
|  |  |  | (nzPageIndexChange)="load()"> | 
|---|
|  |  |  | <thead nz-thead> | 
|---|
|  |  |  | <tr> | 
|---|
|  |  |  | <th nz-th [nzCheckbox]="true"> | 
|---|
|  |  |  | <label nz-checkbox [(ngModel)]="allChecked" [nzIndeterminate]="indeterminate" (ngModelChange)="checkAll($event)"></label> | 
|---|
|  |  |  | </th> | 
|---|
|  |  |  | <th nz-th><span>姓名</span></th> | 
|---|
|  |  |  | <th nz-th><span>性别</span></th> | 
|---|
|  |  |  | <th nz-th><span>账号</span></th> | 
|---|
|  |  |  | <th nz-th><span>账号/电话</span></th> | 
|---|
|  |  |  | <th nz-th><span>电子邮件</span></th> | 
|---|
|  |  |  | <th nz-th><span>微信号</span></th> | 
|---|
|  |  |  | <th nz-th><span>密码</span></th> | 
|---|
|  |  |  | <th nz-th><span>组织</span></th> | 
|---|
|  |  |  | <th nz-th><span>昵称</span></th> | 
|---|
|  |  |  | <th nz-th><span>创建日期</span></th> | 
|---|
|  |  |  | <th nz-th> | 
|---|
|  |  |  | <span>日期</span> | 
|---|
|  |  |  | <nz-table-sort [(nzValue)]="sortMap.updatedAt" (nzValueChange)="sort('updatedAt',$event)"></nz-table-sort> | 
|---|
|  |  |  | <span>过期日期</span> | 
|---|
|  |  |  | <nz-table-sort [(nzValue)]="sortMap.updatedAt" (nzValueChange)="sort('expire_time', $event)"></nz-table-sort> | 
|---|
|  |  |  | </th> | 
|---|
|  |  |  | <th nz-th><span>操作</span></th> | 
|---|
|  |  |  | </tr> | 
|---|
|  |  |  | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | </td> | 
|---|
|  |  |  | <td nz-td>{{i.name}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.sex}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.mobile}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.email}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.weixin}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.password}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.organization}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.nickname}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.updatedAt | _date}}</td> | 
|---|
|  |  |  | <td nz-td>{{i.organizationId}}</td> | 
|---|
|  |  |  | <td nz-td>{{format_date(i.createTime)}}</td> | 
|---|
|  |  |  | <td nz-td>{{format_date(i.expireTime)}}</td> | 
|---|
|  |  |  | <td nz-td> | 
|---|
|  |  |  | <a (click)="msg.success('编辑:' + i.name)">编辑</a> | 
|---|
|  |  |  | <a (click)="edit(i)">编辑</a> | 
|---|
|  |  |  | <span nz-table-divider></span> | 
|---|
|  |  |  | <a (click)="msg.success('删除:' + i.name)">删除</a> | 
|---|
|  |  |  | <nz-popconfirm [nzTitle]="'确定要删除该用户吗?'" [nzOkText]="'Yes'" [nzCancelText]="'No'" (nzOnConfirm)="delete(i)" > | 
|---|
|  |  |  | <a nz-popconfirm>删除</a> | 
|---|
|  |  |  | </nz-popconfirm> | 
|---|
|  |  |  | <span nz-table-divider></span> | 
|---|
|  |  |  | <nz-dropdown> | 
|---|
|  |  |  | <a class="ant-dropdown-link" nz-dropdown> | 
|---|
|  |  |  | 更多 | 
|---|
|  |  |  | <i class="anticon anticon-down"></i> | 
|---|
|  |  |  | </a> | 
|---|
|  |  |  | <ul nz-menu> | 
|---|
|  |  |  | <li nz-menu-item> | 
|---|
|  |  |  | <a (click)="showResetPwdWindow(i)">修改密码</a> | 
|---|
|  |  |  | </li> | 
|---|
|  |  |  | </ul> | 
|---|
|  |  |  | </nz-dropdown> | 
|---|
|  |  |  | </td> | 
|---|
|  |  |  | </tr> | 
|---|
|  |  |  | </tbody> | 
|---|
|  |  |  | </nz-table> | 
|---|
|  |  |  | </nz-card> | 
|---|
|  |  |  | <nz-modal [nzVisible]="modalVisible" [nzTitle]="'新建规则'" [nzConfirmLoading]="loading" [nzContent]="modalContent" (nzOnCancel)="modalVisible=false" (nzOnOk)="save()"> | 
|---|
|  |  |  | <ng-template #modalContent> | 
|---|
|  |  |  | <div nz-form-item class="d-flex"> | 
|---|
|  |  |  | <div nz-form-label><label for="no">描述</label></div> | 
|---|
|  |  |  | <div nz-form-control class="flex-1"> | 
|---|
|  |  |  | <nz-input [(ngModel)]="description" name="description" [nzSize]="'large'" [nzPlaceHolder]="'请输入'" nzId="no"></nz-input> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </ng-template> | 
|---|
|  |  |  | <!-- 修改密码弹窗 --> | 
|---|
|  |  |  | <nz-modal [nzVisible]="resetPwdWindowIsVisible" [nzTitle]="'修改密码'" [nzContent]="modalContent" (nzOnCancel)="resetPwdCancel()" | 
|---|
|  |  |  | (nzOnOk)="resetPwdOk()" [nzConfirmLoading]="isResetPwdLoading"> | 
|---|
|  |  |  | <ng-template #modalContent> | 
|---|
|  |  |  | <form nz-form [formGroup]="resetPwdForm"> | 
|---|
|  |  |  | <div nz-form-item nz-row> | 
|---|
|  |  |  | <div nz-form-label nz-col [nzSm]="6" [nzXs]="24"> | 
|---|
|  |  |  | <label for="name" >账号</label> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-form-control nz-col [nzSm]="14" [nzXs]="24"> | 
|---|
|  |  |  | <h4 class="h4">{{ getFormControl('name').value }}</h4> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-form-item nz-row> | 
|---|
|  |  |  | <div nz-form-label nz-col [nzSm]="6" [nzXs]="24"> | 
|---|
|  |  |  | <label for="password" nz-form-item-required>密码</label> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-form-control nz-col [nzSm]="14" [nzXs]="24" nzHasFeedback> | 
|---|
|  |  |  | <nz-input [nzSize]="'large'" formControlName="password" [nzType]="'password'" [nzId]="'password'" (ngModelChange)="updateConfirmValidator()"></nz-input> | 
|---|
|  |  |  | <div nz-form-explain *ngIf="getFormControl('password').dirty&&getFormControl('password').hasError('required')">请输入密码!</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-form-item nz-row> | 
|---|
|  |  |  | <div nz-form-label nz-col [nzSm]="6" [nzXs]="24"> | 
|---|
|  |  |  | <label for="checkPassword" nz-form-item-required>确认密码</label> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div nz-form-control nz-col [nzSm]="14" [nzXs]="24" nzHasFeedback> | 
|---|
|  |  |  | <nz-input [nzSize]="'large'" formControlName="checkPassword" [nzType]="'password'" [nzId]="'checkPassword'"></nz-input> | 
|---|
|  |  |  | <div nz-form-explain *ngIf="getFormControl('checkPassword').dirty&&getFormControl('checkPassword').hasError('required')">请确认密码!</div> | 
|---|
|  |  |  | <div nz-form-explain *ngIf="getFormControl('checkPassword').dirty&&getFormControl('checkPassword').hasError('confirm')">两次输入不一致!</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </form> | 
|---|
|  |  |  | </ng-template> | 
|---|
|  |  |  | </nz-modal> | 
|---|