入账记录
This commit is contained in:
@ -4,7 +4,7 @@ import { FreightAccountService } from 'src/app/routes/financial-management/servi
|
|||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-withdrawals-detail',
|
selector: 'app-partner-account-management-withdrawals-detail',
|
||||||
templateUrl: './withdrawals-detail.component.html',
|
templateUrl: './withdrawals-detail.component.html',
|
||||||
styleUrls: ['./withdrawals-detail.component.less']
|
styleUrls: ['./withdrawals-detail.component.less']
|
||||||
})
|
})
|
||||||
|
|||||||
@ -30,6 +30,8 @@ import { PartnerAccountManagementAccountDetailComponent } from './account-manage
|
|||||||
import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-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 { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.component';
|
||||||
import { PartnerAccountManagementWithdralDetailComponent } 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 { PartnerRecordedRecordComponent } from './recorded/components/record/record.component';
|
||||||
|
import { PartnerRecordedDetailComponent } from './recorded/components/detail/detail.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{
|
{
|
||||||
@ -79,7 +81,6 @@ const routes: Routes = [
|
|||||||
{ path: 'recorded/detail/:id', component: PartnerAccountManagementRecordedDetailComponent },
|
{ path: 'recorded/detail/:id', component: PartnerAccountManagementRecordedDetailComponent },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
path: 'withdraw-record',
|
path: 'withdraw-record',
|
||||||
children: [
|
children: [
|
||||||
@ -89,7 +90,6 @@ const routes: Routes = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
path: 'claim-audit',
|
path: 'claim-audit',
|
||||||
children: [
|
children: [
|
||||||
@ -99,6 +99,14 @@ const routes: Routes = [
|
|||||||
{ path: 'partner-detail', component: ParterClaimAuditListPartnerDetailComponent },
|
{ path: 'partner-detail', component: ParterClaimAuditListPartnerDetailComponent },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'recorded',
|
||||||
|
children: [
|
||||||
|
{ path: 'record', component: PartnerRecordedRecordComponent },
|
||||||
|
{ path: 'record/detail/:id', component: PartnerRecordedDetailComponent }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
];
|
];
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [RouterModule.forChild(routes)],
|
imports: [RouterModule.forChild(routes)],
|
||||||
|
|||||||
@ -40,6 +40,8 @@ import { PartnerAccountManagementRecordedDetailComponent } from './account-manag
|
|||||||
import { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.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 { PartnerAccountManagementWithdralDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component';
|
||||||
import { ParterRebateManageMentRecordComponent } from './rebate-management/components/rebate-record/rebate-record.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[] = [
|
const COMPONENTS: any[] = [
|
||||||
PartnerBusinessStatisticsIndexComponent,
|
PartnerBusinessStatisticsIndexComponent,
|
||||||
@ -69,7 +71,10 @@ const COMPONENTS: any[] = [
|
|||||||
PartnerAccountManagementAccountDetailComponent,
|
PartnerAccountManagementAccountDetailComponent,
|
||||||
PartnerAccountManagementRecordedDetailComponent,
|
PartnerAccountManagementRecordedDetailComponent,
|
||||||
PartnerAccountManagementWithdrawalsRecordComponent,
|
PartnerAccountManagementWithdrawalsRecordComponent,
|
||||||
PartnerAccountManagementWithdralDetailComponent
|
PartnerAccountManagementWithdralDetailComponent,
|
||||||
|
PartnerRecordedRecordComponent,
|
||||||
|
PartnerRecordedDetailComponent
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@ -0,0 +1,64 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-05 20:15:41
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-01-18 17:17:19
|
||||||
|
* @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.
|
||||||
|
-->
|
||||||
|
<page-header-wrapper [title]="'入账详情'" [logo]="logo">
|
||||||
|
<ng-template #logo>
|
||||||
|
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
||||||
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
|
</button>
|
||||||
|
</ng-template>
|
||||||
|
</page-header-wrapper>
|
||||||
|
|
||||||
|
|
||||||
|
<nz-card [nzLoading]="service.http.loading">
|
||||||
|
<nz-alert nzType="info" nzMessage="提现信息" class="mb-md"></nz-alert>
|
||||||
|
<div se-container [labelWidth]="130">
|
||||||
|
<se label="网络货运人">
|
||||||
|
{{formData?.ltdName}}
|
||||||
|
</se>
|
||||||
|
<se label="银行类型">
|
||||||
|
{{formData?.bankType==='1'?'平安银行':'浦发银行'}}
|
||||||
|
</se>
|
||||||
|
<se label="提现单号">
|
||||||
|
{{formData?.refundApplyCode}}
|
||||||
|
</se>
|
||||||
|
<se label="账户名称">
|
||||||
|
{{formData?.bankAccountName}}
|
||||||
|
</se>
|
||||||
|
<se label="提现时间">
|
||||||
|
{{formData?.createTime}}
|
||||||
|
</se>
|
||||||
|
<se label="虚拟账户">
|
||||||
|
{{formData?.virtualAccount}}
|
||||||
|
</se>
|
||||||
|
<se label="提现状态">
|
||||||
|
{{formData?.refundStatusLabel}}
|
||||||
|
</se>
|
||||||
|
<se label="提现金额">
|
||||||
|
{{formData?.amount | currency}}
|
||||||
|
</se>
|
||||||
|
<se label="银行流水号">
|
||||||
|
{{formData?.bankSerialNumber}}
|
||||||
|
</se>
|
||||||
|
<se label="提现至银行卡">
|
||||||
|
{{formData?.bankCardNumber}}
|
||||||
|
</se>
|
||||||
|
<se label="银行回单" col="1">
|
||||||
|
<a (click)="downBack()">{{formData?.refundStatus==='3'?'下载回单':'暂无回单'}}</a>
|
||||||
|
</se>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<nz-alert nzType="info" nzMessage="提现进度" class="mb-md mt-md"></nz-alert>
|
||||||
|
<div nz-row class="mt-xl">
|
||||||
|
<div nz-col nzSpan="12" nzOffset="1">
|
||||||
|
<app-logistics-time-line [data]="timeLineData"></app-logistics-time-line>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`,
|
||||||
|
color: 'red'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.timeLineData.push({
|
||||||
|
time: res.agreeTime,
|
||||||
|
value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`,
|
||||||
|
color: 'gray'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (res.createTime) {
|
||||||
|
this.timeLineData.push({
|
||||||
|
time: res.createTime,
|
||||||
|
value: `提交提现申请<br/>提现${res.amount}元至${res.bankName}(${res.bankCardNumber})<br/>操作人员:${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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
<page-header-wrapper [title]="''"></page-header-wrapper>
|
||||||
|
<nz-card class="search-box" nzBordered>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
|
||||||
|
<sf #sf [schema]="searchSchema"
|
||||||
|
[ui]="{ '*': { spanLabelFixed: 90,grid: { lg: 8, md: 12, sm: 12, xs: 24,gutter:15 } }}" [compact]="true"
|
||||||
|
[button]="'none'"></sf>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
|
class="text-right">
|
||||||
|
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
||||||
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
|
<button nz-button> 导出</button>
|
||||||
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<nz-card class="content-box" nzBordered>
|
||||||
|
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
|
||||||
|
<nz-tab nzTitle="全部" (nzClick)="changeRefundStatus()"></nz-tab>
|
||||||
|
<nz-tab nzTitle="待初审" (nzClick)="changeRefundStatus('1')"></nz-tab>
|
||||||
|
<nz-tab nzTitle="待复核" (nzClick)="changeRefundStatus('2')"></nz-tab>
|
||||||
|
<nz-tab nzTitle="已入账" (nzClick)="changeRefundStatus('3')"></nz-tab>
|
||||||
|
<nz-tab nzTitle="已拒绝" (nzClick)="changeRefundStatus('4')"></nz-tab>
|
||||||
|
</nz-tabset>
|
||||||
|
|
||||||
|
<ng-template #extraTemplate>
|
||||||
|
<div class="d-flex align-items-center ">
|
||||||
|
<div class="mr-md">
|
||||||
|
已选择
|
||||||
|
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据 累计提现 <strong class="text-red">{{
|
||||||
|
totalCallNo }}</strong>
|
||||||
|
<!-- <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> -->
|
||||||
|
</div>
|
||||||
|
<button nz-button (click)="this.auditAction(null)">审核</button>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
|
||||||
|
<st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{ process: beforeReq }"
|
||||||
|
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
||||||
|
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }" [loading]="service.http.loading">
|
||||||
|
<ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column">
|
||||||
|
{{ item.bankName }} <br> {{ item.bankCardNumber }}
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<ng-template #auditModal>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<div nz-col nzSpan="24" se-container [labelWidth]="80">
|
||||||
|
<se [col]="1" label="备注">
|
||||||
|
<textarea nz-input rows="3" [(ngModel)]="msg" placeholder="同意可以不用填写原因 ,拒绝必须说明原因"
|
||||||
|
style="width: 325px;margin-left: 14px;"></textarea>
|
||||||
|
</se>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
@ -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<string> = [];
|
||||||
|
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 })
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -579,6 +579,15 @@
|
|||||||
"hide": true
|
"hide": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "入账记录",
|
||||||
|
"link": "/partner/recorded/record"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "入账详情",
|
||||||
|
"link": "/partner/recorded/record/:id",
|
||||||
|
"hide": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user