Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -0,0 +1,13 @@
|
||||
<h2>转移客户数:{{changeST?.total}}</h2>
|
||||
<st #changeST [data]="service.$api_get_partner_change_list" [columns]="columns.changeColumn"
|
||||
[req]="{params:{id:id ,type:1}}" [loading]="service.http.loading" bordered size="small"
|
||||
[page]="{ show: false }" [scroll]="{ x: '750px' }">
|
||||
</st>
|
||||
<h2>不转移客户数:{{noChangeST?.total}}</h2>
|
||||
<st #noChangeST [data]="service.$api_get_partner_change_list" [columns]="columns.beChangeColumn"
|
||||
[req]="{params:{id:id ,type:2}}" [res]="{reName: { list: 'data' }}"
|
||||
[loading]="service.http.loading" bordered size="small" [page]="{ show: false }" [scroll]="{ x: '750px' }">
|
||||
</st>
|
||||
<p>
|
||||
客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。
|
||||
</p>
|
||||
@ -0,0 +1,34 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { STColumn } from '@delon/abc/st';
|
||||
import { PartnerListService } from '../../services/partner-list.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-channel-log-modal',
|
||||
templateUrl: './channel-log-modal.component.html'
|
||||
})
|
||||
export class ChannelLogModalComponent implements OnInit {
|
||||
columns: { changeColumn: STColumn[]; beChangeColumn: STColumn[] } = this.initST();
|
||||
id = '';
|
||||
constructor(public service: PartnerListService, public route: ActivatedRoute) {}
|
||||
|
||||
ngOnInit(): void {}
|
||||
|
||||
private initST(): { changeColumn: STColumn[]; beChangeColumn: STColumn[] } {
|
||||
return {
|
||||
changeColumn: [
|
||||
{ title: '客户名称', index: 'payCode', width: 180 },
|
||||
{ title: '合伙人', index: 'ltdName', width: 160 },
|
||||
{ title: '渠道销售', index: 'payDate', className: 'text-center', width: 130 },
|
||||
{ title: 'CRM审核状态', index: 'payDate', width: 150 },
|
||||
{ title: '生效时间', index: 'payDate', className: 'text-center', width: 130 }
|
||||
],
|
||||
beChangeColumn: [
|
||||
{ title: '客户名称', index: 'payCode', width: 180 },
|
||||
{ title: '合伙人', index: 'ltdName', width: 160 },
|
||||
{ title: '渠道销售', index: 'payDate', className: 'text-center', width: 130 },
|
||||
{ title: '生效时间', index: 'payDate', className: 'text-center', width: 130 }
|
||||
]
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -269,7 +269,6 @@
|
||||
</sv>
|
||||
</sv-container>
|
||||
<nz-divider></nz-divider>
|
||||
<nz-divider></nz-divider>
|
||||
<sv-container col="3" class="mt16">
|
||||
<sv-title>渠道销售信息</sv-title>
|
||||
<sv label="姓名"> {{ detailData?.channelName }} </sv>
|
||||
@ -282,7 +281,7 @@
|
||||
<sv-container col="3" class="mt16">
|
||||
<sv-title>修改渠道销售记录</sv-title>
|
||||
<sv label="">
|
||||
<st #st [data]="service.$api_get_personal_channel_list" [columns]="columns.logsColumn"
|
||||
<st #st [data]="service.$api_get_personal_channel_list" [columns]="columns"
|
||||
[req]="{params:{partnerId:route.snapshot.params.id}}" [loading]="service.http.loading" bordered size="small"
|
||||
[page]="{ show: false }" [scroll]="{ x: '1200px' }">
|
||||
</st>
|
||||
@ -317,19 +316,3 @@
|
||||
</div>
|
||||
</nz-upload>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #logModal>
|
||||
<h2>转移客户数:{{changeST?.total}}</h2>
|
||||
<st #changeST [data]="service.$api_get_partner_change_list" [columns]="columns.changeColumn"
|
||||
[req]="{params:{partnerId:route.snapshot.params.id ,type:1}}" [loading]="service.http.loading" bordered size="small"
|
||||
[page]="{ show: false }" [scroll]="{ x: '750px' }">
|
||||
</st>
|
||||
<h2>不转移客户数:{{noChangeST?.total}}</h2>
|
||||
<st #noChangeST [data]="service.$api_get_partner_change_list" [columns]="columns.beChangeColumn"
|
||||
[req]="{params:{partnerId:route.snapshot.params.id ,type:2}}" [res]="{reName: { list: 'data' }}"
|
||||
[loading]="service.http.loading" bordered size="small" [page]="{ show: false }" [scroll]="{ x: '750px' }">
|
||||
</st>
|
||||
<p>
|
||||
客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。
|
||||
</p>
|
||||
</ng-template>
|
||||
@ -9,6 +9,7 @@ import { NzTreeSelectComponent } from 'ng-zorro-antd/tree-select';
|
||||
import { Subscription, fromEvent } from 'rxjs';
|
||||
|
||||
import { PartnerListService } from '../../services/partner-list.service';
|
||||
import { ChannelLogModalComponent } from '../channel-log-modal/channel-log-modal.component';
|
||||
import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit-modal.component';
|
||||
|
||||
@Component({
|
||||
@ -18,12 +19,10 @@ import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit
|
||||
providers: [DatePipe]
|
||||
})
|
||||
export class PartnerDetailComponent implements OnInit, OnDestroy {
|
||||
@ViewChild('logModal')
|
||||
logModal: any;
|
||||
@ViewChild('areaTreeSelect')
|
||||
areaTreeSelect!: NzTreeSelectComponent;
|
||||
|
||||
columns: { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } = this.initST();
|
||||
columns: STColumn[] = this.initST();
|
||||
|
||||
detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentity: { name: '' } };
|
||||
tempalateData = { ...this.detailData };
|
||||
@ -145,16 +144,6 @@ export class PartnerDetailComponent implements OnInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
showChangeDetail() {
|
||||
const modal = this.nzModalService.create({
|
||||
nzTitle: '详情',
|
||||
nzContent: this.logModal,
|
||||
nzNoAnimation: true,
|
||||
nzWidth: 700,
|
||||
nzFooter: null
|
||||
});
|
||||
}
|
||||
|
||||
ratify() {
|
||||
this.isEdit = true;
|
||||
// 搜索展开省份并选中节点
|
||||
@ -365,41 +354,26 @@ export class PartnerDetailComponent implements OnInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
private initST(): { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } {
|
||||
return {
|
||||
logsColumn: [
|
||||
{ title: '修改后渠道销售', index: 'newChannelIdLabel', width: 180 },
|
||||
{ title: '修改前渠道销售', index: 'originalChannelIdLabel', width: 160 },
|
||||
{ title: '转移客户数', index: 'quantity', className: 'text-center', width: 130 },
|
||||
{ title: '生效节点', index: 'effectiveNode', width: 150, type: 'enum', enum: { 1: '立即生效', 2: 'CRM审核后生效' } },
|
||||
{ title: '备注', index: 'remark', className: 'text-center', width: 150 },
|
||||
{ title: '修改时间', index: 'effectiveTime', className: 'text-center', width: 180, type: 'date' },
|
||||
{ title: '操作人', index: 'modifyUserIdLabel', width: 180 },
|
||||
{
|
||||
title: '操作',
|
||||
fixed: 'right',
|
||||
width: '140px',
|
||||
buttons: [
|
||||
{
|
||||
text: '详情',
|
||||
click: () => this.showChangeDetail()
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
changeColumn: [
|
||||
{ title: '客户名称', index: 'payCode', width: 180 },
|
||||
{ title: '合伙人', index: 'ltdName', width: 160 },
|
||||
{ title: '渠道销售', index: 'payDate', className: 'text-center', width: 130 },
|
||||
{ title: 'CRM审核状态', index: 'payDate', width: 150 },
|
||||
{ title: '生效时间', index: 'payDate', className: 'text-center', width: 130 }
|
||||
],
|
||||
beChangeColumn: [
|
||||
{ title: '客户名称', index: 'payCode', width: 180 },
|
||||
{ title: '合伙人', index: 'ltdName', width: 160 },
|
||||
{ title: '渠道销售', index: 'payDate', className: 'text-center', width: 130 },
|
||||
{ title: '生效时间', index: 'payDate', className: 'text-center', width: 130 }
|
||||
]
|
||||
};
|
||||
private initST(): STColumn[] {
|
||||
return [
|
||||
{ title: '修改后渠道销售', index: 'newChannelIdLabel', width: 180 },
|
||||
{ title: '修改前渠道销售', index: 'originalChannelIdLabel', width: 160 },
|
||||
{ title: '转移客户数', index: 'quantity', className: 'text-center', width: 130 },
|
||||
{ title: '生效节点', index: 'effectiveNode', width: 150, type: 'enum', enum: { 1: '立即生效', 2: 'CRM审核后生效' } },
|
||||
{ title: '备注', index: 'remark', className: 'text-center', width: 150 },
|
||||
{ title: '修改时间', index: 'effectiveTime', className: 'text-center', width: 180, type: 'date' },
|
||||
{ title: '操作人', index: 'modifyUserIdLabel', width: 180 },
|
||||
{
|
||||
title: '操作',
|
||||
fixed: 'right',
|
||||
width: '140px',
|
||||
buttons: [
|
||||
{
|
||||
text: '详情',
|
||||
click: (item) => this.service.showChangeDetail(item.id)
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,6 +151,25 @@
|
||||
</ng-template>
|
||||
</sv>
|
||||
</sv-container>
|
||||
<nz-divider></nz-divider>
|
||||
<sv-container col="3" class="mt16">
|
||||
<sv-title>渠道销售信息</sv-title>
|
||||
<sv label="姓名"> {{ detailData?.channelName }} </sv>
|
||||
<sv label="手机号"> {{ detailData?.channelMobile }} </sv>
|
||||
<sv label="绑定时间"> {{ detailData?.bindChannelTime }} </sv>
|
||||
</sv-container>
|
||||
</nz-card>
|
||||
|
||||
<nz-card>
|
||||
<sv-container col="3" class="mt16">
|
||||
<sv-title>修改渠道销售记录</sv-title>
|
||||
<sv label="">
|
||||
<st #st [data]="service.$api_get_personal_channel_list" [columns]="columns"
|
||||
[req]="{params:{partnerId:route.snapshot.params.id}}" [loading]="service.http.loading" bordered size="small"
|
||||
[page]="{ show: false }" [scroll]="{ x: '1200px' }">
|
||||
</st>
|
||||
</sv>
|
||||
</sv-container>
|
||||
</nz-card>
|
||||
|
||||
<ng-template #PopconfirmTempalte let-title="title" let-content="content">
|
||||
|
||||
@ -21,6 +21,8 @@ export class PersonalPartnerDetailComponent implements OnInit {
|
||||
@ViewChild('areaTreeSelect')
|
||||
areaTreeSelect!: NzTreeSelectComponent;
|
||||
|
||||
columns: STColumn[] = this.initST();
|
||||
|
||||
detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentity: { name: '' } };
|
||||
tempalateData = { ...this.detailData };
|
||||
|
||||
@ -35,7 +37,7 @@ export class PersonalPartnerDetailComponent implements OnInit {
|
||||
|
||||
constructor(
|
||||
public service: PartnerListService,
|
||||
private route: ActivatedRoute,
|
||||
public route: ActivatedRoute,
|
||||
private nzModalService: NzModalService,
|
||||
private datePipe: DatePipe
|
||||
) {}
|
||||
@ -266,4 +268,27 @@ export class PersonalPartnerDetailComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private initST(): STColumn[] {
|
||||
return [
|
||||
{ title: '修改后渠道销售', index: 'newChannelIdLabel', width: 180 },
|
||||
{ title: '修改前渠道销售', index: 'originalChannelIdLabel', width: 160 },
|
||||
{ title: '转移客户数', index: 'quantity', className: 'text-center', width: 130 },
|
||||
{ title: '生效节点', index: 'effectiveNode', width: 150, type: 'enum', enum: { 1: '立即生效', 2: 'CRM审核后生效' } },
|
||||
{ title: '备注', index: 'remark', className: 'text-center', width: 150 },
|
||||
{ title: '修改时间', index: 'effectiveTime', className: 'text-center', width: 180, type: 'date' },
|
||||
{ title: '操作人', index: 'modifyUserIdLabel', width: 180 },
|
||||
{
|
||||
title: '操作',
|
||||
fixed: 'right',
|
||||
width: '140px',
|
||||
buttons: [
|
||||
{
|
||||
text: '详情',
|
||||
click: (item) => this.service.showChangeDetail(item.id)
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ import { Injectable, Injector } from '@angular/core';
|
||||
import { BaseService, EACacheService, ShipperBaseService } from '@shared';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { ImageViewComponent } from 'src/app/shared/components/imagelist';
|
||||
import { ChannelLogModalComponent } from '../components/channel-log-modal/channel-log-modal.component';
|
||||
|
||||
@Injectable()
|
||||
export class PartnerListService extends ShipperBaseService {
|
||||
@ -34,7 +35,7 @@ export class PartnerListService extends ShipperBaseService {
|
||||
// 校验合伙人是否可修改渠道销售 true:可以修改 false:不可以修改
|
||||
$api_check_partenr_change_channel = '/api/mdc/partner/updateChannelCheck';
|
||||
// 根据手机号查询实名信息
|
||||
$api_get_identityInfo_by_mobile= '/api/mdc/cuc/identityInfo/getByMobile';
|
||||
$api_get_identityInfo_by_mobile = '/api/mdc/cuc/identityInfo/getByMobile';
|
||||
// 渠道销售修改详情
|
||||
$api_get_partner_change_list = '/api/mdc/partnerChannelRelLog/partnerChannelUpdateDetaiList';
|
||||
// 冻结/启用企业业
|
||||
@ -60,4 +61,15 @@ export class PartnerListService extends ShipperBaseService {
|
||||
};
|
||||
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
|
||||
}
|
||||
|
||||
showChangeDetail(id: string) {
|
||||
const modal = this.nzModalService.create({
|
||||
nzTitle: '详情',
|
||||
nzContent: ChannelLogModalComponent,
|
||||
nzComponentParams: { id },
|
||||
nzNoAnimation: true,
|
||||
nzWidth: 800,
|
||||
nzFooter: null
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -62,6 +62,7 @@ import { PersonalPartnerDetailComponent } from './partner-list/components/person
|
||||
import { ParterAdviceFeedbackListComponent } from './advice-feedback/components/list/list.component';
|
||||
import { ParterAdviceFeedbackDetailComponent } from './advice-feedback/components/feedback-detail/feedback-detail.component';
|
||||
import { ParterRebateManageMentAddPartnerListComponent } from './rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component';
|
||||
import { ChannelLogModalComponent } from './partner-list/components/channel-log-modal/channel-log-modal.component';
|
||||
|
||||
const COMPONENTS: any[] = [
|
||||
PartnerBusinessStatisticsIndexComponent,
|
||||
@ -113,7 +114,8 @@ const COMPONENTS: any[] = [
|
||||
PersonalPartnerDetailComponent,
|
||||
ParterAdviceFeedbackListComponent,
|
||||
ParterAdviceFeedbackDetailComponent,
|
||||
ParterRebateManageMentAddPartnerListComponent
|
||||
ParterRebateManageMentAddPartnerListComponent,
|
||||
ChannelLogModalComponent
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
||||
Reference in New Issue
Block a user