전체파트너 수정

This commit is contained in:
이담 정 2022-07-22 04:58:29 +00:00
parent 56048ddea4
commit 78060e6bf8
5 changed files with 131 additions and 320 deletions

View File

@ -33,7 +33,7 @@ export class MemberPartnerMockApi {
.reply(({ request }) => { .reply(({ request }) => {
// Get available queries // Get available queries
const search = request.params.get('search'); const search = request.params.get('search');
const sort = request.params.get('sort') || 'name'; const sort = request.params.get('sort') || 'signinId';
const order = request.params.get('order') || 'asc'; const order = request.params.get('order') || 'asc';
const page = parseInt(request.params.get('page') ?? '1', 10); const page = parseInt(request.params.get('page') ?? '1', 10);
const size = parseInt(request.params.get('size') ?? '10', 10); const size = parseInt(request.params.get('size') ?? '10', 10);
@ -42,7 +42,7 @@ export class MemberPartnerMockApi {
let partners: any[] | null = cloneDeep(this._partners); let partners: any[] | null = cloneDeep(this._partners);
// Sort the partners // Sort the partners
if (sort === 'sku' || sort === 'name' || sort === 'active') { if (sort === 'signinId' || sort === 'nickname' || sort === 'state') {
partners.sort((a, b) => { partners.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();

View File

@ -2,7 +2,8 @@
export const partners = [ export const partners = [
{ {
id: 'kgon1', id: '7eb7c859-1347-4317-96b6-9476a7e2ba3c',
signinId: 'kgon1',
nickname: '본사', nickname: '본사',
rank: '본사', rank: '본사',
branchCount: 2, branchCount: 2,
@ -15,16 +16,43 @@ export const partners = [
holdingMoney: 253675, holdingMoney: 253675,
accountHolder: '본사', accountHolder: '본사',
phoneNumber: '010-0000-0000', phoneNumber: '010-0000-0000',
comp: 100737, ownCash: 253675,
coupon: 1900000, ownComp: 100737,
ownCoupon: 1900000,
ownCharge: 460000, ownCharge: 460000,
bottomCharge: 54020000, bottomCharge: 54020000,
ownExchange: 100000, ownExchange: 100000,
bottomExchange: 19970000, bottomExchange: 19970000,
ownRevenue: 360000, ownRevenue: 360000,
bottomRevenue: 34050000, bottomRevenue: 34050000,
accession: '2021-10-14 10:53', registDate: '2021-10-14 10:53',
state: '정상',
},
{
id: '00b0292f-3d50-4669-a0c4-7a9d85efc98d',
signinId: 'test11',
nickname: '본사',
rank: '본사',
branchCount: 2,
divisionCount: 2,
officeCount: 1,
storeCount: 1,
memberCount: 5,
level: '1',
calculateType: '롤링',
holdingMoney: 253675,
accountHolder: '테스트',
phoneNumber: '010-1234-5678',
ownCash: 0,
ownComp: 6485,
ownCoupon: 0,
ownCharge: 0,
bottomCharge: 1000000,
ownExchange: 0,
bottomExchange: 0,
ownRevenue: 0,
bottomRevenue: 1000000,
registDate: '2022-04-22 18:55',
state: '정상', state: '정상',
note: '대본등록',
}, },
]; ];

View File

@ -13,56 +13,18 @@
<div class="text-4xl font-extrabold tracking-tight">전체목록</div> <div class="text-4xl font-extrabold tracking-tight">전체목록</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">
<!-- Memo -->
<!-- <mat-form-field>
<ng-container *ngIf="partners$ | async as partners">
<ng-container
*ngFor="let partner of partners; trackBy: __trackByFn"
>
<div
class="inventory-grid grid items-center gap-4 py-3 px-6 md:px-8 border-b"
>
<fieldset>
총 회원수:{{ partenr.totalMemberCount }}
총 보유머니:{{ partner.totalHoldingMoney }}
총 콤프:{{ partner.totalComp }}
총 합계:{{ partner.total }}
</fieldset>
</div>
</ng-container>
</ng-container>
</mat-form-field> -->
<!-- Search --> <!-- Search -->
<mat-form-field <div>
class="fuse-mat-dense fuse-mat-no-subscript fuse-mat-rounded min-w-64" <span>총회원수:<span style="color: red">38</span></span>&nbsp;&nbsp;
> <span>총 보유머니:<span style="color: red">21,437,873</span></span
<mat-icon >&nbsp;&nbsp;
class="icon-size-5" <span>총 콤프:<span style="color: red">394,860</span></span
matPrefix >&nbsp;&nbsp;
[svgIcon]="'heroicons_solid:search'" <span>총 합계:<span style="color: blue">21,832,733</span></span>
></mat-icon> </div>
<input
matInput
[formControl]="searchInputControl"
[autocomplete]="'off'"
[placeholder]="'Search user'"
/>
</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">Add</span>
</button>
</div> </div>
</div> </div>
<!-- Main -->
<div class="flex flex-auto overflow-hidden"> <div class="flex flex-auto overflow-hidden">
<!-- Products list --> <!-- Products list -->
<div <div
@ -74,40 +36,34 @@
<!-- Header --> <!-- Header -->
<div <div
class="inventory-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="inventory-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"
matSort
matSortDisableClear
> >
<div></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 class="hidden sm:block">요율</div> 아이디
<div class="hidden sm:block">예금주</div> <hr style="margin: 7px 0px" />
<div class="hidden sm:block">연락처</div> 닉네임
<div class="hidden sm:block">등급</div> <hr style="margin: 7px 0px" />
<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 md:block" [mat-sort-header]="'sku'">SKU</div>
<div [mat-sort-header]="'name'">Name</div>
<div class="hidden sm:block" [mat-sort-header]="'price'">
Price
</div> </div>
<div class="hidden lg:block" [mat-sort-header]="'stock'"> <div>
Stock 등급
<hr style="margin: 7px 0px" />
레벨
</div> </div>
<div class="hidden lg:block" [mat-sort-header]="'active'"> <div class="hidden sm:block">
Active 예금주
<hr style="margin: 7px 0px" />
연락처
</div> </div>
<div class="hidden sm:block">Details</div> --> <div class="hidden md:block">정산종류</div>
<div class="hidden md:block">보유금</div>
<div class="hidden lg:block">충전금</div>
<div class="hidden lg:block">환전금</div>
<div class="hidden lg:block">수익금</div>
<div class="hidden lg:block">가입날짜</div>
<div class="hidden lg:block">비고</div>
</div> </div>
<!-- Rows --> <!-- Rows -->
<ng-container *ngIf="partners$ | async as partners"> <ng-container *ngIf="partners$ | async as partners">
@ -117,238 +73,68 @@
<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"
> >
<!-- id --> <div>관리</div>
<ng-container *ngIf="users$ | async as users"> <div>요율</div>
<ng-container <div>
*ngFor="let user of users; trackBy: __trackByFn" {{ partner.branchCount }}{{ partner.divisionCount
> }}{{ partner.officeCount }}{{ partner.storeCount
<!-- rank --> }}{{ partner.memberCount }}
{{ partner.rank }}
<div
class="hidden sm:block truncate"
(click)="viewUserDetail(user.id!)"
>
{{ partner.id }}
</div> </div>
<!-- nickname --> <div>
{{ partner.signinId }}
<hr style="margin: 7px 0px" />
{{ partner.nickname }} {{ partner.nickname }}
</ng-container> <hr style="margin: 7px 0px" />
</ng-container>
<!-- 매장수 -->
<div class="hidden sm:block truncate">
{{ partner.branchCount }}
{{ partner.divisionCount }}
{{ partner.officeCount }}
{{ partner.storeCount }}
{{ partner.memberCount }}
</div>
<!-- management -->
<div class="hidden sm:block truncate">
<button mat-flat-button [color]="'primary'">
<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-select>
</mat-form-field>
</button>
</div>
<!-- rate -->
<div class="hidden sm:block truncate">
<button
mat-button
color="primary"
matTooltip="요율확인
카지노-바카라: 0%
카지노-룰렛: 0%
카지노-드레곤타이거: 0%
카지노-그외: 0%
슬롯: 0%
카지노루징: 0%
슬롯루징: 0%"
>
요율
</button>
<!-- accountHolder -->
<div class="hidden sm:block truncate">
{{ partner.accountHolder }}
</div>
<!-- contact -->
<div class="hidden sm:block truncate">
{{ partner.phoneNumber }}
</div>
<!-- level -->
<div class="hidden sm:block truncate">
LV.{{ partner.level }}
</div>
</div>
<!-- calculateType -->
<div class="hidden sm:block truncate">
{{ partner.calculateType }}
</div>
<!-- reserve -->
<div class="hidden sm:block truncate">
콤프{{ partner.comp }} 쿠폰{{ partner.coupon }}
</div>
<!-- holdingMoney -->
<div class="hidden sm:block truncate">
{{ partner.holdingMoney }}
</div>
<!-- comp -->
<div class="hidden sm:block truncate">
{{ partner.comp }}P
</div>
<!-- coupon -->
<div class="hidden sm:block truncate">
{{ partner.coupon }}
</div>
<!-- charge -->
<div class="hidden sm:block truncate">
본인 {{ partner.ownCharge }} 하부
{{ partner.bottomCharge }}
</div>
<!-- exchange -->
<div class="hidden sm:block truncate">
본인 {{ partner.ownExchange }} 하부
{{ partner.bottomExchange }}
</div>
<!-- revenue -->
<div class="hidden sm:block truncate">
본인 {{ partner.ownRevenue }} 하부
{{ partner.bottomRevenue }}
</div>
<!-- accession -->
<div class="hidden sm:block truncate">
가입날짜{{ partner.accession }}
</div>
<!-- state -->
<div class="hidden sm:block truncate">
{{ partner.state }} {{ partner.state }}
</div> </div>
<div>
<!-- note --> {{ partner.rank }}
<div class="hidden sm:block truncate"> <hr style="margin: 7px 0px" />
LV{{ partner.level }}
</div>
<div class="hidden sm:block">
{{ partner.accountHolder }}
<hr style="margin: 7px 0px" />
{{ partner.phoneNumber }}
</div>
<div class="hidden md:block">
{{ partner.calculateType }}
</div>
<div class="hidden md:block">
캐쉬{{ partner.ownCash }}
<hr style="margin: 7px 0px" />
콤프{{ partner.ownComp }}P
<hr style="margin: 7px 0px" />
쿠폰{{ partner.ownCoupon }}
</div>
<div class="hidden lg:block">
본인{{ partner.ownCharge }}
<hr style="margin: 7px 0px" />
하부{{ partner.bottomCharge }}
</div>
<div class="hidden lg:block">
본인{{ partner.ownExchange }}
<hr style="margin: 7px 0px" />
하부{{ partner.bottomExchange }}
</div>
<div class="hidden lg:block">
본인{{ partner.ownRevenue }}
<hr style="margin: 7px 0px" />
하부{{ partner.bottomRevenue }}
</div>
<div class="hidden lg:block">
{{ partner.registDate }}
</div>
<div class="hidden lg:block">
<button <button
mat-flat-button mat-flat-button
class="bet-mat-small-8"
[color]="'primary'" [color]="'primary'"
(click)="__onClickRegist($event)" (click)="__onClickRegist($event)"
> >
{{ partner.note }} 대본등록
</button> </button>
</div> </div>
<!-- Image -->
<!-- <div class="flex items-center">
<div
class="relative flex flex-0 items-center justify-center w-12 h-12 mr-6 rounded overflow-hidden border"
>
<img
class="w-8"
*ngIf="user.thumbnail"
[alt]="'Product thumbnail image'"
[src]="user.thumbnail"
/>
<div
class="flex items-center justify-center w-full h-full text-xs font-semibold leading-none text-center uppercase"
*ngIf="!user.thumbnail"
>
NO THUMB
</div>
</div>
</div> -->
<!-- SKU -->
<!-- <div class="hidden md:block truncate">
{{ user.sku }}
</div> -->
<!-- Name -->
<!-- <div class="truncate">
{{ user.name }}
</div> -->
<!-- Price -->
<!-- <div class="hidden sm:block">
{{ user.price | currency: "USD":"symbol":"1.2-2" }}
</div> -->
<!-- Stock -->
<!-- <div class="hidden lg:flex items-center">
<div class="min-w-4">{{ user.stock }}</div> -->
<!-- Low stock -->
<!-- <div
class="flex items-end ml-2 w-1 h-4 bg-red-200 rounded overflow-hidden"
*ngIf="user.stock < 20"
>
<div class="flex w-full h-1/3 bg-red-600"></div>
</div> -->
<!-- Medium stock -->
<!-- <div
class="flex items-end ml-2 w-1 h-4 bg-orange-200 rounded overflow-hidden"
*ngIf="user.stock >= 20 && user.stock < 30"
>
<div class="flex w-full h-2/4 bg-orange-400"></div>
</div> -->
<!-- High stock -->
<!-- <div
class="flex items-end ml-2 w-1 h-4 bg-green-100 rounded overflow-hidden"
*ngIf="user.stock >= 30"
>
<div class="flex w-full h-full bg-green-400"></div>
</div>
</div> -->
<!-- Active -->
<!-- <div class="hidden lg:block">
<ng-container *ngIf="user.active">
<mat-icon
class="text-green-400 icon-size-5"
[svgIcon]="'heroicons_solid:check'"
></mat-icon>
</ng-container>
<ng-container *ngIf="!user.active">
<mat-icon
class="text-gray-400 icon-size-5"
[svgIcon]="'heroicons_solid:x'"
></mat-icon>
</ng-container>
</div> -->
<!-- Details button -->
<!-- <div>
<button
class="min-w-10 min-h-7 h-7 px-2 leading-6"
mat-stroked-button
(click)="__toggleDetails(user.id)"
>
<mat-icon
class="icon-size-5"
[svgIcon]="
selectedUser?.id === user.id
? 'heroicons_solid:chevron-up'
: 'heroicons_solid:chevron-down'
"
></mat-icon>
</button>
</div> -->
</div> </div>
</ng-container> </ng-container>
</ng-container> </ng-container>
@ -370,7 +156,7 @@
<div <div
class="p-8 sm:p-16 border-t text-4xl font-semibold tracking-tight text-center" class="p-8 sm:p-16 border-t text-4xl font-semibold tracking-tight text-center"
> >
There are no partners! There are no partner!
</div> </div>
</ng-template> </ng-template>
</div> </div>

View File

@ -44,18 +44,22 @@ import { MatDialog } from '@angular/material/dialog';
/* language=SCSS */ /* language=SCSS */
` `
.inventory-grid { .inventory-grid {
grid-template-columns: 60px auto 40px; /* 관리 요율 매장 아이디 등급 */
grid-template-columns: 40px 40px 100px auto 40px;
@screen sm { @screen sm {
grid-template-columns: 60px auto 60px 72px; /* 관리 요율 매장 아이디 등급 예금주 */
grid-template-columns: 40px 40px 100px auto 40px 140px;
} }
@screen md { @screen md {
grid-template-columns: 60px 60px auto 112px 72px; /* 관리 요율 매장 아이디 등급 예금주 정산 보유금 */
grid-template-columns: 40px 40px 100px auto 40px 140px 20px 140px;
} }
@screen lg { @screen lg {
grid-template-columns: 60px 60px auto 112px 96px 96px 72px; /* 관리 요율 매장 아이디 등급 예금주 정산 보유금 충전금 환전금 수익금 가입 비고 */
grid-template-columns: 40px 40px 100px auto 40px 140px 20px 140px 140px 140px 140px 140px 140px;
} }
} }
`, `,

View File

@ -1,10 +1,8 @@
import { NumberValueAccessor } from '@angular/forms'; import { NumberValueAccessor } from '@angular/forms';
export interface Partner { export interface Partner {
id?: string; id: string;
totalMemberCount?: number; signinId?: string;
totalHoldingMoney?: number;
totalComp?: number;
nickname?: string; nickname?: string;
rank?: string; rank?: string;
branchCount?: number; branchCount?: number;
@ -17,8 +15,6 @@ export interface Partner {
holdingMoney?: number; holdingMoney?: number;
accountHolder?: string; accountHolder?: string;
phoneNumber?: string; phoneNumber?: string;
comp?: number;
coupon?: number;
ownCharge?: number; ownCharge?: number;
ownCash?: number; ownCash?: number;
ownComp?: number; ownComp?: number;
@ -28,12 +24,8 @@ export interface Partner {
bottomExchange?: number; bottomExchange?: number;
ownRevenue?: number; ownRevenue?: number;
bottomRevenue?: number; bottomRevenue?: number;
accession?: string;
state?: string; state?: string;
note?: string;
ip?: string; ip?: string;
totalPartnerCount?: number;
total?: number;
gameMoney?: number; gameMoney?: number;
todayComp?: number; todayComp?: number;
totalDeposit?: number; totalDeposit?: number;
@ -41,4 +33,5 @@ export interface Partner {
balance?: number; balance?: number;
registDate?: string; registDate?: string;
finalSigninDate?: string; finalSigninDate?: string;
note?: string;
} }