资金上报对接
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