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..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,11 +4,11 @@ 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'] }) -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 6c78c6fe..5fcfa3a2 100644 --- a/src/app/routes/partner/partner-routing.module.ts +++ b/src/app/routes/partner/partner-routing.module.ts @@ -29,12 +29,14 @@ 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 { PartnerListComponent } from './partner-list/components/index/partner-list.component'; -import { PartnerDetailComponent } from './partner-list/components/partner-detail/partner-detail.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'; import { ParterRebateManageMentSettingComponent } from './rebate-management/components/rebate-setting/rebate-setting.component'; import { AddEtpPartnerComponent } from './partner-list/components/add-etp-partner/add-etp-partner.component'; 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'; const routes: Routes = [ { @@ -80,7 +82,7 @@ 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: PartnerAccountManagementWithdralDetailComponent } ] }, { @@ -90,6 +92,22 @@ 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 } + ] + }, ] }, { @@ -100,10 +118,18 @@ const routes: Routes = [ { path: 'channel-detail', component: ParterClaimAuditListChannelDetailComponent }, { path: 'partner-detail', component: ParterClaimAuditListPartnerDetailComponent } ] - } + }, + { + path: 'recorded', + children: [ + { path: 'record', component: PartnerRecordedRecordComponent }, + { path: 'record/detail/:id', component: PartnerRecordedDetailComponent } + ] + }, + ]; @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 50653057..ac40e6ac 100644 --- a/src/app/routes/partner/partner.module.ts +++ b/src/app/routes/partner/partner.module.ts @@ -8,46 +8,47 @@ * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\partner.module.ts * Copyright (C) 2022 huzhenhong. All rights reserved. */ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; import { SharedModule } from '@shared'; -import { PartnerRoutingModule } from './partner-routing.module'; +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'; +import { PartnerAccountManagementVirtualAccountDetailComponent } from './account-management/components/virtual-account-detail/virtual-account-detail.component'; +import { PartnerAccountManagementWithdralDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; +import { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.component'; import { PartnerBusinessStatisticsIndexComponent } from './business-statistics/components/index/index.component'; -import { ParterChannelSalesListComponent } from './channel-sales/components/list/list.component'; -import { ParterChannelSalesEditComponent } from './channel-sales/components/edit/edit.component'; -import { ParterLevelConfigEditComponent } from './level-config/components/edit/edit.component'; -import { ParterLevelConfigListComponent } from './level-config/components/list/list.component'; -import { PartnerPartnerStatisticsComponent } from './business-statistics/components/partner-statistics/partner-statistics.component'; -import { PartnerSaleStatisticsComponent } from './business-statistics/components/sale-statistics/sale-statistics.component'; -import { PartnerSaleCustomDetailComponent } from './business-statistics/components/sale-custom-detail/sale-custom-detail.component'; import { PartnerPartnerCustomDetailComponent } from './business-statistics/components/partner-custom-detail/partner-custom-detail.component'; -import { ParterRebateManageMentParticularsComponent } from './rebate-management/components/particulars/particulars.component'; -import { PartnerSalePartnerDetailComponent } from './business-statistics/components/sale-partner-detail/sale-partner-detail.component'; import { PartnerPartnerCustomOrderDetailComponent } from './business-statistics/components/partner-custom-order-detail/partner-custom-order-detail.component'; import { PartnerPartnerOrderDetailComponent } from './business-statistics/components/partner-order-detail/partner-order-detail.component'; -import { PartnerAccountManagementListComponent } from './account-management/components/list/list.component'; -import { ParterClaimAuditListComponent } from './claim-audit/components/list/list.component'; -import { ParterClaimAuditListChannelDetailComponent } from './claim-audit/components/channel-detail/channel-detail.component'; -import { ParterClaimAuditListPartnerDetailComponent } from './claim-audit/components/partner-detail/partner-detail.component'; +import { PartnerPartnerStatisticsComponent } from './business-statistics/components/partner-statistics/partner-statistics.component'; +import { PartnerSaleCustomDetailComponent } from './business-statistics/components/sale-custom-detail/sale-custom-detail.component'; +import { PartnerSalePartnerDetailComponent } from './business-statistics/components/sale-partner-detail/sale-partner-detail.component'; +import { PartnerSaleStatisticsComponent } from './business-statistics/components/sale-statistics/sale-statistics.component'; +import { ParterChannelSalesEditComponent } from './channel-sales/components/edit/edit.component'; +import { ParterChannelSalesListComponent } from './channel-sales/components/list/list.component'; import { ParterClaimAuditListChannelApproveComponent } from './claim-audit/components/channel-approve/channel-approve.component'; -import { ParterClaimAuditListPartnerApproveComponent } from './claim-audit/components/partner-approve/partner-approve.component'; -import { ParterClaimAuditListPartnerRejectComponent } from './claim-audit/components/partner-reject/partner-reject.component'; +import { ParterClaimAuditListChannelDetailComponent } from './claim-audit/components/channel-detail/channel-detail.component'; import { ParterClaimAuditListChannelRejectComponent } from './claim-audit/components/channel-reject/channel-reject.component'; -import { PartnerAccountManagementVirtualAccountDetailComponent } from './account-management/components/virtual-account-detail/virtual-account-detail.component'; - -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 { PartnerDetailComponent } from './partner-list/components/partner-detail/partner-detail.component'; +import { ParterClaimAuditListComponent } from './claim-audit/components/list/list.component'; +import { ParterClaimAuditListPartnerApproveComponent } from './claim-audit/components/partner-approve/partner-approve.component'; +import { ParterClaimAuditListPartnerDetailComponent } from './claim-audit/components/partner-detail/partner-detail.component'; +import { ParterClaimAuditListPartnerRejectComponent } from './claim-audit/components/partner-reject/partner-reject.component'; +import { ParterLevelConfigEditComponent } from './level-config/components/edit/edit.component'; +import { ParterLevelConfigListComponent } from './level-config/components/list/list.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 { PartnerDetailComponent } from './partner-list/components/partner-detail/partner-detail.component'; import { PartnerListService } from './partner-list/services/partner-list.service'; +import { PartnerRoutingModule } from './partner-routing.module'; +import { ParterRebateManageMentParticularsComponent } from './rebate-management/components/particulars/particulars.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'; import { AddEtpPartnerComponent } from './partner-list/components/add-etp-partner/add-etp-partner.component'; import { AddPersonalPartnerComponent } from './partner-list/components/add-personal-partner/add-personal-partner.component'; +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'; const COMPONENTS: any[] = [ PartnerBusinessStatisticsIndexComponent, @@ -77,7 +78,9 @@ const COMPONENTS: any[] = [ PartnerAccountManagementAccountDetailComponent, PartnerAccountManagementRecordedDetailComponent, PartnerAccountManagementWithdrawalsRecordComponent, - PartnerAccountManagementWithdrawalsDetailComponent, + PartnerAccountManagementWithdralDetailComponent, + PartnerRecordedRecordComponent, + PartnerRecordedDetailComponent, PartnerListComponent, PartnerDetailComponent, ParterRebateManageMenAbnormalFeedbackComponent, @@ -92,4 +95,4 @@ const COMPONENTS: any[] = [ imports: [CommonModule, PartnerRoutingModule, SharedModule], providers: [PartnerListService] }) -export class PartnerModule {} +export class PartnerModule { } 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 8aaa42ed..6fce9bbf 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -547,11 +547,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 }, { @@ -560,7 +560,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 } ] @@ -569,16 +574,25 @@ "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 + } + ] + }, + { + "text": "入账记录", + "link": "/partner/recorded/record" + }, + { + "text": "入账详情", + "link": "/partner/recorded/record/:id", + "hide": true } ] }