money page design
This commit is contained in:
		
							parent
							
								
									bb1b628b71
								
							
						
					
					
						commit
						82aa07b384
					
				| @ -1 +1,167 @@ | ||||
| <p>deposit works!</p> | ||||
| <div id="deposit-list" class="page-layout carded fullwidth inner-scroll"> | ||||
|   <!-- TOP BACKGROUND --> | ||||
|   <div class="top-bg accent"></div> | ||||
|   <!-- / TOP BACKGROUND --> | ||||
| 
 | ||||
|   <!-- CENTER --> | ||||
|   <div class="center"> | ||||
|     <!-- HEADER --> | ||||
|     <div | ||||
|       class="header accent" | ||||
|       fxLayout="column" | ||||
|       fxLayoutAlign="center center" | ||||
|       fxLayout.gt-xs="row" | ||||
|       fxLayoutAlign.gt-xs="space-between center" | ||||
|     > | ||||
|       <!-- APP TITLE --> | ||||
|       <div | ||||
|         class="logo mb-24 mb-sm-0" | ||||
|         fxLayout="row" | ||||
|         fxLayoutAlign="start center" | ||||
|       > | ||||
|         <mat-icon | ||||
|           class="logo-icon s-32 mr-16" | ||||
|           [@animate]="{ value: '*', params: { delay: '50ms', scale: '0.2' } }" | ||||
|         > | ||||
|           shopping_basket | ||||
|         </mat-icon> | ||||
|         <span | ||||
|           class="logo-text h1" | ||||
|           [@animate]="{ value: '*', params: { delay: '100ms', x: '-25px' } }" | ||||
|           >고객센터 관리</span | ||||
|         > | ||||
|       </div> | ||||
|       <!-- / APP TITLE --> | ||||
| 
 | ||||
|       <!-- SEARCH --> | ||||
| 
 | ||||
|       <!-- <div class="search-wrapper  ml-sm-32"> | ||||
|         <div class="search" fxFlex fxLayout="row" fxLayoutAlign="start center"> | ||||
|           <mat-icon>search</mat-icon> | ||||
|           <input #filter placeholder="Search for an order" /> | ||||
|         </div> | ||||
|       </div> --> | ||||
|       <!-- / SEARCH --> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- / HEADER --> | ||||
| 
 | ||||
|     <!-- CONTENT CARD --> | ||||
|     <div class="content-card"> | ||||
|       <mat-table | ||||
|         class="service-center" | ||||
|         #table | ||||
|         [dataSource]="dataSource" | ||||
|         matSort | ||||
|         [@animateStagger]="{ value: '50' }" | ||||
|         fusePerfectScrollbar | ||||
|       > | ||||
|         <ng-container matColumnDef="idx"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >번호</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter; let i = index"> | ||||
|             <p class="text-truncate">{{ i }}</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- ID/Nickname Column --> | ||||
|         <ng-container matColumnDef="title"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >제목</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter"> | ||||
|             <p class="text-truncate">{{ serviceCenter.title }}</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Phone Column --> | ||||
|         <ng-container matColumnDef="contents"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm | ||||
|             >내용</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-sm> | ||||
|             <!-- <p class="text-truncate">{{ serviceCenter.contents }}</p> --> | ||||
|             <p class="text-truncate">010-3004-2001</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Total Price Column --> | ||||
|         <ng-container matColumnDef="register"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-md | ||||
|             >작성자</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-md> | ||||
|             <p class="total-price text-truncate"> | ||||
|               <!-- {{ user.totalprice | currency: 'USD':'symbol' }} --> | ||||
|               1,000,000 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Point Column --> | ||||
|         <ng-container matColumnDef="createdAt"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm | ||||
|             >작성일</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-sm> | ||||
|             <p class="text-truncate"> | ||||
|               <!-- {{ user.point }} --> | ||||
|               5000 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Level Column --> | ||||
|         <ng-container matColumnDef="contactStatus"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >문의상태</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter"> | ||||
|             <!-- <p class="status text-truncate h6 p-4" [ngClass]="order.status[0].color"> --> | ||||
|             <p class="text-truncate"> | ||||
|               <!-- {{ user.level }} --> | ||||
|               브론즈 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Charge Money Column --> | ||||
|         <ng-container matColumnDef="removeBtn"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >삭제버튼</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let user"> | ||||
|             <p class="text-truncate "> | ||||
|               <button mat-raised-button class="mat-accent"> | ||||
|                 삭제 | ||||
|               </button> | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <mat-header-row | ||||
|           *matHeaderRowDef="displayedColumns; sticky: true" | ||||
|         ></mat-header-row> | ||||
| 
 | ||||
|         <mat-row | ||||
|           *matRowDef="let user; columns: displayedColumns" | ||||
|           class="user" | ||||
|           matRipple | ||||
|           [routerLink]="'/pages/users/management/list/' + user.id" | ||||
|         > | ||||
|         </mat-row> | ||||
|       </mat-table> | ||||
| 
 | ||||
|       <mat-paginator | ||||
|         #paginator | ||||
|         [pageIndex]="0" | ||||
|         [pageSize]="10" | ||||
|         [pageSizeOptions]="[5, 10, 25, 100]" | ||||
|       > | ||||
|       </mat-paginator> | ||||
|     </div> | ||||
|     <!-- / CONTENT CARD --> | ||||
|   </div> | ||||
|   <!-- / CENTER --> | ||||
| </div> | ||||
|  | ||||
| @ -0,0 +1,117 @@ | ||||
| @import 'src/@fuse/scss/fuse'; | ||||
| 
 | ||||
| app-pages-deposit-list { | ||||
|   #deposit-list { | ||||
|     .top-bg { | ||||
|       @include media-breakpoint('xs') { | ||||
|         height: 224px; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     > .center { | ||||
|       > .header { | ||||
|         .search-wrapper { | ||||
|           width: 100%; | ||||
|           max-width: 480px; | ||||
|           border-radius: 28px; | ||||
|           overflow: hidden; | ||||
|           @include mat-elevation(1); | ||||
| 
 | ||||
|           @include media-breakpoint('xs') { | ||||
|             width: 100%; | ||||
|           } | ||||
| 
 | ||||
|           .search { | ||||
|             width: 100%; | ||||
|             height: 48px; | ||||
|             line-height: 48px; | ||||
|             padding: 0 18px; | ||||
| 
 | ||||
|             input { | ||||
|               width: 100%; | ||||
|               height: 48px; | ||||
|               min-height: 48px; | ||||
|               max-height: 48px; | ||||
|               padding: 0 16px; | ||||
|               border: none; | ||||
|               outline: none; | ||||
|             } | ||||
|           } | ||||
|         } | ||||
| 
 | ||||
|         @include media-breakpoint('xs') { | ||||
|           padding: 8px 0; | ||||
|           height: 160px !important; | ||||
|           min-height: 160px !important; | ||||
|           max-height: 160px !important; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .mat-tab-group, | ||||
|   .mat-tab-body-wrapper, | ||||
|   .tab-content { | ||||
|     flex: 1 1 auto; | ||||
|     max-width: 100%; | ||||
|   } | ||||
| 
 | ||||
|   .service-center-table { | ||||
|     flex: 1 1 auto; | ||||
|     border-bottom: 1px solid rgba(0, 0, 0, 0.12); | ||||
|     overflow: auto; | ||||
|     -webkit-overflow-scrolling: touch; | ||||
| 
 | ||||
|     .mat-header-row { | ||||
|       min-height: 64px; | ||||
|     } | ||||
| 
 | ||||
|     .user { | ||||
|       position: relative; | ||||
|       cursor: pointer; | ||||
|       height: 84px; | ||||
|     } | ||||
| 
 | ||||
|     .mat-cell { | ||||
|       min-width: 0; | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-id { | ||||
|       flex: 0 1 84px; | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-image { | ||||
|       flex: 0 1 84px; | ||||
| 
 | ||||
|       .product-image { | ||||
|         width: 52px; | ||||
|         height: 52px; | ||||
|         border: 1px solid rgba(0, 0, 0, 0.12); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-buttons { | ||||
|       flex: 0 1 80px; | ||||
|     } | ||||
| 
 | ||||
|     .quantity-indicator { | ||||
|       display: inline-block; | ||||
|       vertical-align: middle; | ||||
|       width: 8px; | ||||
|       height: 8px; | ||||
|       border-radius: 4px; | ||||
|       margin-right: 8px; | ||||
| 
 | ||||
|       & + span { | ||||
|         display: inline-block; | ||||
|         vertical-align: middle; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .active-icon { | ||||
|       border-radius: 50%; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -23,6 +23,15 @@ import { fuseAnimations } from 'src/@fuse/animations'; | ||||
|   encapsulation: ViewEncapsulation.None | ||||
| }) | ||||
| export class DepositComponent implements OnInit, OnDestroy, AfterViewInit { | ||||
|   displayedColumns = [ | ||||
|     'idx', | ||||
|     'title', | ||||
|     'contents', | ||||
|     'register', | ||||
|     'createdAt', | ||||
|     'contactStatus' | ||||
|   ]; | ||||
| 
 | ||||
|   @ViewChild(MatPaginator, { static: true }) | ||||
|   paginator: MatPaginator; | ||||
| 
 | ||||
|  | ||||
| @ -1 +1,167 @@ | ||||
| <p>money-log works!</p> | ||||
| <div id="money-log-list" class="page-layout carded fullwidth inner-scroll"> | ||||
|   <!-- TOP BACKGROUND --> | ||||
|   <div class="top-bg accent"></div> | ||||
|   <!-- / TOP BACKGROUND --> | ||||
| 
 | ||||
|   <!-- CENTER --> | ||||
|   <div class="center"> | ||||
|     <!-- HEADER --> | ||||
|     <div | ||||
|       class="header accent" | ||||
|       fxLayout="column" | ||||
|       fxLayoutAlign="center center" | ||||
|       fxLayout.gt-xs="row" | ||||
|       fxLayoutAlign.gt-xs="space-between center" | ||||
|     > | ||||
|       <!-- APP TITLE --> | ||||
|       <div | ||||
|         class="logo mb-24 mb-sm-0" | ||||
|         fxLayout="row" | ||||
|         fxLayoutAlign="start center" | ||||
|       > | ||||
|         <mat-icon | ||||
|           class="logo-icon s-32 mr-16" | ||||
|           [@animate]="{ value: '*', params: { delay: '50ms', scale: '0.2' } }" | ||||
|         > | ||||
|           shopping_basket | ||||
|         </mat-icon> | ||||
|         <span | ||||
|           class="logo-text h1" | ||||
|           [@animate]="{ value: '*', params: { delay: '100ms', x: '-25px' } }" | ||||
|           >고객센터 관리</span | ||||
|         > | ||||
|       </div> | ||||
|       <!-- / APP TITLE --> | ||||
| 
 | ||||
|       <!-- SEARCH --> | ||||
| 
 | ||||
|       <!-- <div class="search-wrapper  ml-sm-32"> | ||||
|         <div class="search" fxFlex fxLayout="row" fxLayoutAlign="start center"> | ||||
|           <mat-icon>search</mat-icon> | ||||
|           <input #filter placeholder="Search for an order" /> | ||||
|         </div> | ||||
|       </div> --> | ||||
|       <!-- / SEARCH --> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- / HEADER --> | ||||
| 
 | ||||
|     <!-- CONTENT CARD --> | ||||
|     <div class="content-card"> | ||||
|       <mat-table | ||||
|         class="service-center" | ||||
|         #table | ||||
|         [dataSource]="dataSource" | ||||
|         matSort | ||||
|         [@animateStagger]="{ value: '50' }" | ||||
|         fusePerfectScrollbar | ||||
|       > | ||||
|         <ng-container matColumnDef="idx"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >번호</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter; let i = index"> | ||||
|             <p class="text-truncate">{{ i }}</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- ID/Nickname Column --> | ||||
|         <ng-container matColumnDef="title"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >제목</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter"> | ||||
|             <p class="text-truncate">{{ serviceCenter.title }}</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Phone Column --> | ||||
|         <ng-container matColumnDef="contents"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm | ||||
|             >내용</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-sm> | ||||
|             <!-- <p class="text-truncate">{{ serviceCenter.contents }}</p> --> | ||||
|             <p class="text-truncate">010-3004-2001</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Total Price Column --> | ||||
|         <ng-container matColumnDef="register"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-md | ||||
|             >작성자</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-md> | ||||
|             <p class="total-price text-truncate"> | ||||
|               <!-- {{ user.totalprice | currency: 'USD':'symbol' }} --> | ||||
|               1,000,000 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Point Column --> | ||||
|         <ng-container matColumnDef="createdAt"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm | ||||
|             >작성일</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-sm> | ||||
|             <p class="text-truncate"> | ||||
|               <!-- {{ user.point }} --> | ||||
|               5000 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Level Column --> | ||||
|         <ng-container matColumnDef="contactStatus"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >문의상태</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter"> | ||||
|             <!-- <p class="status text-truncate h6 p-4" [ngClass]="order.status[0].color"> --> | ||||
|             <p class="text-truncate"> | ||||
|               <!-- {{ user.level }} --> | ||||
|               브론즈 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Charge Money Column --> | ||||
|         <ng-container matColumnDef="removeBtn"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >삭제버튼</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let user"> | ||||
|             <p class="text-truncate "> | ||||
|               <button mat-raised-button class="mat-accent"> | ||||
|                 삭제 | ||||
|               </button> | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <mat-header-row | ||||
|           *matHeaderRowDef="displayedColumns; sticky: true" | ||||
|         ></mat-header-row> | ||||
| 
 | ||||
|         <mat-row | ||||
|           *matRowDef="let user; columns: displayedColumns" | ||||
|           class="user" | ||||
|           matRipple | ||||
|           [routerLink]="'/pages/users/management/list/' + user.id" | ||||
|         > | ||||
|         </mat-row> | ||||
|       </mat-table> | ||||
| 
 | ||||
|       <mat-paginator | ||||
|         #paginator | ||||
|         [pageIndex]="0" | ||||
|         [pageSize]="10" | ||||
|         [pageSizeOptions]="[5, 10, 25, 100]" | ||||
|       > | ||||
|       </mat-paginator> | ||||
|     </div> | ||||
|     <!-- / CONTENT CARD --> | ||||
|   </div> | ||||
|   <!-- / CENTER --> | ||||
| </div> | ||||
|  | ||||
| @ -0,0 +1,117 @@ | ||||
| @import 'src/@fuse/scss/fuse'; | ||||
| 
 | ||||
| app-money-log-list { | ||||
|   #money-log-list { | ||||
|     .top-bg { | ||||
|       @include media-breakpoint('xs') { | ||||
|         height: 224px; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     > .center { | ||||
|       > .header { | ||||
|         .search-wrapper { | ||||
|           width: 100%; | ||||
|           max-width: 480px; | ||||
|           border-radius: 28px; | ||||
|           overflow: hidden; | ||||
|           @include mat-elevation(1); | ||||
| 
 | ||||
|           @include media-breakpoint('xs') { | ||||
|             width: 100%; | ||||
|           } | ||||
| 
 | ||||
|           .search { | ||||
|             width: 100%; | ||||
|             height: 48px; | ||||
|             line-height: 48px; | ||||
|             padding: 0 18px; | ||||
| 
 | ||||
|             input { | ||||
|               width: 100%; | ||||
|               height: 48px; | ||||
|               min-height: 48px; | ||||
|               max-height: 48px; | ||||
|               padding: 0 16px; | ||||
|               border: none; | ||||
|               outline: none; | ||||
|             } | ||||
|           } | ||||
|         } | ||||
| 
 | ||||
|         @include media-breakpoint('xs') { | ||||
|           padding: 8px 0; | ||||
|           height: 160px !important; | ||||
|           min-height: 160px !important; | ||||
|           max-height: 160px !important; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .mat-tab-group, | ||||
|   .mat-tab-body-wrapper, | ||||
|   .tab-content { | ||||
|     flex: 1 1 auto; | ||||
|     max-width: 100%; | ||||
|   } | ||||
| 
 | ||||
|   .service-center-table { | ||||
|     flex: 1 1 auto; | ||||
|     border-bottom: 1px solid rgba(0, 0, 0, 0.12); | ||||
|     overflow: auto; | ||||
|     -webkit-overflow-scrolling: touch; | ||||
| 
 | ||||
|     .mat-header-row { | ||||
|       min-height: 64px; | ||||
|     } | ||||
| 
 | ||||
|     .user { | ||||
|       position: relative; | ||||
|       cursor: pointer; | ||||
|       height: 84px; | ||||
|     } | ||||
| 
 | ||||
|     .mat-cell { | ||||
|       min-width: 0; | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-id { | ||||
|       flex: 0 1 84px; | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-image { | ||||
|       flex: 0 1 84px; | ||||
| 
 | ||||
|       .product-image { | ||||
|         width: 52px; | ||||
|         height: 52px; | ||||
|         border: 1px solid rgba(0, 0, 0, 0.12); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-buttons { | ||||
|       flex: 0 1 80px; | ||||
|     } | ||||
| 
 | ||||
|     .quantity-indicator { | ||||
|       display: inline-block; | ||||
|       vertical-align: middle; | ||||
|       width: 8px; | ||||
|       height: 8px; | ||||
|       border-radius: 4px; | ||||
|       margin-right: 8px; | ||||
| 
 | ||||
|       & + span { | ||||
|         display: inline-block; | ||||
|         vertical-align: middle; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .active-icon { | ||||
|       border-radius: 50%; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -1,12 +1,71 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { | ||||
|   Component, | ||||
|   ElementRef, | ||||
|   OnDestroy, | ||||
|   OnInit, | ||||
|   ViewChild, | ||||
|   ViewEncapsulation, | ||||
|   AfterViewInit | ||||
| } from '@angular/core'; | ||||
| import { MatPaginator } from '@angular/material/paginator'; | ||||
| import { MatSort } from '@angular/material/sort'; | ||||
| 
 | ||||
| import { fromEvent, Subject } from 'rxjs'; | ||||
| import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; | ||||
| 
 | ||||
| import { fuseAnimations } from 'src/@fuse/animations'; | ||||
| 
 | ||||
| @Component({ | ||||
|   selector: 'app-money-log', | ||||
|   selector: 'app-money-log-list', | ||||
|   templateUrl: './money-log.component.html', | ||||
|   styleUrls: ['./money-log.component.scss'] | ||||
|   styleUrls: ['./money-log.component.scss'], | ||||
|   animations: fuseAnimations, | ||||
|   encapsulation: ViewEncapsulation.None | ||||
| }) | ||||
| export class MoneyLogComponent implements OnInit { | ||||
|   constructor() {} | ||||
| export class MoneyLogComponent implements OnInit, OnDestroy, AfterViewInit { | ||||
|   displayedColumns = [ | ||||
|     'idx', | ||||
|     'title', | ||||
|     'contents', | ||||
|     'register', | ||||
|     'createdAt', | ||||
|     'contactStatus' | ||||
|   ]; | ||||
| 
 | ||||
|   @ViewChild(MatPaginator, { static: true }) | ||||
|   paginator: MatPaginator; | ||||
| 
 | ||||
|   @ViewChild('filter', { static: true }) | ||||
|   filter: ElementRef; | ||||
| 
 | ||||
|   @ViewChild(MatSort, { static: true }) | ||||
|   sort: MatSort; | ||||
| 
 | ||||
|   // Private
 | ||||
|   private _unsubscribeAll: Subject<any>; | ||||
| 
 | ||||
|   constructor() { | ||||
|     // Set the private defaults
 | ||||
|     this._unsubscribeAll = new Subject(); | ||||
|   } | ||||
| 
 | ||||
|   // -----------------------------------------------------------------------------------------------------
 | ||||
|   // @ Lifecycle hooks
 | ||||
|   // -----------------------------------------------------------------------------------------------------
 | ||||
| 
 | ||||
|   /** | ||||
|    * On init | ||||
|    */ | ||||
|   ngOnInit() {} | ||||
| 
 | ||||
|   /** | ||||
|    * On destroy | ||||
|    */ | ||||
|   ngOnDestroy(): void { | ||||
|     // Unsubscribe from all subscriptions
 | ||||
|     this._unsubscribeAll.next(); | ||||
|     this._unsubscribeAll.complete(); | ||||
|   } | ||||
| 
 | ||||
|   ngAfterViewInit(): void {} | ||||
| } | ||||
|  | ||||
| @ -1 +1,167 @@ | ||||
| <p>point-log works!</p> | ||||
| <div id="point-log-list" class="page-layout carded fullwidth inner-scroll"> | ||||
|   <!-- TOP BACKGROUND --> | ||||
|   <div class="top-bg accent"></div> | ||||
|   <!-- / TOP BACKGROUND --> | ||||
| 
 | ||||
|   <!-- CENTER --> | ||||
|   <div class="center"> | ||||
|     <!-- HEADER --> | ||||
|     <div | ||||
|       class="header accent" | ||||
|       fxLayout="column" | ||||
|       fxLayoutAlign="center center" | ||||
|       fxLayout.gt-xs="row" | ||||
|       fxLayoutAlign.gt-xs="space-between center" | ||||
|     > | ||||
|       <!-- APP TITLE --> | ||||
|       <div | ||||
|         class="logo mb-24 mb-sm-0" | ||||
|         fxLayout="row" | ||||
|         fxLayoutAlign="start center" | ||||
|       > | ||||
|         <mat-icon | ||||
|           class="logo-icon s-32 mr-16" | ||||
|           [@animate]="{ value: '*', params: { delay: '50ms', scale: '0.2' } }" | ||||
|         > | ||||
|           shopping_basket | ||||
|         </mat-icon> | ||||
|         <span | ||||
|           class="logo-text h1" | ||||
|           [@animate]="{ value: '*', params: { delay: '100ms', x: '-25px' } }" | ||||
|           >고객센터 관리</span | ||||
|         > | ||||
|       </div> | ||||
|       <!-- / APP TITLE --> | ||||
| 
 | ||||
|       <!-- SEARCH --> | ||||
| 
 | ||||
|       <!-- <div class="search-wrapper  ml-sm-32"> | ||||
|         <div class="search" fxFlex fxLayout="row" fxLayoutAlign="start center"> | ||||
|           <mat-icon>search</mat-icon> | ||||
|           <input #filter placeholder="Search for an order" /> | ||||
|         </div> | ||||
|       </div> --> | ||||
|       <!-- / SEARCH --> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- / HEADER --> | ||||
| 
 | ||||
|     <!-- CONTENT CARD --> | ||||
|     <div class="content-card"> | ||||
|       <mat-table | ||||
|         class="service-center" | ||||
|         #table | ||||
|         [dataSource]="dataSource" | ||||
|         matSort | ||||
|         [@animateStagger]="{ value: '50' }" | ||||
|         fusePerfectScrollbar | ||||
|       > | ||||
|         <ng-container matColumnDef="idx"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >번호</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter; let i = index"> | ||||
|             <p class="text-truncate">{{ i }}</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- ID/Nickname Column --> | ||||
|         <ng-container matColumnDef="title"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >제목</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter"> | ||||
|             <p class="text-truncate">{{ serviceCenter.title }}</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Phone Column --> | ||||
|         <ng-container matColumnDef="contents"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm | ||||
|             >내용</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-sm> | ||||
|             <!-- <p class="text-truncate">{{ serviceCenter.contents }}</p> --> | ||||
|             <p class="text-truncate">010-3004-2001</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Total Price Column --> | ||||
|         <ng-container matColumnDef="register"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-md | ||||
|             >작성자</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-md> | ||||
|             <p class="total-price text-truncate"> | ||||
|               <!-- {{ user.totalprice | currency: 'USD':'symbol' }} --> | ||||
|               1,000,000 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Point Column --> | ||||
|         <ng-container matColumnDef="createdAt"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm | ||||
|             >작성일</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-sm> | ||||
|             <p class="text-truncate"> | ||||
|               <!-- {{ user.point }} --> | ||||
|               5000 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Level Column --> | ||||
|         <ng-container matColumnDef="contactStatus"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >문의상태</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter"> | ||||
|             <!-- <p class="status text-truncate h6 p-4" [ngClass]="order.status[0].color"> --> | ||||
|             <p class="text-truncate"> | ||||
|               <!-- {{ user.level }} --> | ||||
|               브론즈 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Charge Money Column --> | ||||
|         <ng-container matColumnDef="removeBtn"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >삭제버튼</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let user"> | ||||
|             <p class="text-truncate "> | ||||
|               <button mat-raised-button class="mat-accent"> | ||||
|                 삭제 | ||||
|               </button> | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <mat-header-row | ||||
|           *matHeaderRowDef="displayedColumns; sticky: true" | ||||
|         ></mat-header-row> | ||||
| 
 | ||||
|         <mat-row | ||||
|           *matRowDef="let user; columns: displayedColumns" | ||||
|           class="user" | ||||
|           matRipple | ||||
|           [routerLink]="'/pages/users/management/list/' + user.id" | ||||
|         > | ||||
|         </mat-row> | ||||
|       </mat-table> | ||||
| 
 | ||||
|       <mat-paginator | ||||
|         #paginator | ||||
|         [pageIndex]="0" | ||||
|         [pageSize]="10" | ||||
|         [pageSizeOptions]="[5, 10, 25, 100]" | ||||
|       > | ||||
|       </mat-paginator> | ||||
|     </div> | ||||
|     <!-- / CONTENT CARD --> | ||||
|   </div> | ||||
|   <!-- / CENTER --> | ||||
| </div> | ||||
|  | ||||
| @ -0,0 +1,117 @@ | ||||
| @import 'src/@fuse/scss/fuse'; | ||||
| 
 | ||||
| app-point-log-list { | ||||
|   #point-log-list { | ||||
|     .top-bg { | ||||
|       @include media-breakpoint('xs') { | ||||
|         height: 224px; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     > .center { | ||||
|       > .header { | ||||
|         .search-wrapper { | ||||
|           width: 100%; | ||||
|           max-width: 480px; | ||||
|           border-radius: 28px; | ||||
|           overflow: hidden; | ||||
|           @include mat-elevation(1); | ||||
| 
 | ||||
|           @include media-breakpoint('xs') { | ||||
|             width: 100%; | ||||
|           } | ||||
| 
 | ||||
|           .search { | ||||
|             width: 100%; | ||||
|             height: 48px; | ||||
|             line-height: 48px; | ||||
|             padding: 0 18px; | ||||
| 
 | ||||
|             input { | ||||
|               width: 100%; | ||||
|               height: 48px; | ||||
|               min-height: 48px; | ||||
|               max-height: 48px; | ||||
|               padding: 0 16px; | ||||
|               border: none; | ||||
|               outline: none; | ||||
|             } | ||||
|           } | ||||
|         } | ||||
| 
 | ||||
|         @include media-breakpoint('xs') { | ||||
|           padding: 8px 0; | ||||
|           height: 160px !important; | ||||
|           min-height: 160px !important; | ||||
|           max-height: 160px !important; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .mat-tab-group, | ||||
|   .mat-tab-body-wrapper, | ||||
|   .tab-content { | ||||
|     flex: 1 1 auto; | ||||
|     max-width: 100%; | ||||
|   } | ||||
| 
 | ||||
|   .service-center-table { | ||||
|     flex: 1 1 auto; | ||||
|     border-bottom: 1px solid rgba(0, 0, 0, 0.12); | ||||
|     overflow: auto; | ||||
|     -webkit-overflow-scrolling: touch; | ||||
| 
 | ||||
|     .mat-header-row { | ||||
|       min-height: 64px; | ||||
|     } | ||||
| 
 | ||||
|     .user { | ||||
|       position: relative; | ||||
|       cursor: pointer; | ||||
|       height: 84px; | ||||
|     } | ||||
| 
 | ||||
|     .mat-cell { | ||||
|       min-width: 0; | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-id { | ||||
|       flex: 0 1 84px; | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-image { | ||||
|       flex: 0 1 84px; | ||||
| 
 | ||||
|       .product-image { | ||||
|         width: 52px; | ||||
|         height: 52px; | ||||
|         border: 1px solid rgba(0, 0, 0, 0.12); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-buttons { | ||||
|       flex: 0 1 80px; | ||||
|     } | ||||
| 
 | ||||
|     .quantity-indicator { | ||||
|       display: inline-block; | ||||
|       vertical-align: middle; | ||||
|       width: 8px; | ||||
|       height: 8px; | ||||
|       border-radius: 4px; | ||||
|       margin-right: 8px; | ||||
| 
 | ||||
|       & + span { | ||||
|         display: inline-block; | ||||
|         vertical-align: middle; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .active-icon { | ||||
|       border-radius: 50%; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -1,12 +1,71 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { | ||||
|   Component, | ||||
|   ElementRef, | ||||
|   OnDestroy, | ||||
|   OnInit, | ||||
|   ViewChild, | ||||
|   ViewEncapsulation, | ||||
|   AfterViewInit | ||||
| } from '@angular/core'; | ||||
| import { MatPaginator } from '@angular/material/paginator'; | ||||
| import { MatSort } from '@angular/material/sort'; | ||||
| 
 | ||||
| import { fromEvent, Subject } from 'rxjs'; | ||||
| import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; | ||||
| 
 | ||||
| import { fuseAnimations } from 'src/@fuse/animations'; | ||||
| 
 | ||||
| @Component({ | ||||
|   selector: 'app-point-log', | ||||
|   selector: 'app-point-log-list', | ||||
|   templateUrl: './point-log.component.html', | ||||
|   styleUrls: ['./point-log.component.scss'] | ||||
|   styleUrls: ['./point-log.component.scss'], | ||||
|   animations: fuseAnimations, | ||||
|   encapsulation: ViewEncapsulation.None | ||||
| }) | ||||
| export class PointLogComponent implements OnInit { | ||||
|   constructor() {} | ||||
| export class PointLogComponent implements OnInit, OnDestroy, AfterViewInit { | ||||
|   displayedColumns = [ | ||||
|     'idx', | ||||
|     'title', | ||||
|     'contents', | ||||
|     'register', | ||||
|     'createdAt', | ||||
|     'contactStatus' | ||||
|   ]; | ||||
| 
 | ||||
|   @ViewChild(MatPaginator, { static: true }) | ||||
|   paginator: MatPaginator; | ||||
| 
 | ||||
|   @ViewChild('filter', { static: true }) | ||||
|   filter: ElementRef; | ||||
| 
 | ||||
|   @ViewChild(MatSort, { static: true }) | ||||
|   sort: MatSort; | ||||
| 
 | ||||
|   // Private
 | ||||
|   private _unsubscribeAll: Subject<any>; | ||||
| 
 | ||||
|   constructor() { | ||||
|     // Set the private defaults
 | ||||
|     this._unsubscribeAll = new Subject(); | ||||
|   } | ||||
| 
 | ||||
|   // -----------------------------------------------------------------------------------------------------
 | ||||
|   // @ Lifecycle hooks
 | ||||
|   // -----------------------------------------------------------------------------------------------------
 | ||||
| 
 | ||||
|   /** | ||||
|    * On init | ||||
|    */ | ||||
|   ngOnInit() {} | ||||
| 
 | ||||
|   /** | ||||
|    * On destroy | ||||
|    */ | ||||
|   ngOnDestroy(): void { | ||||
|     // Unsubscribe from all subscriptions
 | ||||
|     this._unsubscribeAll.next(); | ||||
|     this._unsubscribeAll.complete(); | ||||
|   } | ||||
| 
 | ||||
|   ngAfterViewInit(): void {} | ||||
| } | ||||
|  | ||||
| @ -1 +1,167 @@ | ||||
| <p>withdrawal works!</p> | ||||
| <div id="withdrawal-list" class="page-layout carded fullwidth inner-scroll"> | ||||
|   <!-- TOP BACKGROUND --> | ||||
|   <div class="top-bg accent"></div> | ||||
|   <!-- / TOP BACKGROUND --> | ||||
| 
 | ||||
|   <!-- CENTER --> | ||||
|   <div class="center"> | ||||
|     <!-- HEADER --> | ||||
|     <div | ||||
|       class="header accent" | ||||
|       fxLayout="column" | ||||
|       fxLayoutAlign="center center" | ||||
|       fxLayout.gt-xs="row" | ||||
|       fxLayoutAlign.gt-xs="space-between center" | ||||
|     > | ||||
|       <!-- APP TITLE --> | ||||
|       <div | ||||
|         class="logo mb-24 mb-sm-0" | ||||
|         fxLayout="row" | ||||
|         fxLayoutAlign="start center" | ||||
|       > | ||||
|         <mat-icon | ||||
|           class="logo-icon s-32 mr-16" | ||||
|           [@animate]="{ value: '*', params: { delay: '50ms', scale: '0.2' } }" | ||||
|         > | ||||
|           shopping_basket | ||||
|         </mat-icon> | ||||
|         <span | ||||
|           class="logo-text h1" | ||||
|           [@animate]="{ value: '*', params: { delay: '100ms', x: '-25px' } }" | ||||
|           >고객센터 관리</span | ||||
|         > | ||||
|       </div> | ||||
|       <!-- / APP TITLE --> | ||||
| 
 | ||||
|       <!-- SEARCH --> | ||||
| 
 | ||||
|       <!-- <div class="search-wrapper  ml-sm-32"> | ||||
|         <div class="search" fxFlex fxLayout="row" fxLayoutAlign="start center"> | ||||
|           <mat-icon>search</mat-icon> | ||||
|           <input #filter placeholder="Search for an order" /> | ||||
|         </div> | ||||
|       </div> --> | ||||
|       <!-- / SEARCH --> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- / HEADER --> | ||||
| 
 | ||||
|     <!-- CONTENT CARD --> | ||||
|     <div class="content-card"> | ||||
|       <mat-table | ||||
|         class="service-center" | ||||
|         #table | ||||
|         [dataSource]="dataSource" | ||||
|         matSort | ||||
|         [@animateStagger]="{ value: '50' }" | ||||
|         fusePerfectScrollbar | ||||
|       > | ||||
|         <ng-container matColumnDef="idx"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >번호</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter; let i = index"> | ||||
|             <p class="text-truncate">{{ i }}</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- ID/Nickname Column --> | ||||
|         <ng-container matColumnDef="title"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >제목</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter"> | ||||
|             <p class="text-truncate">{{ serviceCenter.title }}</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Phone Column --> | ||||
|         <ng-container matColumnDef="contents"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm | ||||
|             >내용</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-sm> | ||||
|             <!-- <p class="text-truncate">{{ serviceCenter.contents }}</p> --> | ||||
|             <p class="text-truncate">010-3004-2001</p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Total Price Column --> | ||||
|         <ng-container matColumnDef="register"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-md | ||||
|             >작성자</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-md> | ||||
|             <p class="total-price text-truncate"> | ||||
|               <!-- {{ user.totalprice | currency: 'USD':'symbol' }} --> | ||||
|               1,000,000 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Point Column --> | ||||
|         <ng-container matColumnDef="createdAt"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm | ||||
|             >작성일</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter" fxHide fxShow.gt-sm> | ||||
|             <p class="text-truncate"> | ||||
|               <!-- {{ user.point }} --> | ||||
|               5000 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Level Column --> | ||||
|         <ng-container matColumnDef="contactStatus"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >문의상태</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let serviceCenter"> | ||||
|             <!-- <p class="status text-truncate h6 p-4" [ngClass]="order.status[0].color"> --> | ||||
|             <p class="text-truncate"> | ||||
|               <!-- {{ user.level }} --> | ||||
|               브론즈 | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <!-- Charge Money Column --> | ||||
|         <ng-container matColumnDef="removeBtn"> | ||||
|           <mat-header-cell *matHeaderCellDef mat-sort-header | ||||
|             >삭제버튼</mat-header-cell | ||||
|           > | ||||
|           <mat-cell *matCellDef="let user"> | ||||
|             <p class="text-truncate "> | ||||
|               <button mat-raised-button class="mat-accent"> | ||||
|                 삭제 | ||||
|               </button> | ||||
|             </p> | ||||
|           </mat-cell> | ||||
|         </ng-container> | ||||
| 
 | ||||
|         <mat-header-row | ||||
|           *matHeaderRowDef="displayedColumns; sticky: true" | ||||
|         ></mat-header-row> | ||||
| 
 | ||||
|         <mat-row | ||||
|           *matRowDef="let user; columns: displayedColumns" | ||||
|           class="user" | ||||
|           matRipple | ||||
|           [routerLink]="'/pages/users/management/list/' + user.id" | ||||
|         > | ||||
|         </mat-row> | ||||
|       </mat-table> | ||||
| 
 | ||||
|       <mat-paginator | ||||
|         #paginator | ||||
|         [pageIndex]="0" | ||||
|         [pageSize]="10" | ||||
|         [pageSizeOptions]="[5, 10, 25, 100]" | ||||
|       > | ||||
|       </mat-paginator> | ||||
|     </div> | ||||
|     <!-- / CONTENT CARD --> | ||||
|   </div> | ||||
|   <!-- / CENTER --> | ||||
| </div> | ||||
|  | ||||
| @ -0,0 +1,117 @@ | ||||
| @import 'src/@fuse/scss/fuse'; | ||||
| 
 | ||||
| app-withdrawal-list { | ||||
|   #withdrawal-list { | ||||
|     .top-bg { | ||||
|       @include media-breakpoint('xs') { | ||||
|         height: 224px; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     > .center { | ||||
|       > .header { | ||||
|         .search-wrapper { | ||||
|           width: 100%; | ||||
|           max-width: 480px; | ||||
|           border-radius: 28px; | ||||
|           overflow: hidden; | ||||
|           @include mat-elevation(1); | ||||
| 
 | ||||
|           @include media-breakpoint('xs') { | ||||
|             width: 100%; | ||||
|           } | ||||
| 
 | ||||
|           .search { | ||||
|             width: 100%; | ||||
|             height: 48px; | ||||
|             line-height: 48px; | ||||
|             padding: 0 18px; | ||||
| 
 | ||||
|             input { | ||||
|               width: 100%; | ||||
|               height: 48px; | ||||
|               min-height: 48px; | ||||
|               max-height: 48px; | ||||
|               padding: 0 16px; | ||||
|               border: none; | ||||
|               outline: none; | ||||
|             } | ||||
|           } | ||||
|         } | ||||
| 
 | ||||
|         @include media-breakpoint('xs') { | ||||
|           padding: 8px 0; | ||||
|           height: 160px !important; | ||||
|           min-height: 160px !important; | ||||
|           max-height: 160px !important; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .mat-tab-group, | ||||
|   .mat-tab-body-wrapper, | ||||
|   .tab-content { | ||||
|     flex: 1 1 auto; | ||||
|     max-width: 100%; | ||||
|   } | ||||
| 
 | ||||
|   .service-center-table { | ||||
|     flex: 1 1 auto; | ||||
|     border-bottom: 1px solid rgba(0, 0, 0, 0.12); | ||||
|     overflow: auto; | ||||
|     -webkit-overflow-scrolling: touch; | ||||
| 
 | ||||
|     .mat-header-row { | ||||
|       min-height: 64px; | ||||
|     } | ||||
| 
 | ||||
|     .user { | ||||
|       position: relative; | ||||
|       cursor: pointer; | ||||
|       height: 84px; | ||||
|     } | ||||
| 
 | ||||
|     .mat-cell { | ||||
|       min-width: 0; | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-id { | ||||
|       flex: 0 1 84px; | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-image { | ||||
|       flex: 0 1 84px; | ||||
| 
 | ||||
|       .product-image { | ||||
|         width: 52px; | ||||
|         height: 52px; | ||||
|         border: 1px solid rgba(0, 0, 0, 0.12); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .mat-column-buttons { | ||||
|       flex: 0 1 80px; | ||||
|     } | ||||
| 
 | ||||
|     .quantity-indicator { | ||||
|       display: inline-block; | ||||
|       vertical-align: middle; | ||||
|       width: 8px; | ||||
|       height: 8px; | ||||
|       border-radius: 4px; | ||||
|       margin-right: 8px; | ||||
| 
 | ||||
|       & + span { | ||||
|         display: inline-block; | ||||
|         vertical-align: middle; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .active-icon { | ||||
|       border-radius: 50%; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -1,12 +1,71 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { | ||||
|   Component, | ||||
|   ElementRef, | ||||
|   OnDestroy, | ||||
|   OnInit, | ||||
|   ViewChild, | ||||
|   ViewEncapsulation, | ||||
|   AfterViewInit | ||||
| } from '@angular/core'; | ||||
| import { MatPaginator } from '@angular/material/paginator'; | ||||
| import { MatSort } from '@angular/material/sort'; | ||||
| 
 | ||||
| import { fromEvent, Subject } from 'rxjs'; | ||||
| import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; | ||||
| 
 | ||||
| import { fuseAnimations } from 'src/@fuse/animations'; | ||||
| 
 | ||||
| @Component({ | ||||
|   selector: 'app-withdrawal', | ||||
|   selector: 'app-withdrawal-list', | ||||
|   templateUrl: './withdrawal.component.html', | ||||
|   styleUrls: ['./withdrawal.component.scss'] | ||||
|   styleUrls: ['./withdrawal.component.scss'], | ||||
|   animations: fuseAnimations, | ||||
|   encapsulation: ViewEncapsulation.None | ||||
| }) | ||||
| export class WithdrawalComponent implements OnInit { | ||||
|   constructor() {} | ||||
| export class WithdrawalComponent implements OnInit, OnDestroy, AfterViewInit { | ||||
|   displayedColumns = [ | ||||
|     'idx', | ||||
|     'title', | ||||
|     'contents', | ||||
|     'register', | ||||
|     'createdAt', | ||||
|     'contactStatus' | ||||
|   ]; | ||||
| 
 | ||||
|   @ViewChild(MatPaginator, { static: true }) | ||||
|   paginator: MatPaginator; | ||||
| 
 | ||||
|   @ViewChild('filter', { static: true }) | ||||
|   filter: ElementRef; | ||||
| 
 | ||||
|   @ViewChild(MatSort, { static: true }) | ||||
|   sort: MatSort; | ||||
| 
 | ||||
|   // Private
 | ||||
|   private _unsubscribeAll: Subject<any>; | ||||
| 
 | ||||
|   constructor() { | ||||
|     // Set the private defaults
 | ||||
|     this._unsubscribeAll = new Subject(); | ||||
|   } | ||||
| 
 | ||||
|   // -----------------------------------------------------------------------------------------------------
 | ||||
|   // @ Lifecycle hooks
 | ||||
|   // -----------------------------------------------------------------------------------------------------
 | ||||
| 
 | ||||
|   /** | ||||
|    * On init | ||||
|    */ | ||||
|   ngOnInit() {} | ||||
| 
 | ||||
|   /** | ||||
|    * On destroy | ||||
|    */ | ||||
|   ngOnDestroy(): void { | ||||
|     // Unsubscribe from all subscriptions
 | ||||
|     this._unsubscribeAll.next(); | ||||
|     this._unsubscribeAll.complete(); | ||||
|   } | ||||
| 
 | ||||
|   ngAfterViewInit(): void {} | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user