You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
247 lines
7.2 KiB
247 lines
7.2 KiB
import { Component, OnInit } from '@angular/core';
|
|
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
|
|
import {IconService} from '../../../services/icon.service';
|
|
import {NzMessageService, NzModalService} from 'ng-zorro-antd';
|
|
import {CommonsService} from '../../../services/commons.service';
|
|
import {MerchantService} from '../../../services/merchant.service';
|
|
import {Router} from '@angular/router';
|
|
import {environment} from '../../../../environments/environment';
|
|
import {MerAmountService} from '../../../services/mer-amount.service';
|
|
import {MerchantTripartitePlatformService} from '../../../services/merchant-tripartite-platform.service';
|
|
|
|
@Component({
|
|
selector: 'app-merchant-list',
|
|
templateUrl: './merchant-list.component.html',
|
|
styleUrls: ['./merchant-list.component.scss']
|
|
})
|
|
export class MerchantListComponent implements OnInit {
|
|
WEB_SERVE_URL = environment.imageUrl;
|
|
searchForm: FormGroup; // 搜索框
|
|
requestData = []; // 列表数据
|
|
total: number; // 页码
|
|
pageNum = 1; // 页码
|
|
pageSize = 10; // 条码
|
|
loading = true;
|
|
|
|
rechargeModal = false;
|
|
rechargeForm: FormGroup; // 充值模态框
|
|
|
|
tripartitePlatformModal = false;
|
|
tripartitePlatformForm: FormGroup; // 充值模态框
|
|
|
|
constructor(
|
|
private form: FormBuilder,
|
|
private merchant: MerchantService,
|
|
private iconService: IconService,
|
|
private message: NzMessageService,
|
|
private merAmountService: MerAmountService,
|
|
private tripartitePlatformService: MerchantTripartitePlatformService,
|
|
private router: Router,
|
|
private common: CommonsService,
|
|
private modal: NzModalService,
|
|
) {
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
this.init();
|
|
}
|
|
|
|
public init(): void {
|
|
this.searchForm = this.form.group({
|
|
merchantKey: [null],
|
|
merchantName: [null],
|
|
telephone: [null],
|
|
status: [null],
|
|
});
|
|
|
|
this.rechargeForm = this.form.group({
|
|
merId: [null],
|
|
amount: [null, [Validators.required]],
|
|
});
|
|
|
|
this.tripartitePlatformForm = this.form.group({
|
|
merId: [null],
|
|
platformType: ['1', [Validators.required]],
|
|
platformMerName: [null, [Validators.required]],
|
|
platformMerNumber: [null, [Validators.required]],
|
|
profitSharingStatus: ['false', [Validators.required]],
|
|
profitSharingRatio: [null],
|
|
});
|
|
this.getRequest(true, this.searchForm.value);
|
|
}
|
|
|
|
// 查询列表
|
|
public getRequest(reset: boolean = false, whereObject: object) {
|
|
|
|
this.loading = false;
|
|
if (reset) {
|
|
this.pageNum = 1;
|
|
}
|
|
whereObject['pageNum'] = this.pageNum;
|
|
whereObject['pageSize'] = this.pageSize;
|
|
this.merchant.getMerchantList(whereObject, data => {
|
|
if (data['return_code'] === '000000') {
|
|
this.requestData = data['return_data'].list;
|
|
this.total = data['return_data'].total;
|
|
} else {
|
|
this.message.error(data['return_msg']);
|
|
}
|
|
});
|
|
}
|
|
|
|
// 重置
|
|
public resetForm(): void {
|
|
this.searchForm.reset();
|
|
}
|
|
|
|
// 禁用商户
|
|
public disableMerchant(id): void {
|
|
const message = '是否禁用商户';
|
|
this.common.showConfirm(message, data => {
|
|
if (data) {
|
|
this.merchant.disableMerchant(id, dataReturn => {
|
|
if (dataReturn['return_code'] === '000000') {
|
|
this.message.success('操作成功');
|
|
this.getRequest(false , this.searchForm.value);
|
|
} else {
|
|
this.message.warning(dataReturn['return_msg']);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
// 启动商户
|
|
public enableMerchant(id): void {
|
|
const message = '是否启用商户';
|
|
this.common.showConfirm(message, data => {
|
|
if (data) {
|
|
this.merchant.enableMerchant(id, dataReturn => {
|
|
if (dataReturn['return_code'] === '000000') {
|
|
this.message.success('操作成功');
|
|
this.getRequest(false , this.searchForm.value);
|
|
} else {
|
|
this.message.warning(dataReturn['return_msg']);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
// 修改
|
|
public getEdit(id: number): void {
|
|
this.router.navigate(['/admin/merchant/merchant-edit'], {
|
|
queryParams: {
|
|
merchantId: id
|
|
}
|
|
}).then(r => console.log(r));
|
|
}
|
|
|
|
// 查看详情
|
|
public getDetail(id: number): void {
|
|
this.router.navigate(['/admin/merchant/merchant-detail'], {
|
|
queryParams: {
|
|
merchantId: id
|
|
}
|
|
}).then(r => console.log(r));
|
|
}
|
|
|
|
// 查看门店列表
|
|
public getList(id: number , merchantName: string): void {
|
|
this.router.navigate(['/admin/merchantStore/store-list'], {
|
|
queryParams: {
|
|
merchantId: id,
|
|
name: merchantName,
|
|
}
|
|
}).then(r => console.log(r));
|
|
}
|
|
|
|
|
|
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.merAmountService.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'],
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
showTripartitePlatformModal(merId: number) {
|
|
this.tripartitePlatformService.getDetail(merId, 1, data => {
|
|
if (data['return_data'] != null) {
|
|
data['return_data']['platformType'] = String(data['return_data']['platformType']);
|
|
data['return_data']['profitSharingStatus'] = String(data['return_data']['profitSharingStatus']);
|
|
this.tripartitePlatformForm.patchValue(data['return_data']);
|
|
} else {
|
|
this.tripartitePlatformForm.patchValue( { merId: merId, platformType: '1', profitSharingStatus: 'false' });
|
|
}
|
|
});
|
|
this.tripartitePlatformModal = true;
|
|
}
|
|
|
|
closeTripartitePlatformModal() {
|
|
this.tripartitePlatformForm.reset();
|
|
this.tripartitePlatformModal = false;
|
|
}
|
|
|
|
submitTripartitePlatform() {
|
|
for (const i in this.tripartitePlatformForm.controls) {
|
|
this.tripartitePlatformForm.controls[i].markAsDirty();
|
|
this.tripartitePlatformForm.controls[i].updateValueAndValidity();
|
|
}
|
|
if (this.tripartitePlatformForm.status == null || this.tripartitePlatformForm.status !== 'VALID') {
|
|
this.modal.warning({
|
|
nzTitle: '提示',
|
|
nzContent: '请填写所有必填项',
|
|
});
|
|
return;
|
|
}
|
|
this.tripartitePlatformService.editTripartitePlatform(this.tripartitePlatformForm.value, data => {
|
|
if (data['return_code'] === '000000') {
|
|
this.modal.success({
|
|
nzTitle: '提示',
|
|
nzContent: '保存成功',
|
|
});
|
|
this.closeTripartitePlatformModal();
|
|
} else {
|
|
this.modal.error({
|
|
nzTitle: '提示',
|
|
nzContent: data['return_msg'],
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
|