资金上报对接
This commit is contained in:
		| @ -1,5 +1,5 @@ | |||||||
| <nz-spin [nzSpinning]="service.http.loading"></nz-spin> | <nz-spin [nzSpinning]="service.http.loading"></nz-spin> | ||||||
| <st #st [scroll]="{x:'1000px'}" [data]="service.$api_get_order_reporting_page" [columns]="columns" | <st #st [scroll]="{x:'1000px'}" [data]="service.$api_get_fund_valid_result" [columns]="columns" | ||||||
|   [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' } }" [page]="{ show: false}" [loading]="false" |   [res]="{ reName: { list: 'data.records', total: 'data.total' } }" [page]="{ show: false}" [loading]="false" | ||||||
|   [bordered]="true"> |   [bordered]="true"> | ||||||
|  | |||||||
| @ -19,7 +19,7 @@ export class DatatableReportingFundInfoComponent implements OnInit { | |||||||
|  |  | ||||||
|  |  | ||||||
|   get reqParams() { |   get reqParams() { | ||||||
|     return {}; |     return { capitalCode: this?.record?.orderCode }; | ||||||
|   } |   } | ||||||
|   constructor(public service: ReportingService, private modalRef: NzModalRef, public router: Router) { |   constructor(public service: ReportingService, private modalRef: NzModalRef, public router: Router) { | ||||||
|  |  | ||||||
| @ -35,13 +35,34 @@ export class DatatableReportingFundInfoComponent implements OnInit { | |||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { title: '序号', type: 'no', className: 'text-center', width: '60px', }, |       { title: '序号', type: 'no', className: 'text-center', width: '60px', }, | ||||||
|       { title: '监管平台字段', index: 'orderStatus', className: 'text-center', width: '120px', }, |       { title: '监管平台字段', index: 'thirdPartyFieldName', className: 'text-center', width: '120px', }, | ||||||
|       { title: '系统字段', index: 'orderStatus', className: 'text-center', width: '100px', }, |       { title: '系统字段', index: 'checkFieldName', className: 'text-center', width: '100px', }, | ||||||
|       { title: '归属模块', index: 'orderStatus', className: 'text-center', width: '120px', }, |       { title: '归属模块', index: 'orderStatus', className: 'text-center', width: '120px', }, | ||||||
|       { title: '是否必填', index: 'orderStatus', className: 'text-center', width: '100px', }, |       { | ||||||
|       { title: '上传值', index: 'orderStatus', className: 'text-center', width: '150px', }, |         title: '是否必填', | ||||||
|       { title: '本地校验', index: 'orderStatus', className: 'text-center', width: '100px', }, |         index: 'orderStatus', | ||||||
|       { title: '错误内容', index: 'orderStatus', className: 'text-center', width: '150px', }, |         className: 'text-center', | ||||||
|  |         width: '100px', | ||||||
|  |         type: 'enum', | ||||||
|  |         enum: { | ||||||
|  |           '0': '非必填', | ||||||
|  |           '1': '必填', | ||||||
|  |         }, | ||||||
|  |       }, | ||||||
|  |       { title: '上传值', index: 'fieldValue', className: 'text-center', width: '150px', }, | ||||||
|  |       { | ||||||
|  |         title: '本地校验', | ||||||
|  |         index: 'checkStatus', | ||||||
|  |         className: 'text-center', | ||||||
|  |         type: 'enum', | ||||||
|  |         enum: { | ||||||
|  |           '0': '校验中', | ||||||
|  |           '1': '通过', | ||||||
|  |           '2': '不通过' | ||||||
|  |         }, | ||||||
|  |         width: '100px', | ||||||
|  |       }, | ||||||
|  |       { title: '错误内容', index: 'remark', className: 'text-center', width: '150px', }, | ||||||
|     ] |     ] | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -71,4 +92,5 @@ export class DatatableReportingFundInfoComponent implements OnInit { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -28,7 +28,8 @@ | |||||||
|   <st #st [scroll]="{x:'1200px'}" [data]="service.$api_get_fund_reporting_page" [columns]="columns" |   <st #st [scroll]="{x:'1200px'}" [data]="service.$api_get_fund_reporting_page" [columns]="columns" | ||||||
|     [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, 50, 100] }" [loading]="false"> |     [page]="{ show: true, showSize: true, pageSizes: [1,10,20, 50, 100] }" [loading]="false" | ||||||
|  |     (change)="changeSt($event)"> | ||||||
|     <ng-template st-row="uploadStatus" let-item> |     <ng-template st-row="uploadStatus" let-item> | ||||||
|       <span [ngClass]="{'text-red-dark':item?.uploadStatus === '4'}">{{item?.billStatusLabel}}</span> |       <span [ngClass]="{'text-red-dark':item?.uploadStatus === '4'}">{{item?.billStatusLabel}}</span> | ||||||
|     </ng-template> |     </ng-template> | ||||||
| @ -48,10 +49,10 @@ | |||||||
|       <span *ngIf="item?.billStatus !== '2'">{{item?.billStatusLabel}}</span> |       <span *ngIf="item?.billStatus !== '2'">{{item?.billStatusLabel}}</span> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|     <ng-template st-row="tolalAmount" let-item let-index="index"> |     <ng-template st-row="tolalAmount" let-item let-index="index"> | ||||||
|       <div class="text-right">{{item?.tolalAmount | currency :' '}}</div> |       <div class="text-right">{{item?.tolalAmount | currency }}</div> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|     <ng-template st-row="payAmount" let-item let-index="index"> |     <ng-template st-row="payAmount" let-item let-index="index"> | ||||||
|       <div class="text-right">{{item?.payAmount | currency :' '}}</div> |       <div class="text-right">{{item?.payAmount | currency }}</div> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|   </st> |   </st> | ||||||
| </nz-card> | </nz-card> | ||||||
|  | |||||||
| @ -1,10 +1,11 @@ | |||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { ActivatedRoute, Router } from '@angular/router'; | import { ActivatedRoute, Router } from '@angular/router'; | ||||||
| import { STColumn, STComponent, STData } from '@delon/abc/st'; | import { STChange, STColumn, STComponent, STData } from '@delon/abc/st'; | ||||||
| import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; | import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; | ||||||
| import { ShipperBaseService } from '@shared'; | import { ShipperBaseService } from '@shared'; | ||||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
| import { ReportingService } from '../../services/reporting.service'; | import { ReportingService } from '../../services/reporting.service'; | ||||||
|  | import { DatatableReportingFundInfoComponent } from '../fund-info/fund-info.component'; | ||||||
| import { DatatableReportingUploadSettingComponent } from '../upload-setting/upload-setting.component'; | import { DatatableReportingUploadSettingComponent } from '../upload-setting/upload-setting.component'; | ||||||
| import { DatatableReportingVerifyResultComponent } from '../verify-result/verify-result.component'; | import { DatatableReportingVerifyResultComponent } from '../verify-result/verify-result.component'; | ||||||
|  |  | ||||||
| @ -30,6 +31,7 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|   ]; |   ]; | ||||||
|   selectedIndex = '1'; //选择的项目 |   selectedIndex = '1'; //选择的项目 | ||||||
|   serviceTel = ''; |   serviceTel = ''; | ||||||
|  |   selectedRows: any[] = []; | ||||||
|   constructor( |   constructor( | ||||||
|     public service: ReportingService, |     public service: ReportingService, | ||||||
|     private router: Router, |     private router: Router, | ||||||
| @ -51,7 +53,7 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|    */ |    */ | ||||||
|   get reqParams() { |   get reqParams() { | ||||||
|     const params = Object.assign({}, this.sf?.value || {}, { |     const params = Object.assign({}, this.sf?.value || {}, { | ||||||
|       uploadStatus: this.selectedIndex, |       uploadStatus: this.selectedIndex | ||||||
|     }); |     }); | ||||||
|     delete params._$expand; |     delete params._$expand; | ||||||
|     return { ...params }; |     return { ...params }; | ||||||
| @ -60,9 +62,9 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 选中行 |    * 选中行 | ||||||
|    */ |    */ | ||||||
|   get selectedRows() { |   // get selectedRows() { | ||||||
|     return this.st?.list.filter((item: any) => item.checked) || []; |   //   return this.st?.list.filter((item: any) => item.checked) || []; | ||||||
|   } |   // } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 伸缩查询条件 |    * 伸缩查询条件 | ||||||
| @ -217,12 +219,12 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|       { title: '', type: 'checkbox', className: 'text-center', width: '60px', }, |       { title: '', type: 'checkbox', className: 'text-center', width: '60px', }, | ||||||
|       { title: '上传状态', render: 'uploadStatus', className: 'text-center', width: '120px', }, |       { title: '上传状态', render: 'uploadStatus', className: 'text-center', width: '120px', }, | ||||||
|       { title: '本地校验', render: 'verifyStatus', className: 'text-center', width: '120px', }, |       { title: '本地校验', render: 'verifyStatus', className: 'text-center', width: '120px', }, | ||||||
|       { title: '流水单号', index: 'serialNumberCode', className: 'text-center', width: '150px', }, |       { title: '流水单号', index: 'serialNumberCode', className: 'text-center', width: '190px', }, | ||||||
|       { |       { | ||||||
|         title: '订单号', |         title: '订单号', | ||||||
|         render: 'orderCode', |         render: 'orderCode', | ||||||
|         className: 'text-center', |         className: 'text-center', | ||||||
|         width: '150px', |         width: '180px', | ||||||
|       }, |       }, | ||||||
|       { title: '运单号', render: 'wayBillCode', className: 'text-center', width: '150px', }, |       { title: '运单号', render: 'wayBillCode', className: 'text-center', width: '150px', }, | ||||||
|       { |       { | ||||||
| @ -243,9 +245,9 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|  |  | ||||||
|       { title: '收款银行', index: 'bankTypeLabel', className: 'text-center', width: '200px' }, |       { title: '收款银行', index: 'bankTypeLabel', className: 'text-center', width: '200px' }, | ||||||
|  |  | ||||||
|       { title: '银行流水号', index: 'bankSerialNumber', className: 'text-center', width: '150px' }, |       { title: '银行流水号', index: 'bankSerialNumber', className: 'text-center', width: '180px' }, | ||||||
|       { title: '实际支付金额', render: 'payAmount', className: 'text-center', width: '150px' }, |       { title: '实际支付金额', render: 'payAmount', className: 'text-center', width: '150px' }, | ||||||
|       { title: '交易时间', index: 'transactionTime', className: 'text-center', width: '150px' }, |       { title: '交易时间', index: 'transactionTime', className: 'text-center', width: '180px' }, | ||||||
|       { title: '上传次数', index: 'uploadFrequency', className: 'text-center', width: '120px' }, |       { title: '上传次数', index: 'uploadFrequency', className: 'text-center', width: '120px' }, | ||||||
|       { title: '上传时间', index: 'uploadTime', className: 'text-center', width: '180px' }, |       { title: '上传时间', index: 'uploadTime', className: 'text-center', width: '180px' }, | ||||||
|     ]; |     ]; | ||||||
| @ -268,9 +270,11 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|       nzOkText: '确定', |       nzOkText: '确定', | ||||||
|       nzCancelText: '取消', |       nzCancelText: '取消', | ||||||
|       nzOnOk: () => { |       nzOnOk: () => { | ||||||
|         this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => { |         const ids = this.selectedRows.map(i => i?.id); | ||||||
|  |         this.service.request(this.service.$api_fund_reporting_recall, ids).subscribe((res: any) => { | ||||||
|           if (res) { |           if (res) { | ||||||
|             this.service.msgSrv.success('撤销成功'); |             this.service.msgSrv.success('撤销成功'); | ||||||
|  |  | ||||||
|             this.search(); |             this.search(); | ||||||
|           } |           } | ||||||
|         }) |         }) | ||||||
| @ -326,7 +330,8 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|       this.openWainingModal('请选择需要上传的数据'); |       this.openWainingModal('请选择需要上传的数据'); | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|     this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => { |     const ids = this.selectedRows.map(i => i?.id); | ||||||
|  |     this.service.request(this.service.$api_fund_reporting_upload, ids).subscribe((res: any) => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         this.service.msgSrv.success('上传成功'); |         this.service.msgSrv.success('上传成功'); | ||||||
|         this.search(); |         this.search(); | ||||||
| @ -354,13 +359,13 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 查看校验结果 |    * 查看校验结果 | ||||||
|    */ |    */ | ||||||
|   viewResult(item: any) { |   viewResult(record: any) { | ||||||
|     const modalRef = this.modal.create({ |     const modalRef = this.modal.create({ | ||||||
|       nzTitle: '校验结果', |       nzTitle: '校验结果', | ||||||
|       nzWidth: 1200, |       nzWidth: 1200, | ||||||
|       nzContent: DatatableReportingVerifyResultComponent, |       nzContent: DatatableReportingFundInfoComponent, | ||||||
|       nzComponentParams: { |       nzComponentParams: { | ||||||
|         record: item |         record | ||||||
|       }, |       }, | ||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
| @ -380,6 +385,7 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|  |  | ||||||
|  |  | ||||||
|   search() { |   search() { | ||||||
|  |     this.selectedRows = []; | ||||||
|     this.st.load(1); |     this.st.load(1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -398,5 +404,45 @@ export class DatatableFundReportingComponent implements OnInit { | |||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   changeSt(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); | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       } | ||||||
|  |     } else if (e.type === 'loaded') { | ||||||
|  |       // 页面加载时勾选 | ||||||
|  |       (e?.loaded || []).forEach((r: any) => { | ||||||
|  |         this.selectedRows.forEach((x) => { | ||||||
|  |           if (x.id === r.id) { | ||||||
|  |             r.checked = true; | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -12,7 +12,10 @@ export class ReportingService extends BaseService { | |||||||
|   $api_get_upload_setting = ``; // 修改上传设置 |   $api_get_upload_setting = ``; // 修改上传设置 | ||||||
|   $api_upload_setting_save = ``; // 修改上传设置 |   $api_upload_setting_save = ``; // 修改上传设置 | ||||||
|  |  | ||||||
|   $api_get_fund_reporting_page = `/api/fcc/fundUploadHead/list/page`; |   $api_get_fund_reporting_page = `/api/fcc/fundUploadHead/list/page`; // 资金上报列表 | ||||||
|  |   $api_fund_reporting_upload = `/api/fcc/fundUploadHead/uploadFundNumber`; // 资金批量上传 | ||||||
|  |   $api_fund_reporting_recall = `/api/fcc/fundUploadHead/recallUploadFundNumber`; //资金批量撤回 | ||||||
|  |   $api_get_fund_valid_result = `/api/fcc/capitalFieldCheck/getCapitalFieldCheckList`; // 查询资金校验表 | ||||||
|   constructor(public injector: Injector) { |   constructor(public injector: Injector) { | ||||||
|     super(injector); |     super(injector); | ||||||
|   } |   } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user