This commit is contained in:
Taric Xin
2022-03-10 20:36:10 +08:00
parent 09462cc750
commit 28a20973d3
4 changed files with 113 additions and 92 deletions

View File

@ -1,5 +1,5 @@
import { Component, Input, OnInit, ViewChild } from '@angular/core'; import { Component, Input, OnInit, ViewChild } from '@angular/core';
import { SFComponent, SFSchema } from '@delon/form'; import { SFComponent, SFSchema, SFValue } from '@delon/form';
import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal';
import { PartnerListService } from '../../services/partner-list.service'; import { PartnerListService } from '../../services/partner-list.service';
@ -23,6 +23,13 @@ export class PartnerAuditModalComponent implements OnInit {
initSF(user: any) { initSF(user: any) {
this.schema = { this.schema = {
properties: { properties: {
isPass: {
type: 'boolean',
ui: {
hidden: true
},
default: this.info.isPass
},
staffName: { staffName: {
title: '合伙人名称', title: '合伙人名称',
type: 'string', type: 'string',
@ -37,7 +44,10 @@ export class PartnerAuditModalComponent implements OnInit {
{ value: true, label: '通过' }, { value: true, label: '通过' },
{ value: false, label: '驳回' } { value: false, label: '驳回' }
], ],
ui: { widget: 'radio' }, ui: {
widget: 'radio',
hidden: this.info.isPass !== undefined
},
default: true default: true
}, },
a: { a: {
@ -49,7 +59,14 @@ export class PartnerAuditModalComponent implements OnInit {
], ],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择' placeholder: '请选择',
hidden: this.info.isPass === false,
visibleIf: {
status: value => value
},
errors: {
required: ' '
}
}, },
default: '' default: ''
}, },
@ -60,19 +77,18 @@ export class PartnerAuditModalComponent implements OnInit {
ui: { ui: {
widget: 'textarea', widget: 'textarea',
placeholder: '请不要超过100个字', placeholder: '请不要超过100个字',
autosize: { minRows: 3 } autosize: { minRows: 3 },
hidden: this.info.isPass === true,
visibleIf: {
status: value => !value || this.info.isPass === false
},
errors: {
required: ' '
}
} }
} }
}, },
if: { required: ['a', 'b']
properties: { status: { enum: [true] } }
},
then: {
required: ['a']
},
else: {
required: ['b']
}
}; };
} }

View File

@ -49,13 +49,11 @@
</button> </button>
</ng-container> </ng-container>
<ng-template #editButton> <ng-template #editButton>
<ng-container *ngIf="detailData?.approvalStatus===10"> <ng-container>
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner()" acl <button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(true)">
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']">
通过 通过
</button> </button>
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner()" acl <button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)">
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']">
驳回 驳回
</button> </button>
</ng-container> </ng-container>
@ -73,8 +71,7 @@
冻结 冻结
</button> </button>
</ng-container> </ng-container>
<button [disabled]="service.http.loading" nz-button nzDanger (click)="ratify()" acl <button [disabled]="service.http.loading" nz-button nzDanger (click)="ratify()">
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-save']">
修改 修改
</button> </button>
</ng-template> </ng-template>
@ -113,7 +110,8 @@
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'">
</sv> </sv>
<sv label="手机号"> <sv label="手机号">
{{detailData.adminUserInfo?.mobile}} <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.mobile" [readonly]="!isEdit"
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'">
</sv> </sv>
<sv label="身份证号"> <sv label="身份证号">
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit" <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit"
@ -206,7 +204,7 @@
</sv-container> </sv-container>
<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="法定代表人"> <sv label="法定代表人">
<input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.name" [readonly]="!isEdit" <input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.name" [readonly]="!isEdit"
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'">
@ -232,7 +230,6 @@
(ngModelChange)="$event?detailData.legalPersonIdentityVO.validEndTime='':''" (ngModelChange)="$event?detailData.legalPersonIdentityVO.validEndTime='':''"
class="ml-sm">长期</label> class="ml-sm">长期</label>
</ng-container> </ng-container>
</sv> </sv>
<sv label="身份证照" col="1"> <sv label="身份证照" col="1">
<div class="d-flex"> <div class="d-flex">
@ -244,15 +241,19 @@
</ng-container> </ng-container>
</div> </div>
</sv> </sv>
</sv-container> <sv label="所属城市">
<nz-divider></nz-divider> <ng-container *ngIf="isEdit; else cascaderelseTemplate">
<sv-container col="3" class="mt16"> <nz-cascader [(ngModel)]="enterpriseAddressCode" [nzLoadData]="loadRegionData">
<sv-title>所属城市</sv-title> </nz-cascader>
<sv label=""> </ng-container>
深圳、上海、北京 <ng-template #cascaderelseTemplate>
{{ detailData?.fullRegionVO?.provinceName }}{{ detailData?.fullRegionVO?.cityName }}{{
detailData?.fullRegionVO?.areaName }}
</ng-template>
</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="姓名"> <sv label="姓名">
@ -271,8 +272,8 @@
<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.$mock_url" [columns]="columns" [loading]="service.http.loading" bordered size="small" <st #st [data]="service.$mock_url" [columns]="columns.logsColumn" [loading]="service.http.loading" bordered
[page]="{show:false}" [scroll]="{ x:'1200px' }"> size="small" [page]="{show:false}" [scroll]="{ x:'1200px' }">
</st> </st>
</sv> </sv>
</sv-container> </sv-container>
@ -289,35 +290,6 @@
</div> </div>
</ng-template> </ng-template>
<ng-template #approvedModal>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="120">
<se [col]="1" label="公司名称">
{{ detailData?.enterpriseName }}
</se>
<se [col]="1" label="网络货运人" required>
<nz-select nzPlaceHolder="请选择" [(ngModel)]="networkTransporter">
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of ltdId"></nz-option>
</nz-select>
</se>
</div>
</div>
</ng-template>
<ng-template #redectModal>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="120">
<se [col]="1" label="公司名称">
{{ detailData?.enterpriseName }}
</se>
<se [col]="1" label="备注" required>
<textarea nz-input rows="3" style="width: 325px;margin-left: 14px;"
[(ngModel)]="approvalOpinion"></textarea>
</se>
</div>
</div>
</ng-template>
<ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover"> <ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover">
<nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card" <nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card"
[nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif" [nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif"
@ -339,4 +311,18 @@
</div> </div>
</div> </div>
</nz-upload> </nz-upload>
</ng-template>
<ng-template #logModal>
<h2>转移客户数10</h2>
<st #st [data]="service.$mock_url" [columns]="columns.changeColumn" [loading]="service.http.loading" bordered
size="small" [page]="{show:false}" [scroll]="{ x:'750px' }">
</st>
<h2>不转移客户数10</h2>
<st #st [data]="service.$mock_url" [columns]="columns.beChangeColumn" [loading]="service.http.loading" bordered
size="small" [page]="{show:false}" [scroll]="{ x:'750px' }">
</st>
<p>
客户转移客户跟着上级合伙人转移一并到新渠道销售下会同步发起CRM《客户转移》流程不转移的客户会与上级合伙人解绑修改成功后修改时间也是合伙人与客户的结算结束时间成为原来渠道销售的直客。
</p>
</ng-template> </ng-template>

View File

@ -15,16 +15,13 @@ import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit
providers: [DatePipe] providers: [DatePipe]
}) })
export class PartnerDetailComponent implements OnInit { export class PartnerDetailComponent implements OnInit {
columns: STColumn[] = this.initST(); @ViewChild('logModal')
logModal: any;
@ViewChild('approvedModal', { static: false }) columns: { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } = this.initST();
approvedModal!: any;
@ViewChild('redectModal', { static: false })
redectModal!: any;
detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentityVO: { name: '' } }; detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentityVO: { name: '' } };
tempalateData = { ...this.detailData }; tempalateData = { ...this.detailData };
suppliersData: any = {};
isEdit = false; isEdit = false;
@ -33,9 +30,6 @@ export class PartnerDetailComponent implements OnInit {
enterpriseAddressCode: any = []; enterpriseAddressCode: any = [];
ltdId: any = []; ltdId: any = [];
approvalOpinion = '';
networkTransporter = null;
esignCheckStatus: any = { esignCheckStatus: any = {
0: '不通过', 0: '不通过',
1: '通过', 1: '通过',
@ -113,11 +107,21 @@ export class PartnerDetailComponent implements OnInit {
// }); // });
} }
auditPartner() { auditPartner(isPass: boolean) {
const modal = this.nzModalService.create({ const modal = this.nzModalService.create({
nzTitle: '审核', nzTitle: '审核',
nzContent: PartnerAuditModalComponent, nzContent: PartnerAuditModalComponent,
nzComponentParams: { info: this.detailData }, nzComponentParams: { info: { ...this.detailData, isPass } },
nzFooter: null
});
}
showChangeDetail() {
const modal = this.nzModalService.create({
nzTitle: '详情',
nzContent: this.logModal,
nzNoAnimation: true,
nzWidth: 700,
nzFooter: null nzFooter: null
}); });
} }
@ -313,25 +317,41 @@ export class PartnerDetailComponent implements OnInit {
// }); // });
} }
private initST(): STColumn[] { private initST(): { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } {
return [ return {
{ title: '修改后渠道销售', index: 'payCode', width: 180 }, logsColumn: [
{ title: '修改渠道销售', index: 'ltdName', width: 160 }, { title: '修改渠道销售', index: 'payCode', width: 180 },
{ title: '转移客户数', index: 'payDate', className: 'text-center', width: 130 }, { title: '修改前渠道销售', index: 'ltdName', width: 160 },
{ title: '生效节点', index: 'payDate', width: 150 }, { title: '转移客户数', index: 'payDate', className: 'text-center', width: 130 },
{ title: '备注', index: 'payDate', className: 'text-center', width: 150 }, { title: '生效节点', index: 'payDate', width: 150 },
{ title: '修改时间', index: 'payDate', className: 'text-center', width: 130 }, { title: '备注', index: 'payDate', className: 'text-center', width: 150 },
{ title: '操作人', index: 'payDate', type: 'date', width: 130 }, { title: '修改时间', index: 'payDate', className: 'text-center', width: 130 },
{ { title: '操作人', index: 'payDate', type: 'date', width: 130 },
title: '操作', {
fixed: 'right', title: '操作',
width: '140px', fixed: 'right',
buttons: [ width: '140px',
{ buttons: [
text: '详情' {
} 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 }
]
};
} }
} }

View File

@ -278,7 +278,6 @@
<label nz-checkbox [ngModel]="!!!detailData.legalPersonIdentityVO.validEndTime" <label nz-checkbox [ngModel]="!!!detailData.legalPersonIdentityVO.validEndTime"
(ngModelChange)="$event?detailData.legalPersonIdentityVO.validEndTime='':''" class="ml-sm">长期</label> (ngModelChange)="$event?detailData.legalPersonIdentityVO.validEndTime='':''" class="ml-sm">长期</label>
</ng-container> </ng-container>
</sv> </sv>
<sv label="身份证照" col="1"> <sv label="身份证照" col="1">
<div class="d-flex"> <div class="d-flex">