嗨森逛PC管理端
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.
 
 
 
 
high-web/src/app/admin/merchant/merchant-list/merchant-list.component.ts

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'],
});
}
});
}
}