From 5e93d5de64266d459b4621c3e9e1eef8d1e1b159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Thu, 10 Mar 2022 13:39:28 +0800 Subject: [PATCH 01/19] - --- .../withdrawals-detail.component.html | 10 +++++----- .../withdrawals-detail.component.ts | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.html b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.html index 82f0ce06..f9b29185 100644 --- a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.html +++ b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.html @@ -16,9 +16,9 @@ - + -
+
{{formData?.ltdName}} @@ -41,16 +41,16 @@ {{formData?.refundStatusLabel}} - {{formData?.amount}} + {{formData?.amount | currency}} {{formData?.bankSerialNumber}} - {{formData?.bankId}} + {{formData?.bankCardNumber}} - + {{formData?.refundStatus==='3'?'下载回单':'暂无回单'}}
diff --git a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts index 74f5b1d4..2332fd75 100644 --- a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts +++ b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts @@ -2,8 +2,9 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; + @Component({ - selector: 'app-partner-account-management-withdrawals-detail', + selector: 'app-withdrawals-detail', templateUrl: './withdrawals-detail.component.html', styleUrls: ['./withdrawals-detail.component.less'] }) @@ -67,6 +68,19 @@ export class PartnerAccountManagementWithdrawalsDetailComponent implements OnIni }); } + downBack() { + if (this.formData?.refundStatus !== '3') { + return; + } + this.service.getReceiptUrl(this.formData.receiptUrl, { + bankType: this.formData.bankType, + rmYll: this.formData.userId, + snglFlgCd: this.formData.coreSerNo, + bussType: '06', + ltdId: this.formData.ltdId + }); + } + goBack() { history.go(-1); } From 1a353f4c93b4725035cdcdf5ea252c2e8fb21e67 Mon Sep 17 00:00:00 2001 From: wangshiming Date: Thu, 10 Mar 2022 14:15:58 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../record-detail.component.html | 8 ++- .../record-detail.component.less | 6 ++ .../record-detail/record-detail.component.ts | 68 +++++++------------ .../services/rebate-management.service.ts | 13 +++- 4 files changed, 49 insertions(+), 46 deletions(-) create mode 100644 src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.less diff --git a/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.html b/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.html index 65099230..4f7723fe 100644 --- a/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.html +++ b/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-02-24 20:09:49 * @LastEditors : Shiming - * @LastEditTime : 2022-03-09 15:14:50 + * @LastEditTime : 2022-03-10 14:05:25 * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\model\\record-detail\\record-detail.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -23,7 +23,7 @@ +
合计:2999.00元
+
+ +
\ No newline at end of file diff --git a/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.less b/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.less new file mode 100644 index 00000000..52b47a0e --- /dev/null +++ b/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.less @@ -0,0 +1,6 @@ +:host { + [nz-button] { + margin-right: 8px; + margin-bottom: 12px; + } +} \ No newline at end of file diff --git a/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.ts b/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.ts index b5c70083..1efde6a2 100644 --- a/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.ts +++ b/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.ts @@ -2,10 +2,11 @@ import { ModalHelper } from '@delon/theme'; import { Component, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; -import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; import { processSingleSort, ShipperBaseService } from '@shared'; -import { NzModalService } from 'ng-zorro-antd/modal'; +import { NzModalService, NzModalRef } from 'ng-zorro-antd/modal'; import { RebateManagementService } from '../../services/rebate-management.service'; +import { NzButtonSize } from 'ng-zorro-antd/button'; @Component({ selector: 'app-parter-channel-rebate-management-record-detail', @@ -20,6 +21,7 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit { @ViewChild('sf', { static: false }) sf!: SFComponent; spuStatus = '1'; + size: NzButtonSize = 'large'; _$expand = false; data = [{ name1: 1111 }]; constructor( @@ -28,6 +30,7 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit { public service: RebateManagementService, private modalService: NzModalService, public shipperservice: ShipperBaseService, + public modalRef: NzModalRef, ) {} /** * 查询字段个数 @@ -50,10 +53,6 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit { delete params._$expand; return { ...params, - deadlineTime: { - start: this.sf?.value?.deadlineTime?.[0] || '', - end: this.sf?.value?.deadlineTime?.[1] || '', - }, }; } ngOnInit() { @@ -64,54 +63,33 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit { initSF() { this.schema = { properties: { - _$expand: { type: 'boolean', ui: { hidden: true } }, - name: { - type: 'string', - title: '订单号' - }, - phone: { - type: 'string', - title: '付款单号' - }, - phone2: { - type: 'string', - title: '下单客户' - }, enterpriseInfoId: { type: 'string', title: '网络货运人', ui: { widget: 'select', placeholder: '请选择', - visibleIf: { - _$expand: (value: boolean) => value - }, allowClear: true, - asyncData: () => this.shipperservice.getNetworkFreightForwarder() + asyncData: () => this.shipperservice.getNetworkFreightForwarder(), + change: (value: any) => { + console.log(value) + this.st.reload() + } } }, - phone3: { + paymentStatus: { + title: '银行类型', type: 'string', - title: '合伙人名称', ui: { - visibleIf: { - _$expand: (value: boolean) => value - }, - } + widget: 'dict-select', + params: { dictKey: 'overall:payment:status' }, + containsAllLabel: true, + change: (value: any) => { + console.log(value) + this.st.reload() + } + } as SFSelectWidgetSchema }, - deadlineTime: { - title: '时间范围', - type: 'string', - ui: { - widget: 'date', - mode: 'range', - format: 'yyyy-MM-dd', - visibleIf: { - _$expand: (value: boolean) => value - }, - allowClear: true - } as SFDateWidgetSchema - } } }; this.ui = { @@ -126,7 +104,7 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit { this.columns = [ { title: '订单号', - index: 'name1' + index: 'billCode' }, { title: '订单金额(元)', @@ -186,4 +164,8 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit { this.sf.reset(); this.st.load(1); } + close() { + this.modalRef.destroy() + } } + diff --git a/src/app/routes/partner/rebate-management/services/rebate-management.service.ts b/src/app/routes/partner/rebate-management/services/rebate-management.service.ts index 5430876a..d3a7a412 100644 --- a/src/app/routes/partner/rebate-management/services/rebate-management.service.ts +++ b/src/app/routes/partner/rebate-management/services/rebate-management.service.ts @@ -1,3 +1,13 @@ +/* + * @Description : + * @Version : 1.0 + * @Author : Shiming + * @Date : 2022-03-10 11:19:00 + * @LastEditors : Shiming + * @LastEditTime : 2022-03-10 13:51:05 + * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\services\\rebate-management.service.ts + * Copyright (C) 2022 huzhenhong. All rights reserved. + */ import { Injectable, Injector } from '@angular/core'; import { BaseService } from '@shared'; @@ -5,7 +15,8 @@ import { BaseService } from '@shared'; providedIn: 'root', }) export class RebateManagementService extends BaseService { - + // 查询规则抽查列表 + public $api_get_listCompliancePage = '/api/sdc/billRiskOperate/listRiskPage'; constructor(public injector: Injector) { super(injector); } From 7406f1234aba58daa21be3f01c5d83f3ca17deb9 Mon Sep 17 00:00:00 2001 From: wangshiming Date: Thu, 10 Mar 2022 14:36:27 +0800 Subject: [PATCH 03/19] fix bug --- .../model/record-detail/record-detail.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.html b/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.html index 4f7723fe..63f8290c 100644 --- a/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.html +++ b/src/app/routes/partner/rebate-management/model/record-detail/record-detail.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-02-24 20:09:49 * @LastEditors : Shiming - * @LastEditTime : 2022-03-10 14:05:25 + * @LastEditTime : 2022-03-10 14:34:30 * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\model\\record-detail\\record-detail.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -34,5 +34,5 @@
合计:2999.00元
- +
\ No newline at end of file From 15937316dd9edf895254cc379507bdb6f86bff4b Mon Sep 17 00:00:00 2001 From: wangshiming Date: Thu, 10 Mar 2022 15:40:52 +0800 Subject: [PATCH 04/19] fix bug --- .../routes/partner/partner-routing.module.ts | 2 + src/app/routes/partner/partner.module.ts | 8 +- .../rebate-record.component.html | 5 +- .../rebate-record/rebate-record.component.ts | 39 +++- .../rebate-setting.component.html | 48 +++++ .../rebate-setting.component.ts | 172 ++++++++++++++++++ .../abnormal-feedback.component.html | 38 ++++ .../abnormal-feedback.component.less | 6 + .../abnormal-feedback.component.ts | 72 ++++++++ src/assets/mocks/menu-data.json | 2 +- 10 files changed, 379 insertions(+), 13 deletions(-) create mode 100644 src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.html create mode 100644 src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts create mode 100644 src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.html create mode 100644 src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.less create mode 100644 src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.ts diff --git a/src/app/routes/partner/partner-routing.module.ts b/src/app/routes/partner/partner-routing.module.ts index b22dabab..9970f1d9 100644 --- a/src/app/routes/partner/partner-routing.module.ts +++ b/src/app/routes/partner/partner-routing.module.ts @@ -30,6 +30,7 @@ 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 { ParterRebateManageMentSettingComponent } from './rebate-management/components/rebate-setting/rebate-setting.component'; const routes: Routes = [ { @@ -65,6 +66,7 @@ const routes: Routes = [ children: [ { path: 'particulars', component: ParterRebateManageMentParticularsComponent }, { path: 'record', component: ParterRebateManageMentRecordComponent }, + { path: 'setting', component: ParterRebateManageMentSettingComponent }, ] }, { diff --git a/src/app/routes/partner/partner.module.ts b/src/app/routes/partner/partner.module.ts index 0d94b9ef..bd2df357 100644 --- a/src/app/routes/partner/partner.module.ts +++ b/src/app/routes/partner/partner.module.ts @@ -40,6 +40,8 @@ import { PartnerAccountManagementRecordedDetailComponent } from './account-manag 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 { ParterRebateManageMentRecordComponent } from './rebate-management/components/rebate-record/rebate-record.component'; +import { ParterRebateManageMenAbnormalFeedbackComponent } from './rebate-management/model/abnormal-feedback/abnormal-feedback.component'; +import { ParterRebateManageMentSettingComponent } from './rebate-management/components/rebate-setting/rebate-setting.component'; const COMPONENTS: any[] = [ PartnerBusinessStatisticsIndexComponent, @@ -69,11 +71,13 @@ const COMPONENTS: any[] = [ PartnerAccountManagementAccountDetailComponent, PartnerAccountManagementRecordedDetailComponent, PartnerAccountManagementWithdrawalsRecordComponent, - PartnerAccountManagementWithdrawalsDetailComponent + PartnerAccountManagementWithdrawalsDetailComponent, + ParterRebateManageMenAbnormalFeedbackComponent, + ParterRebateManageMentSettingComponent ]; @NgModule({ declarations: [...COMPONENTS], imports: [CommonModule, PartnerRoutingModule, SharedModule] }) -export class PartnerModule { } +export class PartnerModule {} diff --git a/src/app/routes/partner/rebate-management/components/rebate-record/rebate-record.component.html b/src/app/routes/partner/rebate-management/components/rebate-record/rebate-record.component.html index 9ddc7ac3..50b366ea 100644 --- a/src/app/routes/partner/rebate-management/components/rebate-record/rebate-record.component.html +++ b/src/app/routes/partner/rebate-management/components/rebate-record/rebate-record.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-02-24 20:09:49 * @LastEditors : Shiming - * @LastEditTime : 2022-03-09 15:04:50 + * @LastEditTime : 2022-03-10 15:12:03 * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-record\\rebate-record.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -41,5 +41,8 @@ [loadingDelay]="500" [loading]="service.http.loading" > + +
1223
+
diff --git a/src/app/routes/partner/rebate-management/components/rebate-record/rebate-record.component.ts b/src/app/routes/partner/rebate-management/components/rebate-record/rebate-record.component.ts index 54e8e57b..1f98579d 100644 --- a/src/app/routes/partner/rebate-management/components/rebate-record/rebate-record.component.ts +++ b/src/app/routes/partner/rebate-management/components/rebate-record/rebate-record.component.ts @@ -7,6 +7,7 @@ import { processSingleSort, ShipperBaseService } from '@shared'; import { NzModalService } from 'ng-zorro-antd/modal'; import { RebateManagementService } from '../../services/rebate-management.service'; import { ParterRebateManageMenRecordDetailComponent } from '../../model/record-detail/record-detail.component'; +import { ParterRebateManageMenAbnormalFeedbackComponent } from '../../model/abnormal-feedback/abnormal-feedback.component'; @Component({ selector: 'app-parter-channel-rebate-management-record', @@ -27,9 +28,8 @@ export class ParterRebateManageMentRecordComponent implements OnInit { public router: Router, public ar: ActivatedRoute, public service: RebateManagementService, - private modalService: NzModalService, + private modal: NzModalService, public shipperservice: ShipperBaseService, - private modal: ModalHelper ) {} /** * 查询字段个数 @@ -114,7 +114,7 @@ export class ParterRebateManageMentRecordComponent implements OnInit { }, { title: '异常反馈', - index: 'name1' + render: 'name44' }, { title: '操作', @@ -131,15 +131,36 @@ export class ParterRebateManageMentRecordComponent implements OnInit { ]; } /** - *查看详情 + *查看明细 */ viewEvaluate(item: any) { - // this.modalService - this.modal.createStatic(ParterRebateManageMenRecordDetailComponent, {i:item}).subscribe((res: boolean)=> { - if(res) { - + const modal = this.modal.create({ + nzTitle: '明细', + nzWidth: 1200, + nzContent: ParterRebateManageMenRecordDetailComponent, + nzComponentParams: { }, + nzFooter: null + }); + modal.afterClose.subscribe((res: any) => { + if (res) { } - }) + }); + } + /** + *异常反馈 + */ + feedback(item?: any) { + const modal = this.modal.create({ + nzTitle: '异常反馈', + nzWidth: 580, + nzContent: ParterRebateManageMenAbnormalFeedbackComponent, + nzComponentParams: { i: item }, + nzFooter: null + }); + modal.afterClose.subscribe((res: any) => { + if (res) { + } + }); } /** * 重置表单 diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.html b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.html new file mode 100644 index 00000000..50b366ea --- /dev/null +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.html @@ -0,0 +1,48 @@ + + + +
+ + +
+ + + +
+
+
+ + + + + +
1223
+
+
+
diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts new file mode 100644 index 00000000..929b96d1 --- /dev/null +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts @@ -0,0 +1,172 @@ +import { ModalHelper } from '@delon/theme'; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; +import { processSingleSort, ShipperBaseService } from '@shared'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { RebateManagementService } from '../../services/rebate-management.service'; +import { ParterRebateManageMenRecordDetailComponent } from '../../model/record-detail/record-detail.component'; +import { ParterRebateManageMenAbnormalFeedbackComponent } from '../../model/abnormal-feedback/abnormal-feedback.component'; + +@Component({ + selector: 'app-parter-channel-rebate-management-setting', + templateUrl: './rebate-setting.component.html' +}) +export class ParterRebateManageMentSettingComponent implements OnInit { + schema: SFSchema = {}; + columns!: STColumn[]; + ui!: SFUISchema; + @ViewChild('st', { static: false }) + st!: STComponent; + @ViewChild('sf', { static: false }) + sf!: SFComponent; + spuStatus = '1'; + _$expand = false; + data = [{ name1: 1111 }]; + constructor( + public router: Router, + public ar: ActivatedRoute, + public service: RebateManagementService, + private modal: NzModalService, + public shipperservice: ShipperBaseService, + ) {} + /** + * 查询字段个数 + */ + get queryFieldCount(): number { + return Object.keys(this.schema?.properties || {}).length; + } + /** + * 伸缩查询条件 + */ + expandToggle(): void { + this._$expand = !this._$expand; + this.sf?.setValue('/_$expand', this._$expand); + } + /** + * 查询参数 + */ + get reqParams() { + const params: any = Object.assign({}, this.sf?.value || {}); + delete params._$expand; + return { + ...params, + deadlineTime: { + start: this.sf?.value?.deadlineTime?.[0] || '', + end: this.sf?.value?.deadlineTime?.[1] || '', + }, + }; + } + ngOnInit() { + this.initSF(); + this.initST(); + } + + initSF() { + this.schema = { + properties: { + _$expand: { type: 'boolean', ui: { hidden: true } }, + month: { + type: 'string', + title: '时间月份', + format: 'month', + }, + phone: { + type: 'string', + title: '合伙人名称' + }, + } + }; + this.ui = { + '*': { + spanLabelFixed: 140, + grid: { span: 8, gutter: 4 } + } + }; + } + + initST() { + this.columns = [ + { + title: '月份', + index: 'name1' + }, + { + title: '返佣金额(元)', + index: 'name1' + }, + { + title: '合伙人名称', + index: 'name1' + }, + { + title: '实际等级', + index: 'name1' + }, + { + title: '管理费比例', + index: 'name1' + }, + { + title: '返佣时间', + index: 'name1' + }, + { + title: '异常反馈', + render: 'name44' + }, + { + title: '操作', + fixed: 'right', + width: '90px', + className: 'text-left', + buttons: [ + { + text: '明细', + click: _record => this.viewEvaluate(_record), + } + ] + } + ]; + } + /** + *查看明细 + */ + viewEvaluate(item: any) { + const modal = this.modal.create({ + nzTitle: '明细', + nzWidth: 1200, + nzContent: ParterRebateManageMenRecordDetailComponent, + nzComponentParams: { }, + nzFooter: null + }); + modal.afterClose.subscribe((res: any) => { + if (res) { + } + }); + } + /** + *异常反馈 + */ + feedback(item?: any) { + const modal = this.modal.create({ + nzTitle: '异常反馈', + nzWidth: 580, + nzContent: ParterRebateManageMenAbnormalFeedbackComponent, + nzComponentParams: { i: item }, + nzFooter: null + }); + modal.afterClose.subscribe((res: any) => { + if (res) { + } + }); + } + /** + * 重置表单 + */ + resetSF() { + this.sf.reset(); + this.st.load(1); + } +} diff --git a/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.html b/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.html new file mode 100644 index 00000000..cef84c44 --- /dev/null +++ b/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.html @@ -0,0 +1,38 @@ + + + +
有订单有异常请查看
+
2022-09-08 00:00:00
+
+ +
+
+ +
+ +
+ +
\ No newline at end of file diff --git a/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.less b/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.less new file mode 100644 index 00000000..52b47a0e --- /dev/null +++ b/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.less @@ -0,0 +1,6 @@ +:host { + [nz-button] { + margin-right: 8px; + margin-bottom: 12px; + } +} \ No newline at end of file diff --git a/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.ts b/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.ts new file mode 100644 index 00000000..3d8c1fd4 --- /dev/null +++ b/src/app/routes/partner/rebate-management/model/abnormal-feedback/abnormal-feedback.component.ts @@ -0,0 +1,72 @@ +/* + * @Description : + * @Version : 1.0 + * @Author : Shiming + * @Date : 2022-03-10 14:50:45 + * @LastEditors : Shiming + * @LastEditTime : 2022-03-10 15:09:51 + * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\model\\abnormal-feedback\\abnormal-feedback.component.ts + * Copyright (C) 2022 huzhenhong. All rights reserved. + */ +import { ModalHelper } from '@delon/theme'; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFTextareaWidgetSchema, SFUISchema } from '@delon/form'; +import { processSingleSort, ShipperBaseService } from '@shared'; +import { NzModalService, NzModalRef } from 'ng-zorro-antd/modal'; +import { RebateManagementService } from '../../services/rebate-management.service'; +import { NzButtonSize } from 'ng-zorro-antd/button'; + +@Component({ + selector: 'app-parter-channel-rebate-management-abnormal-feedback', + templateUrl: './abnormal-feedback.component.html' +}) +export class ParterRebateManageMenAbnormalFeedbackComponent implements OnInit { + schema: SFSchema = {}; + ui!: SFUISchema; + @ViewChild('sf', { static: false }) + sf!: SFComponent; + i!: any; + data = [{ name1: 1111 }]; + constructor( + public router: Router, + public ar: ActivatedRoute, + public service: RebateManagementService, + private modalService: NzModalService, + public shipperservice: ShipperBaseService, + public modalRef: NzModalRef, + ) {} + + + ngOnInit() { + this.initSF(); + } + + initSF() { + this.schema = { + properties: { + name3: { + type: 'string', + title: '回复', + maxLength: 50, + ui: { + widget: 'textarea', + autosize: { minRows: 3, maxRows: 6 }, + placeholder:'请不要超过50个字' + } as SFTextareaWidgetSchema, + }, + } + }; + this.ui = { + '*': { + spanLabelFixed: 60, + grid: { span: 16 }, + } + }; + } + close() { + this.modalRef.destroy() + } +} + diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 473d4c2f..85b1c19b 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -517,7 +517,7 @@ "group": true, "children": [{ "text": "返佣配置", - "link": "/partner/rebate/" + "link": "/partner/rebate/setting" }, { "text": "返佣明细", From 8c06e1f9de9ccb70cf163b04fc9bb98e6efbdabc Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Thu, 10 Mar 2022 16:12:36 +0800 Subject: [PATCH 05/19] 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" }, From ab385dea60a6718989fedd1f33e95026dbd68310 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Thu, 10 Mar 2022 17:51:20 +0800 Subject: [PATCH 06/19] - --- .../account-detail.component.html | 1 + .../components/list/list.component.html | 5 +- .../recorded-detail.component.html | 1 + .../virtual-account-detail.component.ts | 2 +- .../withdrawals-detail.component.html | 99 ++++++++++--------- .../withdrawals-detail.component.ts | 2 +- .../withdrawals-record.component.html | 1 + .../withdrawals-record.component.ts | 6 +- .../routes/partner/partner-routing.module.ts | 25 +++-- src/app/routes/partner/partner.module.ts | 4 +- src/assets/mocks/menu-data.json | 31 +++--- 11 files changed, 100 insertions(+), 77 deletions(-) diff --git a/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html b/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html index e37a9ce3..7f949749 100644 --- a/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html +++ b/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html @@ -1,3 +1,4 @@ + diff --git a/src/app/routes/partner/account-management/components/list/list.component.html b/src/app/routes/partner/account-management/components/list/list.component.html index 9992f0ab..e982c4e3 100644 --- a/src/app/routes/partner/account-management/components/list/list.component.html +++ b/src/app/routes/partner/account-management/components/list/list.component.html @@ -1,3 +1,4 @@ + - - - + + + - - -
- - {{formData?.ltdName}} - - - {{formData?.bankType==='1'?'平安银行':'浦发银行'}} - - - {{formData?.refundApplyCode}} - - - {{formData?.bankAccountName}} - - - {{formData?.createTime}} - - - {{formData?.virtualAccount}} - - - {{formData?.refundStatusLabel}} - - - {{formData?.amount | currency}} - - - {{formData?.bankSerialNumber}} - - - {{formData?.bankCardNumber}} - - - {{formData?.refundStatus==='3'?'下载回单':'暂无回单'}} - -
- -
-
- -
+ + +
+ + {{formData?.ltdName}} + + + {{formData?.bankType==='1'?'平安银行':'浦发银行'}} + + + {{formData?.refundApplyCode}} + + + {{formData?.bankAccountName}} + + + {{formData?.createTime}} + + + {{formData?.virtualAccount}} + + + {{formData?.refundStatusLabel}} + + + {{formData?.amount | currency}} + + + {{formData?.bankSerialNumber}} + + + {{formData?.bankCardNumber}} + + + {{formData?.refundStatus==='3'?'下载回单':'暂无回单'}} + +
+ + +
+
+
- \ No newline at end of file +
+
diff --git a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts index 2332fd75..9c6173a1 100644 --- a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts +++ b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts @@ -8,7 +8,7 @@ import { FreightAccountService } from 'src/app/routes/financial-management/servi templateUrl: './withdrawals-detail.component.html', styleUrls: ['./withdrawals-detail.component.less'] }) -export class PartnerAccountManagementWithdrawalsDetailComponent implements OnInit { +export class PartnerAccountManagementWithdralDetailComponent implements OnInit { formData: any = {}; timeLineData: any = []; diff --git a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.html b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.html index 14e2ff3e..d7c20673 100644 --- a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.html +++ b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.html @@ -1,3 +1,4 @@ +
diff --git a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.ts b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.ts index 16738ce9..6b7b86f4 100644 --- a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.ts +++ b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, ViewChild } from '@angular/core'; -import { Router } from '@angular/router'; +import { ActivatedRoute, Router } from '@angular/router'; import { STComponent, STColumn, STChange, STRequestOptions, STData } from '@delon/abc/st'; import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { NzModalService } from 'ng-zorro-antd/modal'; @@ -27,7 +27,7 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni refundStatus: any = ''; msg = ''; - constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) { } + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) { } ngOnInit(): void { } @@ -325,7 +325,7 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni }, { text: '详情', - click: item => this.router.navigate(['/financial-management/withdrawals-record/detail/' + item.id]) + click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar }) } ] } diff --git a/src/app/routes/partner/partner-routing.module.ts b/src/app/routes/partner/partner-routing.module.ts index b22dabab..a9bf5669 100644 --- a/src/app/routes/partner/partner-routing.module.ts +++ b/src/app/routes/partner/partner-routing.module.ts @@ -29,7 +29,7 @@ import { ParterRebateManageMentRecordComponent } from './rebate-management/compo import { PartnerAccountManagementAccountDetailComponent } from './account-management/components/account-detail/account-detail.component'; 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 { PartnerAccountManagementWithdralDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; const routes: Routes = [ { @@ -70,13 +70,26 @@ const routes: Routes = [ { path: 'account-management', children: [ - { path: 'list', component: PartnerAccountManagementListComponent }, - { path: 'account-detail', component: PartnerAccountManagementAccountDetailComponent }, - { path: 'recorded-detail/:id', component: PartnerAccountManagementRecordedDetailComponent }, - { path: 'withdraw-record', component: PartnerAccountManagementWithdrawalsRecordComponent }, - { path: 'withdraw-record/:id', component: PartnerAccountManagementWithdrawalsDetailComponent }, + { + path: 'am', + children: [ + { path: '', redirectTo: 'list' }, + { path: '', component: PartnerAccountManagementListComponent }, + { path: 'detail/:id', component: PartnerAccountManagementAccountDetailComponent }, + { path: 'recorded/detail/:id', component: PartnerAccountManagementRecordedDetailComponent }, + ] + }, + + { + path: 'withdraw-record', + children: [ + { path: '', component: PartnerAccountManagementWithdrawalsRecordComponent }, + { path: 'detail/:id', component: PartnerAccountManagementWithdralDetailComponent } + ] + }, ] }, + { path: 'claim-audit', children: [ diff --git a/src/app/routes/partner/partner.module.ts b/src/app/routes/partner/partner.module.ts index 0d94b9ef..cbe18425 100644 --- a/src/app/routes/partner/partner.module.ts +++ b/src/app/routes/partner/partner.module.ts @@ -38,7 +38,7 @@ import { PartnerAccountManagementVirtualAccountDetailComponent } from './account import { PartnerAccountManagementAccountDetailComponent } from './account-management/components/account-detail/account-detail.component'; 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 { PartnerAccountManagementWithdralDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; import { ParterRebateManageMentRecordComponent } from './rebate-management/components/rebate-record/rebate-record.component'; const COMPONENTS: any[] = [ @@ -69,7 +69,7 @@ const COMPONENTS: any[] = [ PartnerAccountManagementAccountDetailComponent, PartnerAccountManagementRecordedDetailComponent, PartnerAccountManagementWithdrawalsRecordComponent, - PartnerAccountManagementWithdrawalsDetailComponent + PartnerAccountManagementWithdralDetailComponent ]; @NgModule({ diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 473d4c2f..3f8a56dc 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -542,11 +542,11 @@ "group": true, "children": [{ "text": "账户管理", - "link": "/partner/account-management/list" + "link": "/partner/account-management/am" }, { "text": "账户明细", - "link": "/partner/account-management/account-detail", + "link": "/partner/account-management/am/detail/:id", "hide": true }, { @@ -555,7 +555,12 @@ }, { "text": "提现详情", - "link": "/partner/account-management/withdraw-record/:id", + "link": "/partner/account-management/withdraw-record/detail/:id", + "hide": true + }, + { + "text": "待入账明细", + "link": "/partner/account-management/am/recorded/detail/:id", "hide": true } ] @@ -564,16 +569,16 @@ "text": "客户认领审核", "link": "/partner/claim-audit/list", "children": [{ - "text": "合伙人客户认领详情", - "link": "/partner/claim-audit/partner-detail", - "hide": true - }, - { - "text": "渠道销售客户认领详情", - "link": "/partner/claim-audit/channel-detail", - "hide": true - } - ] + "text": "合伙人客户认领详情", + "link": "/partner/claim-audit/partner-detail", + "hide": true + }, + { + "text": "渠道销售客户认领详情", + "link": "/partner/claim-audit/channel-detail", + "hide": true + } + ] } ] } From 28a20973d3da53acf594f5beb4d5ebfb35f86d86 Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Thu, 10 Mar 2022 20:36:10 +0800 Subject: [PATCH 07/19] edit --- .../partner-audit-modal.component.ts | 42 +++++++--- .../partner-detail.component.html | 80 ++++++++---------- .../partner-detail.component.ts | 82 ++++++++++++------- .../freight/list/detail/detail.component.html | 1 - 4 files changed, 113 insertions(+), 92 deletions(-) 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 index eed7b8ac..ab86de05 100644 --- 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 @@ -1,5 +1,5 @@ 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 { PartnerListService } from '../../services/partner-list.service'; @@ -23,6 +23,13 @@ export class PartnerAuditModalComponent implements OnInit { initSF(user: any) { this.schema = { properties: { + isPass: { + type: 'boolean', + ui: { + hidden: true + }, + default: this.info.isPass + }, staffName: { title: '合伙人名称', type: 'string', @@ -37,7 +44,10 @@ export class PartnerAuditModalComponent implements OnInit { { value: true, label: '通过' }, { value: false, label: '驳回' } ], - ui: { widget: 'radio' }, + ui: { + widget: 'radio', + hidden: this.info.isPass !== undefined + }, default: true }, a: { @@ -49,7 +59,14 @@ export class PartnerAuditModalComponent implements OnInit { ], ui: { widget: 'select', - placeholder: '请选择' + placeholder: '请选择', + hidden: this.info.isPass === false, + visibleIf: { + status: value => value + }, + errors: { + required: ' ' + } }, default: '' }, @@ -60,19 +77,18 @@ export class PartnerAuditModalComponent implements OnInit { ui: { widget: 'textarea', placeholder: '请不要超过100个字', - autosize: { minRows: 3 } + autosize: { minRows: 3 }, + hidden: this.info.isPass === true, + visibleIf: { + status: value => !value || this.info.isPass === false + }, + errors: { + required: ' ' + } } } }, - if: { - properties: { status: { enum: [true] } } - }, - then: { - required: ['a'] - }, - else: { - required: ['b'] - } + required: ['a', 'b'] }; } 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 index 6dcdbb97..f242099c 100644 --- 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 @@ -49,13 +49,11 @@ - - - @@ -73,8 +71,7 @@ 冻结 - @@ -113,7 +110,8 @@ [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> - {{detailData.adminUserInfo?.mobile}} + - 法人信息 + 企业法人信息 @@ -232,7 +230,6 @@ (ngModelChange)="$event?detailData.legalPersonIdentityVO.validEndTime='':''" class="ml-sm">长期 -
@@ -244,15 +241,19 @@
-
- - - 所属城市 - - 深圳、上海、北京 + + + + + + + {{ detailData?.fullRegionVO?.provinceName }}{{ detailData?.fullRegionVO?.cityName }}{{ + detailData?.fullRegionVO?.areaName }} + + 渠道销售信息 @@ -271,8 +272,8 @@ 修改渠道销售记录 - + @@ -289,35 +290,6 @@
- -
-
- - {{ detailData?.enterpriseName }} - - - - - - -
-
-
- - -
-
- - {{ detailData?.enterpriseName }} - - - - -
-
-
-
+ + + +

转移客户数:10

+ + +

不转移客户数:10

+ + +

+ 客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。 +

\ 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 index f0e81cf1..fdfd31a3 100644 --- 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 @@ -15,16 +15,13 @@ import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit providers: [DatePipe] }) export class PartnerDetailComponent implements OnInit { - columns: STColumn[] = this.initST(); + @ViewChild('logModal') + logModal: any; - @ViewChild('approvedModal', { static: false }) - approvedModal!: any; - @ViewChild('redectModal', { static: false }) - redectModal!: any; + columns: { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } = this.initST(); detailData: any = { adminUserInfo: { name: '' }, legalPersonIdentityVO: { name: '' } }; tempalateData = { ...this.detailData }; - suppliersData: any = {}; isEdit = false; @@ -33,9 +30,6 @@ export class PartnerDetailComponent implements OnInit { enterpriseAddressCode: any = []; ltdId: any = []; - approvalOpinion = ''; - networkTransporter = null; - esignCheckStatus: any = { 0: '不通过', 1: '通过', @@ -113,11 +107,21 @@ export class PartnerDetailComponent implements OnInit { // }); } - auditPartner() { + auditPartner(isPass: boolean) { const modal = this.nzModalService.create({ nzTitle: '审核', 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 }); } @@ -313,25 +317,41 @@ export class PartnerDetailComponent implements OnInit { // }); } - 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: '详情' - } - ] - } - ]; + private initST(): { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } { + return { + logsColumn: [ + { 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: '详情', + 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 } + ] + }; } } diff --git a/src/app/routes/usercenter/components/freight/list/detail/detail.component.html b/src/app/routes/usercenter/components/freight/list/detail/detail.component.html index 7a3798cf..33cb59e6 100644 --- a/src/app/routes/usercenter/components/freight/list/detail/detail.component.html +++ b/src/app/routes/usercenter/components/freight/list/detail/detail.component.html @@ -278,7 +278,6 @@ -
From 1db85b00b95f374feb6ed8259591604fa1d50473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Fri, 11 Mar 2022 10:36:49 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E5=85=A5=E8=B4=A6=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../withdrawals-detail.component.ts | 2 +- .../routes/partner/partner-routing.module.ts | 12 +- src/app/routes/partner/partner.module.ts | 7 +- .../components/detail/detail.component.html | 64 ++++ .../components/detail/detail.component.less | 17 + .../components/detail/detail.component.ts | 87 +++++ .../components/record/record.component.html | 62 ++++ .../components/record/record.component.ts | 334 ++++++++++++++++++ src/assets/mocks/menu-data.json | 9 + 9 files changed, 590 insertions(+), 4 deletions(-) create mode 100644 src/app/routes/partner/recorded/components/detail/detail.component.html create mode 100644 src/app/routes/partner/recorded/components/detail/detail.component.less create mode 100644 src/app/routes/partner/recorded/components/detail/detail.component.ts create mode 100644 src/app/routes/partner/recorded/components/record/record.component.html create mode 100644 src/app/routes/partner/recorded/components/record/record.component.ts diff --git a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts index 9c6173a1..95657e1e 100644 --- a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts +++ b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts @@ -4,7 +4,7 @@ import { FreightAccountService } from 'src/app/routes/financial-management/servi @Component({ - selector: 'app-withdrawals-detail', + selector: 'app-partner-account-management-withdrawals-detail', templateUrl: './withdrawals-detail.component.html', styleUrls: ['./withdrawals-detail.component.less'] }) diff --git a/src/app/routes/partner/partner-routing.module.ts b/src/app/routes/partner/partner-routing.module.ts index a9bf5669..1fa7f324 100644 --- a/src/app/routes/partner/partner-routing.module.ts +++ b/src/app/routes/partner/partner-routing.module.ts @@ -30,6 +30,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 { PartnerAccountManagementWithdralDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; +import { PartnerRecordedRecordComponent } from './recorded/components/record/record.component'; +import { PartnerRecordedDetailComponent } from './recorded/components/detail/detail.component'; const routes: Routes = [ { @@ -79,7 +81,6 @@ const routes: Routes = [ { path: 'recorded/detail/:id', component: PartnerAccountManagementRecordedDetailComponent }, ] }, - { path: 'withdraw-record', children: [ @@ -89,7 +90,6 @@ const routes: Routes = [ }, ] }, - { path: 'claim-audit', children: [ @@ -99,6 +99,14 @@ const routes: Routes = [ { path: 'partner-detail', component: ParterClaimAuditListPartnerDetailComponent }, ] }, + { + path: 'recorded', + children: [ + { path: 'record', component: PartnerRecordedRecordComponent }, + { path: 'record/detail/:id', component: PartnerRecordedDetailComponent } + ] + }, + ]; @NgModule({ imports: [RouterModule.forChild(routes)], diff --git a/src/app/routes/partner/partner.module.ts b/src/app/routes/partner/partner.module.ts index cbe18425..deb047b2 100644 --- a/src/app/routes/partner/partner.module.ts +++ b/src/app/routes/partner/partner.module.ts @@ -40,6 +40,8 @@ import { PartnerAccountManagementRecordedDetailComponent } from './account-manag import { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.component'; import { PartnerAccountManagementWithdralDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; import { ParterRebateManageMentRecordComponent } from './rebate-management/components/rebate-record/rebate-record.component'; +import { PartnerRecordedDetailComponent } from './recorded/components/detail/detail.component'; +import { PartnerRecordedRecordComponent } from './recorded/components/record/record.component'; const COMPONENTS: any[] = [ PartnerBusinessStatisticsIndexComponent, @@ -69,7 +71,10 @@ const COMPONENTS: any[] = [ PartnerAccountManagementAccountDetailComponent, PartnerAccountManagementRecordedDetailComponent, PartnerAccountManagementWithdrawalsRecordComponent, - PartnerAccountManagementWithdralDetailComponent + PartnerAccountManagementWithdralDetailComponent, + PartnerRecordedRecordComponent, + PartnerRecordedDetailComponent + ]; @NgModule({ diff --git a/src/app/routes/partner/recorded/components/detail/detail.component.html b/src/app/routes/partner/recorded/components/detail/detail.component.html new file mode 100644 index 00000000..ed894907 --- /dev/null +++ b/src/app/routes/partner/recorded/components/detail/detail.component.html @@ -0,0 +1,64 @@ + + + + + + + + + + +
+ + {{formData?.ltdName}} + + + {{formData?.bankType==='1'?'平安银行':'浦发银行'}} + + + {{formData?.refundApplyCode}} + + + {{formData?.bankAccountName}} + + + {{formData?.createTime}} + + + {{formData?.virtualAccount}} + + + {{formData?.refundStatusLabel}} + + + {{formData?.amount | currency}} + + + {{formData?.bankSerialNumber}} + + + {{formData?.bankCardNumber}} + + + {{formData?.refundStatus==='3'?'下载回单':'暂无回单'}} + +
+ + +
+
+ +
+
+
diff --git a/src/app/routes/partner/recorded/components/detail/detail.component.less b/src/app/routes/partner/recorded/components/detail/detail.component.less new file mode 100644 index 00000000..e299b7d1 --- /dev/null +++ b/src/app/routes/partner/recorded/components/detail/detail.component.less @@ -0,0 +1,17 @@ +:host::ng-deep { + + .ant-alert-info { + background-color: #f3f3f3; + border : 1px solid #dbdbdb; + + .ant-alert-message { + color: rgba(0, 0, 0, 0.85); + font-weight: 600; + font-size: 16px; + } + } + + .ant-form-item { + margin-bottom: 15px; + } +} \ No newline at end of file diff --git a/src/app/routes/partner/recorded/components/detail/detail.component.ts b/src/app/routes/partner/recorded/components/detail/detail.component.ts new file mode 100644 index 00000000..a4c4b5ba --- /dev/null +++ b/src/app/routes/partner/recorded/components/detail/detail.component.ts @@ -0,0 +1,87 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; + + +@Component({ + selector: 'app-partner-recored-detail', + templateUrl: './detail.component.html', + styleUrls: ['./detail.component.less'] +}) +export class PartnerRecordedDetailComponent implements OnInit { + formData: any = {}; + + timeLineData: any = []; + + constructor(public service: FreightAccountService, private route: ActivatedRoute) { + const id = route.snapshot.params.id; + this.loadRefundDetail(id); + } + + ngOnInit(): void { } + + loadRefundDetail(id: string) { + this.service.request(this.service.$api_get_refund_detail, { id }).subscribe(res => { + if (res) { + this.formData = res; + // 处理流程节点数据 + // 流程是否结束 + let isEnd = false; + if (res.successTime) { + isEnd = true; + if (res.refundStatus === '3') { + this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' }); + } else { + this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' }); + } + } + if (res.agreeTime && res.refundStatus !== '4') { + this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' }); + } + if (res.agreeTime) { + if (res.refundStatus === '4') { + isEnd = true; + this.timeLineData.push({ + time: res.agreeTime, + value: `拒绝提现
操作人员:${res.handlerUserIdLabel}`, + color: 'red' + }); + } else { + this.timeLineData.push({ + time: res.agreeTime, + value: `审核通过
操作人员:${res.handlerUserIdLabel}`, + color: 'gray' + }); + } + } + if (res.createTime) { + this.timeLineData.push({ + time: res.createTime, + value: `提交提现申请
提现${res.amount}元至${res.bankName}(${res.bankCardNumber})
操作人员:${res.userIdLabel}`, + color: 'gray' + }); + } + if (this.timeLineData?.length > 0 && !isEnd) { + this.timeLineData[0].color = 'green'; + } + } + }); + } + + downBack() { + if (this.formData?.refundStatus !== '3') { + return; + } + this.service.getReceiptUrl(this.formData.receiptUrl, { + bankType: this.formData.bankType, + rmYll: this.formData.userId, + snglFlgCd: this.formData.coreSerNo, + bussType: '06', + ltdId: this.formData.ltdId + }); + } + + goBack() { + history.go(-1); + } +} diff --git a/src/app/routes/partner/recorded/components/record/record.component.html b/src/app/routes/partner/recorded/components/record/record.component.html new file mode 100644 index 00000000..50438e09 --- /dev/null +++ b/src/app/routes/partner/recorded/components/record/record.component.html @@ -0,0 +1,62 @@ + + +
+
+ +
+
+ + + + +
+
+
+ + + + + + + + + + + +
+
+ 已选择 + {{ selectedRows.length }} 条数据   累计提现 {{ + totalCallNo }} + +
+ +
+
+ + + + {{ item.bankName }}
{{ item.bankCardNumber }} +
+
+
+ + +
+
+ + + +
+
+
diff --git a/src/app/routes/partner/recorded/components/record/record.component.ts b/src/app/routes/partner/recorded/components/record/record.component.ts new file mode 100644 index 00000000..e15f2aaa --- /dev/null +++ b/src/app/routes/partner/recorded/components/record/record.component.ts @@ -0,0 +1,334 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { STComponent, STColumn, STChange, STRequestOptions, STData } from '@delon/abc/st'; +import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; +import Big from 'src/app/shared/utils/deal-precision'; + + +@Component({ + selector: 'app-partner-recorded-record', + templateUrl: './record.component.html', + styleUrls: ['../../../../commom/less/box.less', '../../../../commom/less/expend-but.less'] +}) +export class PartnerRecordedRecordComponent implements OnInit { + @ViewChild('st', { static: true }) st!: STComponent; + @ViewChild('sf', { static: false }) sf!: SFComponent; + @ViewChild('auditModal', { static: false }) auditModal!: any; + @ViewChild('viewReasonModal', { static: false }) viewReasonModal!: any; + columns: STColumn[] = this.initST(); + searchSchema: SFSchema = this.initSF(); + + _$expand = false; + + selectedRows: any[] = []; + totalCallNo = 0; + refundStatus: any = ''; + + msg = ''; + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) { } + + ngOnInit(): void { } + + beforeReq = (requestOptions: STRequestOptions) => { + if (this.sf) { + Object.assign(requestOptions.body, { + ...this.sf.value, + createTime: { + start: this.sf.value.createTime?.[0] || '', + end: this.sf.value.createTime?.[1] || '' + }, + refundStatus: this.refundStatus || null + }); + } + return requestOptions; + }; + + afterRes = (data: any[], rawData?: any) => { + data = data.map(node => ({ ...node, disabled: node.refundStatus !== '1' })); + return data; + }; + + stChange(e: STChange): void { + if (e.type === 'checkbox') { + const checkRows = (e.checkbox as STData[]) || []; + //判断当前页是否有选中的行 + if (checkRows.length === 0) { + // 当前页没有存在已勾选的行,移除之前所记录的当前页的行 + const stList = this.st.list; + stList.forEach(item => { + this.selectedRows = this.selectedRows.filter((e: any) => e.id !== item.id); + }) + } else { + //添加新增的行 + checkRows.forEach((item: any) => { + const newSelectedList = this.selectedRows.filter((r: any) => r.id === item.id); + if (newSelectedList.length === 0) { + this.selectedRows.push(item); + + } + }) + // 移除取消选中的行 + const stList = this.st.list; + stList.forEach(item => { + if (!item.checked) { + const index = this.selectedRows.findIndex(_item => item.id === _item.id); + if (index !== -1) this.selectedRows.splice(index, 1); + } + }) + } + let totalCallNo = 0; + this.selectedRows.forEach((item => { + totalCallNo = new Big(this.totalCallNo).plus(item?.amount).parse(); + })); + this.totalCallNo = totalCallNo; + } else if (e.type === 'loaded') { + // 页面加载时勾选 + (e?.loaded || []).forEach((r) => { + this.selectedRows.forEach((x) => { + if (x.id === r.id) { + r.checked = true; + } + }); + }); + } + } + + changeRefundStatus(status?: string) { + this.refundStatus = status || null; + this.st.load(1); + } + + auditAction(item?: any) { + this.msg = ''; + let params: Array = []; + if (item) { + params = [item.id]; + } else { + params = this.selectedRows.map(node => node.id); + } + const modal = this.nzModalService.create({ + nzTitle: '审核', + nzContent: this.auditModal, + nzFooter: [ + { + label: '拒绝', + type: 'default', + onClick: () => { + this.service + .request(this.service.$api_disagree_refund, { + refundApplicationId: params, + msg: this.msg + }) + .subscribe(res => { + if (res) { + this.service.msgSrv.success('审核拒绝成功'); + modal.destroy(); + this.st.load(1); + } + }); + } + }, + { + label: '通过', + type: 'primary', + onClick: () => { + this.service + .request(this.service.$api_agree_refund, { + refundApplicationId: params, + msg: this.msg + }) + .subscribe(res => { + if (res) { + this.service.msgSrv.success('审核通过成功'); + modal.destroy(); + this.st.load(1); + } + }); + } + } + ] + }); + modal.afterClose.subscribe(res => { + this.st.load(); + }); + } + + showReason(item: any) { + const modal = this.nzModalService.create({ + nzTitle: '查看原因', + nzContent: item?.rejectionCause || item?.failCause, + nzFooter: [ + { + label: '关闭', + type: 'primary', + onClick: () => { + modal.destroy(); + } + } + ] + }); + } + + /** + * 重置表单 + */ + 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 + } + }, + refundApplyCode: { + type: 'string', + title: '提现单号', + ui: { + placeholder: '请输入' + } + }, + refundStatus: { + type: 'string', + title: '提现状态', + ui: { + widget: 'dict-select', + params: { dictKey: 'refund:apply:status' }, + placeholder: '请选择' + } + }, + createTime: { + title: '提现时间', + type: 'string', + ui: { + widget: 'sl-from-to-search', + format: 'yyyy-MM-dd', + placeholder: '请选择', + nzShowTime: true + } as SFDateWidgetSchema + }, + bankAccountName: { + type: 'string', + title: '账户名称', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + accountType: { + type: 'string', + title: '账户类型', + ui: { + widget: 'dict-select', + params: { dictKey: 'bank:type' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + ltdId: { + type: 'string', + title: '网络货运人', + ui: { + widget: 'select', + placeholder: '请选择', + allowClear: true, + asyncData: () => this.service.getNetworkFreightForwarder(), + visibleIf: { + expand: (value: boolean) => value + } + } + }, + bankType: { + type: 'string', + title: '银行类型', + ui: { + widget: 'dict-select', + params: { dictKey: 'bankname:type' }, + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + } + } + }; + } + + private initST(): STColumn[] { + return [ + { title: '', index: 'key', type: 'checkbox', className: 'text-center' }, + { title: '提现时间', index: 'createTime', width: 180, className: 'text-center' }, + { title: '提现单号', index: 'refundApplyCode', width: 180, className: 'text-center' }, + { title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' }, + { title: '银行类型', index: 'bankTypeLabel', width: 100, className: 'text-center' }, + { title: '账户类型', index: 'bankTypeLabel', width: 100, className: 'text-center' }, + { title: '账户名称', index: 'bankAccountName', width: 220, className: 'text-center' }, + { title: '虚拟账户', index: 'virtualAccount', width: 180, className: 'text-center' }, + { + title: '提现金额', + index: 'amount', + width: 150, + type: 'widget', + className: 'text-right', + widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } + }, + { title: '提现银行账户', render: 'bankCardNumber', width: 200, className: 'text-center' }, + { title: '提现状态', index: 'refundStatusLabel', width: 100, className: 'text-center' }, + { title: '银行流水号', index: 'bankSerialNumber', width: 160, className: 'text-center' }, + { title: '核心交易流水', index: 'coreSerNo', width: 180, className: 'text-center' }, + { title: '失败原因', index: 'rejectionCause', width: 200, format: item => item.failCause, className: 'text-center' }, + { + title: '操作', + fixed: 'right', + width: '110px', + buttons: [ + { + text: '查看回单', + iif: item => item.refundStatus === '3', + click: item => + this.service.getReceiptUrl(item.receiptUrl, { + bankType: item.bankType, + rmYll: item.userId, + snglFlgCd: item.coreSerNo, + bussType: '06', + ltdId: item.ltdId + }) + }, + { + text: '查看原因', + iif: item => item.refundStatus === '4', + click: item => this.showReason(item) + }, + { + text: '审核', + iif: item => item.refundStatus === '1', + click: item => this.auditAction(item) + }, + { + text: '详情', + click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar }) + } + ] + } + ]; + } +} diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 3f8a56dc..ea65b36a 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -579,6 +579,15 @@ "hide": true } ] + }, + { + "text": "入账记录", + "link": "/partner/recorded/record" + }, + { + "text": "入账详情", + "link": "/partner/recorded/record/:id", + "hide": true } ] } From efa9a6bbad214ad452f1648d91d1e78edae6cbdc Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Fri, 11 Mar 2022 10:50:53 +0800 Subject: [PATCH 09/19] e --- .../add-etp-partner.component.html | 95 +++ .../add-etp-partner.component.less | 68 +++ .../add-etp-partner.component.ts | 555 ++++++++++++++++++ .../add-personal-partner.component.html | 1 + .../add-personal-partner.component.less | 0 .../add-personal-partner.component.ts | 15 + .../index/partner-list.component.html | 4 +- .../services/partner-list.service.ts | 4 + .../routes/partner/partner-routing.module.ts | 6 +- src/app/routes/partner/partner.module.ts | 9 +- 10 files changed, 752 insertions(+), 5 deletions(-) create mode 100644 src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html create mode 100644 src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.less create mode 100644 src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts create mode 100644 src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html create mode 100644 src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.less create mode 100644 src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts diff --git a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html new file mode 100644 index 00000000..2cfb1621 --- /dev/null +++ b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html @@ -0,0 +1,95 @@ + + + + +
企业基本信息
+
+ +
+ 请上传营业执照原件的高清照片,若上传复印件,则需加盖公司印章; +
上传后系统会自动识别并填写
+
+
+ +
万元
+
+ + +
营业执照法人信息
+
+ +
+
请上传身份证原件的高清照片,若上传复印件,则需申请人签字;
+
上传后系统会自动识别并填写
+
+
+ +
+
+
正面照(人像面)
+
示例
+
+
+
+
+ +
+
+
背面照(国徽面)
+
示例
+
+
+
+
+
+ + + +
企业开票信息
+
+ +
企业管理员信息
+
+ + +
+
请上传该企业授权您成为本系统企业管理员的文件的高清照片,需加盖公司印章
+
上传后系统会自动识别并填写
+
+
+
+
+ +
+
请上传身份证原件的高清照片,若上传复印件,则需申请人签字;
+
上传后系统会自动识别并填写
+
+
+ +
+
+
正面照(人像面)
+
示例
+
+
+
+
+ +
+
+
背面照(国徽面)
+
示例
+
+
+
+
+
+ +
+ + +
+
\ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.less b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.less new file mode 100644 index 00000000..6b70e074 --- /dev/null +++ b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.less @@ -0,0 +1,68 @@ +:host { + ::ng-deep { + nz-card { + + .pr { + position: relative; + } + + .pa { + position: absolute; + top : 50px; + left : 150px; + } + + .tips { + display : flex; + margin-bottom: 0; + color : #333; + + dt { + width: 150px; + } + + dd { + width : 190px; + margin-bottom: 0; + text-align : center; + } + } + + .form-title { + margin-bottom: 10px; + padding-left : 8px; + color : #333; + font-weight : 700; + font-size : 18px; + line-height : 20px; + border-left : solid 3px #1890ff; + } + + } + + .ant-form-item { + margin-left: 180px; + } + + nz-date-picker, + nz-input-number { + width: 100% !important; + } + + .input-back { + nz-form-item { + margin-left: 0px; + + .ant-form-item-label { + flex: 0 !important; + } + + .ant-form-item-control { + max-width : 100% !important; + margin-left: 20px !important; + } + } + } + + } + } \ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts new file mode 100644 index 00000000..580f9f3d --- /dev/null +++ b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts @@ -0,0 +1,555 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { Router } from '@angular/router'; +import { apiConf } from '@conf/api.conf'; +import { + SFUploadWidgetSchema, + SFComponent, + SFSchema, + SFUISchema, + SFCascaderWidgetSchema, + SFTextareaWidgetSchema, + SFDateWidgetSchema, + SFCheckboxWidgetSchema +} from '@delon/form'; +import { NzUploadFile } from 'ng-zorro-antd/upload'; +import { of } from 'rxjs'; +import { PartnerListService } from '../../services/partner-list.service'; + +const IMAGECONFIG = { + previewFile: (file: NzUploadFile) => of(file.url), + action: apiConf.waterFileUpload, + fileType: 'image/png,image/jpeg,image/jpg,image/gif', + fileSize: 5120, + limit: 1, + limitFileCount: 1, + resReName: 'data.fullFileWatermarkPath', + urlReName: 'data.fullFileWatermarkPath', + widget: 'upload', + name: 'multipartFile', + multiple: false, + listType: 'picture-card' +} as SFUploadWidgetSchema; + +const DATECONFIG = { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + widget: 'date', + format: 'yyyy-MM-dd', + placeholder: '请选择' +}; + +@Component({ + selector: 'app-add-etp-partner', + templateUrl: './add-etp-partner.component.html', + styleUrls: ['./add-etp-partner.component.less'] +}) +export class AddEtpPartnerComponent implements OnInit { + @ViewChild('sf', { static: false }) + sf!: SFComponent; + @ViewChild('sf1', { static: false }) + sf1!: SFComponent; + schema: SFSchema = this.initOthersSF(); + schema1: SFSchema = this.initBasicInfoSF(); + ui: SFUISchema = { + '*': { + spanLabelFixed: 180, + grid: { span: 24 } + }, + $_basicInfoTitle: { + spanLabelFixed: 0 + }, + $title99: { + spanLabelFixed: 0 + }, + $_legalPersontitle: { + spanLabelFixed: 0 + }, + $registrationCapital: { + spanLabelFixed: 180, + grid: { xxl: 13, xl: 18, lg: 22, md: 22 } + }, + $unit: { + grid: { xxl: 6, xl: 6, lg: 2, md: 2 } + }, + $_isLoingDate: { + spanLabelFixed: 100, + grid: { xxl: 6, xl: 6, lg: 4, md: 6 } + } + }; + + constructor(private router: Router, public service: PartnerListService) {} + ngOnInit() { + } + + submitForm() { + if (!this.sf1.valid || !this.sf.valid) { + this.sf.validator({ emitError: true }); + this.sf1.validator({ emitError: true }); + this.service.msgSrv.warning('请修改填写错误信息'); + return; + } + const enterpriseRegistrationTime = new Date(this.sf1.value.enterpriseRegistrationTime); + const operatingStartTime = new Date(this.sf1.value.operatingStartTime); + if (enterpriseRegistrationTime.getTime() > operatingStartTime.getTime()) { + this.service.msgSrv.warning('营业期限不能小于成立日期'); + return; + } + if (this.sf1.value.operatingEndTime) { + const operatingEndTime = new Date(this.sf1.value.operatingEndTime); + if (operatingStartTime.getTime() > operatingEndTime.getTime()) { + this.service.msgSrv.warning('营业期限不能小于期限开始日期'); + return; + } + } + const validStartTime = new Date(this.sf1.value.legalPersonIdentityDTO.validStartTime); + if (this.sf1.value.legalPersonIdentityDTO.validEndTime) { + const validEndTime = new Date(this.sf1.value.legalPersonIdentityDTO.validEndTime); + if (validStartTime.getTime() > validEndTime.getTime()) { + this.service.msgSrv.warning('法人证件有效截止日期小于开始日期'); + return; + } + } + const sfVlaue = this.sf.value; + const params = {}; + Object.assign( + params, + { ...this.sf1.value }, + { ...this.sf.value }, + { + enterpriseAddressCode: this.sf1.value.enterpriseAddressCode[2], + oftenUsedServices: sfVlaue.oftenUsedServices, + registerAddress: sfVlaue.registerAddress, + registerPhone: sfVlaue.registerPhone, + creditPhoto: sfVlaue.creditPhoto, + creditPhotoWatermark: sfVlaue.creditPhotoWatermark, + promotersTelephone: sfVlaue.promotersTelephone, + networkTransporter: sfVlaue.networkTransporter, + adminUserInfo: { + certificateNumber: sfVlaue.certificateNumber, + certificatePhotoBack: sfVlaue.certificatePhotoBack, + certificatePhotoBackWatermark: sfVlaue.certificatePhotoBackWatermark, + certificatePhotoFront: sfVlaue.certificatePhotoFront, + certificatePhotoFrontWatermark: sfVlaue.certificatePhotoFrontWatermark, + name: sfVlaue.name + } + } + ); + // this.service.request(this.service.$api_save_enterprise_admin, params).subscribe(res => { + // if (res) { + // this.service.msgSrv.success('企业新增成功'); + // this.goBack(); + // } + // }); + } + + /* + * 根据地区code查询地区列表 + */ + getRegionDetailByCode(regionCode: any) { + return this.service.request(this.service.$api_get_region_by_code, { regionCode }); + } + + // 识别身份证 参数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.sf1.setValue('/legalPersonIdentityDTO/name', res.name); + } + if (res.number) { + this.sf1.setValue('/legalPersonIdentityDTO/certificateType', 0); + this.sf1.setValue('/legalPersonIdentityDTO/certificateNumber', res.number); + } + } + if (isFront === 'back') { + // 背面 + if (res.validFrom) { + this.sf1.setValue('/legalPersonIdentityDTO/validStartTime', res.validFrom); + } + if (res.validTo) { + this.sf1.setValue('/legalPersonIdentityDTO/validEndTime', res.validTo); + this.sf1.setValue('/legalPersonIdentityDTO/_isLoingDate', false); + } else { + this.sf1.setValue('/legalPersonIdentityDTO/_isLoingDate', true); + } + } + } + // 企业管理员证件照 + if (type === 0) { + if (isFront === 'front') { + // 正面 + if (res.name) { + this.sf.setValue('/name', res.name); + } + if (res.number) { + this.sf.setValue('/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.sf1.setValue('/unifiedSocialCreditCode', res.registrationNumber); + } + if (res.name) { + this.sf1.setValue('/enterpriseName', res.name); + } + if (res.type) { + this.sf1.setValue('/enterpriseType', res.type); + } + if (res.addressRegionCodes) { + this.sf1.setValue('/enterpriseAddressCode', res.addressRegionCodes); + } + if (res.address) { + this.sf1.setValue('/enterpriseAddress', res.address); + } + if (res.registeredCapital) { + this.sf1.setValue('/registrationCapital', res.registeredCapital); + } + if (res.foundDate) { + this.sf1.setValue('/enterpriseRegistrationTime', res.foundDate); + } + if (res.businessTermStartDate) { + this.sf1.setValue('/operatingStartTime', res.businessTermStartDate); + } + if (res.businessTermEndDate) { + this.sf1.setValue('/operatingEndTime', res.businessTermEndDate); + } else { + this.sf1.setValue('/_isLoingDate', true); + } + if (res.businessScope) { + this.sf1.setValue('/businessScope', res.businessScope); + } + } + }); + } + + goBack() { + window.history.go(-1); + } + + private initBasicInfoSF(): SFSchema { + return { + properties: { + _basicInfoTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, + _licenseTips: { title: '营业执照', type: 'string', ui: { widget: 'custom' } }, + licensePhoto: { title: '', type: 'string', ui: { hidden: true } }, + licensePhotoWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf1.setValue('/licensePhoto', args.fileList[0].response.data.fullFilePath); + this.checkBusinessLicense(args.fileList[0].response.data.fullFilePath); + } + } + } as SFUploadWidgetSchema + }, + unifiedSocialCreditCode: { + title: '统一社会信用代码', + type: 'string', + minLength: 1, + maxLength: 30, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + optionalHelp: + '为了企业用户的使用体验,若公司代码即统一社会信用代码已在本应用其他关联平台注册,则此处填写的公司资料将同步更新至对应已注册的平台', + placeholder: '请输入营业执照上的统一社会信用代码', + errors: { + required: '请输入18位公司代码' + } + } + }, + enterpriseName: { + title: '公司名称', + type: 'string', + minLength: 1, + maxLength: 100, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入营业执照上的统一社会信用代码', + errors: { + required: '请输入公司名称' + } + } + }, + operatingStartTime: { + title: '营业期限', + type: 'string', + ui: { + ...DATECONFIG, + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + errors: { + required: '请选择开始日期' + } + } as SFDateWidgetSchema + }, + operatingEndTime: { + title: '', + type: 'string', + ui: { + ...DATECONFIG, + grid: { xxl: 13, xl: 18, lg: 20, md: 18 }, + errors: { + required: '请选择截止日期' + }, + change: i => { + this.sf1?.setValue('/_isLoingDate', false); + } + } as SFDateWidgetSchema + }, + _isLoingDate: { + title: '长期', + type: 'boolean', + ui: { + class: 'input-back', + widget: 'checkbox', + change: i => this.sf1?.setValue('/operatingEndTime', null) + } as SFCheckboxWidgetSchema + }, + + legalPersonIdentityDTO: { + type: 'object', + properties: { + _legalPersontitle: { title: '', type: 'string', ui: { widget: 'custom' } }, + _certificatePhototips: { title: '法定代表人证件照', type: 'string', ui: { widget: 'custom' } }, + _certificatePhotoExmplateA: { title: '', type: 'string', ui: { widget: 'custom', offsetControl: 6 } }, + certificatePhotoFrontWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf1.setValue('/legalPersonIdentityDTO/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); + this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'front', 1); + } + } + } as SFUploadWidgetSchema + }, + _certificatePhotoExmplateB: { title: '', type: 'string', ui: { widget: 'custom', offsetControl: 6 } }, + certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, + certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, + certificatePhotoBackWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf1.setValue('/legalPersonIdentityDTO/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); + this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'back', 1); + } + } + } as SFUploadWidgetSchema + }, + name: { + title: '法人代表姓名', + type: 'string', + maxLength: 8, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入营业执照上的法人姓名' + } + }, + certificateType: { + type: 'string', + title: '法人证件类型', + enum: [ + { label: '大陆身份证', value: 0 }, + { label: '港澳居民通行证', value: 1 }, + { label: '香港居民通行证', value: 2 } + ], + default: 0, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + widget: 'select' + } + }, + certificateNumber: { + title: ' 法定代表人证件号', + type: 'string', + format: 'id-card', + minLength: 1, + maxLength: 18, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入法定代表人证件号' + } + }, + validStartTime: { + title: '法人证件有效开始日期', + type: 'string', + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + widget: 'date', + format: 'yyyy-MM-dd', + placeholder: '请选择', + errors: { + required: '请选择开始日期' + } + } as SFDateWidgetSchema + }, + validEndTime: { + title: '法人证件有效截止日期', + type: 'string', + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + widget: 'date', + format: 'yyyy-MM-dd', + placeholder: '请选择', + errors: { + required: '请选择截止日期' + }, + change: i => { + this.sf1?.setValue('/legalPersonIdentityDTO/_isLoingDate', false); + } + } as SFDateWidgetSchema + }, + _isLoingDate: { + title: '长期', + type: 'boolean', + ui: { + spanLabelFixed: 100, + grid: { span: 6 }, + class: 'input-back', + widget: 'checkbox', + change: i => this.sf1?.setValue('/legalPersonIdentityDTO/validEndTime', null) + } as SFCheckboxWidgetSchema + } + }, + required: ['certificatePhotoFront', 'certificatePhotoBack', 'name', 'certificateType', 'certificateNumber', 'validStartTime'] + } + }, + required: [ + 'licensePhotoWatermark', + 'unifiedSocialCreditCode', + 'enterpriseName', + 'enterpriseType', + 'enterpriseAddressCode', + 'enterpriseAddress', + 'registrationCapital', + 'enterpriseRegistrationTime', + 'operatingStartTime', + 'businessScope' + ] + }; + } + + private initOthersSF(): SFSchema { + return { + properties: { + title99: { title: '', type: 'string', ui: { widget: 'custom' } }, + adminMobile: { + title: ' 企业管理员手机号', + type: 'string', + minLength: 1, + format: 'mobile', + maxLength: 11, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入企业管理员手机号', + errors: { required: '请输入企业管理员手机号', format: '手机号格式错误' } + } + }, + tipsA: { + title: '企业管理员证件照', + type: 'string', + ui: { + widget: 'custom' + } + }, + certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, + certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, + certificatePhotoFrontWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf.setValue('/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); + this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'front', 0); + } + } + } as SFUploadWidgetSchema + }, + tipsB: { + title: '', + type: 'string', + ui: { + widget: 'custom', + offsetControl: 6 + } + }, + certificatePhotoBackWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf.setValue('/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); + } + } + } as SFUploadWidgetSchema + }, + name: { + title: '企业管理员姓名', + type: 'string', + maxLength: 8, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入企业管理员姓名' + } + }, + certificateNumber: { + title: '企业管理员身份证号', + type: 'string', + format: 'id-card', + minLength: 1, + maxLength: 18, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入企业管理员身份证号' + } + }, + + title1: { title: '', type: 'string', ui: { widget: 'custom' } }, + createBank: { + title: '所属城市', + type: 'string', + ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入银行账号' } + }, + + title3: { title: '', type: 'string', ui: { widget: 'custom' } }, + bankAccount: { + title: '渠道销售邀请码', + type: 'string', + ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入银行账号' } + } + }, + required: ['createBank', 'bankAccount', 'adminMobile', 'name', 'certificateNumber', 'tipsD', 'creditPhoto'] + }; + } +} diff --git a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html new file mode 100644 index 00000000..8245d202 --- /dev/null +++ b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html @@ -0,0 +1 @@ +

add-personal-partner works!

diff --git a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.less b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts new file mode 100644 index 00000000..6d31529c --- /dev/null +++ b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-add-personal-partner', + templateUrl: './add-personal-partner.component.html', + styleUrls: ['./add-personal-partner.component.less'] +}) +export class AddPersonalPartnerComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} 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 index f1de5a81..1e4aa340 100644 --- 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 @@ -22,8 +22,8 @@
- - + +
Date: Fri, 11 Mar 2022 11:16:46 +0800 Subject: [PATCH 10/19] - --- .../components/record/record.component.html | 26 +++++--- .../components/record/record.component.ts | 61 ++++++++++--------- 2 files changed, 49 insertions(+), 38 deletions(-) diff --git a/src/app/routes/partner/recorded/components/record/record.component.html b/src/app/routes/partner/recorded/components/record/record.component.html index 50438e09..1fd920b1 100644 --- a/src/app/routes/partner/recorded/components/record/record.component.html +++ b/src/app/routes/partner/recorded/components/record/record.component.html @@ -40,14 +40,24 @@
- - - {{ item.bankName }}
{{ item.bankCardNumber }} -
-
+
+ + + {{ item.bankName }}
{{ item.bankCardNumber }} +
+
+
+ 合伙人数: + 入账笔数: + 开票金额: + 代缴个税: + 入账金额: +
+
diff --git a/src/app/routes/partner/recorded/components/record/record.component.ts b/src/app/routes/partner/recorded/components/record/record.component.ts index e15f2aaa..49b6b08f 100644 --- a/src/app/routes/partner/recorded/components/record/record.component.ts +++ b/src/app/routes/partner/recorded/components/record/record.component.ts @@ -19,6 +19,13 @@ export class PartnerRecordedRecordComponent implements OnInit { @ViewChild('viewReasonModal', { static: false }) viewReasonModal!: any; columns: STColumn[] = this.initST(); searchSchema: SFSchema = this.initSF(); + totalInfo: any = { + partnerNum: 34, + count: 98, + invoiceAmount: 978239.98, + tax: 9878.00, + recorededAmount: 728698.98 + } _$expand = false; @@ -113,7 +120,7 @@ export class PartnerRecordedRecordComponent implements OnInit { nzContent: this.auditModal, nzFooter: [ { - label: '拒绝', + label: '备注', type: 'default', onClick: () => { this.service @@ -276,48 +283,42 @@ export class PartnerRecordedRecordComponent implements OnInit { private initST(): STColumn[] { return [ { title: '', index: 'key', type: 'checkbox', className: 'text-center' }, - { title: '提现时间', index: 'createTime', width: 180, className: 'text-center' }, - { title: '提现单号', index: 'refundApplyCode', width: 180, className: 'text-center' }, - { title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' }, - { title: '银行类型', index: 'bankTypeLabel', width: 100, className: 'text-center' }, - { title: '账户类型', index: 'bankTypeLabel', width: 100, className: 'text-center' }, - { title: '账户名称', index: 'bankAccountName', width: 220, className: 'text-center' }, + { title: '账户名称', index: 'createTime', width: 180, className: 'text-center' }, { title: '虚拟账户', index: 'virtualAccount', width: 180, className: 'text-center' }, + { title: '入账单号', index: 'refundApplyCode', width: 180, className: 'text-center' }, + { title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' }, { - title: '提现金额', + title: '开票金额', index: 'amount', width: 150, type: 'widget', className: 'text-right', widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } }, - { title: '提现银行账户', render: 'bankCardNumber', width: 200, className: 'text-center' }, - { title: '提现状态', index: 'refundStatusLabel', width: 100, className: 'text-center' }, - { title: '银行流水号', index: 'bankSerialNumber', width: 160, className: 'text-center' }, - { title: '核心交易流水', index: 'coreSerNo', width: 180, className: 'text-center' }, - { title: '失败原因', index: 'rejectionCause', width: 200, format: item => item.failCause, className: 'text-center' }, + { + title: '代缴个税', + index: 'amount', + width: 150, + type: 'widget', + className: 'text-right', + widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } + }, + { + title: '入账金额', + index: 'amount', + width: 150, + type: 'widget', + className: 'text-right', + widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } + }, + + { title: '提交时间', index: 'bankSerialNumber', width: 160, className: 'text-center' }, + { title: '入账状态', index: 'refundStatusLabel', width: 100, className: 'text-center' }, { title: '操作', fixed: 'right', width: '110px', buttons: [ - { - text: '查看回单', - iif: item => item.refundStatus === '3', - click: item => - this.service.getReceiptUrl(item.receiptUrl, { - bankType: item.bankType, - rmYll: item.userId, - snglFlgCd: item.coreSerNo, - bussType: '06', - ltdId: item.ltdId - }) - }, - { - text: '查看原因', - iif: item => item.refundStatus === '4', - click: item => this.showReason(item) - }, { text: '审核', iif: item => item.refundStatus === '1', From 06cbff566ac0d18f544ce4ae1e4b31838a1281c1 Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Fri, 11 Mar 2022 14:35:47 +0800 Subject: [PATCH 11/19] edit --- package-lock.json | 41 ++ .../add-etp-partner.component.html | 48 +-- .../add-etp-partner.component.ts | 355 ++++++++++-------- .../add-personal-partner.component.html | 45 ++- .../add-personal-partner.component.less | 68 ++++ .../add-personal-partner.component.ts | 335 ++++++++++++++++- 6 files changed, 701 insertions(+), 191 deletions(-) diff --git a/package-lock.json b/package-lock.json index ddf3948b..64c94964 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2879,6 +2879,35 @@ "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", "dev": true }, + "@types/quill": { + "version": "2.0.9", + "resolved": "https://registry.npmmirror.com/@types/quill/-/quill-2.0.9.tgz", + "integrity": "sha512-/n40Ypp+jF3GDLqB/5z1P+Odq1K98txXbBgRDkG6Z90LGC1AwQPtZWNeOdDg0yUlgBSUASmpeDn3eBPUuPXtuw==", + "dev": true, + "requires": { + "parchment": "^1.1.2", + "quill-delta": "^4.0.1" + }, + "dependencies": { + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "quill-delta": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/quill-delta/-/quill-delta-4.2.2.tgz", + "integrity": "sha512-qjbn82b/yJzOjstBgkhtBjN2TNK+ZHP/BgUQO+j6bRhWQQdmj2lH6hXG7+nwwLF41Xgn//7/83lxs9n2BkTtTg==", + "dev": true, + "requires": { + "fast-diff": "1.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.isequal": "^4.5.0" + } + } + } + }, "@types/selenium-webdriver": { "version": "3.0.19", "resolved": "https://registry.npmmirror.com/@types/selenium-webdriver/download/@types/selenium-webdriver-3.0.19.tgz", @@ -10136,12 +10165,24 @@ "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz", "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.nlark.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz", diff --git a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html index 2cfb1621..60e444bd 100644 --- a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html +++ b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html @@ -1,6 +1,7 @@ - + +
企业基本信息
@@ -14,6 +15,7 @@
万元
+
营业执照法人信息
@@ -41,33 +43,12 @@
- - - -
企业开票信息
+ + +
企业管理员信息
- -
企业管理员信息
-
- - -
-
请上传该企业授权您成为本系统企业管理员的文件的高清照片,需加盖公司印章
-
上传后系统会自动识别并填写
-
-
-
-
- -
-
请上传身份证原件的高清照片,若上传复印件,则需申请人签字;
-
上传后系统会自动识别并填写
-
-
- +
正面照(人像面)
@@ -76,7 +57,7 @@
- +
背面照(国徽面)
@@ -85,9 +66,20 @@
+ + + +
所属城市
+
+ + + +
渠道销售
+
-
+ +
diff --git a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts index 580f9f3d..00540e31 100644 --- a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts +++ b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts @@ -9,7 +9,8 @@ import { SFCascaderWidgetSchema, SFTextareaWidgetSchema, SFDateWidgetSchema, - SFCheckboxWidgetSchema + SFCheckboxWidgetSchema, + SFTreeSelectWidgetSchema } from '@delon/form'; import { NzUploadFile } from 'ng-zorro-antd/upload'; import { of } from 'rxjs'; @@ -45,10 +46,7 @@ const DATECONFIG = { export class AddEtpPartnerComponent implements OnInit { @ViewChild('sf', { static: false }) sf!: SFComponent; - @ViewChild('sf1', { static: false }) - sf1!: SFComponent; - schema: SFSchema = this.initOthersSF(); - schema1: SFSchema = this.initBasicInfoSF(); + schema: SFSchema = this.initBasicInfoSF(); ui: SFUISchema = { '*': { spanLabelFixed: 180, @@ -57,19 +55,9 @@ export class AddEtpPartnerComponent implements OnInit { $_basicInfoTitle: { spanLabelFixed: 0 }, - $title99: { - spanLabelFixed: 0 - }, $_legalPersontitle: { spanLabelFixed: 0 }, - $registrationCapital: { - spanLabelFixed: 180, - grid: { xxl: 13, xl: 18, lg: 22, md: 22 } - }, - $unit: { - grid: { xxl: 6, xl: 6, lg: 2, md: 2 } - }, $_isLoingDate: { spanLabelFixed: 100, grid: { xxl: 6, xl: 6, lg: 4, md: 6 } @@ -77,32 +65,30 @@ export class AddEtpPartnerComponent implements OnInit { }; constructor(private router: Router, public service: PartnerListService) {} - ngOnInit() { - } + ngOnInit() {} submitForm() { - if (!this.sf1.valid || !this.sf.valid) { + if (!this.sf.valid ) { this.sf.validator({ emitError: true }); - this.sf1.validator({ emitError: true }); this.service.msgSrv.warning('请修改填写错误信息'); return; } - const enterpriseRegistrationTime = new Date(this.sf1.value.enterpriseRegistrationTime); - const operatingStartTime = new Date(this.sf1.value.operatingStartTime); + const enterpriseRegistrationTime = new Date(this.sf.value.enterpriseRegistrationTime); + const operatingStartTime = new Date(this.sf.value.operatingStartTime); if (enterpriseRegistrationTime.getTime() > operatingStartTime.getTime()) { this.service.msgSrv.warning('营业期限不能小于成立日期'); return; } - if (this.sf1.value.operatingEndTime) { - const operatingEndTime = new Date(this.sf1.value.operatingEndTime); + if (this.sf.value.operatingEndTime) { + const operatingEndTime = new Date(this.sf.value.operatingEndTime); if (operatingStartTime.getTime() > operatingEndTime.getTime()) { this.service.msgSrv.warning('营业期限不能小于期限开始日期'); return; } } - const validStartTime = new Date(this.sf1.value.legalPersonIdentityDTO.validStartTime); - if (this.sf1.value.legalPersonIdentityDTO.validEndTime) { - const validEndTime = new Date(this.sf1.value.legalPersonIdentityDTO.validEndTime); + const validStartTime = new Date(this.sf.value.legalPersonIdentityDTO.validStartTime); + if (this.sf.value.legalPersonIdentityDTO.validEndTime) { + const validEndTime = new Date(this.sf.value.legalPersonIdentityDTO.validEndTime); if (validStartTime.getTime() > validEndTime.getTime()) { this.service.msgSrv.warning('法人证件有效截止日期小于开始日期'); return; @@ -112,10 +98,9 @@ export class AddEtpPartnerComponent implements OnInit { const params = {}; Object.assign( params, - { ...this.sf1.value }, { ...this.sf.value }, { - enterpriseAddressCode: this.sf1.value.enterpriseAddressCode[2], + enterpriseAddressCode: this.sf.value.enterpriseAddressCode[2], oftenUsedServices: sfVlaue.oftenUsedServices, registerAddress: sfVlaue.registerAddress, registerPhone: sfVlaue.registerPhone, @@ -161,23 +146,23 @@ export class AddEtpPartnerComponent implements OnInit { if (isFront === 'front') { // 正面 if (res.name) { - this.sf1.setValue('/legalPersonIdentityDTO/name', res.name); + this.sf.setValue('/legalPersonIdentityDTO/name', res.name); } if (res.number) { - this.sf1.setValue('/legalPersonIdentityDTO/certificateType', 0); - this.sf1.setValue('/legalPersonIdentityDTO/certificateNumber', res.number); + this.sf.setValue('/legalPersonIdentityDTO/certificateType', 0); + this.sf.setValue('/legalPersonIdentityDTO/certificateNumber', res.number); } } if (isFront === 'back') { // 背面 if (res.validFrom) { - this.sf1.setValue('/legalPersonIdentityDTO/validStartTime', res.validFrom); + this.sf.setValue('/legalPersonIdentityDTO/validStartTime', res.validFrom); } if (res.validTo) { - this.sf1.setValue('/legalPersonIdentityDTO/validEndTime', res.validTo); - this.sf1.setValue('/legalPersonIdentityDTO/_isLoingDate', false); + this.sf.setValue('/legalPersonIdentityDTO/validEndTime', res.validTo); + this.sf.setValue('/legalPersonIdentityDTO/_isLoingDate', false); } else { - this.sf1.setValue('/legalPersonIdentityDTO/_isLoingDate', true); + this.sf.setValue('/legalPersonIdentityDTO/_isLoingDate', true); } } } @@ -202,36 +187,33 @@ export class AddEtpPartnerComponent implements OnInit { this.service.request(this.service.$api_ocr_recognize_business_license, { businessLicenseUrl: imgurl }).subscribe(res => { if (res) { if (res.registrationNumber) { - this.sf1.setValue('/unifiedSocialCreditCode', res.registrationNumber); + this.sf.setValue('/unifiedSocialCreditCode', res.registrationNumber); } if (res.name) { - this.sf1.setValue('/enterpriseName', res.name); + this.sf.setValue('/enterpriseName', res.name); } if (res.type) { - this.sf1.setValue('/enterpriseType', res.type); + this.sf.setValue('/enterpriseType', res.type); } if (res.addressRegionCodes) { - this.sf1.setValue('/enterpriseAddressCode', res.addressRegionCodes); + this.sf.setValue('/enterpriseAddressCode', res.addressRegionCodes); } if (res.address) { - this.sf1.setValue('/enterpriseAddress', res.address); - } - if (res.registeredCapital) { - this.sf1.setValue('/registrationCapital', res.registeredCapital); + this.sf.setValue('/enterpriseAddress', res.address); } if (res.foundDate) { - this.sf1.setValue('/enterpriseRegistrationTime', res.foundDate); + this.sf.setValue('/enterpriseRegistrationTime', res.foundDate); } if (res.businessTermStartDate) { - this.sf1.setValue('/operatingStartTime', res.businessTermStartDate); + this.sf.setValue('/operatingStartTime', res.businessTermStartDate); } if (res.businessTermEndDate) { - this.sf1.setValue('/operatingEndTime', res.businessTermEndDate); + this.sf.setValue('/operatingEndTime', res.businessTermEndDate); } else { - this.sf1.setValue('/_isLoingDate', true); + this.sf.setValue('/_isLoingDate', true); } if (res.businessScope) { - this.sf1.setValue('/businessScope', res.businessScope); + this.sf.setValue('/businessScope', res.businessScope); } } }); @@ -244,8 +226,9 @@ export class AddEtpPartnerComponent implements OnInit { private initBasicInfoSF(): SFSchema { return { properties: { + // 企业基本信息 _basicInfoTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, - _licenseTips: { title: '营业执照', type: 'string', ui: { widget: 'custom' } }, + _licenseTips: { title: '营业执照', type: 'string', ui: { widget: 'custom' }, default: true }, licensePhoto: { title: '', type: 'string', ui: { hidden: true } }, licensePhotoWatermark: { type: 'string', @@ -255,7 +238,7 @@ export class AddEtpPartnerComponent implements OnInit { descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', change: args => { if (args.type === 'success') { - this.sf1.setValue('/licensePhoto', args.fileList[0].response.data.fullFilePath); + this.sf.setValue('/licensePhoto', args.fileList[0].response.data.fullFilePath); this.checkBusinessLicense(args.fileList[0].response.data.fullFilePath); } } @@ -310,7 +293,7 @@ export class AddEtpPartnerComponent implements OnInit { required: '请选择截止日期' }, change: i => { - this.sf1?.setValue('/_isLoingDate', false); + this.sf?.setValue('/_isLoingDate', false); } } as SFDateWidgetSchema }, @@ -320,15 +303,16 @@ export class AddEtpPartnerComponent implements OnInit { ui: { class: 'input-back', widget: 'checkbox', - change: i => this.sf1?.setValue('/operatingEndTime', null) + change: i => this.sf?.setValue('/operatingEndTime', null) } as SFCheckboxWidgetSchema }, + // 法人信息 legalPersonIdentityDTO: { type: 'object', properties: { _legalPersontitle: { title: '', type: 'string', ui: { widget: 'custom' } }, - _certificatePhototips: { title: '法定代表人证件照', type: 'string', ui: { widget: 'custom' } }, + _certificatePhototips: { title: '法定代表人证件照', type: 'string', ui: { widget: 'custom' }, default: true }, _certificatePhotoExmplateA: { title: '', type: 'string', ui: { widget: 'custom', offsetControl: 6 } }, certificatePhotoFrontWatermark: { type: 'string', @@ -338,7 +322,7 @@ export class AddEtpPartnerComponent implements OnInit { descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', change: args => { if (args.type === 'success') { - this.sf1.setValue('/legalPersonIdentityDTO/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); + this.sf.setValue('/legalPersonIdentityDTO/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'front', 1); } } @@ -355,7 +339,7 @@ export class AddEtpPartnerComponent implements OnInit { descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', change: args => { if (args.type === 'success') { - this.sf1.setValue('/legalPersonIdentityDTO/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); + this.sf.setValue('/legalPersonIdentityDTO/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'back', 1); } } @@ -420,7 +404,7 @@ export class AddEtpPartnerComponent implements OnInit { required: '请选择截止日期' }, change: i => { - this.sf1?.setValue('/legalPersonIdentityDTO/_isLoingDate', false); + this.sf?.setValue('/legalPersonIdentityDTO/_isLoingDate', false); } } as SFDateWidgetSchema }, @@ -432,124 +416,177 @@ export class AddEtpPartnerComponent implements OnInit { grid: { span: 6 }, class: 'input-back', widget: 'checkbox', - change: i => this.sf1?.setValue('/legalPersonIdentityDTO/validEndTime', null) + change: i => this.sf?.setValue('/legalPersonIdentityDTO/validEndTime', null) } as SFCheckboxWidgetSchema } }, - required: ['certificatePhotoFront', 'certificatePhotoBack', 'name', 'certificateType', 'certificateNumber', 'validStartTime'] - } - }, - required: [ - 'licensePhotoWatermark', - 'unifiedSocialCreditCode', - 'enterpriseName', - 'enterpriseType', - 'enterpriseAddressCode', - 'enterpriseAddress', - 'registrationCapital', - 'enterpriseRegistrationTime', - 'operatingStartTime', - 'businessScope' - ] - }; - } - - private initOthersSF(): SFSchema { - return { - properties: { - title99: { title: '', type: 'string', ui: { widget: 'custom' } }, - adminMobile: { - title: ' 企业管理员手机号', - type: 'string', - minLength: 1, - format: 'mobile', - maxLength: 11, - ui: { - grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, - placeholder: '请输入企业管理员手机号', - errors: { required: '请输入企业管理员手机号', format: '手机号格式错误' } - } + required: [ + '_certificatePhototips', + 'certificatePhotoFront', + 'certificatePhotoBack', + 'name', + 'certificateType', + 'certificateNumber', + 'validStartTime' + ] }, - tipsA: { - title: '企业管理员证件照', - type: 'string', - ui: { - widget: 'custom' - } - }, - certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, - certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, - certificatePhotoFrontWatermark: { - type: 'string', - title: '', - ui: { - ...IMAGECONFIG, - descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', - change: args => { - if (args.type === 'success') { - this.sf.setValue('/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); - this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'front', 0); + // 企业管理员信息 + adminUserInfo: { + type: 'object', + properties: { + _adminTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, + adminMobile: { + title: ' 企业管理员手机号', + type: 'string', + minLength: 1, + format: 'mobile', + maxLength: 11, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入企业管理员手机号', + errors: { required: '请输入企业管理员手机号', format: '手机号格式错误' } } - } - } as SFUploadWidgetSchema - }, - tipsB: { - title: '', - type: 'string', - ui: { - widget: 'custom', - offsetControl: 6 - } - }, - certificatePhotoBackWatermark: { - type: 'string', - title: '', - ui: { - ...IMAGECONFIG, - descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', - change: args => { - if (args.type === 'success') { - this.sf.setValue('/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); + }, + _adminCertificatePhotoTipsA: { + title: '企业管理员证件照', + type: 'string', + ui: { + widget: 'custom' + }, + default: true + }, + certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, + certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, + certificatePhotoFrontWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf.setValue('/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); + this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'front', 0); + } + } + } as SFUploadWidgetSchema + }, + _adminCertificatePhotoTipsB: { + title: '', + type: 'string', + ui: { + widget: 'custom', + offsetControl: 6 } + }, + certificatePhotoBackWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf.setValue('/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); + } + } + } as SFUploadWidgetSchema + }, + name: { + title: '企业管理员姓名', + type: 'string', + maxLength: 8, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入企业管理员姓名' + } + }, + certificateNumber: { + title: '企业管理员身份证号', + type: 'string', + format: 'id-card', + minLength: 1, + maxLength: 18, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入企业管理员身份证号' + } + }, + operatingStartTime: { + title: '身份证有效开始日期', + type: 'string', + ui: { + ...DATECONFIG, + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + errors: { + required: '请选择开始日期' + } + } as SFDateWidgetSchema + }, + operatingEndTime: { + title: '身份证有效截止日期', + type: 'string', + ui: { + ...DATECONFIG, + grid: { xxl: 13, xl: 18, lg: 20, md: 18 }, + errors: { + required: '请选择截止日期' + }, + change: i => { + this.sf?.setValue('/adminUserInfo/_isLoingDate', false); + } + } as SFDateWidgetSchema + }, + _isLoingDate: { + title: '长期', + type: 'boolean', + ui: { + spanLabelFixed: 100, + grid: { span: 6 }, + class: 'input-back', + widget: 'checkbox', + change: i => this.sf?.setValue('/adminUserInfo/operatingEndTime', null) + } as SFCheckboxWidgetSchema } - } as SFUploadWidgetSchema + }, + required: ['_adminCertificatePhotoTipsA', 'adminMobile', 'name', 'certificateNumber','operatingStartTime'] }, - name: { - title: '企业管理员姓名', + // 所属城市 + _addressTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, + status3: { type: 'string', - maxLength: 8, - ui: { - grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, - placeholder: '请输入企业管理员姓名' - } - }, - certificateNumber: { - title: '企业管理员身份证号', - type: 'string', - format: 'id-card', - minLength: 1, - maxLength: 18, - ui: { - grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, - placeholder: '请输入企业管理员身份证号' - } - }, - - title1: { title: '', type: 'string', ui: { widget: 'custom' } }, - createBank: { title: '所属城市', - type: 'string', - ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入银行账号' } + default: ['WAIT_BUYER_PAY', 'TRADE_FINISHED'], + ui: { + widget: 'tree-select', + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请选择城市(最多3个)', + checkable: true, + asyncData: () => + of([ + { title: '待支付', key: 'WAIT_BUYER_PAY' }, + { title: '已支付', key: 'TRADE_SUCCESS' }, + { title: '交易完成', key: 'TRADE_FINISHED' } + ]) + } as SFTreeSelectWidgetSchema, }, - - title3: { title: '', type: 'string', ui: { widget: 'custom' } }, - bankAccount: { + // 渠道销售 + _channelTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, + channel: { title: '渠道销售邀请码', type: 'string', - ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入银行账号' } + minLength: 1, + maxLength: 100, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入渠道销售邀请码', + errors: { + required: '请输入渠道销售邀请码' + } + } } }, - required: ['createBank', 'bankAccount', 'adminMobile', 'name', 'certificateNumber', 'tipsD', 'creditPhoto'] + required: ['_licenseTips', 'licensePhotoWatermark', 'unifiedSocialCreditCode', 'enterpriseName', 'operatingStartTime', 'status3','channel'] }; } } diff --git a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html index 8245d202..e476071d 100644 --- a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html +++ b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html @@ -1 +1,44 @@ -

add-personal-partner works!

+ + + + + +
合伙人信息
+
+ +
+
+
正面照(人像面)
+
示例
+
+
+
+
+ +
+
+
背面照(国徽面)
+
示例
+
+
+
+
+ + + +
所属城市
+
+ + + +
渠道销售
+
+
+ + +
+ + +
+
\ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.less b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.less index e69de29b..6b70e074 100644 --- a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.less +++ b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.less @@ -0,0 +1,68 @@ +:host { + ::ng-deep { + nz-card { + + .pr { + position: relative; + } + + .pa { + position: absolute; + top : 50px; + left : 150px; + } + + .tips { + display : flex; + margin-bottom: 0; + color : #333; + + dt { + width: 150px; + } + + dd { + width : 190px; + margin-bottom: 0; + text-align : center; + } + } + + .form-title { + margin-bottom: 10px; + padding-left : 8px; + color : #333; + font-weight : 700; + font-size : 18px; + line-height : 20px; + border-left : solid 3px #1890ff; + } + + } + + .ant-form-item { + margin-left: 180px; + } + + nz-date-picker, + nz-input-number { + width: 100% !important; + } + + .input-back { + nz-form-item { + margin-left: 0px; + + .ant-form-item-label { + flex: 0 !important; + } + + .ant-form-item-control { + max-width : 100% !important; + margin-left: 20px !important; + } + } + } + + } + } \ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts index 6d31529c..ed2eac4f 100644 --- a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts +++ b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts @@ -1,4 +1,32 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { Router } from '@angular/router'; +import { apiConf } from '@conf/api.conf'; +import { SFUploadWidgetSchema, SFComponent, SFSchema, SFUISchema, SFDateWidgetSchema, SFCheckboxWidgetSchema, SFTreeSelectWidgetSchema } from '@delon/form'; +import { NzUploadFile } from 'ng-zorro-antd/upload'; +import { of } from 'rxjs'; +import { PartnerListService } from '../../services/partner-list.service'; + +const IMAGECONFIG = { + previewFile: (file: NzUploadFile) => of(file.url), + action: apiConf.waterFileUpload, + fileType: 'image/png,image/jpeg,image/jpg,image/gif', + fileSize: 5120, + limit: 1, + limitFileCount: 1, + resReName: 'data.fullFileWatermarkPath', + urlReName: 'data.fullFileWatermarkPath', + widget: 'upload', + name: 'multipartFile', + multiple: false, + listType: 'picture-card' +} as SFUploadWidgetSchema; + +const DATECONFIG = { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + widget: 'date', + format: 'yyyy-MM-dd', + placeholder: '请选择' +}; @Component({ selector: 'app-add-personal-partner', @@ -6,10 +34,311 @@ import { Component, OnInit } from '@angular/core'; styleUrls: ['./add-personal-partner.component.less'] }) export class AddPersonalPartnerComponent implements OnInit { + @ViewChild('sf', { static: false }) + sf!: SFComponent; + schema: SFSchema = this.initBasicInfoSF(); + ui: SFUISchema = { + '*': { + spanLabelFixed: 180, + grid: { span: 24 } + }, + $_basicInfoTitle: { + spanLabelFixed: 0 + }, + $_legalPersontitle: { + spanLabelFixed: 0 + }, + $_isLoingDate: { + spanLabelFixed: 100, + grid: { xxl: 6, xl: 6, lg: 4, md: 6 } + } + }; - constructor() { } + constructor(private router: Router, public service: PartnerListService) {} + ngOnInit() {} - ngOnInit(): void { + submitForm() { + if (!this.sf.valid) { + this.sf.validator({ emitError: true }); + this.service.msgSrv.warning('请修改填写错误信息'); + return; + } + const enterpriseRegistrationTime = new Date(this.sf.value.enterpriseRegistrationTime); + const operatingStartTime = new Date(this.sf.value.operatingStartTime); + if (enterpriseRegistrationTime.getTime() > operatingStartTime.getTime()) { + this.service.msgSrv.warning('营业期限不能小于成立日期'); + return; + } + if (this.sf.value.operatingEndTime) { + const operatingEndTime = new Date(this.sf.value.operatingEndTime); + if (operatingStartTime.getTime() > operatingEndTime.getTime()) { + this.service.msgSrv.warning('营业期限不能小于期限开始日期'); + return; + } + } + const validStartTime = new Date(this.sf.value.legalPersonIdentityDTO.validStartTime); + if (this.sf.value.legalPersonIdentityDTO.validEndTime) { + const validEndTime = new Date(this.sf.value.legalPersonIdentityDTO.validEndTime); + if (validStartTime.getTime() > validEndTime.getTime()) { + this.service.msgSrv.warning('法人证件有效截止日期小于开始日期'); + return; + } + } + const sfVlaue = this.sf.value; + const params = {}; + Object.assign( + params, + { ...this.sf.value }, + { + enterpriseAddressCode: this.sf.value.enterpriseAddressCode[2], + oftenUsedServices: sfVlaue.oftenUsedServices, + registerAddress: sfVlaue.registerAddress, + registerPhone: sfVlaue.registerPhone, + creditPhoto: sfVlaue.creditPhoto, + creditPhotoWatermark: sfVlaue.creditPhotoWatermark, + promotersTelephone: sfVlaue.promotersTelephone, + networkTransporter: sfVlaue.networkTransporter, + adminUserInfo: { + certificateNumber: sfVlaue.certificateNumber, + certificatePhotoBack: sfVlaue.certificatePhotoBack, + certificatePhotoBackWatermark: sfVlaue.certificatePhotoBackWatermark, + certificatePhotoFront: sfVlaue.certificatePhotoFront, + certificatePhotoFrontWatermark: sfVlaue.certificatePhotoFrontWatermark, + name: sfVlaue.name + } + } + ); + // this.service.request(this.service.$api_save_enterprise_admin, params).subscribe(res => { + // if (res) { + // this.service.msgSrv.success('企业新增成功'); + // this.goBack(); + // } + // }); } + /* + * 根据地区code查询地区列表 + */ + getRegionDetailByCode(regionCode: any) { + return this.service.request(this.service.$api_get_region_by_code, { regionCode }); + } + + // 识别身份证 参数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.sf.setValue('/legalPersonIdentityDTO/name', res.name); + } + if (res.number) { + this.sf.setValue('/legalPersonIdentityDTO/certificateType', 0); + this.sf.setValue('/legalPersonIdentityDTO/certificateNumber', res.number); + } + } + if (isFront === 'back') { + // 背面 + if (res.validFrom) { + this.sf.setValue('/legalPersonIdentityDTO/validStartTime', res.validFrom); + } + if (res.validTo) { + this.sf.setValue('/legalPersonIdentityDTO/validEndTime', res.validTo); + this.sf.setValue('/legalPersonIdentityDTO/_isLoingDate', false); + } else { + this.sf.setValue('/legalPersonIdentityDTO/_isLoingDate', true); + } + } + } + // 企业管理员证件照 + if (type === 0) { + if (isFront === 'front') { + // 正面 + if (res.name) { + this.sf.setValue('/name', res.name); + } + if (res.number) { + this.sf.setValue('/certificateNumber', res.number); + } + } + } + } + }); + } + + goBack() { + window.history.go(-1); + } + + private initBasicInfoSF(): SFSchema { + return { + properties: { + // 合伙人信息 + adminUserInfo: { + type: 'object', + properties: { + _adminTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, + adminMobile: { + title: ' 手机号', + type: 'string', + minLength: 1, + format: 'mobile', + maxLength: 11, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入手机号', + errors: { required: '请输入手机号', format: '手机号格式错误' } + } + }, + _adminCertificatePhotoTipsA: { + title: '证件照', + type: 'string', + ui: { + widget: 'custom' + }, + default: true + }, + certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, + certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, + certificatePhotoFrontWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf.setValue('/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); + this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'front', 0); + } + } + } as SFUploadWidgetSchema + }, + _adminCertificatePhotoTipsB: { + title: '', + type: 'string', + ui: { + widget: 'custom', + offsetControl: 6 + } + }, + certificatePhotoBackWatermark: { + type: 'string', + title: '', + ui: { + ...IMAGECONFIG, + descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', + change: args => { + if (args.type === 'success') { + this.sf.setValue('/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); + } + } + } as SFUploadWidgetSchema + }, + name: { + title: '姓名', + type: 'string', + maxLength: 8, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入姓名' + } + }, + certificateNumber: { + title: '身份证号', + type: 'string', + format: 'id-card', + minLength: 1, + maxLength: 18, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入身份证号' + } + }, + operatingStartTime: { + title: '身份证有效开始日期', + type: 'string', + ui: { + ...DATECONFIG, + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + errors: { + required: '请选择开始日期' + } + } as SFDateWidgetSchema + }, + operatingEndTime: { + title: '身份证有效截止日期', + type: 'string', + ui: { + ...DATECONFIG, + grid: { xxl: 13, xl: 18, lg: 20, md: 18 }, + errors: { + required: '请选择截止日期' + }, + change: i => { + this.sf?.setValue('/adminUserInfo/_isLoingDate', false); + } + } as SFDateWidgetSchema + }, + _isLoingDate: { + title: '长期', + type: 'boolean', + ui: { + spanLabelFixed: 100, + grid: { span: 6 }, + class: 'input-back', + widget: 'checkbox', + change: i => this.sf?.setValue('/adminUserInfo/operatingEndTime', null) + } as SFCheckboxWidgetSchema + } + }, + required: ['_adminCertificatePhotoTipsA', 'adminMobile', 'name', 'certificateNumber', 'operatingStartTime'] + }, + // 所属城市 + _addressTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, + status3: { + type: 'string', + title: '所属城市', + default: ['WAIT_BUYER_PAY', 'TRADE_FINISHED'], + ui: { + widget: 'tree-select', + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请选择城市(最多3个)', + checkable: true, + asyncData: () => + of([ + { title: '待支付', key: 'WAIT_BUYER_PAY' }, + { title: '已支付', key: 'TRADE_SUCCESS' }, + { title: '交易完成', key: 'TRADE_FINISHED' } + ]) + } as SFTreeSelectWidgetSchema + }, + // 渠道销售 + _channelTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, + channel: { + title: '渠道销售邀请码', + type: 'string', + minLength: 1, + maxLength: 100, + ui: { + grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, + placeholder: '请输入渠道销售邀请码', + errors: { + required: '请输入渠道销售邀请码' + } + } + } + }, + required: [ + 'status3', + 'channel' + ] + }; + } } From 3b976844f0774b4d03fb526c4d308e4a82a0132a Mon Sep 17 00:00:00 2001 From: Lingzi Date: Fri, 11 Mar 2022 14:36:29 +0800 Subject: [PATCH 12/19] fix bug --- .../components/freight/list/list.component.ts | 161 +++++++++++++++++- src/assets/mocks/menu-data.json | 14 ++ 2 files changed, 168 insertions(+), 7 deletions(-) diff --git a/src/app/routes/usercenter/components/freight/list/list.component.ts b/src/app/routes/usercenter/components/freight/list/list.component.ts index 625cffaf..8f071066 100644 --- a/src/app/routes/usercenter/components/freight/list/list.component.ts +++ b/src/app/routes/usercenter/components/freight/list/list.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { STChange, STColumn, STColumnBadge, STComponent, STData, STRequestOptions } from '@delon/abc/st'; -import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; import { DynamicSettingModalComponent, ShipperBaseService } from '@shared'; import { NzModalService } from 'ng-zorro-antd/modal'; import { AccountDetailComponent } from 'src/app/shared/components/account-detail/account-detail.component'; @@ -116,7 +116,124 @@ export class FreightComponentsListComponent implements OnInit { showRequired: false } }, - + lockedStatus: { + type: 'string', + title: '企业类型', + enum: [ + { label: '全部', value: '' }, + { label: '物流企业', value: 0 } + ], + default: '', + ui: { + widget: 'select', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + lockedStatus8: { + type: 'string', + title: '公司所在地', + enum: [ + { label: '全部', value: '' }, + { label: '物流企业', value: 0 } + ], + default: '', + ui: { + widget: 'select', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + lockedStatus7: { + type: 'string', + title: '常用服务', + enum: [ + { label: '全部', value: '' }, + { label: '整车服务', value: 0 }, + { label: '大宗服务', value: 1 } + ], + default: '', + ui: { + widget: 'select', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + lockedStatus6: { + type: 'string', + title: '客户类型', + enum: [ + { label: '全部', value: '' }, + { label: '直客', value: 0 }, + { label: '渠道客户', value: 1 } + ], + default: '', + ui: { + widget: 'select', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + contactName5: { + title: '渠道销售', + type: 'string', + ui: { + placeholder: '请输入', + showRequired: false + } + }, + contactName4: { + title: '合伙人', + type: 'string', + ui: { + placeholder: '请输入', + showRequired: false + } + }, + contactName3: { + title: '客服人员', + type: 'string', + ui: { + placeholder: '请输入', + showRequired: false + } + }, + contactName2: { + title: '审核人', + type: 'string', + ui: { + placeholder: '请输入', + showRequired: false + } + }, + applyDate: { + type: 'string', + title: '申请时间', + ui: { + widget: 'sl-from-to', + type: 'date', + format: 'yyyy-MM-dd', + visibleIf: { + _$expand: (value: boolean) => value, + }, + } as SFDateWidgetSchema, + }, + applyDate1: { + type: 'string', + title: '审核时间', + ui: { + widget: 'sl-from-to', + type: 'date', + format: 'yyyy-MM-dd', + visibleIf: { + _$expand: (value: boolean) => value, + }, + } as SFDateWidgetSchema, + }, networkTransporter: { type: 'string', title: '网络货运人', @@ -138,6 +255,22 @@ export class FreightComponentsListComponent implements OnInit { } } }, + lockedStatus3: { + type: 'string', + title: '企业状态', + enum: [ + { label: '全部', value: '' }, + { label: '正常', value: 0 }, + { label: '冻结', value: 1 } + ], + default: '', + ui: { + widget: 'select', + visibleIf: { + expand: (value: boolean) => value + } + } + }, source: { type: 'string', title: '注册渠道', @@ -155,13 +288,13 @@ export class FreightComponentsListComponent implements OnInit { } } }, - lockedStatus: { + source2: { type: 'string', - title: '企业状态', + title: '证件是否过期', enum: [ { label: '全部', value: '' }, - { label: '正常', value: 0 }, - { label: '冻结', value: 1 } + { label: '是', value: 1 }, + { label: '否', value: 2 } ], default: '', ui: { @@ -170,7 +303,21 @@ export class FreightComponentsListComponent implements OnInit { expand: (value: boolean) => value } } - } + }, + source1: { + type: 'string', + title: '网络货运人', + enum: [ + { label: '全部', value: '' }, + ], + default: '', + ui: { + widget: 'select', + visibleIf: { + expand: (value: boolean) => value + } + } + }, } }; this.ui = { '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24 }, enter: () => this.st.load() } }; diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 473d4c2f..0f0ab51a 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -574,6 +574,20 @@ "hide": true } ] + }, + { + "text": "轮播图管理", + "link": "/partner/scroll-img/list", + "hide": true + }, + { + "text": "知识库管理", + "icon": "iconfont icon-yundan-copy", + "group": true, + "children": [{ + "text": "banner管理", + "link": "/knowledge/banner" + }] } ] } From 05dfb81a20e750d1c7fd0930222d94d80af940e1 Mon Sep 17 00:00:00 2001 From: wangshiming Date: Fri, 11 Mar 2022 14:50:43 +0800 Subject: [PATCH 13/19] fix bug --- .../rebate-setting.component.html | 10 +++- .../rebate-setting.component.ts | 50 +++++++++++-------- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.html b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.html index 50b366ea..a4864e4d 100644 --- a/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.html +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.html @@ -4,8 +4,8 @@ * @Author : Shiming * @Date : 2022-02-24 20:09:49 * @LastEditors : Shiming - * @LastEditTime : 2022-03-10 15:12:03 - * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-record\\rebate-record.component.html + * @LastEditTime : 2022-03-11 14:45:48 + * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\rebate-setting.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -31,6 +31,12 @@ + +
+
+ +
+
this.viewEvaluate(_record), - } + }, + { + text: '禁用', + click: _record => this.viewEvaluate(_record), + }, ] } ]; } /** - *查看明细 + *禁用 */ viewEvaluate(item: any) { - const modal = this.modal.create({ - nzTitle: '明细', - nzWidth: 1200, - nzContent: ParterRebateManageMenRecordDetailComponent, - nzComponentParams: { }, - nzFooter: null - }); - modal.afterClose.subscribe((res: any) => { - if (res) { + this.modal.confirm({ + nzTitle: '是否禁用该配置?', + nzOnOk: () => { + } }); } /** - *异常反馈 + *查看 */ feedback(item?: any) { const modal = this.modal.create({ - nzTitle: '异常反馈', + nzTitle: '查看', nzWidth: 580, nzContent: ParterRebateManageMenAbnormalFeedbackComponent, nzComponentParams: { i: item }, @@ -161,6 +164,9 @@ export class ParterRebateManageMentSettingComponent implements OnInit { if (res) { } }); + } + configAction() { + } /** * 重置表单 From 79a1e172dd4d5ad943cf408ecc8fb12bb9065aa9 Mon Sep 17 00:00:00 2001 From: Lingzi Date: Fri, 11 Mar 2022 15:16:02 +0800 Subject: [PATCH 14/19] fix bug --- src/styles.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles.less b/src/styles.less index a25a53de..2464d9a8 100644 --- a/src/styles.less +++ b/src/styles.less @@ -47,4 +47,4 @@ input[type="number"] { .break-word-all { word-break: break-all; word-wrap : break-word; -} \ No newline at end of file +} From 2d4eb18350a597a1acec3851c6e439f2fae91a80 Mon Sep 17 00:00:00 2001 From: wangshiming Date: Fri, 11 Mar 2022 15:28:41 +0800 Subject: [PATCH 15/19] fix bug --- .../routes/partner/partner-routing.module.ts | 6 +- src/app/routes/partner/partner.module.ts | 11 +- .../rebate-setting/add/add.component.html | 16 ++ .../rebate-setting/add/add.component.ts | 25 +++ .../rebate-setting.component.ts | 2 +- .../insurance-table/insurance-table.module.ts | 2 +- .../shared/components/rebate-table/index.ts | 13 ++ .../rebate-table/rebate-table.component.html | 92 +++++++++ .../rebate-table/rebate-table.component.less | 19 ++ .../rebate-table/rebate-table.component.ts | 195 ++++++++++++++++++ .../rebate-table/rebate-table.module.ts | 29 +++ .../rebate-table/rebate-table.service.ts | 18 ++ src/app/shared/index.ts | 3 +- 13 files changed, 422 insertions(+), 9 deletions(-) create mode 100644 src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html create mode 100644 src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts create mode 100644 src/app/shared/components/rebate-table/index.ts create mode 100644 src/app/shared/components/rebate-table/rebate-table.component.html create mode 100644 src/app/shared/components/rebate-table/rebate-table.component.less create mode 100644 src/app/shared/components/rebate-table/rebate-table.component.ts create mode 100644 src/app/shared/components/rebate-table/rebate-table.module.ts create mode 100644 src/app/shared/components/rebate-table/rebate-table.service.ts diff --git a/src/app/routes/partner/partner-routing.module.ts b/src/app/routes/partner/partner-routing.module.ts index 5fcfa3a2..42af70fc 100644 --- a/src/app/routes/partner/partner-routing.module.ts +++ b/src/app/routes/partner/partner-routing.module.ts @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-02-24 15:07:57 * @LastEditors : Shiming - * @LastEditTime : 2022-02-24 15:23:48 + * @LastEditTime : 2022-03-11 15:22:36 * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\partner-routing.module.ts * Copyright (C) 2022 huzhenhong. All rights reserved. */ @@ -37,6 +37,7 @@ import { AddEtpPartnerComponent } from './partner-list/components/add-etp-partne import { AddPersonalPartnerComponent } from './partner-list/components/add-personal-partner/add-personal-partner.component'; import { PartnerDetailComponent } from './partner-list/components/partner-detail/partner-detail.component'; import { PartnerListComponent } from './partner-list/components/index/partner-list.component'; +import { ParterRebateManageMentAddComponent } from './rebate-management/components/rebate-setting/add/add.component'; const routes: Routes = [ { @@ -72,7 +73,8 @@ const routes: Routes = [ children: [ { path: 'particulars', component: ParterRebateManageMentParticularsComponent }, { path: 'record', component: ParterRebateManageMentRecordComponent }, - { path: 'setting', component: ParterRebateManageMentSettingComponent } + { path: 'setting', component: ParterRebateManageMentSettingComponent }, + { path: 'setting/add/:id', component: ParterRebateManageMentAddComponent }, ] }, { diff --git a/src/app/routes/partner/partner.module.ts b/src/app/routes/partner/partner.module.ts index ac40e6ac..6eadaab1 100644 --- a/src/app/routes/partner/partner.module.ts +++ b/src/app/routes/partner/partner.module.ts @@ -4,13 +4,13 @@ * @Author : Shiming * @Date : 2022-03-09 14:34:55 * @LastEditors : Shiming - * @LastEditTime : 2022-03-09 14:56:46 + * @LastEditTime : 2022-03-11 15:28:01 * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\partner.module.ts * Copyright (C) 2022 huzhenhong. All rights reserved. */ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { SharedModule } from '@shared'; +import { rebateTableModule, SharedModule } from '@shared'; import { PartnerAccountManagementAccountDetailComponent } from './account-management/components/account-detail/account-detail.component'; import { PartnerAccountManagementListComponent } from './account-management/components/list/list.component'; import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-detail.component'; @@ -49,6 +49,7 @@ import { AddPersonalPartnerComponent } from './partner-list/components/add-perso import { ParterRebateManageMenAbnormalFeedbackComponent } from './rebate-management/model/abnormal-feedback/abnormal-feedback.component'; import { PartnerRecordedDetailComponent } from './recorded/components/detail/detail.component'; import { PartnerRecordedRecordComponent } from './recorded/components/record/record.component'; +import { ParterRebateManageMentAddComponent } from './rebate-management/components/rebate-setting/add/add.component'; const COMPONENTS: any[] = [ PartnerBusinessStatisticsIndexComponent, @@ -86,13 +87,15 @@ const COMPONENTS: any[] = [ ParterRebateManageMenAbnormalFeedbackComponent, ParterRebateManageMentSettingComponent, PartnerAuditModalComponent, + ParterRebateManageMentAddComponent, AddEtpPartnerComponent, - AddPersonalPartnerComponent + AddPersonalPartnerComponent, + ]; @NgModule({ declarations: [...COMPONENTS], - imports: [CommonModule, PartnerRoutingModule, SharedModule], + imports: [CommonModule, PartnerRoutingModule, SharedModule,rebateTableModule], providers: [PartnerListService] }) export class PartnerModule { } diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html new file mode 100644 index 00000000..b3c8f933 --- /dev/null +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html @@ -0,0 +1,16 @@ + + + + + 12121212 + + diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts new file mode 100644 index 00000000..ebfe0bce --- /dev/null +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts @@ -0,0 +1,25 @@ +import { ModalHelper } from '@delon/theme'; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; +import { processSingleSort, ShipperBaseService } from '@shared'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { RebateManagementService } from '../../../services/rebate-management.service'; +@Component({ + selector: 'app-parter-channel-rebate-management-add', + templateUrl: './add.component.html' +}) +export class ParterRebateManageMentAddComponent implements OnInit { + + constructor( + public router: Router, + public ar: ActivatedRoute, + public service: RebateManagementService, + private modal: NzModalService, + public shipperservice: ShipperBaseService, + ) {} + + ngOnInit() { + } +} diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts index b655f9a3..09f35ff9 100644 --- a/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts @@ -166,7 +166,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit { }); } configAction() { - + this.router.navigate(['/partner/rebate/setting/add', '']) } /** * 重置表单 diff --git a/src/app/shared/components/insurance-table/insurance-table.module.ts b/src/app/shared/components/insurance-table/insurance-table.module.ts index ab85e526..28711efd 100644 --- a/src/app/shared/components/insurance-table/insurance-table.module.ts +++ b/src/app/shared/components/insurance-table/insurance-table.module.ts @@ -13,11 +13,11 @@ import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { NzInputNumberModule } from 'ng-zorro-antd/input-number'; import { NzTableModule } from 'ng-zorro-antd/table'; -import { InsuranceTableComponent } from './insurance-table.component'; import { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm'; import { NzInputModule } from 'ng-zorro-antd/input'; import { DelonFormModule } from '@delon/form'; import { NzButtonModule } from 'ng-zorro-antd/button'; +import { InsuranceTableComponent } from './insurance-table.component'; const COMPONENTS = [InsuranceTableComponent]; const MODULES = [NzTableModule, NzInputNumberModule, NzPopconfirmModule, NzInputModule, NzButtonModule, DelonFormModule]; diff --git a/src/app/shared/components/rebate-table/index.ts b/src/app/shared/components/rebate-table/index.ts new file mode 100644 index 00000000..9b459de3 --- /dev/null +++ b/src/app/shared/components/rebate-table/index.ts @@ -0,0 +1,13 @@ +/* + * @Description : + * @Version : 1.0 + * @Author : Shiming + * @Date : 2022-01-25 20:20:07 + * @LastEditors : Shiming + * @LastEditTime : 2022-01-26 11:05:44 + * @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\insurance-table\\index.ts + * Copyright (C) 2022 huzhenhong. All rights reserved. + */ +export * from './rebate-table.module' +export * from './rebate-table.service' +export * from './rebate-table.component' \ No newline at end of file diff --git a/src/app/shared/components/rebate-table/rebate-table.component.html b/src/app/shared/components/rebate-table/rebate-table.component.html new file mode 100644 index 00000000..a7ab6f02 --- /dev/null +++ b/src/app/shared/components/rebate-table/rebate-table.component.html @@ -0,0 +1,92 @@ + +
+
+ +
+ + + + + + + + + + + +
+ + + + 险种 + 普货-基本险 + 普货-综合险 + 操作 + + + + + +
+
+ 公里数(km) +
+
|
+
+ + + + + (含) + +
+
+ + + +
+ + + + + + % + +
+ + +
+ + + + +
+ + + 删除 + + + +
+ + +
+
\ No newline at end of file diff --git a/src/app/shared/components/rebate-table/rebate-table.component.less b/src/app/shared/components/rebate-table/rebate-table.component.less new file mode 100644 index 00000000..bebea5bf --- /dev/null +++ b/src/app/shared/components/rebate-table/rebate-table.component.less @@ -0,0 +1,19 @@ +:host::ng-deep { + nz-input-number { + width: 85px; + + input { + width : 100%; + margin: 0; + } + + .ant-input-number-handler-wrap { + display: none; + } + + } + .ant-input-group { + display: -webkit-inline-box !important; + } + +} \ No newline at end of file diff --git a/src/app/shared/components/rebate-table/rebate-table.component.ts b/src/app/shared/components/rebate-table/rebate-table.component.ts new file mode 100644 index 00000000..75b3768a --- /dev/null +++ b/src/app/shared/components/rebate-table/rebate-table.component.ts @@ -0,0 +1,195 @@ +import { debounceTime } from 'rxjs/operators'; +import { Subject } from 'rxjs'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core'; +import { BaseService } from '@shared'; +import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; + +@Component({ + selector: 'app-rebate-table', + templateUrl: './rebate-table.component.html', + styleUrls: ['./rebate-table.component.less'] +}) +export class RebateTableComponent implements OnInit { + data: any[] = []; + headers: any[] = []; + sfdata: any; // 货源单设置回显 + + @ViewChild('sf', { static: false }) sf!: SFComponent; + schema: SFSchema = {}; + ui!: SFUISchema; + + formatterDollar = (value: number): string => `${value}`; + minrebatePrice: number = 0; + changeSub = new Subject(); + constructor(public service: BaseService, private cdr: ChangeDetectorRef) {} + + ngOnInit(): void { + this.loadData(); + this.initSF() + this.changeEndKmAction(); + this.minrebatePrice = 1000 + } + + loadData() { + this.service.request('/api/mdc/cuc/rebateConfig/list').subscribe(res => { + if (res) { + console.log(res); + this.data = res; + this.cdr.detectChanges(); + } + }); + this.service.request('/api/mdc/pbc/sysConfigItem/findItemValueByItemKeys', [ + "rebate.config.minrebatePrice" + ]).subscribe(res => { + if (res) { + console.log(res); + this.minrebatePrice = Number(res[0].itemValue) + } + }); + } + initSF() { + this.schema = { + properties: { + freightPrice: { + type: 'string', + title: '单票投保最低保费', + ui: { + widget: 'custom', + placeholder: '请输入', + errors: { required: '请填写' } + } + }, + }, + required: ['freightPrice'] + }; + this.ui = { + '*': { + spanLabelFixed: 160, + grid: { span: 24 } + }, + $freightPrice: { + grid: { span: 8 } + }, + }; + } + /** + * 修改结束车长 + * @param event 车长 + * @param i 下标 + */ + changeEndLength(event: any, i: number) { + if (event <= this.headers[i].startLength) { + this.headers[i].endLength = this.headers[i].startLength + 1; + this.changeNextStartLength(event, i + 1); + return; + } + this.headers[i].endLength = event; + this.changeNextStartLength(event, i + 1); + } + + /** + * 修改结束公里数 + * @param event 车长 + * @param i 下标 + */ + changeEndKm(event: any, i: number) { + if (event) { + console.log(event); + + this.changeSub.next(`${event},${i}`); + } + } + changeEndKmAction() { + this.changeSub.pipe(debounceTime(500)).subscribe((res: string) => { + if (res) { + const paras = res.split(','); + const num = Number(paras[0]); + const i = Number(paras[1]); + + if (num <= this.data[i].startKm) { + this.data[i].endKm = null; + setTimeout(() => { + this.data[i].endKm = this.data[i].startKm + 1 ; + }, 0); + this.changeNextStartKm(this.data[i].startKm + 1, i + 1); + return; + } + this.data[i].endKm = num; + this.changeNextStartKm(num, i + 1); + } + }); + } + + add() { + console.log(this.data); + + const tem = this.data[this.data?.length - 1]; + if (tem && tem.endKm) { + this.data.push({ + endKm: '', + startKm: tem.endKm + }); + this.data = [...this.data]; + } else { + this.service.msgSrv.warning('请填写完整公里数'); + } + } + + deleteRow(index: number) { + console.log(index); + var newArr = this.data.concat(); + newArr.splice(this.data.length-1,1) + // this.data = this.data.pop() + console.log(newArr); + this.data = [...newArr]; + } + + save() { + if(!this.minrebatePrice) { + this.service.msgSrv.error('必填项为空!') + return + } + let params= { + minrebatePrice: this.minrebatePrice, + rebateConfigDTOS: this.data + } + console.log(params); + this.service.request('/api/mdc/cuc/rebateConfig/saveBatch', params).subscribe(res => { + if (res) { + console.log(res); + this.service.msgSrv.success('修改成功'); + this.loadData(); + } + }); + } + + /** + * 遍历同步后置位车长 + * @param event 车长 + * @param i 下标 + */ + private changeNextStartLength(event: number, i: number) { + if (this.headers[i]) { + this.headers[i].startLength = event; + if (this.headers[i].endLength <= event) { + this.headers[i].endLength = this.headers[i].startLength + 0.5; + this.changeNextStartLength(event + 0.5, i + 1); + } + } + } + + /** + * 遍历同步后置位公里数 + * @param event 车长 + * @param i 下标 + */ + private changeNextStartKm(event: number, i: number) { + if (this.data[i]) { + this.data[i].startKm = event; + if (this.data[i].endKm <= event) { + this.data[i].endKm = this.data[i].startKm + 1; + this.changeNextStartKm(event + 1, i + 1); + } + } + } +} diff --git a/src/app/shared/components/rebate-table/rebate-table.module.ts b/src/app/shared/components/rebate-table/rebate-table.module.ts new file mode 100644 index 00000000..6e65e35b --- /dev/null +++ b/src/app/shared/components/rebate-table/rebate-table.module.ts @@ -0,0 +1,29 @@ +/* + * @Description : + * @Version : 1.0 + * @Author : Shiming + * @Date : 2022-01-25 20:23:54 + * @LastEditors : Shiming + * @LastEditTime : 2022-02-11 17:20:49 + * @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\rebate-table\\rebate-table.module.ts + * Copyright (C) 2022 huzhenhong. All rights reserved. + */ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { NzInputNumberModule } from 'ng-zorro-antd/input-number'; +import { NzTableModule } from 'ng-zorro-antd/table'; +import { RebateTableComponent } from './rebate-table.component'; +import { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { DelonFormModule } from '@delon/form'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +const COMPONENTS = [RebateTableComponent]; +const MODULES = [NzTableModule, NzInputNumberModule, NzPopconfirmModule, NzInputModule, NzButtonModule, DelonFormModule]; + +@NgModule({ + declarations: COMPONENTS, + imports: [CommonModule, FormsModule, ...MODULES], + exports: COMPONENTS +}) +export class rebateTableModule {} diff --git a/src/app/shared/components/rebate-table/rebate-table.service.ts b/src/app/shared/components/rebate-table/rebate-table.service.ts new file mode 100644 index 00000000..ed67d9fb --- /dev/null +++ b/src/app/shared/components/rebate-table/rebate-table.service.ts @@ -0,0 +1,18 @@ +/* + * @Description : + * @Version : 1.0 + * @Author : Shiming + * @Date : 2022-01-25 20:21:04 + * @LastEditors : Shiming + * @LastEditTime : 2022-01-25 20:35:52 + * @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\insurance-table\\insurance-table.service.ts + * Copyright (C) 2022 huzhenhong. All rights reserved. + */ +import { Injectable } from '@angular/core'; + + + +@Injectable({ providedIn: 'root' }) + +export class RebateService { +} diff --git a/src/app/shared/index.ts b/src/app/shared/index.ts index c61dfbdd..d8f2d2d9 100644 --- a/src/app/shared/index.ts +++ b/src/app/shared/index.ts @@ -1,7 +1,7 @@ /* * @Author: your name * @Date: 2021-11-29 10:04:12 - * @LastEditTime : 2022-02-11 14:31:22 + * @LastEditTime : 2022-03-11 15:12:20 * @LastEditors : Shiming * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @FilePath : \\tms-obc-web\\src\\app\\shared\\index.ts @@ -21,6 +21,7 @@ export * from './components/dict-select/index'; export * from './components/dynamic-setting'; export * from './components/singlepage-setting'; export * from './components/insurance-table/index'; +export * from './components/rebate-table/index'; // Utils export * from './utils'; From 867a975a920536ffff035b326d744fc2d7b4c7aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Fri, 11 Mar 2022 16:16:15 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=A5=E8=B4=A6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../withdrawals-record.component.ts | 10 +- .../account-detail.component.html | 2 +- .../recorded-detail.component.ts | 4 +- .../withdrawals-record.component.ts | 2 +- .../routes/partner/partner-routing.module.ts | 39 ++++---- .../components/detail/detail.component.html | 74 ++++++++++---- .../components/detail/detail.component.ts | 77 ++++++++++++--- .../components/record/record.component.ts | 98 +++++++++---------- src/assets/mocks/menu-data.json | 5 +- 9 files changed, 191 insertions(+), 120 deletions(-) diff --git a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts index aef18902..5113c45c 100644 --- a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts +++ b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts @@ -27,9 +27,9 @@ export class WithdrawalsRecordComponent implements OnInit { refundStatus: any = ''; msg = ''; - constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {} + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) { } - ngOnInit(): void {} + ngOnInit(): void { } beforeReq = (requestOptions: STRequestOptions) => { if (this.sf) { @@ -42,6 +42,7 @@ export class WithdrawalsRecordComponent implements OnInit { refundStatus: this.refundStatus || null }); } + delete requestOptions?.body?.expand; return requestOptions; }; @@ -80,6 +81,10 @@ export class WithdrawalsRecordComponent implements OnInit { label: '拒绝', type: 'default', onClick: () => { + if (!this.msg || this.msg.trim().length === 0) { + this.service.msgSrv.warning('请填写拒绝原因 '); + return false; + } this.service .request(this.service.$api_disagree_refund, { refundApplicationId: params, @@ -92,6 +97,7 @@ export class WithdrawalsRecordComponent implements OnInit { this.st.load(1); } }); + return false; } }, { diff --git a/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html b/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html index 7f949749..920a35e7 100644 --- a/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html +++ b/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html @@ -1,4 +1,4 @@ - + diff --git a/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts b/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts index 4efdf3a2..f773be63 100644 --- a/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts +++ b/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { Router } from '@angular/router'; import { STColumn, STComponent } from '@delon/abc/st'; -import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema, Widget } from '@delon/form'; import { ModalHelper, _HttpClient } from '@delon/theme'; import { AccountManagemantService } from '../../services/account-managemant.service'; @@ -129,7 +129,7 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit { * @param record 当前行 */ viewBookedRecord(record: any) { - + window.open(location.origin + `#/partner/recorded/record?ltdId=${record?.ltdId}&userId=${record?.userId}&userIdLabel=${record?.banktypeLabel}`); } /** diff --git a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.ts b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.ts index 6b7b86f4..6a428518 100644 --- a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.ts +++ b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.ts @@ -325,7 +325,7 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni }, { text: '详情', - click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar }) + click: item => this.router.navigate(['./../detail/' + item.id], { relativeTo: this.ar }) } ] } diff --git a/src/app/routes/partner/partner-routing.module.ts b/src/app/routes/partner/partner-routing.module.ts index 5fcfa3a2..79c6269f 100644 --- a/src/app/routes/partner/partner-routing.module.ts +++ b/src/app/routes/partner/partner-routing.module.ts @@ -78,11 +78,24 @@ const routes: Routes = [ { path: 'account-management', children: [ - { path: 'list', component: PartnerAccountManagementListComponent }, - { path: 'account-detail', component: PartnerAccountManagementAccountDetailComponent }, - { path: 'recorded-detail/:id', component: PartnerAccountManagementRecordedDetailComponent }, - { path: 'withdraw-record', component: PartnerAccountManagementWithdrawalsRecordComponent }, - { path: 'withdraw-record/:id', component: PartnerAccountManagementWithdralDetailComponent } + { + path: 'am', + children: [ + { path: '', redirectTo: 'list' }, + { path: 'list', component: PartnerAccountManagementListComponent }, + { path: 'detail/:id', component: PartnerAccountManagementAccountDetailComponent }, + { path: 'recorded/detail/:id', component: PartnerAccountManagementRecordedDetailComponent }, + ] + }, + { + path: 'withdraw-record', + children: [ + { path: '', redirectTo: 'list' }, + { path: 'list', component: PartnerAccountManagementWithdrawalsRecordComponent }, + { path: 'detail/:id', component: PartnerAccountManagementWithdralDetailComponent } + ] + } + ] }, { @@ -92,22 +105,6 @@ const routes: Routes = [ { path: 'detail/:id', component: PartnerDetailComponent }, { path: 'add-etp-partner', component: AddEtpPartnerComponent }, { path: 'add-personal-partner', component: AddPersonalPartnerComponent }, - { - path: 'am', - children: [ - { path: '', redirectTo: 'list' }, - { path: '', component: PartnerAccountManagementListComponent }, - { path: 'detail/:id', component: PartnerAccountManagementAccountDetailComponent }, - { path: 'recorded/detail/:id', component: PartnerAccountManagementRecordedDetailComponent }, - ] - }, - { - path: 'withdraw-record', - children: [ - { path: '', component: PartnerAccountManagementWithdrawalsRecordComponent }, - { path: 'detail/:id', component: PartnerAccountManagementWithdralDetailComponent } - ] - }, ] }, { diff --git a/src/app/routes/partner/recorded/components/detail/detail.component.html b/src/app/routes/partner/recorded/components/detail/detail.component.html index ed894907..f3d36121 100644 --- a/src/app/routes/partner/recorded/components/detail/detail.component.html +++ b/src/app/routes/partner/recorded/components/detail/detail.component.html @@ -8,57 +8,89 @@ * @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\withdrawals-record\\withdrawals-detail\\withdrawals-detail.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> - + + +
+

待审批

+
+ +
+
+
- +
+ + {{formData?.ltdName}} + {{formData?.ltdName}} + + {{formData?.refundApplyCode}} + {{formData?.bankType==='1'?'平安银行':'浦发银行'}} - - {{formData?.refundApplyCode}} - - - {{formData?.bankAccountName}} - - - {{formData?.createTime}} - {{formData?.virtualAccount}} - + + {{formData?.createTime}} + + + {{formData?.amount | currency}} + + + {{formData?.amount | currency}} + + + {{formData?.amount | currency}} + + {{formData?.refundStatusLabel}} - - {{formData?.amount | currency}} + + + + + {{formData?.bankCardNumber}} + + + {{formData?.bankSerialNumber}} - - {{formData?.bankCardNumber}} - - - {{formData?.refundStatus==='3'?'下载回单':'暂无回单'}} -
- +
+ + +
+
+ + + +
+
+
diff --git a/src/app/routes/partner/recorded/components/detail/detail.component.ts b/src/app/routes/partner/recorded/components/detail/detail.component.ts index a4c4b5ba..e1dc2eba 100644 --- a/src/app/routes/partner/recorded/components/detail/detail.component.ts +++ b/src/app/routes/partner/recorded/components/detail/detail.component.ts @@ -1,5 +1,6 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { NzModalService } from 'ng-zorro-antd/modal'; import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; @@ -9,13 +10,15 @@ import { FreightAccountService } from 'src/app/routes/financial-management/servi styleUrls: ['./detail.component.less'] }) export class PartnerRecordedDetailComponent implements OnInit { + @ViewChild('auditModal', { static: false }) auditModal!: any; formData: any = {}; - timeLineData: any = []; + msg = ''; + id = ''; - constructor(public service: FreightAccountService, private route: ActivatedRoute) { - const id = route.snapshot.params.id; - this.loadRefundDetail(id); + constructor(public service: FreightAccountService, private route: ActivatedRoute, private nzModalService: NzModalService) { + this.id = route.snapshot.params.id; + this.loadRefundDetail(this.id); } ngOnInit(): void { } @@ -68,19 +71,61 @@ export class PartnerRecordedDetailComponent implements OnInit { }); } - downBack() { - if (this.formData?.refundStatus !== '3') { - return; - } - this.service.getReceiptUrl(this.formData.receiptUrl, { - bankType: this.formData.bankType, - rmYll: this.formData.userId, - snglFlgCd: this.formData.coreSerNo, - bussType: '06', - ltdId: this.formData.ltdId + auditAction(item?: any, type: string = '1') { + this.msg = ''; + let params: Array = []; + params = [item.id]; + const modal = this.nzModalService.create({ + nzTitle: type === '1' ? '审核' : '复审', + nzContent: this.auditModal, + nzFooter: [ + { + label: '拒绝', + type: 'default', + onClick: () => { + if (!this.msg || this.msg.trim().length === 0) { + this.service.msgSrv.warning('请填写拒绝原因 '); + return false; + } + this.service + .request(this.service.$api_disagree_refund, { + refundApplicationId: params, + msg: this.msg + }) + .subscribe(res => { + if (res) { + this.service.msgSrv.success('审核拒绝成功'); + modal.destroy(true); + } + }); + return false; + } + }, + { + label: '通过', + type: 'primary', + onClick: () => { + this.service + .request(this.service.$api_agree_refund, { + refundApplicationId: params, + msg: this.msg + }) + .subscribe(res => { + if (res) { + this.service.msgSrv.success('审核通过成功'); + modal.destroy(true); + } + }); + } + } + ] + }); + modal.afterClose.subscribe((res: any) => { + if (res) { + this.loadRefundDetail(this.id); + } }); } - goBack() { history.go(-1); } diff --git a/src/app/routes/partner/recorded/components/record/record.component.ts b/src/app/routes/partner/recorded/components/record/record.component.ts index 49b6b08f..4b97ba2c 100644 --- a/src/app/routes/partner/recorded/components/record/record.component.ts +++ b/src/app/routes/partner/recorded/components/record/record.component.ts @@ -17,8 +17,8 @@ export class PartnerRecordedRecordComponent implements OnInit { @ViewChild('sf', { static: false }) sf!: SFComponent; @ViewChild('auditModal', { static: false }) auditModal!: any; @ViewChild('viewReasonModal', { static: false }) viewReasonModal!: any; - columns: STColumn[] = this.initST(); - searchSchema: SFSchema = this.initSF(); + columns!: STColumn[]; + searchSchema!: SFSchema; totalInfo: any = { partnerNum: 34, count: 98, @@ -34,9 +34,22 @@ export class PartnerRecordedRecordComponent implements OnInit { refundStatus: any = ''; msg = ''; - constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) { } - ngOnInit(): void { } + ltdId = ''; // 网络货运人 + accountName = ''; // 账户名称 + + + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) { + + this.accountName = this.ar.snapshot.queryParams?.userIdLabel || ''; + this.ltdId = this.ar.snapshot.queryParams?.ltdId || ''; + + } + + ngOnInit(): void { + this.searchSchema = this.initSF(); + this.columns = this.initST(); + } beforeReq = (requestOptions: STRequestOptions) => { if (this.sf) { @@ -49,6 +62,7 @@ export class PartnerRecordedRecordComponent implements OnInit { refundStatus: this.refundStatus || null }); } + delete requestOptions?.body?.expand; return requestOptions; }; @@ -107,7 +121,7 @@ export class PartnerRecordedRecordComponent implements OnInit { this.st.load(1); } - auditAction(item?: any) { + auditAction(item?: any, type: string = '1') { this.msg = ''; let params: Array = []; if (item) { @@ -116,13 +130,17 @@ export class PartnerRecordedRecordComponent implements OnInit { params = this.selectedRows.map(node => node.id); } const modal = this.nzModalService.create({ - nzTitle: '审核', + nzTitle: type === '1' ? '审核' : '复审', nzContent: this.auditModal, nzFooter: [ { - label: '备注', + label: '拒绝', type: 'default', onClick: () => { + if (!this.msg || this.msg.trim().length === 0) { + this.service.msgSrv.warning('请填写拒绝原因 '); + return false; + } this.service .request(this.service.$api_disagree_refund, { refundApplicationId: params, @@ -135,6 +153,7 @@ export class PartnerRecordedRecordComponent implements OnInit { this.st.load(1); } }); + return false; } }, { @@ -203,79 +222,47 @@ export class PartnerRecordedRecordComponent implements OnInit { hidden: true } }, - refundApplyCode: { + accountName: { type: 'string', - title: '提现单号', + title: '账户名称', + default: this.accountName, ui: { placeholder: '请输入' } }, refundStatus: { type: 'string', - title: '提现状态', + title: '入账状态', ui: { widget: 'dict-select', params: { dictKey: 'refund:apply:status' }, placeholder: '请选择' } }, - createTime: { - title: '提现时间', - type: 'string', - ui: { - widget: 'sl-from-to-search', - format: 'yyyy-MM-dd', - placeholder: '请选择', - nzShowTime: true - } as SFDateWidgetSchema - }, - bankAccountName: { - type: 'string', - title: '账户名称', - ui: { - placeholder: '请输入', - visibleIf: { - expand: (value: boolean) => value - } - } - }, - accountType: { - type: 'string', - title: '账户类型', - ui: { - widget: 'dict-select', - params: { dictKey: 'bank:type' }, - placeholder: '请选择', - visibleIf: { - expand: (value: boolean) => value - } - } - }, ltdId: { type: 'string', title: '网络货运人', + default: this.ltdId, ui: { widget: 'select', placeholder: '请选择', allowClear: true, asyncData: () => this.service.getNetworkFreightForwarder(), - visibleIf: { - expand: (value: boolean) => value - } } }, - bankType: { + createTime: { + title: '提交时间', type: 'string', - title: '银行类型', ui: { - widget: 'dict-select', - params: { dictKey: 'bankname:type' }, - placeholder: '请输入', + widget: 'sl-from-to-search', + format: 'yyyy-MM-dd', + placeholder: '请选择', + nzShowTime: true, visibleIf: { expand: (value: boolean) => value } - } - } + } as SFDateWidgetSchema + }, } }; } @@ -285,7 +272,7 @@ export class PartnerRecordedRecordComponent implements OnInit { { title: '', index: 'key', type: 'checkbox', className: 'text-center' }, { title: '账户名称', index: 'createTime', width: 180, className: 'text-center' }, { title: '虚拟账户', index: 'virtualAccount', width: 180, className: 'text-center' }, - { title: '入账单号', index: 'refundApplyCode', width: 180, className: 'text-center' }, + { title: '入账单号', index: 'refundApplyCode', width: 190, className: 'text-center' }, { title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' }, { title: '开票金额', @@ -324,6 +311,11 @@ export class PartnerRecordedRecordComponent implements OnInit { iif: item => item.refundStatus === '1', click: item => this.auditAction(item) }, + { + text: '复审', + iif: item => item.refundStatus === '2', + click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar }) + }, { text: '详情', click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar }) diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 6fce9bbf..1bc855f6 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -508,8 +508,7 @@ { "text": "合伙人管理", "icon": "anticon anticon-dashboard", - "children": [ - { + "children": [{ "text": "合伙人列表", "link": "/partner/partner-list" }, @@ -547,7 +546,7 @@ "group": true, "children": [{ "text": "账户管理", - "link": "/partner/account-management/am" + "link": "/partner/account-management/am/list" }, { "text": "账户明细", From 63ab601233205acd6e00784ae90ceb9cb917a524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Fri, 11 Mar 2022 16:24:17 +0800 Subject: [PATCH 17/19] - --- .../account-detail/account-detail.component.html | 8 +++++++- .../components/account-detail/account-detail.component.ts | 4 ++++ .../recorded-detail/recorded-detail.component.html | 8 +++++++- .../recorded-detail/recorded-detail.component.ts | 3 +++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html b/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html index 920a35e7..8669a08f 100644 --- a/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html +++ b/src/app/routes/partner/account-management/components/account-detail/account-detail.component.html @@ -1,4 +1,10 @@ - + + + + + diff --git a/src/app/routes/partner/account-management/components/account-detail/account-detail.component.ts b/src/app/routes/partner/account-management/components/account-detail/account-detail.component.ts index 9dd83dc6..860ea7c4 100644 --- a/src/app/routes/partner/account-management/components/account-detail/account-detail.component.ts +++ b/src/app/routes/partner/account-management/components/account-detail/account-detail.component.ts @@ -150,4 +150,8 @@ export class PartnerAccountManagementAccountDetailComponent implements OnInit { this.st.load(1); } export() { } + + goBack() { + window.history.go(-1); + } } diff --git a/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.html b/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.html index cdbf3b4e..5fbc2ce6 100644 --- a/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.html +++ b/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.html @@ -1,4 +1,10 @@ - + + + + + diff --git a/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts b/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts index f773be63..5ba0a4b9 100644 --- a/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts +++ b/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts @@ -142,5 +142,8 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit { handleCancel() { this.showBillDetail = false; } + goBack() { + window.history.go(-1); + } } From 98a709c3f18c66deac9f09abe4f902abde924bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Fri, 11 Mar 2022 17:35:13 +0800 Subject: [PATCH 18/19] - --- .../components/recorded-detail/recorded-detail.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts b/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts index 5ba0a4b9..a3dc1911 100644 --- a/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts +++ b/src/app/routes/partner/account-management/components/recorded-detail/recorded-detail.component.ts @@ -102,7 +102,7 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit { title: '操作', className: 'text-center', width: '20%', buttons: [ { text: '订单明细', - click: (_record) => this.router.navigate(['/']) + click: (_record) => window.open(location.origin + `#/partner/rebate/record?ltdId=${_record?.ltdId}`) } ] }, From 95ed59c7d2f49cdaaf575c567db9e02a276ada68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Fri, 11 Mar 2022 17:41:28 +0800 Subject: [PATCH 19/19] - --- .../account-management/components/list/list.component.html | 6 ++---- .../withdrawals-record/withdrawals-record.component.html | 4 ++-- .../recorded/components/record/record.component.html | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/app/routes/partner/account-management/components/list/list.component.html b/src/app/routes/partner/account-management/components/list/list.component.html index e982c4e3..465b42a3 100644 --- a/src/app/routes/partner/account-management/components/list/list.component.html +++ b/src/app/routes/partner/account-management/components/list/list.component.html @@ -5,10 +5,8 @@
--> - - + + diff --git a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.html b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.html index d7c20673..449d3e1b 100644 --- a/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.html +++ b/src/app/routes/partner/account-management/components/withdrawals-record/withdrawals-record.component.html @@ -8,7 +8,7 @@
- +
- +