commit
a4505f8c70
@ -0,0 +1,122 @@ |
|||||||
|
<!-- start 面包屑 --> |
||||||
|
<app-breadcrumb></app-breadcrumb> |
||||||
|
<!-- end 面包屑 --> |
||||||
|
<!--条件搜索--> |
||||||
|
|
||||||
|
<nz-spin [nzSpinning]="loadingObject.spinning" nzTip="{{loadingObject.msg}}"> |
||||||
|
<!--<div class="inner-content"> |
||||||
|
<form nz-form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)"> |
||||||
|
<div nz-row> |
||||||
|
|
||||||
|
</div> |
||||||
|
|
||||||
|
<div nz-row> |
||||||
|
<div nz-col nzSpan="24" class="search-button"> |
||||||
|
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>搜索</button> |
||||||
|
<button nz-button nzType="default" (click)="resetForm()"><i nz-icon nzType="reload" nzTheme="outline"></i>重置</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
</div>--> |
||||||
|
|
||||||
|
<div class="inner-content"> |
||||||
|
<div *ngIf="roleType == 5 && adminFlag == 0" style="width: 100%;text-align: center;"> |
||||||
|
<nz-row [nzGutter]="16"> |
||||||
|
<nz-col [nzSpan]="24"> |
||||||
|
<nz-statistic [nzValue]="'¥' + accountObject['amounts']" [nzTitle]="'账户余额'"></nz-statistic> |
||||||
|
</nz-col> |
||||||
|
</nz-row> |
||||||
|
</div> |
||||||
|
<span>共计 {{dataObject.total?dataObject.total:0}} 条数据</span> |
||||||
|
<div class="operating-button"> |
||||||
|
<!-- <button nz-button nzType="primary" class="right-btn" >充值金额</button>--> |
||||||
|
</div> |
||||||
|
|
||||||
|
<!--数组表格 --> |
||||||
|
<nz-table #basicTable |
||||||
|
[nzData]="dataObject.list" |
||||||
|
[nzTotal]="dataObject.total" |
||||||
|
[nzFrontPagination]="false" |
||||||
|
[nzLoading]="tableLoading" |
||||||
|
[nzPageIndex]="whereObject.pageNum" |
||||||
|
(nzPageIndexChange)="requestData($event)" |
||||||
|
[nzScroll]="{ x: '1100px'}"> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<th nzWidth="60px">序号</th> |
||||||
|
<th nzWidth="110px">商户名称</th> |
||||||
|
<th nzWidth="110px">交易类型</th> |
||||||
|
<th nzWidth="110px">交易来源</th> |
||||||
|
<th nzWidth="110px">交易余额</th> |
||||||
|
<th nzWidth="110px">参与营销</th> |
||||||
|
<th nzWidth="110px">营销方式</th> |
||||||
|
<th nzWidth="110px">营销金额</th> |
||||||
|
<th nzWidth="130px">营销交易金额</th> |
||||||
|
<th nzWidth="130px">总交易金额</th> |
||||||
|
<th nzWidth="110px">变更前余额</th> |
||||||
|
<th nzWidth="110px">变更后余额</th> |
||||||
|
<th nzWidth="110px">操作人</th> |
||||||
|
<th nzWidth="160px">生成时间</th> |
||||||
|
<!-- <th nzWidth="160px" nzRight="0px">操作</th>--> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
<tbody> |
||||||
|
<tr *ngFor="let data of basicTable.data;let i = index"> |
||||||
|
<td>{{i+1}}</td> |
||||||
|
<td>{{data.merName}}</td> |
||||||
|
<td>{{data.type == 1?'进账':'出账'}}</td> |
||||||
|
<td>{{data.sourceType == 1?'金额充值':'未知'}}</td> |
||||||
|
<td>¥{{data.amount}}</td> |
||||||
|
<td>{{data.marketingStatus == 1?'是':'否'}}</td> |
||||||
|
<td> |
||||||
|
<span *ngIf="data.marketingType == null">无</span> |
||||||
|
<span *ngIf="data.marketingType == 1">赠送金额</span> |
||||||
|
<span *ngIf="data.marketingType == 2">充值返点</span> |
||||||
|
</td> |
||||||
|
<td> |
||||||
|
<span *ngIf="data.marketingType == null">无</span> |
||||||
|
<span *ngIf="data.marketingType == 1">{{'¥' + data.marketingPrice}}</span> |
||||||
|
<span *ngIf="data.marketingType == 2">{{(data.marketingPrice * 100) + '%'}}</span> |
||||||
|
</td> |
||||||
|
<td>{{data.marketingTradePrice?'¥'+data.marketingTradePrice:'无'}}</td> |
||||||
|
<td>¥{{data.tradePrice}}</td> |
||||||
|
<td>¥{{data.beforeAmount}}</td> |
||||||
|
<td>¥{{data.afterAmount}}</td> |
||||||
|
<td>{{data.opUserName}}</td> |
||||||
|
<td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td> |
||||||
|
<!-- <td nzRight="0px" class="table-td-operation"> |
||||||
|
<a (click)="showRechargeModal(data.cardNo)"> 充值 </a> |
||||||
|
<a nz-dropdown [nzDropdownMenu]="menu"> 操作列表 <i nz-icon nzType="down"></i> </a> |
||||||
|
<nz-dropdown-menu #menu="nzDropdownMenu"> |
||||||
|
<ul nz-menu nzSelectable> |
||||||
|
</ul> |
||||||
|
</nz-dropdown-menu> |
||||||
|
</td>--> |
||||||
|
</tr> |
||||||
|
</tbody> |
||||||
|
</nz-table> |
||||||
|
</div> |
||||||
|
</nz-spin> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nz-modal [(nzVisible)]="rechargeModal" nzTitle="余额充值" (nzOnCancel)="closeRechargeModal()" nzWidth="500px" [nzFooter]="null"> |
||||||
|
<form nz-form [formGroup]="rechargeForm"> |
||||||
|
<nz-form-item> |
||||||
|
<nz-form-label [nzSpan]="6" nzRequired >当前余额</nz-form-label> |
||||||
|
<nz-form-control [nzSpan]="14"> |
||||||
|
<nz-input-number style="width: 100%" formControlName="amount"></nz-input-number> |
||||||
|
</nz-form-control> |
||||||
|
</nz-form-item> |
||||||
|
|
||||||
|
<nz-form-item> |
||||||
|
<nz-form-label [nzSpan]="6" nzRequired >充值金额</nz-form-label> |
||||||
|
<nz-form-control [nzSpan]="14"> |
||||||
|
<nz-input-number style="width: 100%" formControlName="amount" [nzMin]="0.01" [nzMax]="9999999" [nzStep]="1" [nzPrecision]="2"></nz-input-number> |
||||||
|
</nz-form-control> |
||||||
|
</nz-form-item> |
||||||
|
<div style="text-align: center;"> |
||||||
|
<button nz-button nzType="primary" style="width: 150px;" (click)="submitRecharge()">确定</button> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
</nz-modal> |
@ -0,0 +1,3 @@ |
|||||||
|
.table-td-operation a { |
||||||
|
padding: 0px 5px; |
||||||
|
} |
@ -0,0 +1,181 @@ |
|||||||
|
import { Component, OnInit } from '@angular/core'; |
||||||
|
import {environment} from '../../../../environments/environment'; |
||||||
|
import {FormBuilder, FormGroup, Validators} from '@angular/forms'; |
||||||
|
import {NzMessageService, NzModalService} from 'ng-zorro-antd'; |
||||||
|
import {LocalStorageService} from '../../../services/local-storage.service'; |
||||||
|
import {OilCardService} from '../../../services/oil-card.service'; |
||||||
|
import {OrganizationService} from '../../../services/organization.service'; |
||||||
|
import {CompanyAccountService} from '../../../services/company-account.service'; |
||||||
|
import {ActivatedRoute, Router} from '@angular/router'; |
||||||
|
import {ADMIN_INFO_OBJECT} from '../../../services/local-storage.namespace'; |
||||||
|
import {ValidatorsService} from '../../../services/validators.service'; |
||||||
|
import {MerAccountService} from '../../../services/mer-account.service'; |
||||||
|
import {MerAccountRecordService} from '../../../services/mer-account-record.service'; |
||||||
|
|
||||||
|
@Component({ |
||||||
|
selector: 'app-mer-account-record-list', |
||||||
|
templateUrl: './mer-account-record-list.component.html', |
||||||
|
styleUrls: ['./mer-account-record-list.component.scss'] |
||||||
|
}) |
||||||
|
export class MerAccountRecordListComponent implements OnInit { |
||||||
|
FILE_URL = environment.imageUrl; |
||||||
|
roleType; |
||||||
|
adminFlag; |
||||||
|
loadingObject = { |
||||||
|
spinning: false, |
||||||
|
msg: '加载中' |
||||||
|
}; |
||||||
|
|
||||||
|
dataObject: any = {}; |
||||||
|
tableLoading = true; |
||||||
|
searchForm: FormGroup; |
||||||
|
pageNum: number; |
||||||
|
whereObject: any = {}; |
||||||
|
|
||||||
|
rechargeModal = false; |
||||||
|
rechargeForm: FormGroup; // 充值模态框
|
||||||
|
merId: number; |
||||||
|
accountObject = { |
||||||
|
amounts: 0 |
||||||
|
}; |
||||||
|
|
||||||
|
constructor(private modal: NzModalService, |
||||||
|
private message: NzMessageService, |
||||||
|
private store: LocalStorageService, |
||||||
|
private merAccountService: MerAccountService, |
||||||
|
private merAccountRecordService: MerAccountRecordService, |
||||||
|
private router: Router, |
||||||
|
private activatedRoute: ActivatedRoute, |
||||||
|
private form: FormBuilder) { |
||||||
|
this.activatedRoute.queryParams.subscribe(queryParams => { |
||||||
|
if (queryParams.merId != null) { |
||||||
|
this.merId = queryParams.merId; |
||||||
|
} |
||||||
|
}); |
||||||
|
this.roleType = Number(this.store.get(ADMIN_INFO_OBJECT)['secRole'].roleType); |
||||||
|
this.adminFlag = Number(this.store.get(ADMIN_INFO_OBJECT)['secUser'].adminFlag); |
||||||
|
} |
||||||
|
|
||||||
|
ngOnInit(): void { |
||||||
|
this.searchForm = this.form.group({ |
||||||
|
orgId: [null], |
||||||
|
cardNo: [null], |
||||||
|
contactName: [null], |
||||||
|
contactPhone: [null], |
||||||
|
createTime: [null], |
||||||
|
createTimeS: [null], |
||||||
|
createTimeE: [null], |
||||||
|
bindTime: [null], |
||||||
|
bindTimeS: [null], |
||||||
|
bindTimeE: [null], |
||||||
|
isConfigContact: [null], |
||||||
|
status: [null], |
||||||
|
bindStatus: [null], |
||||||
|
}); |
||||||
|
|
||||||
|
this.rechargeForm = this.form.group({ |
||||||
|
merId: [null, [Validators.required]], |
||||||
|
amount: [null, [Validators.required]], |
||||||
|
marketingStatus: [null, [Validators.required]], |
||||||
|
marketingType: [null], |
||||||
|
marketingPrice: [null], |
||||||
|
}); |
||||||
|
|
||||||
|
if (this.roleType === 5 && this.adminFlag === 0) { |
||||||
|
this.getAccount(); |
||||||
|
} |
||||||
|
this.requestData(1); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 请求数据 |
||||||
|
*/ |
||||||
|
requestData(pageNum) { |
||||||
|
this.tableLoading = true; |
||||||
|
|
||||||
|
if (this.merId != null) { |
||||||
|
this.whereObject['merId'] = this.merId; |
||||||
|
} |
||||||
|
this.whereObject['pageNum'] = pageNum; |
||||||
|
this.whereObject['pageSize'] = 10; |
||||||
|
this.merAccountRecordService.getRecordList(this.whereObject, data => { |
||||||
|
if (data['return_code'] === '000000') { |
||||||
|
this.dataObject = data['return_data']; |
||||||
|
} else { |
||||||
|
this.modal.error(data['return_msg']); |
||||||
|
} |
||||||
|
this.tableLoading = false; |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询账户 |
||||||
|
*/ |
||||||
|
getAccount() { |
||||||
|
/*this.merAccountService.getAccount(data => { |
||||||
|
this.accountObject = data['return_data']; |
||||||
|
});*/ |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 搜索 |
||||||
|
* @param whereObject 条件 |
||||||
|
*/ |
||||||
|
search(whereObject: object) { |
||||||
|
this.whereObject = whereObject; |
||||||
|
if (this.searchForm.value.createTime != null) { |
||||||
|
this.searchForm.value.createTimeS = new Date(this.searchForm.value.createTime[0]).getTime(); |
||||||
|
this.searchForm.value.createTimeE = new Date(this.searchForm.value.createTime[1]).getTime(); |
||||||
|
} else { |
||||||
|
this.searchForm.value.createTimeS = null; |
||||||
|
this.searchForm.value.createTimeE = null; |
||||||
|
} |
||||||
|
this.requestData(1); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 重置 |
||||||
|
*/ |
||||||
|
resetForm(): void { |
||||||
|
this.searchForm.reset(); |
||||||
|
} |
||||||
|
|
||||||
|
showRechargeModal(merId: number) { |
||||||
|
this.rechargeForm.patchValue({ merId}); |
||||||
|
this.rechargeModal = true; |
||||||
|
} |
||||||
|
|
||||||
|
closeRechargeModal() { |
||||||
|
this.rechargeModal = false; |
||||||
|
} |
||||||
|
|
||||||
|
submitRecharge() { |
||||||
|
for (const i in this.rechargeForm.controls) { |
||||||
|
this.rechargeForm.controls[i].markAsDirty(); |
||||||
|
this.rechargeForm.controls[i].updateValueAndValidity(); |
||||||
|
} |
||||||
|
if (this.rechargeForm.status == null || this.rechargeForm.status !== 'VALID') { |
||||||
|
this.modal.warning({ |
||||||
|
nzTitle: '提示', |
||||||
|
nzContent: '请填写所有必填项', |
||||||
|
}); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
this.merAccountService.recharge(this.rechargeForm.value, data => { |
||||||
|
if (data['return_code'] === '000000') { |
||||||
|
this.modal.success({ |
||||||
|
nzTitle: '提示', |
||||||
|
nzContent: '充值成功', |
||||||
|
}); |
||||||
|
this.closeRechargeModal(); |
||||||
|
} else { |
||||||
|
this.modal.error({ |
||||||
|
nzTitle: '提示', |
||||||
|
nzContent: data['return_msg'], |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
import { NgModule } from '@angular/core'; |
||||||
|
import { Routes, RouterModule } from '@angular/router'; |
||||||
|
import {MerAccountRecordListComponent} from './mer-account-record-list/mer-account-record-list.component'; |
||||||
|
|
||||||
|
|
||||||
|
const routes: Routes = [ |
||||||
|
{ path: 'account-record-list', component: MerAccountRecordListComponent } |
||||||
|
]; |
||||||
|
|
||||||
|
@NgModule({ |
||||||
|
imports: [RouterModule.forChild(routes)], |
||||||
|
exports: [RouterModule] |
||||||
|
}) |
||||||
|
export class MerchantAccountRoutingModule { } |
@ -0,0 +1,26 @@ |
|||||||
|
import { NgModule } from '@angular/core'; |
||||||
|
import { CommonModule } from '@angular/common'; |
||||||
|
|
||||||
|
import { MerchantAccountRoutingModule } from './merchant-account-routing.module'; |
||||||
|
import { MerAccountRecordListComponent } from './mer-account-record-list/mer-account-record-list.component'; |
||||||
|
import {NgZorroAntdModule} from 'ng-zorro-antd'; |
||||||
|
import {FormsModule, ReactiveFormsModule} from '@angular/forms'; |
||||||
|
import {BreadcrumbModule} from '../../common/breadcrumb/breadcrumb.module'; |
||||||
|
import {AppCommonModule} from '../../app-common.module'; |
||||||
|
import {NgxEchartsModule} from 'ngx-echarts'; |
||||||
|
|
||||||
|
|
||||||
|
@NgModule({ |
||||||
|
declarations: [MerAccountRecordListComponent], |
||||||
|
imports: [ |
||||||
|
CommonModule, |
||||||
|
MerchantAccountRoutingModule, |
||||||
|
NgZorroAntdModule, |
||||||
|
ReactiveFormsModule, |
||||||
|
FormsModule, |
||||||
|
BreadcrumbModule, |
||||||
|
AppCommonModule, |
||||||
|
NgxEchartsModule, |
||||||
|
] |
||||||
|
}) |
||||||
|
export class MerchantAccountModule { } |
@ -0,0 +1,28 @@ |
|||||||
|
import { Injectable } from '@angular/core'; |
||||||
|
import {HttpClient} from '@angular/common/http'; |
||||||
|
import {CommonsService} from './commons.service'; |
||||||
|
import {environment} from '../../environments/environment'; |
||||||
|
|
||||||
|
@Injectable({ |
||||||
|
providedIn: 'root' |
||||||
|
}) |
||||||
|
export class MerAccountRecordService { |
||||||
|
|
||||||
|
constructor( |
||||||
|
private http: HttpClient, |
||||||
|
private common: CommonsService |
||||||
|
) { } |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询记录 |
||||||
|
* |
||||||
|
* @param params 上传对象 |
||||||
|
* @param callBack 回调 |
||||||
|
* @return data 返回结果 |
||||||
|
*/ |
||||||
|
public getRecordList(params: object, callBack) { |
||||||
|
this.http.get(environment.baseUrl + 'merAccountRecord/getRecordList?' + this.common.getWhereCondition(params)).subscribe(data => { |
||||||
|
callBack(data); |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,42 @@ |
|||||||
|
import { Injectable } from '@angular/core'; |
||||||
|
import {environment} from '../../environments/environment'; |
||||||
|
import {HttpClient} from '@angular/common/http'; |
||||||
|
import {CommonsService} from './commons.service'; |
||||||
|
|
||||||
|
@Injectable({ |
||||||
|
providedIn: 'root' |
||||||
|
}) |
||||||
|
export class MerAccountService { |
||||||
|
|
||||||
|
constructor( |
||||||
|
private http: HttpClient, |
||||||
|
private common: CommonsService |
||||||
|
) { } |
||||||
|
|
||||||
|
/** |
||||||
|
* 充值 |
||||||
|
* |
||||||
|
* @param params 上传对象 |
||||||
|
* @param callBack 回调 |
||||||
|
* @return data 返回结果 |
||||||
|
*/ |
||||||
|
public recharge(params: object, callBack) { |
||||||
|
this.http.post(environment.baseUrl + 'merAccount/recharge', params).subscribe(data => { |
||||||
|
callBack(data); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 充值 |
||||||
|
* |
||||||
|
* @param params 上传对象 |
||||||
|
* @param callBack 回调 |
||||||
|
* @return data 返回结果 |
||||||
|
*/ |
||||||
|
public getMerAccount(merId: number, callBack) { |
||||||
|
this.http.get(environment.baseUrl + 'merAccount/getMerAccount?merId=' + merId).subscribe(data => { |
||||||
|
callBack(data); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue