Merge branch 'feature/BETERAN-BACKEND-APP-BROWSER-init' of https://gitlab.loafle.net/bet/beteran-backend-app-browser into feature/BETERAN-BACKEND-APP-BROWSER-init
This commit is contained in:
commit
a4e498e22b
|
@ -10,7 +10,19 @@
|
||||||
<mat-progress-bar [mode]="'indeterminate'"></mat-progress-bar>
|
<mat-progress-bar [mode]="'indeterminate'"></mat-progress-bar>
|
||||||
</div>
|
</div>
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
<div class="text-4xl font-extrabold tracking-tight">User</div>
|
<div class="text-4xl font-extrabold tracking-tight">
|
||||||
|
<span>User</span>
|
||||||
|
<span>
|
||||||
|
<button mat-icon-button (click)="__onClickSearch()">
|
||||||
|
<mat-icon [svgIcon]="'heroicons_outline:search'"></mat-icon>
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<button mat-icon-button (click)="__onClickSearch()">
|
||||||
|
<mat-icon svgIcon="iconsmind:file_excel"></mat-icon>
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Actions -->
|
<!-- Actions -->
|
||||||
<div class="flex shrink-0 items-center mt-6 sm:mt-0 sm:ml-4">
|
<div class="flex shrink-0 items-center mt-6 sm:mt-0 sm:ml-4">
|
||||||
|
@ -21,9 +33,6 @@
|
||||||
>
|
>
|
||||||
<span>총 콤프:<span style="color: red">394,860</span>원</span>
|
<span>총 콤프:<span style="color: red">394,860</span>원</span>
|
||||||
<span>총 합계:<span style="color: blue">21,832,733</span>원</span>
|
<span>총 합계:<span style="color: blue">21,832,733</span>원</span>
|
||||||
<button mat-icon-button (click)="__onClickSearch()">
|
|
||||||
<mat-icon [svgIcon]="'heroicons_outline:search'"></mat-icon>
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Memo -->
|
<!-- Memo -->
|
||||||
|
@ -38,15 +47,6 @@
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<button mat-flat-button [color]="'primary'">메모저장</button>
|
<button mat-flat-button [color]="'primary'">메모저장</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center mt-2 mb-2 ml-6">
|
|
||||||
<button mat-flat-button class="bet-mat-small-8" [color]="'primary'">
|
|
||||||
카지노머니확인
|
|
||||||
</button>
|
|
||||||
<button mat-flat-button class="bet-mat-small-8" [color]="'primary'">
|
|
||||||
엑셀저장
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<hr style="margin: 7px 0px" />
|
|
||||||
|
|
||||||
<!-- Search -->
|
<!-- Search -->
|
||||||
<div
|
<div
|
||||||
|
@ -177,7 +177,23 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- actions -->
|
||||||
|
<div
|
||||||
|
*ngIf="__checkedUsers.length > 0"
|
||||||
|
class="relative flex flex-col sm:flex-row flex-0 sm:items-center sm:justify-between py-4 px-6 md:px-8 border-b"
|
||||||
|
>
|
||||||
|
<button mat-button [matMenuTriggerFor]="menuChangeMemberState">
|
||||||
|
상태 변경
|
||||||
|
</button>
|
||||||
|
<mat-menu #menuChangeMemberState="matMenu">
|
||||||
|
<button mat-menu-item>정상</button>
|
||||||
|
<button mat-menu-item>대기</button>
|
||||||
|
<button mat-menu-item>탈퇴</button>
|
||||||
|
<button mat-menu-item>휴면</button>
|
||||||
|
<button mat-menu-item>블랙</button>
|
||||||
|
<button mat-menu-item>정지</button>
|
||||||
|
</mat-menu>
|
||||||
|
</div>
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<div class="flex flex-auto overflow-hidden">
|
<div class="flex flex-auto overflow-hidden">
|
||||||
<!-- Products list -->
|
<!-- Products list -->
|
||||||
|
@ -194,7 +210,9 @@
|
||||||
class="user-grid z-10 sticky top-0 grid gap-4 py-4 px-6 md:px-8 shadow text-md font-semibold text-secondary bg-gray-50 dark:bg-black dark:bg-opacity-5"
|
class="user-grid z-10 sticky top-0 grid gap-4 py-4 px-6 md:px-8 shadow text-md font-semibold text-secondary bg-gray-50 dark:bg-black dark:bg-opacity-5"
|
||||||
>
|
>
|
||||||
<div style="text-align: center">
|
<div style="text-align: center">
|
||||||
<mat-checkbox></mat-checkbox>
|
<mat-checkbox
|
||||||
|
(change)="__onChangeChkUsersAll($event)"
|
||||||
|
></mat-checkbox>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: center">관리</div>
|
<div style="text-align: center">관리</div>
|
||||||
<div style="text-align: center">요율</div>
|
<div style="text-align: center">요율</div>
|
||||||
|
@ -246,7 +264,11 @@
|
||||||
class="user-grid grid items-center gap-4 py-3 px-6 md:px-8 border-b"
|
class="user-grid grid items-center gap-4 py-3 px-6 md:px-8 border-b"
|
||||||
>
|
>
|
||||||
<div style="text-align: center">
|
<div style="text-align: center">
|
||||||
<mat-checkbox></mat-checkbox>
|
<mat-checkbox
|
||||||
|
#chkUsers
|
||||||
|
[value]="member.getId()"
|
||||||
|
(change)="__onChangeChkUsers($event)"
|
||||||
|
></mat-checkbox>
|
||||||
</div>
|
</div>
|
||||||
<div class="hidden lg:block" style="text-align: center">
|
<div class="hidden lg:block" style="text-align: center">
|
||||||
<div
|
<div
|
||||||
|
@ -381,40 +403,5 @@
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-2 mb-2 ml-6">
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
<button mat-flat-button class="bet-mat-small-8" [color]="'primary'">
|
|
||||||
정상
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<button mat-flat-button class="bet-mat-small-8" [color]="'primary'">
|
|
||||||
대기
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<button mat-flat-button class="bet-mat-small-8" [color]="'primary'">
|
|
||||||
탈퇴
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<button mat-flat-button class="bet-mat-small-8" [color]="'primary'">
|
|
||||||
휴면
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<button mat-flat-button class="bet-mat-small-8" [color]="'primary'">
|
|
||||||
블랙
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<button mat-flat-button class="bet-mat-small-8" [color]="'primary'">
|
|
||||||
정지
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr style="margin: 7px 0px" />
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,7 +5,9 @@ import {
|
||||||
Component,
|
Component,
|
||||||
OnDestroy,
|
OnDestroy,
|
||||||
OnInit,
|
OnInit,
|
||||||
|
QueryList,
|
||||||
ViewChild,
|
ViewChild,
|
||||||
|
ViewChildren,
|
||||||
ViewEncapsulation,
|
ViewEncapsulation,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
||||||
|
@ -39,6 +41,7 @@ import { MemberModel, MemberState } from 'app/modules/proto/models/member_pb';
|
||||||
import { MemberClass } from 'app/modules/proto/models/member_class_pb';
|
import { MemberClass } from 'app/modules/proto/models/member_class_pb';
|
||||||
import { MemberClassService } from 'app/modules/polyglot/member_class/services/member_class.service';
|
import { MemberClassService } from 'app/modules/polyglot/member_class/services/member_class.service';
|
||||||
import { result } from 'lodash';
|
import { result } from 'lodash';
|
||||||
|
import { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'user-list',
|
selector: 'user-list',
|
||||||
|
@ -79,6 +82,8 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||||
@ViewChild(MatPaginator) private _paginator!: MatPaginator;
|
@ViewChild(MatPaginator) private _paginator!: MatPaginator;
|
||||||
@ViewChild(MatSort) private _sort!: MatSort;
|
@ViewChild(MatSort) private _sort!: MatSort;
|
||||||
|
|
||||||
|
@ViewChildren('chkUsers') chkUsers!: QueryList<MatCheckbox>;
|
||||||
|
|
||||||
listMembers$!: Observable<MemberModel[] | undefined>;
|
listMembers$!: Observable<MemberModel[] | undefined>;
|
||||||
|
|
||||||
__isSearchOpened = false;
|
__isSearchOpened = false;
|
||||||
|
@ -88,6 +93,7 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||||
pagination?: UserPagination;
|
pagination?: UserPagination;
|
||||||
|
|
||||||
memberClasses!: MemberClass[];
|
memberClasses!: MemberClass[];
|
||||||
|
__checkedUsers: string[] = [];
|
||||||
|
|
||||||
signoutBlockConfigForm!: FormGroup;
|
signoutBlockConfigForm!: FormGroup;
|
||||||
|
|
||||||
|
@ -327,6 +333,27 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__onChangeChkUsersAll(event: MatCheckboxChange): void {
|
||||||
|
let checked = event.checked;
|
||||||
|
this.chkUsers.forEach((c, i) => {
|
||||||
|
c.checked = checked;
|
||||||
|
});
|
||||||
|
this.__updateCheckedUsers();
|
||||||
|
}
|
||||||
|
|
||||||
|
__onChangeChkUsers(event: MatCheckboxChange): void {
|
||||||
|
this.__updateCheckedUsers();
|
||||||
|
}
|
||||||
|
|
||||||
|
__updateCheckedUsers(): void {
|
||||||
|
this.__checkedUsers = [];
|
||||||
|
this.chkUsers.forEach((c, i) => {
|
||||||
|
if (c.checked) {
|
||||||
|
this.__checkedUsers.push(c.value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
__getParentUsername(member: MemberModel): string {
|
__getParentUsername(member: MemberModel): string {
|
||||||
if (!member.getParentMember()) {
|
if (!member.getParentMember()) {
|
||||||
return '';
|
return '';
|
||||||
|
|
Loading…
Reference in New Issue
Block a user