From 259effd5b5f0a93cd02a960f73f4174e6a0bc4d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Thu, 17 Mar 2022 17:24:45 +0800 Subject: [PATCH 1/2] =?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 --- .../components/detail/detail.component.html | 37 ++--- .../components/detail/detail.component.ts | 126 +++++++++--------- .../components/record/record.component.html | 5 +- .../components/record/record.component.ts | 101 ++++++++------ .../recorded/services/recorded.service.ts | 17 +++ 5 files changed, 161 insertions(+), 125 deletions(-) create mode 100644 src/app/routes/partner/recorded/services/recorded.service.ts 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 f3d36121..714483bc 100644 --- a/src/app/routes/partner/recorded/components/detail/detail.component.html +++ b/src/app/routes/partner/recorded/components/detail/detail.component.html @@ -18,9 +18,9 @@

待审批

- +
@@ -31,48 +31,49 @@
- {{formData?.ltdName}} + {{formData?.accountName}} {{formData?.ltdName}} - {{formData?.refundApplyCode}} + {{formData?.entryNumber}} - {{formData?.bankType==='1'?'平安银行':'浦发银行'}} + {{formData?.bankName}} - {{formData?.virtualAccount}} + {{formData?.fictitiousAccount}} - {{formData?.createTime}} + {{formData?.submitTime}} - {{formData?.amount | currency}} + {{formData?.invoiceAmount | currency}} - {{formData?.amount | currency}} + {{formData?.taxPersonal | currency}} - {{formData?.amount | currency}} + {{formData?.recordedAmount | currency}} - {{formData?.refundStatusLabel}} + {{formData?.stsLabel}} - + + - - {{formData?.bankCardNumber}} + {{formData?.expressName}} - + + - - {{formData?.bankSerialNumber}} + {{formData?.bankFlow}}
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 e1dc2eba..f2782ef5 100644 --- a/src/app/routes/partner/recorded/components/detail/detail.component.ts +++ b/src/app/routes/partner/recorded/components/detail/detail.component.ts @@ -2,6 +2,7 @@ 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'; +import { RecordedService } from '../../services/recorded.service'; @Component({ @@ -16,7 +17,7 @@ export class PartnerRecordedDetailComponent implements OnInit { msg = ''; 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.loadRefundDetail(this.id); } @@ -24,49 +25,49 @@ export class PartnerRecordedDetailComponent implements OnInit { ngOnInit(): void { } 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) { 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'; - } + // 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'; + // } } }); } @@ -85,37 +86,20 @@ export class PartnerRecordedDetailComponent implements OnInit { onClick: () => { if (!this.msg || this.msg.trim().length === 0) { this.service.msgSrv.warning('请填写拒绝原因 '); - return false; + return; } - 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; + this.audit({ id: params, rejectReason: this.msg, sts: '3' }, () => { + modal.destroy(true); + }, '审核拒绝成功'); } }, { 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); - } - }); + this.audit({ id: params, rejectReason: this.msg, sts: this.formData?.sts === '0' ? 1 : 2 }, () => { + modal.destroy(true); + }, `${this.formData?.sts === '1' ? '审核' : '复审'}通过成功`); } } ] @@ -129,4 +113,18 @@ export class PartnerRecordedDetailComponent implements OnInit { goBack() { 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(); + } + }); + } } 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 60aa8d08..e6233910 100644 --- a/src/app/routes/partner/recorded/components/record/record.component.html +++ b/src/app/routes/partner/recorded/components/record/record.component.html @@ -41,8 +41,9 @@
- 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 4b97ba2c..7e154473 100644 --- a/src/app/routes/partner/recorded/components/record/record.component.ts +++ b/src/app/routes/partner/recorded/components/record/record.component.ts @@ -2,9 +2,11 @@ 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 { ShipperBaseService } from '@shared'; 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'; +import { RecordedService } from '../../services/recorded.service'; @Component({ @@ -39,7 +41,8 @@ export class PartnerRecordedRecordComponent implements OnInit { 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.ltdId = this.ar.snapshot.queryParams?.ltdId || ''; @@ -139,39 +142,34 @@ export class PartnerRecordedRecordComponent implements OnInit { onClick: () => { if (!this.msg || this.msg.trim().length === 0) { this.service.msgSrv.warning('请填写拒绝原因 '); - return false; + return; } - 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); - } - }); - return false; + this.audit({ id: params, rejectReason: this.msg, sts: '3' }, () => { + modal.destroy(); + this.st.load(1); + }, '审核拒绝成功'); + // this.service + // .request(this.service.$api_disagree_recorded, { + // id: params, + // rejectReason: 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); - } - }); + this.audit({ id: params, rejectReason: this.msg, sts: '1' }, () => { + modal.destroy(); + this.st.load(1); + }, '审核通过成功'); } } ] @@ -230,12 +228,19 @@ export class PartnerRecordedRecordComponent implements OnInit { placeholder: '请输入' } }, - refundStatus: { + sts: { type: 'string', title: '入账状态', + default: '', + enum: [ + { label: '全部', value: '' }, + { label: '待初审', value: 0 }, + { label: '待复核', value: 1 }, + { label: '已入账', value: 2 }, + { label: '已拒绝', value: 3 }, + ], ui: { - widget: 'dict-select', - params: { dictKey: 'refund:apply:status' }, + widget: 'select', placeholder: '请选择' } }, @@ -247,10 +252,10 @@ export class PartnerRecordedRecordComponent implements OnInit { widget: 'select', placeholder: '请选择', allowClear: true, - asyncData: () => this.service.getNetworkFreightForwarder(), + asyncData: () => this.shipperSrv.getNetworkFreightForwarder(), } }, - createTime: { + submitTime: { title: '提交时间', type: 'string', ui: { @@ -270,9 +275,9 @@ 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: 'virtualAccount', width: 180, className: 'text-center' }, - { title: '入账单号', index: 'refundApplyCode', width: 190, className: 'text-center' }, + { title: '账户名称', index: 'accountName', width: 180, className: 'text-center' }, + { title: '虚拟账户', index: 'fictitiousAccount', width: 180, className: 'text-center' }, + { title: '入账单号', index: 'entryNumber', width: 190, className: 'text-center' }, { title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' }, { title: '开票金额', @@ -284,7 +289,7 @@ export class PartnerRecordedRecordComponent implements OnInit { }, { title: '代缴个税', - index: 'amount', + index: 'taxPersonal', width: 150, type: 'widget', className: 'text-right', @@ -292,15 +297,15 @@ export class PartnerRecordedRecordComponent implements OnInit { }, { title: '入账金额', - index: 'amount', + index: 'entryAmount', 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: '提交时间', index: 'submitTime', width: 160, className: 'text-center' }, + { title: '入账状态', index: 'stsLabel', width: 100, className: 'text-center' }, { title: '操作', fixed: 'right', @@ -308,12 +313,12 @@ export class PartnerRecordedRecordComponent implements OnInit { buttons: [ { text: '审核', - iif: item => item.refundStatus === '1', + iif: item => item.refundStatus === '0', click: item => this.auditAction(item) }, { text: '复审', - iif: item => item.refundStatus === '2', + iif: item => item.sts === '1', 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(); + } + }); + } } diff --git a/src/app/routes/partner/recorded/services/recorded.service.ts b/src/app/routes/partner/recorded/services/recorded.service.ts new file mode 100644 index 00000000..bb27a3dc --- /dev/null +++ b/src/app/routes/partner/recorded/services/recorded.service.ts @@ -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); + } +} From 9c5fdabab97caae22b60550881def7cd433484c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E6=99=93=E4=BA=91?= Date: Thu, 17 Mar 2022 19:35:35 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E3=80=81=E8=B4=A6=E6=88=B7=E6=98=8E=E7=BB=86=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/list/list.component.html | 17 +++++----- .../components/list/list.component.ts | 19 ++++++------ .../virtual-account-detail.component.html | 15 +++++++-- .../virtual-account-detail.component.ts | 31 ++++++++++--------- .../withdrawals-record.component.html | 2 +- .../withdrawals-record.component.ts | 3 +- .../services/account-managemant.service.ts | 5 ++- 7 files changed, 53 insertions(+), 39 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 d071efc2..e4e84339 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 @@ -18,21 +18,18 @@ [res]="{ reName: { list: 'data.records', total: 'data.total' } }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="service.http.loading"> - - {{item.yskmoney}} + +
{{item.allBalance | currency:' '}}
- -
{{item.approvalStatus1 | currency:' '}}
-
- + {{item.yskmoney | currency:' + [routerLink]="'/partner/account-management/am/recorded/detail/'+item?.id">{{item.unEntryAmount | currency:' '}} - - -
{{item.yskmoney | currency:' '}}
+ +
{{item.availableBalance | currency:' '}}
+
diff --git a/src/app/routes/partner/account-management/components/list/list.component.ts b/src/app/routes/partner/account-management/components/list/list.component.ts index 84e281a5..7e58f5e1 100644 --- a/src/app/routes/partner/account-management/components/list/list.component.ts +++ b/src/app/routes/partner/account-management/components/list/list.component.ts @@ -36,14 +36,14 @@ export class PartnerAccountManagementListComponent implements OnInit { initSF() { this.schema = { properties: { - abnormalCause: { + userName: { title: '合伙人名称', type: 'string', ui: { placeholder: '请输入', }, }, - abnormalCause1: { + phone: { title: '手机号', type: 'string', ui: { @@ -59,14 +59,15 @@ export class PartnerAccountManagementListComponent implements OnInit { */ initST() { this.columns = [ - { title: '合伙人名称', index: 'carNo', className: 'text-center', width: 300 }, - { title: '手机号', render: 'carModelLabel', className: 'text-center', width: 200 }, - { title: '账户总额(元)', render: 'approvalStatus1', className: 'text-right', sort: true, width: 200 }, - { title: '待入账余额(元)', render: 'approvalStatus2', className: 'text-right', sort: true, width: 200 }, - { title: '可用余额(元)', render: 'approvalStatus3', className: 'text-right', sort: true, width: 250 }, - { title: '虚拟账户', index: 'approvalStatus4', className: 'text-center', width: 200 }, + { title: '合伙人名称', index: 'userName', className: 'text-center', width: 250 }, + { title: '手机号', index: 'phone', className: 'text-center', width: 200 }, + { title: '账户总额(元)', render: 'allBalance', className: 'text-right', sort: true, width: 200 }, + { title: '待入账余额(元)', render: 'unEntryAmount', className: 'text-right', sort: true, width: 200 }, + { title: '可用余额(元)', render: 'availableBalance', className: 'text-right', sort: true, width: 250 }, + { title: '虚拟账户', index: 'virtualAccount', className: 'text-center', width: 200 }, { title: '操作', + width: 100, buttons: [ { text: '虚拟账户明细', @@ -94,7 +95,7 @@ export class PartnerAccountManagementListComponent implements OnInit { nzTitle: '虚拟账户明细', nzContent: PartnerAccountManagementVirtualAccountDetailComponent, nzComponentParams: { - id: _record?.id + roleId: _record?.roleId }, nzWidth: '85%', nzFooter: null diff --git a/src/app/routes/partner/account-management/components/virtual-account-detail/virtual-account-detail.component.html b/src/app/routes/partner/account-management/components/virtual-account-detail/virtual-account-detail.component.html index 649ddc1c..ae98a690 100644 --- a/src/app/routes/partner/account-management/components/virtual-account-detail/virtual-account-detail.component.html +++ b/src/app/routes/partner/account-management/components/virtual-account-detail/virtual-account-detail.component.html @@ -14,12 +14,23 @@
- + [loading]="service.http.loading"> + +
+ {{item.allBalance}} +
+
+ +
+ {{item.availableBalance}} +
+
+
- 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 6a428518..8abf556f 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 @@ -5,6 +5,7 @@ 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'; +import { AccountManagemantService } from '../../services/account-managemant.service'; @Component({ @@ -27,7 +28,7 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni refundStatus: any = ''; 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 { } diff --git a/src/app/routes/partner/account-management/services/account-managemant.service.ts b/src/app/routes/partner/account-management/services/account-managemant.service.ts index d88522a1..8b9d9acb 100644 --- a/src/app/routes/partner/account-management/services/account-managemant.service.ts +++ b/src/app/routes/partner/account-management/services/account-managemant.service.ts @@ -6,7 +6,10 @@ import { BaseService } from '@shared'; }) 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) { super(injector) }