From 8c06e1f9de9ccb70cf163b04fc9bb98e6efbdabc Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Thu, 10 Mar 2022 16:12:36 +0800 Subject: [PATCH] edit --- proxy.conf.js | 2 +- src/app/core/guards/auth.guard.ts | 2 - src/app/global-config.module.ts | 2 +- .../index/partner-list.component.html | 95 +++++ .../index/partner-list.component.less | 0 .../index/partner-list.component.ts | 298 +++++++++++++++ .../partner-audit-modal.component.html | 7 + .../partner-audit-modal.component.less | 0 .../partner-audit-modal.component.ts | 117 ++++++ .../partner-detail.component.html | 342 ++++++++++++++++++ .../partner-detail.component.less | 30 ++ .../partner-detail.component.ts | 337 +++++++++++++++++ .../services/partner-list.service.ts | 26 ++ .../routes/partner/partner-routing.module.ts | 21 +- src/app/routes/partner/partner.module.ts | 15 +- src/assets/mocks/menu-data.json | 7 +- 16 files changed, 1286 insertions(+), 15 deletions(-) create mode 100644 src/app/routes/partner/partner-list/components/index/partner-list.component.html create mode 100644 src/app/routes/partner/partner-list/components/index/partner-list.component.less create mode 100644 src/app/routes/partner/partner-list/components/index/partner-list.component.ts create mode 100644 src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.html create mode 100644 src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.less create mode 100644 src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.ts create mode 100644 src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.html create mode 100644 src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.less create mode 100644 src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.ts create mode 100644 src/app/routes/partner/partner-list/services/partner-list.service.ts diff --git a/proxy.conf.js b/proxy.conf.js index 31995def..822b7622 100644 --- a/proxy.conf.js +++ b/proxy.conf.js @@ -20,7 +20,7 @@ module.exports = { // } '//api': { target: { - host: 'tms-api-test.eascs.com', + host: 'tms-api-dev.eascs.com', protocol: 'https:', port: 443 }, diff --git a/src/app/core/guards/auth.guard.ts b/src/app/core/guards/auth.guard.ts index da4d1331..b5a30a58 100644 --- a/src/app/core/guards/auth.guard.ts +++ b/src/app/core/guards/auth.guard.ts @@ -38,8 +38,6 @@ export class AuthGuard extends ACLGuard { } private handle(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, type: 1 | 2, router?: string): Observable { - console.log(route, state); - if (!router) { return type === 1 ? super.canActivate(route, state) : super.canActivateChild(route, state); } diff --git a/src/app/global-config.module.ts b/src/app/global-config.module.ts index ec62a552..163c16c9 100644 --- a/src/app/global-config.module.ts +++ b/src/app/global-config.module.ts @@ -17,7 +17,7 @@ const alainConfig: AlainConfig = { page: { show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }, modal: { size: 'lg' } }, - sf: { button: { search: '查询' } }, + sf: { button: { search: '查询' }, ui: { placeholder: '请输入' } }, pageHeader: { homeI18n: 'home', recursiveBreadcrumb: true }, auth: { login_url: '/passport/login' }, acl: { guard_url: '/exception/403' } diff --git a/src/app/routes/partner/partner-list/components/index/partner-list.component.html b/src/app/routes/partner/partner-list/components/index/partner-list.component.html new file mode 100644 index 00000000..f1de5a81 --- /dev/null +++ b/src/app/routes/partner/partner-list/components/index/partner-list.component.html @@ -0,0 +1,95 @@ + + + + +
+
+ +
+
+ + + +
+
+
+ + +
+ + +
+ + + +
+ + +
+
+ + 深圳某某有限公司 + + + + + + + +
+
+

说明:修改模板后,当月开始返佣收益将会按新模板计算

+
+ + +
+
+ + 深圳某某有限公司 + + + 张三/13999999999 + + + + + + + + + + + +

已选(0)

+ + + + + 客户名称 + + + + + + {{ data.name }} + + + +
+ + + + + + +
+
+

客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,成为渠道销售的直客

+
\ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/index/partner-list.component.less b/src/app/routes/partner/partner-list/components/index/partner-list.component.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/routes/partner/partner-list/components/index/partner-list.component.ts b/src/app/routes/partner/partner-list/components/index/partner-list.component.ts new file mode 100644 index 00000000..219a9d6b --- /dev/null +++ b/src/app/routes/partner/partner-list/components/index/partner-list.component.ts @@ -0,0 +1,298 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { Router } from '@angular/router'; +import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; +import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { AddCollectionInvoiceModalComponent } from 'src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component'; +import { PartnerListService } from '../../services/partner-list.service'; +import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit-modal.component'; + +@Component({ + selector: 'app-partner-list', + templateUrl: './partner-list.component.html', + styleUrls: ['../../../../commom/less/box.less'] +}) +export class PartnerListComponent implements OnInit { + @ViewChild('st', { static: true }) + st!: STComponent; + @ViewChild('sf', { static: false }) + sf!: SFComponent; + columns: STColumn[] = this.initST(); + searchSchema: SFSchema = this.initSF(); + _$expand = false; + + @ViewChild('editTemplate', { static: true }) + editTemplate: any; + + @ViewChild('editCannel', { static: true }) + editCannel: any; + customers: any[] = []; + + constructor(public service: PartnerListService, private nzModalService: NzModalService, private router: Router) {} + + ngOnInit(): void {} + + beforeReq = (requestOptions: STRequestOptions) => { + if (this.sf) { + let params = { ...this.sf.value }; + if (params.createTime) { + params.createTime = { start: this.sf?.value?.createTime?.[0], end: this.sf?.value?.createTime?.[1] }; + } + Object.assign(requestOptions.body, params); + } + return requestOptions; + }; + + auditPartner(item: any) { + const modal = this.nzModalService.create({ + nzTitle: '审核', + nzContent: PartnerAuditModalComponent, + nzComponentParams: { info: item }, + nzFooter: null + }); + } + + editTemplateAction(item: any) { + const modal = this.nzModalService.create({ + nzTitle: '修改返佣模板', + nzContent: this.editTemplate, + nzOnOk: () => { + this.confirmEditTemplate(); + return false; + } + }); + } + + confirmEditTemplate() { + const modal = this.nzModalService.confirm({ + nzTitle: '确定要修改返佣模板吗?', + nzOnOk: () => { + this.nzModalService.closeAll(); + } + }); + } + + editCannelAction(item: any) { + const modal = this.nzModalService.create({ + nzTitle: '修改返佣模板', + nzWidth: 650, + nzContent: this.editCannel, + nzOnOk: () => { + this.confirmEditCannel(); + return false; + } + }); + } + + confirmEditCannel() { + const modal = this.nzModalService.confirm({ + nzTitle: '确定提交吗?', + nzOnOk: () => { + this.nzModalService.closeAll(); + } + }); + } + + routeTo(route: string) { + this.router.navigate([route]); + } + + /** + * 重置表单 + */ + resetSF() { + this.sf.reset(); + this._$expand = false; + } + + /** + * 伸缩查询条件 + */ + expandToggle() { + this._$expand = !this._$expand; + this.sf?.setValue('/expand', this._$expand); + } + + private initSF(): SFSchema { + return { + properties: { + expand: { + type: 'boolean', + ui: { + hidden: true + } + }, + paycode: { + type: 'string', + title: '合伙人名称' + }, + paycode2: { + type: 'string', + title: '企业管理员' + }, + paycod3e: { + type: 'string', + title: '手机号' + }, + paycod31e: { + type: 'string', + title: '渠道销售', + ui: { + placeholder: '请输入姓名或者手机号', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderS2n: { + type: 'string', + title: '类型', + ui: { + widget: 'dict-select', + containsAllLabel: true, + params: { dictKey: 'refund:apply:status' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + paytype: { + type: 'string', + title: '认证审核状态', + ui: { + widget: 'dict-select', + containsAllLabel: true, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + paymode: { + type: 'string', + title: '签约状态', + ui: { + widget: 'dict-select', + containsAllLabel: true, + params: { dictKey: 'pay:mode' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + paymo1de: { + type: 'string', + title: 'CRM状态', + ui: { + widget: 'dict-select', + containsAllLabel: true, + params: { dictKey: 'pay:mode' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + paymo11de: { + type: 'string', + title: '注册渠道', + ui: { + widget: 'dict-select', + containsAllLabel: true, + params: { dictKey: 'pay:mode' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + paymo11d1e: { + type: 'string', + title: '返佣模板', + ui: { + widget: 'dict-select', + containsAllLabel: true, + params: { dictKey: 'pay:mode' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + paymo11d11e: { + type: 'string', + title: '合伙人状态', + ui: { + widget: 'dict-select', + containsAllLabel: true, + params: { dictKey: 'pay:mode' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + createTime: { + title: '注册时间', + type: 'string', + ui: { + widget: 'sl-from-to-search', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } as SFDateWidgetSchema + } + } + }; + } + + private initST(): STColumn[] { + return [ + { title: '合伙人名称', index: 'payCode', width: 180 }, + { title: '付款编码', index: 'ltdName', width: 160 }, + { title: '邀请码', index: 'payDate', className: 'text-center', width: 130 }, + { title: '企业管理员', index: 'payDate', width: 150 }, + { title: '手机号', index: 'payDate', className: 'text-center', width: 150 }, + { title: '类型', index: 'payDate', className: 'text-center', width: 130 }, + { title: '注册渠道', index: 'payDate', type: 'date', width: 130 }, + { title: '注册时间', index: 'payDate', className: 'text-center', width: 170 }, + { title: '渠道销售', index: 'payDate', width: 170 }, + { title: '返佣模板', index: 'payDate', width: 150 }, + { title: '认证审核状态', index: 'payDate', width: 150 }, + { title: '签约状态', index: 'payDate', width: 150 }, + { title: 'CRM状态', index: 'payDate', width: 150 }, + { title: '合伙人状态', index: 'payDate', className: 'text-center', width: 140 }, + { + title: '操作', + fixed: 'right', + width: '140px', + buttons: [ + { type: 'divider' }, + { + text: '详情
', + click: item => this.router.navigate(['/partner/partner-list/detail/' + item.id]) + }, + { + text: '修改返佣模板', + click: item => this.editTemplateAction(item) + }, + { + text: '修改渠道销售', + click: item => this.editCannelAction(item) + }, + { + text: '审核
', + click: item => this.auditPartner(item) + }, + { + text: '重发CRM流程', + click: item => this.router.navigate(['/partner/account-management/list/detail/' + item.id]) + } + ] + } + ]; + } +} diff --git a/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.html b/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.html new file mode 100644 index 00000000..8ea7c9f8 --- /dev/null +++ b/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.html @@ -0,0 +1,7 @@ +
+ +
+ \ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.less b/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.ts b/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.ts new file mode 100644 index 00000000..eed7b8ac --- /dev/null +++ b/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.ts @@ -0,0 +1,117 @@ +import { Component, Input, OnInit, ViewChild } from '@angular/core'; +import { SFComponent, SFSchema } from '@delon/form'; +import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; +import { PartnerListService } from '../../services/partner-list.service'; + +@Component({ + selector: 'app-partner-audit-modal', + templateUrl: './partner-audit-modal.component.html', + styleUrls: ['./partner-audit-modal.component.less'] +}) +export class PartnerAuditModalComponent implements OnInit { + @ViewChild('sf', { static: false }) + sf!: SFComponent; + @Input() + info: any; + schema!: SFSchema; + constructor(private nzModalService: NzModalService, public service: PartnerListService) {} + + ngOnInit(): void { + this.initSF(this.info); + } + + initSF(user: any) { + this.schema = { + properties: { + staffName: { + title: '合伙人名称', + type: 'string', + ui: { widget: 'text' }, + default: user.name + }, + status: { + title: '审核结果', + type: 'string', + maxLength: 11, + enum: [ + { value: true, label: '通过' }, + { value: false, label: '驳回' } + ], + ui: { widget: 'radio' }, + default: true + }, + a: { + title: '渠道销售', + type: 'string', + enum: [ + { value: true, label: '通过' }, + { value: false, label: '驳回' } + ], + ui: { + widget: 'select', + placeholder: '请选择' + }, + default: '' + }, + b: { + title: '备注', + type: 'string', + maxLength: 100, + ui: { + widget: 'textarea', + placeholder: '请不要超过100个字', + autosize: { minRows: 3 } + } + } + }, + if: { + properties: { status: { enum: [true] } } + }, + then: { + required: ['a'] + }, + else: { + required: ['b'] + } + }; + } + + sure() { + this.nzModalService.confirm({ + nzTitle: `确定以“${this.info.userName}/${this.info.mobile}”的名义重新发起CRM《付款对象合同管理》吗?`, + nzOnOk: () => { + this.close(); + } + }); + // if (!this.sf.value.roleId || this.sf.value.roleId.length === 0) { + // this.service.msgSrv.error('员工角色不能为空!'); + // return; + // } + // if (this.i.userId === 0) { + // const params: any = { + // ...this.sf.value + // }; + // this.service.request(this.service.$api_add_staff, params).subscribe(res => { + // if (res) { + // this.service.msgSrv.success('保存成功!'); + // this.modal.close(true); + // } + // }); + // } else { + // const params: any = { + // appUserId: this.i.appUserId, + // ...this.sf.value + // }; + // this.service.request(this.service.$api_edit_staff, params).subscribe(res => { + // if (res) { + // this.service.msgSrv.success('编辑成功!'); + // this.modal.close(true); + // } + // }); + // } + } + + close() { + this.nzModalService.closeAll(); + } +} diff --git a/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.html b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.html new file mode 100644 index 00000000..6dcdbb97 --- /dev/null +++ b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 企业管理员信息 + + + + + {{detailData.adminUserInfo?.mobile}} + + + + + +
+ + + + +
+
+ + + + - + + + + + + + + + +
+ + + + + + + + +

+ 四要素验证: + + + +

+
+ + + + + + + + + + + + + + + - + + + + + + + + + +
+ + + 法人信息 + + + + + + + + + - + + + + + + + + + + +
+ + + + +
+
+
+ + + 所属城市 + + 深圳、上海、北京 + + + + + 渠道销售信息 + + 张学友 + + + 13999999999 + + + 2021-09-23 14:43:31 + + +
+ + + + 修改渠道销售记录 + + + + + + + + +
+ +
{{title}} +
+
+ {{content}} +
+
+
+ + +
+
+ + {{ detailData?.enterpriseName }} + + + + + + +
+
+
+ + +
+
+ + {{ detailData?.enterpriseName }} + + + + +
+
+
+ + + + + +
上传
+
+
+ +
+
+ +
+ +
+
+
+
+
\ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.less b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.less new file mode 100644 index 00000000..eadc3a6a --- /dev/null +++ b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.less @@ -0,0 +1,30 @@ +@import '../../../../usercenter/less/edit.less'; + + +.user-info { + font-size: 16px; + + .enterprise-name { + margin-right: 15px; + } + + img { + width : 64px; + height : 64px; + margin-right : 15px; + border-radius: 50%; + } + + .user-info-des { + margin-bottom: 5px; + } +} + +:host::ng-deep { + .affix { + position: fixed !important; + top : 20px !important; + z-index : 999 !important; + width : 100% !important; + } +} \ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.ts b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.ts new file mode 100644 index 00000000..f0e81cf1 --- /dev/null +++ b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.ts @@ -0,0 +1,337 @@ +import { DatePipe } from '@angular/common'; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { apiConf } from '@conf/api.conf'; +import { STColumn } from '@delon/abc/st'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { Subscription, fromEvent } from 'rxjs'; +import { PartnerListService } from '../../services/partner-list.service'; +import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit-modal.component'; + +@Component({ + selector: 'app-partner-detail', + templateUrl: './partner-detail.component.html', + styleUrls: ['./partner-detail.component.less'], + providers: [DatePipe] +}) +export class PartnerDetailComponent implements OnInit { + columns: STColumn[] = this.initST(); + + @ViewChild('approvedModal', { static: false }) + approvedModal!: any; + @ViewChild('redectModal', { static: false }) + redectModal!: any; + + detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentityVO: { name: '' } }; + tempalateData = { ...this.detailData }; + suppliersData: any = {}; + + isEdit = false; + + uploadURl = apiConf.waterFileUpload; + disabledUpload = false; + enterpriseAddressCode: any = []; + ltdId: any = []; + + approvalOpinion = ''; + networkTransporter = null; + + esignCheckStatus: any = { + 0: '不通过', + 1: '通过', + 2: '未认证' + }; + + scrollTop = 0; + subscribeScoll!: Subscription; + constructor( + public service: PartnerListService, + private route: ActivatedRoute, + private nzModalService: NzModalService, + private datePipe: DatePipe + ) {} + ngOnDestroy(): void { + this.subscribeScoll.unsubscribe(); + } + + ngOnInit() { + this.initData(); + this.loadltdId(); + this.subscribeScoll = fromEvent(window, 'scroll').subscribe(event => { + this.scrollTop = document.documentElement.scrollTop; + }); + } + loadltdId() { + // this.service.getNetworkFreightForwarder().subscribe(res => { + // if (res) { + // this.ltdId = res; + // } + // }); + } + + initData() { + // this.service + // .request(this.service.$api_get_freight_detail, { + // id: this.route.snapshot.params.id + // }) + // .subscribe(res => { + // if (res) { + // this.detailData = res; + // this.tempalateData = { ...this.detailData }; + // this.enterpriseAddressCode = [ + // Number(this.detailData.fullRegionVO?.provinceCode), + // Number(this.detailData.fullRegionVO?.cityCode), + // Number(this.detailData.fullRegionVO?.areaCode) + // ]; + // } + // }); + } + + goBack() { + window.history.go(-1); + } + /** + * 冻结 + */ + freezeOrResume(type: number) { + // this.service.http + // .post(this.service.$api_lock_freight, { + // id: this.route.snapshot.params.id, + // statedLocked: !!type + // }) + // .subscribe(res => { + // if (res.data === true) { + // if (type === 0) { + // this.service.msgSrv.success(`启用成功!`); + // } else { + // this.service.msgSrv.success(`冻结成功!`); + // } + // this.initData(); + // } else { + // this.service.msgSrv.error(res.msg || '操作失败!'); + // } + // }); + } + + auditPartner() { + const modal = this.nzModalService.create({ + nzTitle: '审核', + nzContent: PartnerAuditModalComponent, + nzComponentParams: { info: this.detailData }, + nzFooter: null + }); + } + + ratify() { + this.isEdit = true; + } + + deleteImg(data: any, key: string, key2: string) { + this.nzModalService.warning({ + nzTitle: '是否确认删除该图片', + nzOnOk: () => { + this.disabledUpload = true; + data[key] = ''; + data[key2] = ''; + setTimeout(() => { + this.disabledUpload = false; + }, 100); + } + }); + } + changeUpload({ file, fileList, type }: any, data: any, key: string, key2: string, id: string) { + if (type === 'success') { + data[key] = file.response.data?.fullFileWatermarkPath; + data[key2] = file.response.data?.fullFilePath; + if (id === 'legalFront' || id === 'legalBack') { + this.checkIdCard(file.response.data?.fullFilePath, id === 'legalFront' ? 'front' : 'back', 1); + } + if (id === 'certificateBackFront' || id === 'certificateBack') { + this.checkIdCard(file.response.data?.fullFilePath, id === 'certificateBackFront' ? 'front' : 'back', 0); + } + if (id === 'detailPhoto') { + this.checkBusinessLicense(file.response.data?.fullFilePath); + } + } + } + + /** + * 级联获取地区数据 + * @param node 节点 + * @param index 层级 + * @returns + */ + loadRegionData = (node: any, index: number) => { + return new Promise(resolve => { + this.service.request(this.service.$api_get_region_by_code, { regionCode: node?.regionCode || '' }).subscribe( + res => { + node.children = res.map((item: any) => ({ ...item, isLeaf: index === 1, value: item.regionCode, label: item.name })); + }, + _ => {}, + () => { + resolve(node); + } + ); + }); + }; + + reset() { + this.detailData = { ...this.tempalateData }; + this.isEdit = false; + } + + save() { + const dateil = { ...this.detailData }; + Object.assign(dateil.legalPersonIdentityVO, { + validStartTime: this.datePipe.transform(dateil.legalPersonIdentityVO.validStartTime, 'yyyy-MM-dd'), + validEndTime: this.datePipe.transform(dateil.legalPersonIdentityVO.validEndTime, 'yyyy-MM-dd') + }); + const params = {}; + Object.assign(params, { + adminMobile: dateil.adminMobile, + adminAppUserId: dateil.adminAppUserId, + adminUserInfo: { ...dateil.adminUserInfo }, + bankAccount: dateil.bankAccount, + businessScope: dateil.businessScope, + createBank: dateil.createBank, + creditPhoto: dateil.creditPhoto, + creditPhotoWatermark: dateil.creditPhotoWatermark, + enterpriseAddress: dateil.enterpriseAddress, + enterpriseAddressCode: this.enterpriseAddressCode[2], + enterpriseLogo: dateil.enterpriseLogo, + enterpriseName: dateil.enterpriseName, + enterpriseRegistrationTime: this.datePipe.transform(dateil.enterpriseRegistrationTime, 'yyyy-MM-dd'), + enterpriseType: dateil.enterpriseType, + id: dateil.id, + legalPersonIdentityDTO: { ...dateil.legalPersonIdentityVO }, + licensePhoto: dateil.licensePhoto, + licensePhotoWatermark: dateil.licensePhotoWatermark, + networkTransporter: dateil.networkTransporter, + oftenUsedServices: dateil.oftenUsedServices, + operatingEndTime: this.datePipe.transform(dateil.operatingEndTime, 'yyyy-MM-dd'), + operatingStartTime: this.datePipe.transform(dateil.operatingStartTime, 'yyyy-MM-dd'), + promotersTelephone: dateil.promotersTelephone, + registerAddress: dateil.registerAddress, + registerPhone: dateil.registerPhone, + registrationCapital: dateil.registrationCapital, + taxAuthority: dateil.taxAuthority, + unifiedSocialCreditCode: dateil.unifiedSocialCreditCode + }); + // this.service.request(this.service.$api_save_enterprise_admin, params).subscribe(res => { + // if (res) { + // this.service.msgSrv.success('企业修改成功'); + // this.initData(); + // this.isEdit = false; + // } + // }); + } + + // 识别身份证 参数isFront:front-正面、back-背面;type:0-申请人身份证,1-法定代表人身份证 + checkIdCard(imgurl: any, isFront: string, type: number) { + const params = { + idCardUrl: imgurl, + side: isFront + }; + // this.service.request(this.service.$api_ocr_recognize_id_card, params).subscribe(res => { + // if (res) { + // if (type === 1) { + // // 法定代表人证件照 + // if (isFront === 'front') { + // // 正面 + // if (res.name) { + // this.detailData.legalPersonIdentityVO.name = res.name; + // } + // if (res.number) { + // this.detailData.legalPersonIdentityVO.certificateNumber = res.number; + // } + // } + // if (isFront === 'back') { + // // 背面 + // if (res.validFrom) { + // this.detailData.legalPersonIdentityVO.validStartTime = res.validFrom; + // } + // if (res.validTo) { + // this.detailData.legalPersonIdentityVO.validEndTime = res.validTo; + // } else { + // this.detailData.legalPersonIdentityVO.validEndTime = null; + // } + // } + // } + // // 企业管理员证件照 + // if (type === 0) { + // if (isFront === 'front') { + // // 正面 + // if (res.name) { + // this.detailData.adminUserInfo.name = res.name; + // } + // if (res.number) { + // this.detailData.adminUserInfo.certificateNumber = res.number; + // } + // } + // } + // } + // }); + } + + // 识别营业执照 + checkBusinessLicense(imgurl: any) { + // this.service.request(this.service.$api_ocr_recognize_business_license, { businessLicenseUrl: imgurl }).subscribe(res => { + // if (res) { + // if (res.registrationNumber) { + // this.detailData.unifiedSocialCreditCode = res.registrationNumber; + // } + // if (res.name) { + // this.detailData.enterpriseName = res.name; + // } + // if (res.type) { + // this.detailData.enterpriseType = res.type; + // } + // if (res.addressRegionCodes) { + // this.detailData.enterpriseAddressCode = res.addressRegionCodes; + // } + // if (res.address) { + // this.detailData.enterpriseAddress = res.address; + // } + // if (res.registeredCapital) { + // this.detailData.registrationCapital = res.registeredCapital; + // } + // if (res.foundDate) { + // this.detailData.enterpriseRegistrationTime = res.foundDate; + // } + // if (res.businessTermStartDate) { + // this.detailData.operatingStartTime = res.businessTermStartDate; + // } + // if (res.businessTermEndDate) { + // this.detailData.operatingEndTime = res.businessTermEndDate; + // } else { + // this.detailData.operatingEndTime = null; + // } + // if (res.businessScope) { + // this.detailData.businessScope = res.businessScope; + // } + // } + // }); + } + + private initST(): STColumn[] { + return [ + { title: '修改后渠道销售', index: 'payCode', width: 180 }, + { title: '修改前渠道销售', index: 'ltdName', width: 160 }, + { title: '转移客户数', index: 'payDate', className: 'text-center', width: 130 }, + { title: '生效节点', index: 'payDate', width: 150 }, + { title: '备注', index: 'payDate', className: 'text-center', width: 150 }, + { title: '修改时间', index: 'payDate', className: 'text-center', width: 130 }, + { title: '操作人', index: 'payDate', type: 'date', width: 130 }, + { + title: '操作', + fixed: 'right', + width: '140px', + buttons: [ + { + text: '详情' + } + ] + } + ]; + } +} diff --git a/src/app/routes/partner/partner-list/services/partner-list.service.ts b/src/app/routes/partner/partner-list/services/partner-list.service.ts new file mode 100644 index 00000000..7b07381f --- /dev/null +++ b/src/app/routes/partner/partner-list/services/partner-list.service.ts @@ -0,0 +1,26 @@ +import { Injectable, Injector } from '@angular/core'; +import { BaseService, EACacheService } from '@shared'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { ImageViewComponent } from 'src/app/shared/components/imagelist'; + +@Injectable() +export class PartnerListService extends BaseService { + $mock_url = '/rule?_allow_anonymous=true'; + + // 根据地区code查询列表 + $api_get_region_by_code = '/api/mdc/pbc/region/getRegionByCode'; + // 根据地区code查询地区详情 + $api_get_region_detail_by_code = '/api/mdc/pbc/region/getRegionDetailByCode'; + + constructor(public injector: Injector, private nzModalService: NzModalService) { + super(injector); + } + + showImg(url: any) { + const params = { + imgList: [url], + index: 0 + }; + this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } }); + } +} diff --git a/src/app/routes/partner/partner-routing.module.ts b/src/app/routes/partner/partner-routing.module.ts index 9fef0745..5f131455 100644 --- a/src/app/routes/partner/partner-routing.module.ts +++ b/src/app/routes/partner/partner-routing.module.ts @@ -27,6 +27,8 @@ import { PartnerAccountManagementAccountDetailComponent } from './account-manage import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-detail.component'; import { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.component'; import { PartnerAccountManagementWithdrawalsDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; +import { PartnerListComponent } from './partner-list/components/index/partner-list.component'; +import { PartnerDetailComponent } from './partner-list/components/partner-detail/partner-detail.component'; const routes: Routes = [ { @@ -38,7 +40,7 @@ const routes: Routes = [ { path: 'partner/custom-detail/:id', component: PartnerPartnerCustomDetailComponent }, { path: 'partner/custom-order-detail/:id', component: PartnerPartnerCustomOrderDetailComponent }, { path: 'sale/custom-detail/:id', component: PartnerSaleCustomDetailComponent }, - { path: 'sale/partner-detail/:id', component: PartnerSalePartnerDetailComponent }, + { path: 'sale/partner-detail/:id', component: PartnerSalePartnerDetailComponent } ] }, { @@ -46,7 +48,7 @@ const routes: Routes = [ children: [ { path: '', component: ParterChannelSalesListComponent }, { path: 'list', component: ParterChannelSalesListComponent }, - { path: 'edit', component: ParterChannelSalesEditComponent }, + { path: 'edit', component: ParterChannelSalesEditComponent } ] }, { @@ -54,14 +56,14 @@ const routes: Routes = [ children: [ { path: '', component: ParterLevelConfigListComponent }, { path: 'list', component: ParterLevelConfigListComponent }, - { path: 'edit', component: ParterLevelConfigEditComponent }, + { path: 'edit', component: ParterLevelConfigEditComponent } ] }, { path: 'rebate', children: [ { path: 'particulars', component: ParterRebateManageMentParticularsComponent }, - { path: 'record', component: ParterRebateManageMentRecordComponent }, + { path: 'record', component: ParterRebateManageMentRecordComponent } ] }, { @@ -71,12 +73,19 @@ const routes: Routes = [ { path: 'account-detail', component: PartnerAccountManagementAccountDetailComponent }, { path: 'recorded-detail/:id', component: PartnerAccountManagementRecordedDetailComponent }, { path: 'withdraw-record', component: PartnerAccountManagementWithdrawalsRecordComponent }, - { path: 'withdraw-record/:id', component: PartnerAccountManagementWithdrawalsDetailComponent }, + { path: 'withdraw-record/:id', component: PartnerAccountManagementWithdrawalsDetailComponent } ] }, + { + path: 'partner-list', + children: [ + { path: '', component: PartnerListComponent }, + { path: 'detail/:id', component: PartnerDetailComponent } + ] + } ]; @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) -export class PartnerRoutingModule { } +export class PartnerRoutingModule {} diff --git a/src/app/routes/partner/partner.module.ts b/src/app/routes/partner/partner.module.ts index 66b8695d..49fe831a 100644 --- a/src/app/routes/partner/partner.module.ts +++ b/src/app/routes/partner/partner.module.ts @@ -32,6 +32,10 @@ import { PartnerAccountManagementAccountDetailComponent } from './account-manage import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-detail.component'; import { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.component'; import { PartnerAccountManagementWithdrawalsDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; +import { PartnerDetailComponent } from './partner-list/components/partner-detail/partner-detail.component'; +import { PartnerListComponent } from './partner-list/components/index/partner-list.component'; +import { PartnerAuditModalComponent } from './partner-list/components/partner-audit-modal/partner-audit-modal.component'; +import { PartnerListService } from './partner-list/services/partner-list.service'; const COMPONENTS: any[] = [ PartnerBusinessStatisticsIndexComponent, @@ -54,11 +58,14 @@ const COMPONENTS: any[] = [ PartnerAccountManagementAccountDetailComponent, PartnerAccountManagementRecordedDetailComponent, PartnerAccountManagementWithdrawalsRecordComponent, - PartnerAccountManagementWithdrawalsDetailComponent + PartnerAccountManagementWithdrawalsDetailComponent, + PartnerListComponent, + PartnerDetailComponent ]; @NgModule({ - declarations: [...COMPONENTS], - imports: [CommonModule, PartnerRoutingModule, SharedModule] + declarations: [...COMPONENTS, PartnerAuditModalComponent], + imports: [CommonModule, PartnerRoutingModule, SharedModule], + providers: [PartnerListService] }) -export class PartnerModule { } +export class PartnerModule {} diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 82b7732b..45058d21 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -508,7 +508,12 @@ { "text": "合伙人管理", "icon": "anticon anticon-dashboard", - "children": [{ + "children": [ + { + "text": "合伙人列表", + "link": "/partner/partner-list" + }, + { "text": "业务统计", "link": "/partner/business-statistics/index" },