Merge branch 'feature/partner' of https://gitlab.eascs.com/tms-ui/tms-obc-web into feature/partner

This commit is contained in:
TaricXin
2022-03-18 15:11:44 +08:00
12 changed files with 214 additions and 164 deletions

View File

@ -18,21 +18,18 @@
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading"> [loading]="service.http.loading">
<ng-template st-row="approvalStatus" let-item> <ng-template st-row="allBalance" let-item>
<a [routerLink]="'/partner/account-management/am/recorded/detail/'+item?.id">{{item.yskmoney}}</a> <div class="text-right">{{item.allBalance | currency:' '}}</div>
</ng-template> </ng-template>
<ng-template st-row="approvalStatus1" let-item> <ng-template st-row="unEntryAmount" let-item>
<div class="text-right">{{item.approvalStatus1 | currency:' '}}</div>
</ng-template>
<ng-template st-row="approvalStatus2" let-item>
<a class="text-right text-blue-dark" <a class="text-right text-blue-dark"
[routerLink]="'/partner/account-management/am/recorded/detail/'+item?.id">{{item.yskmoney | currency:' [routerLink]="'/partner/account-management/am/recorded/detail/'+item?.id">{{item.unEntryAmount | currency:'
'}}</a> '}}</a>
</ng-template> </ng-template>
<ng-template st-row="availableBalance" let-item>
<ng-template st-row="approvalStatus3" let-item> <div class="text-right">{{item.availableBalance | currency:' '}}</div>
<div class="text-right">{{item.yskmoney | currency:' '}}</div>
</ng-template> </ng-template>
</st> </st>
</nz-card> </nz-card>

View File

@ -36,14 +36,14 @@ export class PartnerAccountManagementListComponent implements OnInit {
initSF() { initSF() {
this.schema = { this.schema = {
properties: { properties: {
abnormalCause: { userName: {
title: '合伙人名称', title: '合伙人名称',
type: 'string', type: 'string',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入',
}, },
}, },
abnormalCause1: { phone: {
title: '手机号', title: '手机号',
type: 'string', type: 'string',
ui: { ui: {
@ -59,14 +59,15 @@ export class PartnerAccountManagementListComponent implements OnInit {
*/ */
initST() { initST() {
this.columns = [ this.columns = [
{ title: '合伙人名称', index: 'carNo', className: 'text-center', width: 300 }, { title: '合伙人名称', index: 'userName', className: 'text-center', width: 250 },
{ title: '手机号', render: 'carModelLabel', className: 'text-center', width: 200 }, { title: '手机号', index: 'phone', className: 'text-center', width: 200 },
{ title: '账户总额(元)', render: 'approvalStatus1', className: 'text-right', sort: true, width: 200 }, { title: '账户总额(元)', render: 'allBalance', className: 'text-right', sort: true, width: 200 },
{ title: '待入账余额(元)', render: 'approvalStatus2', className: 'text-right', sort: true, width: 200 }, { title: '待入账余额(元)', render: 'unEntryAmount', className: 'text-right', sort: true, width: 200 },
{ title: '可用余额(元)', render: 'approvalStatus3', className: 'text-right', sort: true, width: 250 }, { title: '可用余额(元)', render: 'availableBalance', className: 'text-right', sort: true, width: 250 },
{ title: '虚拟账户', index: 'approvalStatus4', className: 'text-center', width: 200 }, { title: '虚拟账户', index: 'virtualAccount', className: 'text-center', width: 200 },
{ {
title: '操作', title: '操作',
width: 100,
buttons: [ buttons: [
{ {
text: '虚拟账户明细', text: '虚拟账户明细',
@ -94,7 +95,7 @@ export class PartnerAccountManagementListComponent implements OnInit {
nzTitle: '虚拟账户明细', nzTitle: '虚拟账户明细',
nzContent: PartnerAccountManagementVirtualAccountDetailComponent, nzContent: PartnerAccountManagementVirtualAccountDetailComponent,
nzComponentParams: { nzComponentParams: {
id: _record?.id roleId: _record?.roleId
}, },
nzWidth: '85%', nzWidth: '85%',
nzFooter: null nzFooter: null

View File

@ -14,12 +14,23 @@
</div> </div>
</div> </div>
<div class="mt-sm"> <div class="mt-sm">
<st #st [data]="amService.$api_get_account_management_page" [columns]="columns" [columns]="columns" <st #st [data]="service. $api_get_virtual_detail_page" [columns]="columns" [columns]="columns"
[scroll]="{ x: '1200px' }" [scroll]="{ x: '1200px' }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="amService.http.loading"></st> [loading]="service.http.loading">
<ng-template st-row="allBalance" let-item>
<div class="text-right">
{{item.allBalance}}
</div>
</ng-template>
<ng-template st-row="availableBalance" let-item>
<div class="text-right">
{{item.availableBalance}}
</div>
</ng-template>
</st>
</div> </div>
</nz-card> </nz-card>
<div class="modal-footer text-center"> <div class="modal-footer text-center">

View File

@ -17,13 +17,15 @@ export class PartnerAccountManagementVirtualAccountDetailComponent implements On
@ViewChild('st') private readonly st!: STComponent; @ViewChild('st') private readonly st!: STComponent;
@ViewChild('sf') private readonly sf!: SFComponent; @ViewChild('sf') private readonly sf!: SFComponent;
columns: STColumn[] = []; columns: STColumn[] = [];
id = ''; roleId = '';
_$expand = false; _$expand = false;
constructor(public shipperservice: ShipperBaseService, public amService: AccountManagemantService, private modalRef: NzModalRef) { } constructor(public shipperservice: ShipperBaseService, public service: AccountManagemantService,
private modalRef: NzModalRef) {
}
get reqParams() { get reqParams() {
return { ...this.sf?.value }; return { ...this.sf?.value, roleId: this.roleId };
} }
ngOnInit(): void { ngOnInit(): void {
this.initSF(); this.initSF();
@ -36,14 +38,14 @@ export class PartnerAccountManagementVirtualAccountDetailComponent implements On
_$expand: { _$expand: {
type: 'boolean', ui: { hidden: true } type: 'boolean', ui: { hidden: true }
}, },
abnormalCause: { userName: {
title: '合伙人名称', title: '合伙人名称',
type: 'string', type: 'string',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入',
}, },
}, },
abnormalCause1: { phone: {
title: '手机号', title: '手机号',
type: 'string', type: 'string',
ui: { ui: {
@ -112,16 +114,15 @@ export class PartnerAccountManagementVirtualAccountDetailComponent implements On
*/ */
initST() { initST() {
this.columns = [ this.columns = [
{ title: '合伙人', index: 'carNo', className: 'text-center', width: 200 }, { title: '合伙人', index: 'name', className: 'text-center', width: 200 },
{ title: '手机号', render: 'carModelLabel', className: 'text-center', width: 150 }, { title: '手机号', index: 'phone', className: 'text-center', width: 150 },
{ title: '网络货运人', render: 'carModelLabel', className: 'text-center', width: 200 }, { title: '网络货运人', index: 'ltdName', className: 'text-center', width: 200 },
{ title: '银行类型', render: 'carModelLabel', className: 'text-center', width: 120 }, { title: '银行类型', index: 'bankTypeLabel', className: 'text-center', width: 120 },
{ title: '虚拟账户', render: 'carModelLabel', className: 'text-center', width: 180 }, { title: '虚拟账户', index: 'virtualAccount', className: 'text-center', width: 180 },
{ title: '可用余额', render: 'approvalStatus1', className: 'text-right', width: 180 }, { title: '可用余额', render: 'availableBalance', className: 'text-center', width: 180 },
{ title: '账户总余额', render: 'approvalStatus2', className: 'text-right', width: 180 }, { title: '账户总余额', render: 'allBalance', className: 'text-center', width: 180 },
{ title: '可用余额(元)', render: 'approvalStatus3', className: 'text-right', width: 180 }, { title: '创建时间', index: 'createTime', className: 'text-center', width: 200 },
{ title: '创建时间', index: 'approvalStatus4', className: 'text-center', width: 200 }, { title: '状态', index: 'stateDeletedLabel', className: 'text-center', width: 120 },
{ title: '状态', index: 'approvalStatus4', className: 'text-center', width: 120 },
{ {
title: '操作', title: '操作',
width: 120, width: 120,

View File

@ -41,7 +41,7 @@
</div> </div>
</ng-template> </ng-template>
<st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{ process: beforeReq }" <st #st [data]="amService.$api_get_withdraw_record_page" [columns]="columns" [req]="{ process: beforeReq }"
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)" [loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)"
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }" [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }"> [page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }">

View File

@ -5,6 +5,7 @@ import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service';
import Big from 'src/app/shared/utils/deal-precision'; import Big from 'src/app/shared/utils/deal-precision';
import { AccountManagemantService } from '../../services/account-managemant.service';
@Component({ @Component({
@ -27,7 +28,7 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni
refundStatus: any = ''; refundStatus: any = '';
msg = ''; msg = '';
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) { } constructor(public service: FreightAccountService, public amService: AccountManagemantService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) { }
ngOnInit(): void { } ngOnInit(): void { }

View File

@ -6,7 +6,10 @@ import { BaseService } from '@shared';
}) })
export class AccountManagemantService extends BaseService { export class AccountManagemantService extends BaseService {
$api_get_account_management_page = `/api/fcc/ficoBrmH/list/page`; $api_get_account_management_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceByOperator`; // 账户管理
$api_get_virtual_detail_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceInfoByOperator`;//虚拟账户明细
$api_get_withdraw_record_page = `/api/fcc/refundApplicationOBC/list/partnerPage`;// 提现记录
constructor(public injector: Injector) { constructor(public injector: Injector) {
super(injector) super(injector)
} }

View File

@ -18,9 +18,9 @@
<div class="mr-xl"> <div class="mr-xl">
<p class="text-lg mb-sm mt-xs">待审批</p> <p class="text-lg mb-sm mt-xs">待审批</p>
<div> <div>
<button nz-button [nzType]="'primary'" <button nz-button [nzType]="'primary'" (click)="auditAction(formData,formData?.refundStatus)">{{formData?.sts
(click)="auditAction(formData,formData?.refundStatus)">{{formData?.refundStatusLabel === ===
'1'?'审核':'复审'}}</button> 0 ?'审核':'复审'}}</button>
</div> </div>
</div> </div>
</ng-template> </ng-template>
@ -31,48 +31,49 @@
<nz-alert nzType="info" nzMessage="入账信息" class="mb-md"></nz-alert> <nz-alert nzType="info" nzMessage="入账信息" class="mb-md"></nz-alert>
<div se-container [labelWidth]="130"> <div se-container [labelWidth]="130">
<se label="账户名称"> <se label="账户名称">
{{formData?.ltdName}} {{formData?.accountName}}
</se> </se>
<se label="网络货运人"> <se label="网络货运人">
{{formData?.ltdName}} {{formData?.ltdName}}
</se> </se>
<se label="入账单号"> <se label="入账单号">
{{formData?.refundApplyCode}} {{formData?.entryNumber}}
</se> </se>
<se label="银行类型"> <se label="银行类型">
{{formData?.bankType==='1'?'平安银行':'浦发银行'}} {{formData?.bankName}}
</se> </se>
<se label="虚拟账户"> <se label="虚拟账户">
{{formData?.virtualAccount}} {{formData?.fictitiousAccount}}
</se> </se>
<se label="提交时间"> <se label="提交时间">
{{formData?.createTime}} {{formData?.submitTime}}
</se> </se>
<se label="开票金额"> <se label="开票金额">
{{formData?.amount | currency}} {{formData?.invoiceAmount | currency}}
</se> </se>
<se label="代缴个税"> <se label="代缴个税">
{{formData?.amount | currency}} {{formData?.taxPersonal | currency}}
</se> </se>
<se label="入账金额"> <se label="入账金额">
{{formData?.amount | currency}} {{formData?.recordedAmount | currency}}
</se> </se>
<se label="入账状态"> <se label="入账状态">
{{formData?.refundStatusLabel}} {{formData?.stsLabel}}
</se> </se>
<se label="发票图片"> <se label="发票图片">
<img nz-image width="200px" height="200px" <img *ngIf="formData?.invoiceUrl" nz-image width="200px" height="200px" [nzSrc]="formData?.invoiceUrl" alt="" />
nzSrc="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="" /> <span *ngIf="!formData?.invoiceUrl">-</span>
</se> </se>
<se label="快递单号"> <se label="快递单号">
{{formData?.bankCardNumber}} {{formData?.expressName}}
</se> </se>
<se label="纳税凭证"> <se label="纳税凭证">
<img nz-image width="200px" height="200px" <img *ngIf="formData?.taxVoucherUrl" nz-image width="200px" height="200px" [nzSrc]="formData?.taxVoucherUrl"
nzSrc="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="" /> alt="" />
<span *ngIf="!formData?.taxVoucherUrl">-</span>
</se> </se>
<se label="银行流水号"> <se label="银行流水号">
{{formData?.bankSerialNumber}} {{formData?.bankFlow}}
</se> </se>
</div> </div>

View File

@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service';
import { RecordedService } from '../../services/recorded.service';
@Component({ @Component({
@ -16,7 +17,7 @@ export class PartnerRecordedDetailComponent implements OnInit {
msg = ''; msg = '';
id = ''; id = '';
constructor(public service: FreightAccountService, private route: ActivatedRoute, private nzModalService: NzModalService) { constructor(public service: RecordedService, private route: ActivatedRoute, private nzModalService: NzModalService) {
this.id = route.snapshot.params.id; this.id = route.snapshot.params.id;
this.loadRefundDetail(this.id); this.loadRefundDetail(this.id);
} }
@ -24,49 +25,49 @@ export class PartnerRecordedDetailComponent implements OnInit {
ngOnInit(): void { } ngOnInit(): void { }
loadRefundDetail(id: string) { loadRefundDetail(id: string) {
this.service.request(this.service.$api_get_refund_detail, { id }).subscribe(res => { this.service.request(this.service.$api_get_recorded_record_detail, { id }).subscribe(res => {
if (res) { if (res) {
this.formData = res; this.formData = res;
// 处理流程节点数据 // 处理流程节点数据
// 流程是否结束 // 流程是否结束
let isEnd = false; // let isEnd = false;
if (res.successTime) { // if (res.successTime) {
isEnd = true; // isEnd = true;
if (res.refundStatus === '3') { // if (res.refundStatus === '3') {
this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' }); // this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' });
} else { // } else {
this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' }); // this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' });
} // }
} // }
if (res.agreeTime && res.refundStatus !== '4') { // if (res.agreeTime && res.refundStatus !== '4') {
this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' }); // this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' });
} // }
if (res.agreeTime) { // if (res.agreeTime) {
if (res.refundStatus === '4') { // if (res.refundStatus === '4') {
isEnd = true; // isEnd = true;
this.timeLineData.push({ // this.timeLineData.push({
time: res.agreeTime, // time: res.agreeTime,
value: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`, // value: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`,
color: 'red' // color: 'red'
}); // });
} else { // } else {
this.timeLineData.push({ // this.timeLineData.push({
time: res.agreeTime, // time: res.agreeTime,
value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`, // value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`,
color: 'gray' // color: 'gray'
}); // });
} // }
} // }
if (res.createTime) { // if (res.createTime) {
this.timeLineData.push({ // this.timeLineData.push({
time: res.createTime, // time: res.createTime,
value: `提交提现申请<br/>提现${res.amount}元至${res.bankName}(${res.bankCardNumber})<br/>操作人员:${res.userIdLabel}`, // value: `提交提现申请<br/>提现${res.amount}元至${res.bankName}(${res.bankCardNumber})<br/>操作人员:${res.userIdLabel}`,
color: 'gray' // color: 'gray'
}); // });
} // }
if (this.timeLineData?.length > 0 && !isEnd) { // if (this.timeLineData?.length > 0 && !isEnd) {
this.timeLineData[0].color = 'green'; // this.timeLineData[0].color = 'green';
} // }
} }
}); });
} }
@ -85,37 +86,20 @@ export class PartnerRecordedDetailComponent implements OnInit {
onClick: () => { onClick: () => {
if (!this.msg || this.msg.trim().length === 0) { if (!this.msg || this.msg.trim().length === 0) {
this.service.msgSrv.warning('请填写拒绝原因 '); this.service.msgSrv.warning('请填写拒绝原因 ');
return false; return;
} }
this.service this.audit({ id: params, rejectReason: this.msg, sts: '3' }, () => {
.request(this.service.$api_disagree_refund, { modal.destroy(true);
refundApplicationId: params, }, '审核拒绝成功');
msg: this.msg
})
.subscribe(res => {
if (res) {
this.service.msgSrv.success('审核拒绝成功');
modal.destroy(true);
}
});
return false;
} }
}, },
{ {
label: '通过', label: '通过',
type: 'primary', type: 'primary',
onClick: () => { onClick: () => {
this.service this.audit({ id: params, rejectReason: this.msg, sts: this.formData?.sts === '0' ? 1 : 2 }, () => {
.request(this.service.$api_agree_refund, { modal.destroy(true);
refundApplicationId: params, }, `${this.formData?.sts === '1' ? '审核' : '复审'}通过成功`);
msg: this.msg
})
.subscribe(res => {
if (res) {
this.service.msgSrv.success('审核通过成功');
modal.destroy(true);
}
});
} }
} }
] ]
@ -129,4 +113,18 @@ export class PartnerRecordedDetailComponent implements OnInit {
goBack() { goBack() {
history.go(-1); history.go(-1);
} }
/**
* 审核
*/
audit(params: any, callback: Function, msg = '成功') {
this.service
.request(this.service.$api_audit_recored, ...params)
.subscribe(res => {
if (res) {
this.service.msgSrv.success(msg);
callback();
}
});
}
} }

View File

@ -41,8 +41,9 @@
</ng-template> </ng-template>
<div class="table-content"> <div class="table-content">
<st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{ process: beforeReq }" <st #st [data]="service.$api_get_recorded_page" [columns]="columns"
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)" [req]="{ method: 'POST', allInBody: true,process: beforeReq}" [loading]="service.http.loading"
[scroll]="{ x:'1200px' }" (change)="stChange($event)"
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }" [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }"> [page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }">
<ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column"> <ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column">

View File

@ -2,9 +2,11 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions, STData } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions, STData } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
import { ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service';
import Big from 'src/app/shared/utils/deal-precision'; import Big from 'src/app/shared/utils/deal-precision';
import { RecordedService } from '../../services/recorded.service';
@Component({ @Component({
@ -39,7 +41,8 @@ export class PartnerRecordedRecordComponent implements OnInit {
accountName = ''; // 账户名称 accountName = ''; // 账户名称
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) { constructor(public service: RecordedService, private nzModalService: NzModalService,
private router: Router, public ar: ActivatedRoute, public shipperSrv: ShipperBaseService) {
this.accountName = this.ar.snapshot.queryParams?.userIdLabel || ''; this.accountName = this.ar.snapshot.queryParams?.userIdLabel || '';
this.ltdId = this.ar.snapshot.queryParams?.ltdId || ''; this.ltdId = this.ar.snapshot.queryParams?.ltdId || '';
@ -139,39 +142,34 @@ export class PartnerRecordedRecordComponent implements OnInit {
onClick: () => { onClick: () => {
if (!this.msg || this.msg.trim().length === 0) { if (!this.msg || this.msg.trim().length === 0) {
this.service.msgSrv.warning('请填写拒绝原因 '); this.service.msgSrv.warning('请填写拒绝原因 ');
return false; return;
} }
this.service this.audit({ id: params, rejectReason: this.msg, sts: '3' }, () => {
.request(this.service.$api_disagree_refund, { modal.destroy();
refundApplicationId: params, this.st.load(1);
msg: this.msg }, '审核拒绝成功');
}) // this.service
.subscribe(res => { // .request(this.service.$api_disagree_recorded, {
if (res) { // id: params,
this.service.msgSrv.success('审核拒绝成功'); // rejectReason: this.msg
modal.destroy(); // })
this.st.load(1); // .subscribe(res => {
} // if (res) {
}); // this.service.msgSrv.success('审核拒绝成功');
return false; // modal.destroy();
// this.st.load(1);
// }
// });
} }
}, },
{ {
label: '通过', label: '通过',
type: 'primary', type: 'primary',
onClick: () => { onClick: () => {
this.service this.audit({ id: params, rejectReason: this.msg, sts: '1' }, () => {
.request(this.service.$api_agree_refund, { modal.destroy();
refundApplicationId: params, this.st.load(1);
msg: this.msg }, '审核通过成功');
})
.subscribe(res => {
if (res) {
this.service.msgSrv.success('审核通过成功');
modal.destroy();
this.st.load(1);
}
});
} }
} }
] ]
@ -230,12 +228,19 @@ export class PartnerRecordedRecordComponent implements OnInit {
placeholder: '请输入' placeholder: '请输入'
} }
}, },
refundStatus: { sts: {
type: 'string', type: 'string',
title: '入账状态', title: '入账状态',
default: '',
enum: [
{ label: '全部', value: '' },
{ label: '待初审', value: 0 },
{ label: '待复核', value: 1 },
{ label: '已入账', value: 2 },
{ label: '已拒绝', value: 3 },
],
ui: { ui: {
widget: 'dict-select', widget: 'select',
params: { dictKey: 'refund:apply:status' },
placeholder: '请选择' placeholder: '请选择'
} }
}, },
@ -247,10 +252,10 @@ export class PartnerRecordedRecordComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
asyncData: () => this.service.getNetworkFreightForwarder(), asyncData: () => this.shipperSrv.getNetworkFreightForwarder(),
} }
}, },
createTime: { submitTime: {
title: '提交时间', title: '提交时间',
type: 'string', type: 'string',
ui: { ui: {
@ -270,9 +275,9 @@ export class PartnerRecordedRecordComponent implements OnInit {
private initST(): STColumn[] { private initST(): STColumn[] {
return [ return [
{ title: '', index: 'key', type: 'checkbox', className: 'text-center' }, { title: '', index: 'key', type: 'checkbox', className: 'text-center' },
{ title: '账户名称', index: 'createTime', width: 180, className: 'text-center' }, { title: '账户名称', index: 'accountName', width: 180, className: 'text-center' },
{ title: '虚拟账户', index: 'virtualAccount', width: 180, className: 'text-center' }, { title: '虚拟账户', index: 'fictitiousAccount', width: 180, className: 'text-center' },
{ title: '入账单号', index: 'refundApplyCode', width: 190, className: 'text-center' }, { title: '入账单号', index: 'entryNumber', width: 190, className: 'text-center' },
{ title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' }, { title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' },
{ {
title: '开票金额', title: '开票金额',
@ -284,7 +289,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
}, },
{ {
title: '代缴个税', title: '代缴个税',
index: 'amount', index: 'taxPersonal',
width: 150, width: 150,
type: 'widget', type: 'widget',
className: 'text-right', className: 'text-right',
@ -292,15 +297,15 @@ export class PartnerRecordedRecordComponent implements OnInit {
}, },
{ {
title: '入账金额', title: '入账金额',
index: 'amount', index: 'entryAmount',
width: 150, width: 150,
type: 'widget', type: 'widget',
className: 'text-right', className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) }
}, },
{ title: '提交时间', index: 'bankSerialNumber', width: 160, className: 'text-center' }, { title: '提交时间', index: 'submitTime', width: 160, className: 'text-center' },
{ title: '入账状态', index: 'refundStatusLabel', width: 100, className: 'text-center' }, { title: '入账状态', index: 'stsLabel', width: 100, className: 'text-center' },
{ {
title: '操作', title: '操作',
fixed: 'right', fixed: 'right',
@ -308,12 +313,12 @@ export class PartnerRecordedRecordComponent implements OnInit {
buttons: [ buttons: [
{ {
text: '审核', text: '审核',
iif: item => item.refundStatus === '1', iif: item => item.refundStatus === '0',
click: item => this.auditAction(item) click: item => this.auditAction(item)
}, },
{ {
text: '复审', text: '复审',
iif: item => item.refundStatus === '2', iif: item => item.sts === '1',
click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar }) click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar })
}, },
{ {
@ -324,4 +329,18 @@ export class PartnerRecordedRecordComponent implements OnInit {
} }
]; ];
} }
/**
* 审核
*/
audit(params: any, callback: Function, msg = '成功') {
this.service
.request(this.service.$api_audit_recored, ...params)
.subscribe(res => {
if (res) {
this.service.msgSrv.success(msg);
callback();
}
});
}
} }

View File

@ -0,0 +1,17 @@
import { Injectable, Injector } from '@angular/core';
import { BaseService } from '@shared';
@Injectable({
providedIn: 'root'
})
export class RecordedService extends BaseService {
$api_get_recorded_page = `/api/bpc/partnerInvoice/getDetail`; // 查询合伙人发票入账主表
$api_get_recorded_record_detail = `api/bpc/partnerInvoice/getDetailByOpration`; // 入账记录详情
$api_disagree_recorded = ``; // 拒绝审核
$api_agree_recorded = ``; // 同意审核
$api_audit_recored = `/api/bpc/partnerInvoiceEntry/oprationAudit`; // 审核单据
constructor(public injector: Injector) {
super(injector);
}
}