惠支付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.
 
 
 
 
 
gratia-pay-web/src/app/admin/activity-money/merchant-allocation/merchant-allocation.compone...

229 lines
5.4 KiB

import { Component, OnInit } from '@angular/core';
import {TradeOrderService} from '../../../services/trade-order.service';
import {LocalStorageService} from '../../../services/local-storage.service';
import {UntypedFormBuilder, UntypedFormGroup} from '@angular/forms';
import {NzMessageService, NzModalService} from 'ng-zorro-antd';
import {environment} from '../../../../environments/environment';
import { ActivityMoneyService } from 'src/app/services/activity-money.service';
@Component({
selector: 'app-merchant-allocation',
templateUrl: './merchant-allocation.component.html',
styleUrls: ['./merchant-allocation.component.scss']
})
export class MerchantAllocationComponent implements OnInit {
FILE_URL = environment.imageUrl;
loading = false;
dataObject: any = {};
tableLoading = true;
searchForm: UntypedFormGroup;
pageNum: number;
whereObject: any = {};
loadingObject = {
spinning: false,
msg: '加载中'
};
selectedIndex:number = 0;
checked = false;
setOfCheckedId = new Set<number>();
constructor(
private modal: NzModalService,
private message: NzMessageService,
private activityMoneyService:ActivityMoneyService,
private form: UntypedFormBuilder) { }
ngOnInit(): void {
this.searchForm = this.form.group({
merNo: [null],
merName: [null],
merAbbreviate: [null],
status:[null],
});
/* this.requestData(1); */
if(this.selectedIndex==0){
this.requestqueryNotPartMerList(1);//未参与
}else{
this.requestqueryPartMerList(1);//已参与
}
}
/**
* 请求未参与数据
*/
requestqueryNotPartMerList(pageNum) {
this.setOfCheckedId.clear();
this.checked=false;
this.tableLoading = true;
this.whereObject['pageNum'] = pageNum;
this.whereObject['pageSize'] = 10;
this.activityMoneyService.queryNotPartMerList(this.whereObject, data => {
if (data['return_code'] === '000000') {
this.dataObject = data['return_data'];
} else {
this.message.error(data['return_msg']);
}
this.tableLoading = false;
});
}
/**
* 请求已参与数据
*/
requestqueryPartMerList(pageNum) {
this.tableLoading = true;
this.whereObject['pageNum'] = pageNum;
this.whereObject['pageSize'] = 10;
this.activityMoneyService.queryPartMerList(this.whereObject, data => {
if (data['return_code'] === '000000') {
this.dataObject = data['return_data'];
} else {
this.message.error(data['return_msg']);
}
this.tableLoading = false;
});
}
/**
* 搜索
* @param whereObject 条件
*/
search(whereObject: object) {
this.whereObject = whereObject;
if(this.selectedIndex==0){
this.requestqueryNotPartMerList(1);//未参与
}else{
this.requestqueryPartMerList(1);//已参与
}
}
/**
* 重置
*/
resetForm(): void {
this.searchForm.reset();
}
/**
* 添加参与活动用户
*/
attendConfirm(): void {
const requestData = [...this.setOfCheckedId];
this.modal.confirm({
nzTitle: '提示',
nzContent: '确定选中这些商户吗?',
nzOkText: '是',
nzCancelText: '否',
nzOkType: 'primary',
nzOnOk: () => this.addPartMer(requestData)
});
}
addPartMer(merNoList){
let arr = merNoList.map(item=>{
return {merNo: item}
})
let params={
"merNoArray": arr
}
this.activityMoneyService.addPartMer(params, data => {
if (data['return_code'] === '000000') {
this.message.create("success", data['return_data']);
this.requestqueryNotPartMerList(1)
} else {
this.message.error(data['return_msg']);
}
});
}
/* 禁用 */
forbidden(merNo){
let params = {
"merNo":merNo
}
this.activityMoneyService.disable(params, data => {
if (data['return_code'] === '000000') {
this.message.create("success", data['return_data']);
this.requestqueryPartMerList(1);//已参与
} else {
this.message.error(data['return_msg']);
}
});
}
/* 启用 */
enable(merNo){
let params = {
"merNo":merNo
}
this.activityMoneyService.enable(params, data => {
if (data['return_code'] === '000000') {
this.message.create("success", data['return_data']);
this.requestqueryPartMerList(1);//已参与
} else {
this.message.error(data['return_msg']);
}
});
}
/* 切换tab */
nzSelectChange(e){
this.whereObject={};
this.resetForm();
this.dataObject={};
this.setOfCheckedId.clear();
this.checked=false;
if(this.selectedIndex==0){
this.requestqueryNotPartMerList(1);//未参与
}else{
this.requestqueryPartMerList(1);//已参与
}
}
/* */
updateCheckedSet(merNo: number, checked: boolean): void {
if (checked) {
this.setOfCheckedId.add(merNo);
} else {
this.setOfCheckedId.delete(merNo);
}
}
refreshCheckedStatus(): void {
const listOfEnabledData = this.dataObject.list;
this.checked = listOfEnabledData.every(({ merNo }) => this.setOfCheckedId.has(merNo));
}
onItemChecked(merNo: number, checked: boolean): void {
this.updateCheckedSet(merNo, checked);
this.refreshCheckedStatus();
}
/*全选 */
onAllChecked(checked: boolean): void {
console.log(checked,"checked")
this.dataObject.list.forEach(({ merNo }) => this.updateCheckedSet(merNo, checked));
this.refreshCheckedStatus();
}
/* */
}