Merge branch 'feature/partner' of https://gitlab.eascs.com/tms-ui/tms-obc-web into feature/partner
This commit is contained in:
		| @ -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"> | ||||
|     <ng-template st-row="approvalStatus" let-item> | ||||
|       <a [routerLink]="'/partner/account-management/am/recorded/detail/'+item?.id">{{item.yskmoney}}</a> | ||||
|     <ng-template st-row="allBalance" let-item> | ||||
|       <div class="text-right">{{item.allBalance | currency:' '}}</div> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="approvalStatus1" let-item> | ||||
|       <div class="text-right">{{item.approvalStatus1 | currency:' '}}</div> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="approvalStatus2" let-item> | ||||
|     <ng-template st-row="unEntryAmount" let-item> | ||||
|       <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> | ||||
|     </ng-template> | ||||
|  | ||||
|     <ng-template st-row="approvalStatus3" let-item> | ||||
|       <div class="text-right">{{item.yskmoney | currency:' '}}</div> | ||||
|     <ng-template st-row="availableBalance" let-item> | ||||
|       <div class="text-right">{{item.availableBalance | currency:' '}}</div> | ||||
|     </ng-template> | ||||
|  | ||||
|  | ||||
|   </st> | ||||
| </nz-card> | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
| @ -14,12 +14,23 @@ | ||||
|     </div> | ||||
|   </div> | ||||
|   <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' }" | ||||
|       [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|       [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|       [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> | ||||
| </nz-card> | ||||
| <div class="modal-footer text-center"> | ||||
|  | ||||
| @ -17,13 +17,15 @@ export class PartnerAccountManagementVirtualAccountDetailComponent implements On | ||||
|   @ViewChild('st') private readonly st!: STComponent; | ||||
|   @ViewChild('sf') private readonly sf!: SFComponent; | ||||
|   columns: STColumn[] = []; | ||||
|   id = ''; | ||||
|   roleId = ''; | ||||
|   _$expand = false; | ||||
|  | ||||
|   constructor(public shipperservice: ShipperBaseService, public amService: AccountManagemantService, private modalRef: NzModalRef) { } | ||||
|   constructor(public shipperservice: ShipperBaseService, public service: AccountManagemantService, | ||||
|     private modalRef: NzModalRef) { | ||||
|   } | ||||
|  | ||||
|   get reqParams() { | ||||
|     return { ...this.sf?.value }; | ||||
|     return { ...this.sf?.value, roleId: this.roleId }; | ||||
|   } | ||||
|   ngOnInit(): void { | ||||
|     this.initSF(); | ||||
| @ -36,14 +38,14 @@ export class PartnerAccountManagementVirtualAccountDetailComponent implements On | ||||
|         _$expand: { | ||||
|           type: 'boolean', ui: { hidden: true } | ||||
|         }, | ||||
|         abnormalCause: { | ||||
|         userName: { | ||||
|           title: '合伙人名称', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         abnormalCause1: { | ||||
|         phone: { | ||||
|           title: '手机号', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
| @ -112,16 +114,15 @@ export class PartnerAccountManagementVirtualAccountDetailComponent implements On | ||||
| */ | ||||
|   initST() { | ||||
|     this.columns = [ | ||||
|       { title: '合伙人', index: 'carNo', className: 'text-center', width: 200 }, | ||||
|       { title: '手机号', render: 'carModelLabel', className: 'text-center', width: 150 }, | ||||
|       { title: '网络货运人', render: 'carModelLabel', className: 'text-center', width: 200 }, | ||||
|       { title: '银行类型', render: 'carModelLabel', className: 'text-center', width: 120 }, | ||||
|       { title: '虚拟账户', render: 'carModelLabel', className: 'text-center', width: 180 }, | ||||
|       { title: '可用余额', render: 'approvalStatus1', className: 'text-right', width: 180 }, | ||||
|       { title: '账户总余额', render: 'approvalStatus2', className: 'text-right', width: 180 }, | ||||
|       { title: '可用余额(元)', render: 'approvalStatus3', className: 'text-right', width: 180 }, | ||||
|       { title: '创建时间', index: 'approvalStatus4', className: 'text-center', width: 200 }, | ||||
|       { title: '状态', index: 'approvalStatus4', className: 'text-center', width: 120 }, | ||||
|       { title: '合伙人', index: 'name', className: 'text-center', width: 200 }, | ||||
|       { title: '手机号', index: 'phone', className: 'text-center', width: 150 }, | ||||
|       { title: '网络货运人', index: 'ltdName', className: 'text-center', width: 200 }, | ||||
|       { title: '银行类型', index: 'bankTypeLabel', className: 'text-center', width: 120 }, | ||||
|       { title: '虚拟账户', index: 'virtualAccount', className: 'text-center', width: 180 }, | ||||
|       { title: '可用余额', render: 'availableBalance', className: 'text-center', width: 180 }, | ||||
|       { title: '账户总余额', render: 'allBalance', className: 'text-center', width: 180 }, | ||||
|       { title: '创建时间', index: 'createTime', className: 'text-center', width: 200 }, | ||||
|       { title: '状态', index: 'stateDeletedLabel', className: 'text-center', width: 120 }, | ||||
|       { | ||||
|         title: '操作', | ||||
|         width: 120, | ||||
|  | ||||
| @ -41,7 +41,7 @@ | ||||
|     </div> | ||||
|   </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)" | ||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }" | ||||
|     [page]="{ show: true,  pageSizes:  [10, 20, 50, 100, 200, 500] }"> | ||||
|  | ||||
| @ -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 { } | ||||
|  | ||||
|  | ||||
| @ -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) | ||||
|   } | ||||
|  | ||||
| @ -18,9 +18,9 @@ | ||||
|     <div class="mr-xl"> | ||||
|       <p class="text-lg mb-sm mt-xs">待审批</p> | ||||
|       <div> | ||||
|         <button nz-button [nzType]="'primary'" | ||||
|           (click)="auditAction(formData,formData?.refundStatus)">{{formData?.refundStatusLabel === | ||||
|           '1'?'审核':'复审'}}</button> | ||||
|         <button nz-button [nzType]="'primary'" (click)="auditAction(formData,formData?.refundStatus)">{{formData?.sts | ||||
|           === | ||||
|           0 ?'审核':'复审'}}</button> | ||||
|       </div> | ||||
|     </div> | ||||
|   </ng-template> | ||||
| @ -31,48 +31,49 @@ | ||||
|   <nz-alert nzType="info" nzMessage="入账信息" class="mb-md"></nz-alert> | ||||
|   <div se-container [labelWidth]="130"> | ||||
|     <se label="账户名称"> | ||||
|       {{formData?.ltdName}} | ||||
|       {{formData?.accountName}} | ||||
|     </se> | ||||
|     <se label="网络货运人"> | ||||
|       {{formData?.ltdName}} | ||||
|     </se> | ||||
|     <se label="入账单号"> | ||||
|       {{formData?.refundApplyCode}} | ||||
|       {{formData?.entryNumber}} | ||||
|     </se> | ||||
|     <se label="银行类型"> | ||||
|       {{formData?.bankType==='1'?'平安银行':'浦发银行'}} | ||||
|       {{formData?.bankName}} | ||||
|     </se> | ||||
|     <se label="虚拟账户"> | ||||
|       {{formData?.virtualAccount}} | ||||
|       {{formData?.fictitiousAccount}} | ||||
|     </se> | ||||
|     <se label="提交时间"> | ||||
|       {{formData?.createTime}} | ||||
|       {{formData?.submitTime}} | ||||
|     </se> | ||||
|     <se label="开票金额"> | ||||
|       {{formData?.amount | currency}} | ||||
|       {{formData?.invoiceAmount | currency}} | ||||
|     </se> | ||||
|     <se label="代缴个税"> | ||||
|       {{formData?.amount | currency}} | ||||
|       {{formData?.taxPersonal | currency}} | ||||
|     </se> | ||||
|     <se label="入账金额"> | ||||
|       {{formData?.amount | currency}} | ||||
|       {{formData?.recordedAmount | currency}} | ||||
|     </se> | ||||
|     <se label="入账状态"> | ||||
|       {{formData?.refundStatusLabel}} | ||||
|       {{formData?.stsLabel}} | ||||
|     </se> | ||||
|     <se label="发票图片"> | ||||
|       <img nz-image width="200px" height="200px" | ||||
|         nzSrc="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="" /> | ||||
|       <img *ngIf="formData?.invoiceUrl" nz-image width="200px" height="200px" [nzSrc]="formData?.invoiceUrl" alt="" /> | ||||
|       <span *ngIf="!formData?.invoiceUrl">-</span> | ||||
|     </se> | ||||
|     <se label="快递单号"> | ||||
|       {{formData?.bankCardNumber}} | ||||
|       {{formData?.expressName}} | ||||
|     </se> | ||||
|     <se label="纳税凭证"> | ||||
|       <img nz-image width="200px" height="200px" | ||||
|         nzSrc="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="" /> | ||||
|       <img *ngIf="formData?.taxVoucherUrl" nz-image width="200px" height="200px" [nzSrc]="formData?.taxVoucherUrl" | ||||
|         alt="" /> | ||||
|       <span *ngIf="!formData?.taxVoucherUrl">-</span> | ||||
|     </se> | ||||
|     <se label="银行流水号"> | ||||
|       {{formData?.bankSerialNumber}} | ||||
|       {{formData?.bankFlow}} | ||||
|     </se> | ||||
|   </div> | ||||
|  | ||||
|  | ||||
| @ -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: `拒绝提现<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'; | ||||
|         } | ||||
|         // 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'; | ||||
|         // } | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
| @ -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('审核拒绝成功'); | ||||
|             this.audit({ id: params, rejectReason: this.msg, sts: '3' }, () => { | ||||
|               modal.destroy(true); | ||||
|                 } | ||||
|               }); | ||||
|             return false; | ||||
|             }, '审核拒绝成功'); | ||||
|           } | ||||
|         }, | ||||
|         { | ||||
|           label: '通过', | ||||
|           type: 'primary', | ||||
|           onClick: () => { | ||||
|             this.service | ||||
|               .request(this.service.$api_agree_refund, { | ||||
|                 refundApplicationId: params, | ||||
|                 msg: this.msg | ||||
|               }) | ||||
|               .subscribe(res => { | ||||
|                 if (res) { | ||||
|                   this.service.msgSrv.success('审核通过成功'); | ||||
|             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(); | ||||
|         } | ||||
|       }); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -41,8 +41,9 @@ | ||||
|   </ng-template> | ||||
|  | ||||
|   <div class="table-content"> | ||||
|     <st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{  process: beforeReq }" | ||||
|       [loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)" | ||||
|     <st #st [data]="service.$api_get_recorded_page" [columns]="columns" | ||||
|       [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 }" | ||||
|       [page]="{ show: true,  pageSizes:  [10, 20, 50, 100, 200, 500] }"> | ||||
|       <ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column"> | ||||
|  | ||||
| @ -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('审核拒绝成功'); | ||||
|             this.audit({ id: params, rejectReason: this.msg, sts: '3' }, () => { | ||||
|               modal.destroy(); | ||||
|               this.st.load(1); | ||||
|                 } | ||||
|               }); | ||||
|             return false; | ||||
|             }, '审核拒绝成功'); | ||||
|             // 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('审核通过成功'); | ||||
|             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(); | ||||
|         } | ||||
|       }); | ||||
|   } | ||||
| } | ||||
|  | ||||
							
								
								
									
										17
									
								
								src/app/routes/partner/recorded/services/recorded.service.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/app/routes/partner/recorded/services/recorded.service.ts
									
									
									
									
									
										Normal 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); | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user