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>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
<nz-divider></nz-divider>
|
<nz-divider></nz-divider>
|
||||||
<nz-divider></nz-divider>
|
|
||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>渠道销售信息</sv-title>
|
<sv-title>渠道销售信息</sv-title>
|
||||||
<sv label="姓名"> {{ detailData?.channelName }} </sv>
|
<sv label="姓名"> {{ detailData?.channelName }} </sv>
|
||||||
@ -282,7 +281,7 @@
|
|||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>修改渠道销售记录</sv-title>
|
<sv-title>修改渠道销售记录</sv-title>
|
||||||
<sv label="">
|
<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"
|
[req]="{params:{partnerId:route.snapshot.params.id}}" [loading]="service.http.loading" bordered size="small"
|
||||||
[page]="{ show: false }" [scroll]="{ x: '1200px' }">
|
[page]="{ show: false }" [scroll]="{ x: '1200px' }">
|
||||||
</st>
|
</st>
|
||||||
@ -317,19 +316,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-upload>
|
</nz-upload>
|
||||||
</ng-template>
|
</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 { Subscription, fromEvent } from 'rxjs';
|
||||||
|
|
||||||
import { PartnerListService } from '../../services/partner-list.service';
|
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';
|
import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit-modal.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -18,12 +19,10 @@ import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit
|
|||||||
providers: [DatePipe]
|
providers: [DatePipe]
|
||||||
})
|
})
|
||||||
export class PartnerDetailComponent implements OnInit, OnDestroy {
|
export class PartnerDetailComponent implements OnInit, OnDestroy {
|
||||||
@ViewChild('logModal')
|
|
||||||
logModal: any;
|
|
||||||
@ViewChild('areaTreeSelect')
|
@ViewChild('areaTreeSelect')
|
||||||
areaTreeSelect!: NzTreeSelectComponent;
|
areaTreeSelect!: NzTreeSelectComponent;
|
||||||
|
|
||||||
columns: { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } = this.initST();
|
columns: STColumn[] = this.initST();
|
||||||
|
|
||||||
detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentity: { name: '' } };
|
detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentity: { name: '' } };
|
||||||
tempalateData = { ...this.detailData };
|
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() {
|
ratify() {
|
||||||
this.isEdit = true;
|
this.isEdit = true;
|
||||||
// 搜索展开省份并选中节点
|
// 搜索展开省份并选中节点
|
||||||
@ -365,41 +354,26 @@ export class PartnerDetailComponent implements OnInit, OnDestroy {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private initST(): { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } {
|
private initST(): STColumn[] {
|
||||||
return {
|
return [
|
||||||
logsColumn: [
|
{ title: '修改后渠道销售', index: 'newChannelIdLabel', width: 180 },
|
||||||
{ title: '修改后渠道销售', index: 'newChannelIdLabel', width: 180 },
|
{ title: '修改前渠道销售', index: 'originalChannelIdLabel', width: 160 },
|
||||||
{ title: '修改前渠道销售', index: 'originalChannelIdLabel', width: 160 },
|
{ title: '转移客户数', index: 'quantity', className: 'text-center', width: 130 },
|
||||||
{ title: '转移客户数', index: 'quantity', className: 'text-center', width: 130 },
|
{ title: '生效节点', index: 'effectiveNode', width: 150, type: 'enum', enum: { 1: '立即生效', 2: 'CRM审核后生效' } },
|
||||||
{ title: '生效节点', index: 'effectiveNode', width: 150, type: 'enum', enum: { 1: '立即生效', 2: 'CRM审核后生效' } },
|
{ title: '备注', index: 'remark', className: 'text-center', width: 150 },
|
||||||
{ title: '备注', index: 'remark', className: 'text-center', width: 150 },
|
{ title: '修改时间', index: 'effectiveTime', className: 'text-center', width: 180, type: 'date' },
|
||||||
{ title: '修改时间', index: 'effectiveTime', className: 'text-center', width: 180, type: 'date' },
|
{ title: '操作人', index: 'modifyUserIdLabel', width: 180 },
|
||||||
{ title: '操作人', index: 'modifyUserIdLabel', width: 180 },
|
{
|
||||||
{
|
title: '操作',
|
||||||
title: '操作',
|
fixed: 'right',
|
||||||
fixed: 'right',
|
width: '140px',
|
||||||
width: '140px',
|
buttons: [
|
||||||
buttons: [
|
{
|
||||||
{
|
text: '详情',
|
||||||
text: '详情',
|
click: (item) => this.service.showChangeDetail(item.id)
|
||||||
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 }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -151,6 +151,25 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</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>
|
</nz-card>
|
||||||
|
|
||||||
<ng-template #PopconfirmTempalte let-title="title" let-content="content">
|
<ng-template #PopconfirmTempalte let-title="title" let-content="content">
|
||||||
|
|||||||
@ -21,6 +21,8 @@ export class PersonalPartnerDetailComponent implements OnInit {
|
|||||||
@ViewChild('areaTreeSelect')
|
@ViewChild('areaTreeSelect')
|
||||||
areaTreeSelect!: NzTreeSelectComponent;
|
areaTreeSelect!: NzTreeSelectComponent;
|
||||||
|
|
||||||
|
columns: STColumn[] = this.initST();
|
||||||
|
|
||||||
detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentity: { name: '' } };
|
detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentity: { name: '' } };
|
||||||
tempalateData = { ...this.detailData };
|
tempalateData = { ...this.detailData };
|
||||||
|
|
||||||
@ -35,7 +37,7 @@ export class PersonalPartnerDetailComponent implements OnInit {
|
|||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public service: PartnerListService,
|
public service: PartnerListService,
|
||||||
private route: ActivatedRoute,
|
public route: ActivatedRoute,
|
||||||
private nzModalService: NzModalService,
|
private nzModalService: NzModalService,
|
||||||
private datePipe: DatePipe
|
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 { BaseService, EACacheService, ShipperBaseService } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { ImageViewComponent } from 'src/app/shared/components/imagelist';
|
import { ImageViewComponent } from 'src/app/shared/components/imagelist';
|
||||||
|
import { ChannelLogModalComponent } from '../components/channel-log-modal/channel-log-modal.component';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class PartnerListService extends ShipperBaseService {
|
export class PartnerListService extends ShipperBaseService {
|
||||||
@ -34,7 +35,7 @@ export class PartnerListService extends ShipperBaseService {
|
|||||||
// 校验合伙人是否可修改渠道销售 true:可以修改 false:不可以修改
|
// 校验合伙人是否可修改渠道销售 true:可以修改 false:不可以修改
|
||||||
$api_check_partenr_change_channel = '/api/mdc/partner/updateChannelCheck';
|
$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';
|
$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 } });
|
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 { ParterAdviceFeedbackListComponent } from './advice-feedback/components/list/list.component';
|
||||||
import { ParterAdviceFeedbackDetailComponent } from './advice-feedback/components/feedback-detail/feedback-detail.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 { 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[] = [
|
const COMPONENTS: any[] = [
|
||||||
PartnerBusinessStatisticsIndexComponent,
|
PartnerBusinessStatisticsIndexComponent,
|
||||||
@ -113,7 +114,8 @@ const COMPONENTS: any[] = [
|
|||||||
PersonalPartnerDetailComponent,
|
PersonalPartnerDetailComponent,
|
||||||
ParterAdviceFeedbackListComponent,
|
ParterAdviceFeedbackListComponent,
|
||||||
ParterAdviceFeedbackDetailComponent,
|
ParterAdviceFeedbackDetailComponent,
|
||||||
ParterRebateManageMentAddPartnerListComponent
|
ParterRebateManageMentAddPartnerListComponent,
|
||||||
|
ChannelLogModalComponent
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
Reference in New Issue
Block a user