惠支付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/salesman/salesman-list/salesman-list.component.ts

173 lines
4.6 KiB

import { Component, OnInit } from '@angular/core';
import {SalesmanService} from '../../../services/salesman.service';
import {UntypedFormBuilder, UntypedFormGroup} from '@angular/forms';
import {NzMessageService, NzModalService} from 'ng-zorro-antd';
import {ADMIN_INFO_OBJECT} from '../../../services/local-storage.namespace';
import {LocalStorageService} from '../../../services/local-storage.service';
import {CompanyService} from '../../../services/company.service';
import {AgentService} from '../../../services/agent.service';
@Component({
selector: 'app-salesman-list',
templateUrl: './salesman-list.component.html',
styleUrls: ['./salesman-list.component.scss']
})
export class SalesmanListComponent implements OnInit {
dataObject: any = {};
tableLoading = true;
searchForm: UntypedFormGroup;
pageNum: number;
whereObject: any = {};
userObjectType: number;
companyArray = [];
agentArray = [];
constructor(private modal: NzModalService,
private message: NzMessageService,
private salesmanService: SalesmanService,
private agentService: AgentService,
private companyService: CompanyService,
private localStorageService: LocalStorageService,
private form: UntypedFormBuilder) {
this.userObjectType = Number(this.localStorageService.get(ADMIN_INFO_OBJECT)['secUser']['objectType']);
}
ngOnInit(): void {
if (this.userObjectType != null && this.userObjectType === 0) {
this.getCompanyList();
} else if (this.userObjectType != null && this.userObjectType === 1) {
this.getAgentList(this.localStorageService.get(ADMIN_INFO_OBJECT)['bsCompany']['id']);
}
this.searchForm = this.form.group({
companyId: [null],
agentId: [null],
name: [null],
phone: [null],
status: [null],
});
this.requestData(1);
}
/**
* 获取公司列表
*/
getCompanyList() {
this.companyService.selectCompanyList({pageNum: 1, pageSize: 99 }, data => {
if (data['return_code'] === '000000') {
this.companyArray = data['return_data']['list'];
} else {
this.modal.error(data['return_msg']);
}
});
}
/**
* 获取代理商列表
*/
getAgentList(companyId: number) {
this.agentService.queryAgentList({ companyId: companyId, pageNum: 1, pageSize: 99 }, data => {
if (data['return_code'] === '000000') {
this.agentArray = data['return_data']['list'];
} else {
this.modal.error(data['return_msg']);
}
});
}
/**
* 请求数据
*/
requestData(pageNum) {
this.tableLoading = true;
this.whereObject['pageNum'] = pageNum;
this.whereObject['pageSize'] = 10;
this.salesmanService.querySalesmanList(this.whereObject, data => {
if (data['return_code'] === '000000') {
this.dataObject = data['return_data'];
} else {
this.modal.error(data['return_msg']);
}
this.tableLoading = false;
});
}
/**
* 搜索
* @param whereObject 条件
*/
search(whereObject: object) {
this.whereObject = whereObject;
this.requestData(1);
}
/**
* 重置
*/
resetForm(): void {
this.searchForm.reset();
}
/**
* 弹出删除对话框
*/
showDeleteConfirm(id: number): void {
this.modal.confirm({
nzTitle: '警告',
nzContent: '是否删除该业务员',
nzOkText: '是',
nzCancelText: '否',
nzOkType: 'danger',
nzOnOk: () => this.deleteData(id)
});
}
/**
* 删除数据
*
*/
deleteData(id: number) {
this.salesmanService.delSalesman({ salesmanId : id}, data => {
if (data['return_code'] === '000000') {
this.requestData(this.whereObject['pageNum']);
} else {
this.modal.error({
nzTitle: '提示',
nzContent: data['return_msg']
});
}
});
}
/**
* 弹出删除对话框
*/
showDisableSalesmanConfirm(id: number, disable: boolean): void {
this.modal.confirm({
nzTitle: '警告',
nzContent: '是否' + disable ? '禁用' : '启用' + '业务员',
nzOkText: '是',
nzCancelText: '否',
nzOkType: 'danger',
nzOnOk: () => this.disableSalesman(id, disable)
});
}
/**
* 删除数据
*
*/
disableSalesman(id: number, disablev: boolean) {
this.salesmanService.disableSalesman({ salesmanId : id, disable: disablev}, data => {
if (data['return_code'] === '000000') {
this.requestData(this.whereObject['pageNum']);
} else {
this.modal.error({
nzTitle: '提示',
nzContent: data['return_msg']
});
}
});
}
}