고객센터 템플릿 테이블 수정

This commit is contained in:
Park Byung Eun 2022-07-21 09:53:49 +00:00
parent 72c585b590
commit d653b61bf0
5 changed files with 131 additions and 355 deletions

View File

@ -44,19 +44,19 @@ export class BoardCustomerTemplateMockApi {
); );
// Sort the customerTemplates // Sort the customerTemplates
if (sort === 'sku' || sort === 'name' || sort === 'active') { // if (sort === 'sku' || sort === 'name' || sort === 'active') {
customerTemplates.sort((a, b) => { // customerTemplates.sort((a, b) => {
const fieldA = a[sort].toString().toUpperCase(); // const fieldA = a[sort].toString().toUpperCase();
const fieldB = b[sort].toString().toUpperCase(); // const fieldB = b[sort].toString().toUpperCase();
return order === 'asc' // return order === 'asc'
? fieldA.localeCompare(fieldB) // ? fieldA.localeCompare(fieldB)
: fieldB.localeCompare(fieldA); // : fieldB.localeCompare(fieldA);
}); // });
} else { // } else {
customerTemplates.sort((a, b) => // customerTemplates.sort((a, b) =>
order === 'asc' ? a[sort] - b[sort] : b[sort] - a[sort] // order === 'asc' ? a[sort] - b[sort] : b[sort] - a[sort]
); // );
} // }
// If search exists... // If search exists...
if (search) { if (search) {

View File

@ -2,32 +2,77 @@
export const customerTemplates = [ export const customerTemplates = [
{ {
id: 'on00', id: '1',
totalPartnerCount: '5', title: '입금계좌문의시(가상계좌)',
totalHoldingMoney: 303675, order: '5006',
totalComp: 108933, conent:
total: 412608, '은행: \n\n 예금주: \n\n 계좌번호: \n\n 입금전 계좌 확인 후 입금하시고 충전 신청 바랍니다.\n 항상 본인 계좌로 입금해주길 부탁드립니다.',
branchCount: 1, },
divisionCount: 1, {
officeCount: 1, id: '2',
storeCount: 1, title: '출금 비밀번호 문의시',
memberCount: 1, order: '5001',
nickname: 'on00', conent:
accountHolder: '11', '문의 하신 출금 비밀번호는 로그인하셨을 때 비밀번호랑 동일합니다.\n 감사합니다.',
phoneNumber: '010-1111-1111', },
calculateType: '롤링', {
ownCash: 50000, id: '3',
ownComp: 1711, title: '탈퇴, 졸업 관련',
ownCoupon: 50000, order: '904',
gameMoney: 0, conent: '--',
todayComp: 0, },
totalDeposit: 0, {
totalWithdraw: 0, id: '4',
balance: 0, title: '졸업안내',
registDate: '2022-06-12 15:38', order: '902',
finalSigninDate: '', conent:
ip: '', '회원님의 베팅내역 확인결과 더이상 회원님의 베팅을 받기에는 무리가 있다고 \n\n 판단되어 정중히 졸업을 시켜드리고자 합니다.\n\n 현시간 이후의 베팅은 금지되며 베팅을 하시더라도 임의 취소 처리됨을 알려드립니다.\n\n 현재 보유중인 금액은 모두 환전 처리 부탁드리며 환전 완료후에는 이용아이디가\n\n정지처리 됩니다.',
state: '정상', },
note: '', {
id: '5',
title: '입금 관련 문의',
order: '850',
conent: '',
},
{
id: '6',
title: '타인명의 입금시',
order: '849',
conent:
'가입 시 등록하신 본인 명의 입금이 아닌, 타인 명의로 입금 시 \n\n 충전이 불가능 합니다. 회원님 \n\n 반드시 가입 시 등록하신 예금주 명과, 입금자명이 동일해야 처리가 가능하며, \n\n 회원님께서 입금해주신 입금자명의 계좌번호를 고객센터로 남겨주시면 \n\n 다시 환전처리 해드리겠습니다.',
},
{
id: '7',
title: '환전 관련 문의',
order: '800',
conent: '',
},
{
id: '8',
title: '환전지연안내(환전량 증가)',
order: '407',
conent:
'언제나 이용해 주시는 회원님 감사합니다. \n\n 현재 중요경기가 마감되어 회원님들의 환전 신청이 몰려 \n\n 환전처리 업무가 지연 되고 있습니다.\n\n 순차적으로 환전업무 처리중이오니 잠시만 기다려 주시면 \n\n 신속하게 처리해 드리겠습니다. 회원님',
},
{
id: '9',
title: '은행점검(뱅킹장애)등으로 충, 환전 지연안내',
order: '406',
conent:
'언제나 이용해 주시는 회원님 감사합니다.\n\n 현재 해당 은행점검 시간으로 환전 처리가 불가합니다.\n\n 은행점검이 끝난 후 처리 가능합니다.\n\n 신청하신 내역은 취소해 드렸습니다. \n\n 23:30~00:30분까지는 은행일자 전환 시스템 점검으로 환전이 불가합니다.\n\n 그리고 가급적 은행점검 시간을 피하여 입, 출금 신청을 해주시면 감사하겠습니다.',
},
{
id: '10',
title: '서버 점검 안내',
order: '0',
conent:
'안녕하세요, 회원님\n\n 운영팀입니다.\n\n 1. 점검 시간\n\n 2. 점검 내용\n\n - 서버 안정화 작업\n\n 항상,이용해 주시는 회원님께 감사의 말씀 드리며,\n\n 보다 나은 서비스 제공을 위해 진행될 점검 내용을 안내해 드리겠습니다.\n\n 점검 시 해당 게임은 일시적으로 이용이 불가능하오니\n\n 회원님의 너그러운 양해를 부탁드립니다.\n\n 점검과 관련된 자세한 내용은 아래를 참고해 주시기 바랍니다.\n\n ※ 주의사항\n\n 1. 점검 시간 내에 점검 대상 게임은 이용이 불가능합니다.\n\n 2. 점검 시간은 조기 종료 또는 연장될 수 있습니다.\n\n 예정된 시간에 점검이 완료될 수 있도록 최선을 다하겠습니다\n\n 회원님께 더 좋은 서비스와 재미를 제공할 수 있도록 노력하겠습니다.\n\n 감사합니다.',
},
{
id: '11',
title: '서버 점검 완료 안내',
order: '0',
conent:
'안녕하세요 관리자입니다.\n\n서버 점검이 완료 되었습니다.\n\n정상적으로 게임이용 가능하시며,\n\n항상 좋은 서비스로 찾아뵙겠습니다.\n\n최선을 다하겠습니다.',
}, },
]; ];

View File

@ -11,138 +11,6 @@
</div> </div>
<!-- Title --> <!-- Title -->
<div class="text-4xl font-extrabold tracking-tight">고객센터 템플릿</div> <div class="text-4xl font-extrabold tracking-tight">고객센터 템플릿</div>
<!-- Actions -->
<div class="flex shrink-0 items-center mt-6 sm:mt-0 sm:ml-4">
<!-- Memo -->
<!-- <mat-form-field>
<ng-container *ngIf="customerTemplates$ | async as customerTemplates">
<ng-container
*ngFor="let customerTemplate of customerTemplates; trackBy: __trackByFn"
>
<div
class="inventory-grid grid items-center gap-4 py-3 px-6 md:px-8 border-b"
>
<fieldset>
총 파트너수:{{ customerTemplate.totalPartnerCount }} 총 보유머니:{{
customerTemplate.totalHoldingMoney
}}
총 콤프:{{ customerTemplate.totalComp }} 총 합계:{{
customerTemplate.total
}}
</fieldset>
</div>
</ng-container>
</ng-container>
</mat-form-field> -->
<!-- SelectBox -->
<mat-form-field>
<mat-select placeholder="리스트수">
<mat-option value="40">40</mat-option>
<mat-option value="60">60</mat-option>
<mat-option value="80">80</mat-option>
<mat-option value="100">100</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="레벨">
<mat-option value="level1">LV.1</mat-option>
<mat-option value="level2">LV.2</mat-option>
<mat-option value="level3">LV.3</mat-option>
<mat-option value="level4">LV.4</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="상태">
<mat-option value="">정상</mat-option>
<mat-option value="">대기</mat-option>
<mat-option value="">탈퇴</mat-option>
<mat-option value="">휴면</mat-option>
<mat-option value="">블랙</mat-option>
<mat-option value="">정지</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="제한">
<mat-option value="">카지노제한</mat-option>
<mat-option value="">슬롯제한</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="입금">
<mat-option value="">계좌입금</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="내용">
<mat-option value="">카지노콤프</mat-option>
<mat-option value="">슬롯콤프</mat-option>
<mat-option value="">배팅콤프</mat-option>
<mat-option value="">첫충콤프</mat-option>
</mat-select>
</mat-form-field>
<!-- <mat-form-field>
<mat-select placeholder="입금">
<mat-option value="">계좌입금</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="아이디">
<mat-option value="">아이디</mat-option>
<mat-option value="">닉네임</mat-option>
<mat-option value="">이름</mat-option>
<mat-option value="">사이트</mat-option>
<mat-option value="">파트너수동지급</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="가입일 정렬">
<mat-option value="">가입일 정렬</mat-option>
<mat-option value="">아이디 정렬</mat-option>
<mat-option value="">닉네임 정렬</mat-option>
<mat-option value="">캐쉬 정렬</mat-option>
<mat-option value="">콤프 정렬</mat-option>
<mat-option value="">쿠폰 정렬</mat-option>
<mat-option value="">입금 정렬</mat-option>
<mat-option value="">출금 정렬</mat-option>
<mat-option value="">차익 정렬</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select placeholder="내림차순">
<mat-option value="">내림차순</mat-option>
<mat-option value="">오름차순</mat-option>
</mat-select>
</mat-form-field> -->
<!-- Search -->
<mat-form-field
class="fuse-mat-dense fuse-mat-no-subscript fuse-mat-rounded min-w-64"
>
<mat-icon
class="icon-size-5"
matPrefix
[svgIcon]="'heroicons_solid:search'"
></mat-icon>
<input
matInput
[formControl]="searchInputControl"
[autocomplete]="'off'"
[placeholder]="'Search'"
/>
</mat-form-field>
<!-- Add user button -->
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__createProduct()"
>
<!-- <mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon> -->
<span class="ml-2 mr-1">검색하기</span>
</button>
<button>엑셀저장</button>
<button>카지노머니확인</button>
</div>
</div> </div>
<!-- Main --> <!-- Main -->
@ -162,26 +30,11 @@
matSort matSort
matSortDisableClear matSortDisableClear
> >
<div class="hidden sm:block"><mat-checkbox></mat-checkbox></div> <div>번호</div>
<div class="hidden sm:block">요율</div> <div>제목</div>
<div class="hidden sm:block">상부트리</div> <div>순서</div>
<div class="hidden sm:block">관리</div> <div>수정</div>
<div class="hidden sm:block">매장수</div> <div>삭제</div>
<div class="hidden sm:block">회원수</div>
<div class="hidden sm:block">아이디</div>
<div class="hidden sm:block">닉네임</div>
<div class="hidden sm:block">예금주</div>
<div class="hidden sm:block">연락처</div>
<div class="hidden sm:block">정산</div>
<div class="hidden sm:block">보유금</div>
<div class="hidden sm:block">게임중머니</div>
<div class="hidden sm:block">카지노->캐쉬</div>
<div class="hidden sm:block">금일콤프</div>
<div class="hidden sm:block">총입출</div>
<div class="hidden sm:block">로그</div>
<div class="hidden sm:block">상태</div>
<div class="hidden sm:block">회원수</div>
<div class="hidden sm:block">비고</div>
</div> </div>
<!-- Rows --> <!-- Rows -->
<ng-container <ng-container
@ -190,148 +43,45 @@
<ng-container <ng-container
*ngFor=" *ngFor="
let customerTemplate of customerTemplates; let customerTemplate of customerTemplates;
index as idx;
trackBy: __trackByFn trackBy: __trackByFn
" "
> >
<div <div
class="inventory-grid grid items-center gap-4 py-3 px-6 md:px-8 border-b" class="inventory-grid grid items-center gap-4 py-3 px-6 md:px-8 border-b"
> >
<div class="hidden sm:block truncate"> <!-- 번호 -->
<mat-checkbox></mat-checkbox> <div>
{{ idx + 1 }}
</div> </div>
<!-- rate --> <!-- 제목 -->
<div>
<span (click)="__onClickTitle(customerTemplate.id)">{{
customerTemplate.title
}}</span>
</div>
<!-- 순서 -->
<div>
{{ customerTemplate.order }}
</div>
<!-- 수정 -->
<div class="hidden sm:block truncate"> <div class="hidden sm:block truncate">
<button <button
mat-button mat-flat-button
color="primary" class="bet-mat-small-8"
matTooltip="요율확인 [color]="'primary'"
카지노-바카라: 0%
카지노-룰렛: 0%
카지노-드레곤타이거: 0%
카지노-그외: 0%
슬롯: 0%
카지노루징: 0%
슬롯루징: 0%"
> >
요율 수정
</button> </button>
</div>
<!-- 삭제 -->
<div class="hidden sm:block truncate"> <div class="hidden sm:block truncate">
<!-- 관리 --> <button
<button mat-flat-button [color]="'primary'"> mat-flat-button
<mat-form-field> class="bet-mat-small-8"
<mat-select placeholder="관리"> [color]="'primary'"
<mat-option value="">보유금지급/회수</mat-option>
<mat-option value="">수수료설정</mat-option>
<mat-option value="">콤프지급/회수</mat-option>
<mat-option value="">쿠폰머니지급/회수</mat-option>
<mat-option value="">쪽지보내기</mat-option>
<mat-option value="">베팅리스트</mat-option>
<mat-option value="">강제로그아웃</mat-option>
</mat-select>
</mat-form-field>
</button>
</div>
</div>
<!-- 매장수 -->
<div class="hidden sm:block truncate">
<button mat-flat-button [color]="'primary'">
{{ customerTemplate.branchCount }}
</button>
<button mat-flat-button [color]="'primary'">
{{ customerTemplate.divisionCount }}
</button>
<button mat-flat-button [color]="'primary'">
{{ customerTemplate.officeCount }}
</button>
<button mat-flat-button [color]="'primary'">
{{ customerTemplate.storeCount }}
</button>
</div>
<!-- 회원수 -->
<div class="hidden sm:block truncate">
<button mat-flat-button [color]="'primary'">
{{ customerTemplate.memberCount }}
</button>
</div>
<!-- id -->
<ng-container *ngIf="users$ | async as users">
<ng-container
*ngFor="let user of users; trackBy: __trackByFn"
> >
<div 삭제
class="hidden sm:block truncate"
(click)="viewUserDetail(user.id!)"
>
{{ customerTemplate.id }}
</div>
</ng-container>
</ng-container>
<!-- nickname -->
<div class="hidden sm:block truncate">
{{ customerTemplate.nickname }}
</div>
<!-- accountHolder -->
<div class="hidden sm:block truncate">
{{ customerTemplate.accountHolder }}
</div>
<!-- 연락처 -->
<div class="hidden sm:block truncate">
{{ customerTemplate.phoneNumber }}
</div>
<!-- 정산 -->
<div class="hidden sm:block truncate">
{{ customerTemplate.calculateType }}
</div>
<!-- 보유금 -->
<div class="hidden sm:block truncate">
캐쉬{{ customerTemplate.ownCash }} 콤프{{
customerTemplate.ownComp
}}
쿠폰{{ customerTemplate.ownCoupon }}
</div>
<!-- gameMoney -->
<div class="hidden sm:block truncate">
{{ customerTemplate.gameMoney }}
</div>
<!-- casinoCash -->
<div class="hidden sm:block truncate">
<button mat-flat-button [color]="'primary'">
게임머니확인
</button>
<button mat-flat-button [color]="'primary'">
게임머니회수
</button>
</div>
<!-- todayComp -->
<div class="hidden sm:block truncate">
{{ customerTemplate.todayComp }}P
</div>
<!-- 총입출 -->
<div class="hidden sm:block truncate">
입금{{ customerTemplate.totalDeposit }} 출금{{
customerTemplate.totalWithdraw
}}
차익{{ customerTemplate.balance }}
</div>
<!-- log -->
<div class="hidden sm:block truncate">
가입{{ customerTemplate.registDate }} 최종{{
customerTemplate.finalSigninDate
}}
IP{{ customerTemplate.ip }}
</div>
<!-- state -->
<div class="hidden sm:block truncate">
{{ customerTemplate.state }}
</div>
<!-- 회원수 -->
<div class="hidden sm:block truncate">
{{ customerTemplate.memberCount }}
</div>
<!-- 비고 -->
<div class="hidden sm:block truncate">
<button mat-flat-button [color]="'primary'">
{{ customerTemplate.note }}
</button> </button>
</div> </div>
</div> </div>

View File

@ -42,18 +42,22 @@ import { Router } from '@angular/router';
/* language=SCSS */ /* language=SCSS */
` `
.inventory-grid { .inventory-grid {
grid-template-columns: 60px auto 40px; /* 번호 제목 순서 수정 삭제 */
grid-template-columns: 60px auto 80px 80px 80px;
@screen sm { @screen sm {
grid-template-columns: 60px 60px 60px 60px 60px 60px auto 60px; /* 번호 제목 순서 수정 삭제 */
grid-template-columns: 60px auto 80px 80px 80px;
} }
@screen md { @screen md {
grid-template-columns: 60px 60px 60px 60px 60px 60px auto 60px 60px; /* 번호 제목 순서 수정 삭제 */
grid-template-columns: 60px auto 80px 80px 80px;
} }
@screen lg { @screen lg {
grid-template-columns: 60px 70px 70px 70px 70px 100px 60px 60px auto 60px 60px 60px 60px; /* 번호 제목 순서 수정 삭제 */
grid-template-columns: 60px auto 80px 80px 80px;
} }
} }
`, `,
@ -166,9 +170,9 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy {
// @ Public methods // @ Public methods
// ----------------------------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------------------------
viewUserDetail(id: string): void { __onClickTitle(id: string): void {
let url: string = 'member/user/' + id; /* */
this.router.navigateByUrl(url); console.log('click Title: ', id);
} }
// ----------------------------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------------------------
// @ Private methods // @ Private methods
@ -184,7 +188,7 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy {
* *
* @param productId * @param productId
*/ */
__toggleDetails(productId: string): void {} __toggleDetails(productId: string | undefined): void {}
/** /**
* Track by function for ngFor loops * Track by function for ngFor loops

View File

@ -1,29 +1,6 @@
export interface CustomerTemplate { export interface CustomerTemplate {
id?: string; id: string;
totalPartnerCount?: number; title?: string;
totalHoldingMoney?: number; order?: string;
totalComp?: number; content?: string;
total?: number;
branchCount?: number;
divisionCount?: number;
officeCount?: number;
storeCount?: number;
memberCount?: number;
nickname?: string;
accountHolder?: string;
phoneNumber?: string;
calculateType?: string;
ownCash?: number;
ownComp?: number;
ownCoupon?: number;
gameMoney?: number;
todayComp?: number;
totalDeposit?: number;
totalWithdraw?: number;
balance?: number;
registDate?: string;
finalSigninDate?: string;
ip?: string;
state?: string;
note?: string;
} }