Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		@ -0,0 +1 @@
 | 
			
		||||
<g2-custom delay="100" (render)="render($event)"></g2-custom>
 | 
			
		||||
@ -0,0 +1,81 @@
 | 
			
		||||
import { Component, ElementRef, Input, NgZone, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';
 | 
			
		||||
import { Chart } from '@antv/g2';
 | 
			
		||||
import { DataService } from 'src/app/routes/datatable/services/data.service';
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'app-datatable-customindex-curve',
 | 
			
		||||
  templateUrl: './curve.component.html',
 | 
			
		||||
  styleUrls: ['./curve.component.less']
 | 
			
		||||
})
 | 
			
		||||
export class DatatableCustomindexCurveComponent implements OnInit, OnChanges {
 | 
			
		||||
  el: any;
 | 
			
		||||
  @Input() chartData: any;
 | 
			
		||||
  chart: any;
 | 
			
		||||
  constructor(private service: DataService, private ngZone: NgZone) {
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
  ngOnChanges(changes: SimpleChanges): void {
 | 
			
		||||
    if (this.chartData) {
 | 
			
		||||
      // setTimeout(()=>{
 | 
			
		||||
      //   this.chart.render(true)
 | 
			
		||||
      // }, 1000)
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ngOnInit(): void {
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
  reRender() {
 | 
			
		||||
    setTimeout(() => {
 | 
			
		||||
      this.chart.data(this.chartData);
 | 
			
		||||
      this.chart.render();
 | 
			
		||||
    }, 1000)
 | 
			
		||||
  }
 | 
			
		||||
  render(el: ElementRef<HTMLDivElement>): void {
 | 
			
		||||
    this.el = el.nativeElement
 | 
			
		||||
    setTimeout(() => {
 | 
			
		||||
      this.ngZone.runOutsideAngular(() => this.init(this.el));
 | 
			
		||||
      },500)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private init(el: HTMLElement): void {
 | 
			
		||||
    this.chart = new Chart({
 | 
			
		||||
      container: el,
 | 
			
		||||
      autoFit: true,
 | 
			
		||||
      height: 500,
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    this.chart.data(this.chartData);
 | 
			
		||||
    this.chart.scale({
 | 
			
		||||
      time: {
 | 
			
		||||
        range: [0, 1],
 | 
			
		||||
      },
 | 
			
		||||
      number: {
 | 
			
		||||
        nice: true,
 | 
			
		||||
      },
 | 
			
		||||
    });
 | 
			
		||||
    
 | 
			
		||||
    this.chart.tooltip({
 | 
			
		||||
      showCrosshairs: true,
 | 
			
		||||
      shared: true,
 | 
			
		||||
    });
 | 
			
		||||
    
 | 
			
		||||
    this.chart.axis('number', {
 | 
			
		||||
      label: {
 | 
			
		||||
        formatter: (val: any) => {
 | 
			
		||||
          return val;
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    });
 | 
			
		||||
    
 | 
			
		||||
    this.chart
 | 
			
		||||
      .line()
 | 
			
		||||
      .position('time*number')
 | 
			
		||||
      .color('name')
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    this.chart.render();
 | 
			
		||||
    
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -1,20 +1,30 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Description  : 
 | 
			
		||||
 * @Version      : 1.0
 | 
			
		||||
 * @Author       : Shiming
 | 
			
		||||
 * @Date         : 2022-04-06 13:20:56
 | 
			
		||||
 * @LastEditors  : Shiming
 | 
			
		||||
 * @LastEditTime : 2022-04-06 15:00:01
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\customtable\\customindex\\customindex.component.html
 | 
			
		||||
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 | 
			
		||||
-->
 | 
			
		||||
<!-- 页头 -->
 | 
			
		||||
<page-header-wrapper [title]="'客户报表'"></page-header-wrapper>
 | 
			
		||||
<div nz-row [nzGutter]="16">
 | 
			
		||||
  <div nz-col class="gutter-row" [nzSpan]="6">
 | 
			
		||||
    <g2-card [title]="'货主'" [bordered]="true" [total]="'¥ 126,560.00'" footer="日访问量 12,423" contentHeight="46">
 | 
			
		||||
    <g2-card [title]="'货主'" [bordered]="true" [total]="hzData?.total" [footer]="'已认证' + hzData?.auditPassTotal" contentHeight="46">
 | 
			
		||||
    </g2-card>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div nz-col class="gutter-row" [nzSpan]="6">
 | 
			
		||||
    <g2-card [title]="'合伙人'" [bordered]="true" [total]="'¥ 126,560.00'" footer="日访问量 12,423" contentHeight="46">
 | 
			
		||||
    <g2-card [title]="'合伙人'" [bordered]="true" [total]="hhrData?.total" [footer]="'已认证' + hhrData?.auditPassTotal" contentHeight="46">
 | 
			
		||||
    </g2-card>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div nz-col class="gutter-row" [nzSpan]="6">
 | 
			
		||||
    <g2-card [title]="'司机'" [bordered]="true" [total]="'¥ 126,560.00'" footer="日访问量 12,423" contentHeight="46">
 | 
			
		||||
    <g2-card [title]="'司机'" [bordered]="true" [total]="sjData?.total" [footer]="'已认证' + sjData?.auditPassTotal" contentHeight="46">
 | 
			
		||||
    </g2-card>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div nz-col class="gutter-row" [nzSpan]="6">
 | 
			
		||||
    <g2-card [title]="'车辆'" [bordered]="true" [total]="'¥ 126,560.00'" footer="日访问量 12,423" contentHeight="46">
 | 
			
		||||
    <g2-card [title]="'车辆'" [bordered]="true" [total]="clData?.total" [footer]="'已认证' + clData?.auditPassTotal" contentHeight="46">
 | 
			
		||||
    </g2-card>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
@ -29,17 +39,43 @@
 | 
			
		||||
          <label nz-radio-button nzValue="define">自定义</label>
 | 
			
		||||
        </nz-radio-group>
 | 
			
		||||
        <div class="dateBox">
 | 
			
		||||
          <nz-date-picker [(ngModel)]="date" [nzMode]="mode" [nzFormat]="dateFormat" *ngIf="mode !== 'define'" [nzDisabledDate]="disabledDate" (ngModelChange)="onChange($event)"></nz-date-picker>
 | 
			
		||||
          <nz-range-picker [(ngModel)]="defineDate" [nzFormat]="dateFormat" *ngIf="mode === 'define'" [nzDisabledDate]="disabledDate" (ngModelChange)="onChange($event)"></nz-range-picker>
 | 
			
		||||
          <nz-date-picker
 | 
			
		||||
            [(ngModel)]="date"
 | 
			
		||||
            [nzMode]="mode"
 | 
			
		||||
            [nzFormat]="dateFormat"
 | 
			
		||||
            *ngIf="mode !== 'define'"
 | 
			
		||||
            [nzDisabledDate]="disabledDate"
 | 
			
		||||
            (ngModelChange)="onChange($event)"
 | 
			
		||||
          ></nz-date-picker>
 | 
			
		||||
          <nz-range-picker
 | 
			
		||||
            [(ngModel)]="defineDate"
 | 
			
		||||
            [nzFormat]="dateFormat"
 | 
			
		||||
            *ngIf="mode === 'define'"
 | 
			
		||||
            [nzDisabledDate]="disabledDate"
 | 
			
		||||
            (ngModelChange)="onChange($event)"
 | 
			
		||||
          ></nz-range-picker>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
  </ng-template>
 | 
			
		||||
  <st #st multiSort [columns]="columns" [ps]="20" [data]="service.$api_listOperationalReportPage"
 | 
			
		||||
  <st
 | 
			
		||||
    #st
 | 
			
		||||
    multiSort
 | 
			
		||||
    [columns]="columns"
 | 
			
		||||
    [ps]="20"
 | 
			
		||||
    [data]="reportData"
 | 
			
		||||
    [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
 | 
			
		||||
    [scroll]="{ x: '1200px' }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
 | 
			
		||||
    [page]="{ show: true, showSize: true, pageSizes: [20, 50, 100] }"></st>
 | 
			
		||||
    [scroll]="{ x: '1200px' }"
 | 
			
		||||
    [res]="{ reName: { list: 'data', total: 'data.total' } }"
 | 
			
		||||
    [page]="{ show: false, showSize: false, pageSizes: [20, 50, 100] }"
 | 
			
		||||
  >
 | 
			
		||||
  <ng-template sf-template="type" let-item>
 | 
			
		||||
      <div *ngIf="item.type == '1'">货主</div>
 | 
			
		||||
      <div *ngIf="item.type == '2'">合伙人</div>
 | 
			
		||||
      <div *ngIf="item.type == '3'">司机</div>
 | 
			
		||||
      <div *ngIf="item.type == '4'">车辆</div>
 | 
			
		||||
  </ng-template>
 | 
			
		||||
</st>
 | 
			
		||||
</nz-card>
 | 
			
		||||
<nz-card nzTitle="用户新增报表" [nzExtra]="extraTemplate">
 | 
			
		||||
  <ng-template #extraTemplate01>
 | 
			
		||||
@ -50,10 +86,15 @@
 | 
			
		||||
          <label nz-radio-button nzValue="month">月</label>
 | 
			
		||||
        </nz-radio-group>
 | 
			
		||||
        <div class="dateBox">
 | 
			
		||||
          <nz-date-picker [nzDisabledDate]="disabledDate" [(ngModel)]="dateNext" [nzMode]="modeNext" (ngModelChange)="onChangeNext($event)"></nz-date-picker>
 | 
			
		||||
          <nz-date-picker
 | 
			
		||||
            [nzDisabledDate]="disabledDate"
 | 
			
		||||
            [(ngModel)]="dateNext"
 | 
			
		||||
            [nzMode]="modeNext"
 | 
			
		||||
            (ngModelChange)="onChangeNext($event)"
 | 
			
		||||
          ></nz-date-picker>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </ng-template>
 | 
			
		||||
  <app-operation-curve #curve [chartData]="chartData.lineChart"></app-operation-curve>
 | 
			
		||||
</nz-card>
 | 
			
		||||
  <app-datatable-customindex-curve #curve [chartData]="chartData?.lineChart"></app-datatable-customindex-curve>
 | 
			
		||||
</nz-card>
 | 
			
		||||
 | 
			
		||||
@ -3,54 +3,58 @@ import { STColumn, STComponent } from '@delon/abc/st';
 | 
			
		||||
import { DatePipe, _HttpClient } from '@delon/theme';
 | 
			
		||||
import { differenceInCalendarDays } from 'date-fns';
 | 
			
		||||
import { DataService } from '../../../services/data.service';
 | 
			
		||||
import { OperationCurveComponent } from '../../operationtable/curve/curve.component';
 | 
			
		||||
import { DatatableCustomindexCurveComponent } from './curve/curve.component';
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'app-datatable-customindex',
 | 
			
		||||
  templateUrl: './customindex.component.html',
 | 
			
		||||
  styleUrls: ['./customindex.component.less'],
 | 
			
		||||
  providers: [DatePipe]
 | 
			
		||||
 | 
			
		||||
})
 | 
			
		||||
export class DatatableCustomindexComponent implements OnInit {
 | 
			
		||||
  @ViewChild('st') private readonly st!: STComponent;
 | 
			
		||||
  @ViewChild('curve') private readonly curve!: OperationCurveComponent;
 | 
			
		||||
  @ViewChild('curve') private readonly curve!: DatatableCustomindexCurveComponent;
 | 
			
		||||
  type = 1;
 | 
			
		||||
  mode = 'year';
 | 
			
		||||
  date: any = null;
 | 
			
		||||
  defineDate = [];
 | 
			
		||||
  time: any = ['2022-01-01 00:00:00']
 | 
			
		||||
  time: any = ['2022-01-01 00:00:00'];
 | 
			
		||||
  dateFormat = 'yyyy';
 | 
			
		||||
  today = new Date();
 | 
			
		||||
  dateNext: any = null;
 | 
			
		||||
  modeNext = 'year';
 | 
			
		||||
  timeNext: any = ['2022-01-01 00:00:00']
 | 
			
		||||
  timeNext: any = ['2022-01-01 00:00:00'];
 | 
			
		||||
  chartData: any;
 | 
			
		||||
  flag = false;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  columns: STColumn[] = [
 | 
			
		||||
    { title: '用户类型', index: 'networkTransporterName', className: 'text-center' },
 | 
			
		||||
    { title: '用户总数', index: 'zsl', className: 'text-center' },
 | 
			
		||||
    { title: '已认证数量', index: 'yingsje', className: 'text-center' },
 | 
			
		||||
    { title: '活跃用户数', index: 'cys', className: 'text-center' },
 | 
			
		||||
    { title: '未激活用户数', index: 'yingfyf', className: 'text-center' },
 | 
			
		||||
    { title: '沉默用户数', index: 'yl', className: 'text-center' },
 | 
			
		||||
    { title: '流失用户数', index: 'djd', className: 'text-center' },
 | 
			
		||||
    { title: '流失率', index: 'ysz', className: 'text-center' }
 | 
			
		||||
    { title: '用户类型', render: 'type', className: 'text-center' },
 | 
			
		||||
    { title: '用户总数', index: '总数', className: 'text-center' },
 | 
			
		||||
    { title: '已认证数量', index: 'auditPassTotal', className: 'text-center' },
 | 
			
		||||
    { title: '活跃用户数', index: 'activeTotal', className: 'text-center' },
 | 
			
		||||
    { title: '未激活用户数', index: 'notActivationTotal', className: 'text-center' },
 | 
			
		||||
    { title: '沉默用户数', index: 'silentTotal', className: 'text-center' },
 | 
			
		||||
    { title: '流失用户数', index: 'drainTotal', className: 'text-center' },
 | 
			
		||||
    { title: '流失率', index: 'drainRate', className: 'text-center' }
 | 
			
		||||
  ];
 | 
			
		||||
  hzData: any;
 | 
			
		||||
  hhrData: any;
 | 
			
		||||
  sjData: any;
 | 
			
		||||
  clData: any;
 | 
			
		||||
  reportData: any = [];
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 查询参数
 | 
			
		||||
   */
 | 
			
		||||
  get reqParams() {
 | 
			
		||||
    if (this.mode === 'year') {
 | 
			
		||||
      this.type = 1
 | 
			
		||||
      this.type = 1;
 | 
			
		||||
    } else if (this.mode === 'month') {
 | 
			
		||||
      this.type = 2
 | 
			
		||||
      this.type = 2;
 | 
			
		||||
    } else if (this.mode === 'date') {
 | 
			
		||||
      this.type = 3
 | 
			
		||||
      this.type = 3;
 | 
			
		||||
    } else {
 | 
			
		||||
      this.type = 4
 | 
			
		||||
      this.type = 4;
 | 
			
		||||
    }
 | 
			
		||||
    let params: any = {
 | 
			
		||||
      time: this.time,
 | 
			
		||||
@ -61,50 +65,100 @@ export class DatatableCustomindexComponent implements OnInit {
 | 
			
		||||
    return { ...params };
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  constructor(public service: DataService, private datePipe: DatePipe) { }
 | 
			
		||||
  constructor(public service: DataService, private datePipe: DatePipe) {}
 | 
			
		||||
  ngOnInit(): void {
 | 
			
		||||
    this.initCurveData()
 | 
			
		||||
    this.initCurveData();
 | 
			
		||||
  }
 | 
			
		||||
  initCurveData() {
 | 
			
		||||
    let type = 1
 | 
			
		||||
    let type = 1;
 | 
			
		||||
    if (this.mode === 'year') {
 | 
			
		||||
      type = 1
 | 
			
		||||
      type = 1;
 | 
			
		||||
    } else if (this.mode === 'month') {
 | 
			
		||||
      type = 2
 | 
			
		||||
      type = 2;
 | 
			
		||||
    }
 | 
			
		||||
    const params: any = {
 | 
			
		||||
      time: this.timeNext,
 | 
			
		||||
      type
 | 
			
		||||
    };
 | 
			
		||||
    this.flag = true
 | 
			
		||||
    this.service.request(this.service.$api_operationalReportHistogram, params).subscribe(res => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.chartData = res
 | 
			
		||||
        if (this.flag) {
 | 
			
		||||
          this.curve.reRender()
 | 
			
		||||
    // const params: any = {
 | 
			
		||||
    //   time: this.timeNext,
 | 
			
		||||
    //   type
 | 
			
		||||
    // };
 | 
			
		||||
    this.flag = true;
 | 
			
		||||
    this.service
 | 
			
		||||
      .request(this.service.$api_statistics_totalDetail, {
 | 
			
		||||
        time: this.timeNext,
 | 
			
		||||
        type: 1   //用户角色类型 1:货主 2:合伙人 3:司机 4:车辆
 | 
			
		||||
      })
 | 
			
		||||
      .subscribe(res => {
 | 
			
		||||
        if (res) {
 | 
			
		||||
          this.reportData.push(res);
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    this.service.request(this.service.$api_statistics_totalDetail, {
 | 
			
		||||
      time: this.timeNext,
 | 
			
		||||
      type: 2
 | 
			
		||||
    }).subscribe(res => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.reportData.push(res);
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
    });
 | 
			
		||||
    this.service.request(this.service.$api_statistics_totalDetail, {
 | 
			
		||||
      time: this.timeNext,
 | 
			
		||||
      type: 3
 | 
			
		||||
    }).subscribe(res => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.reportData.push(res);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.request(this.service.$api_statistics_totalDetail, {
 | 
			
		||||
      time: this.timeNext,
 | 
			
		||||
      type: 4
 | 
			
		||||
    }).subscribe(res => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.reportData.push(res);
 | 
			
		||||
        this.st.reload();
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.request(this.service.$api_statistics_total, { type: 1 }).subscribe(res => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.hzData = res;
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.request(this.service.$api_statistics_total, { type: 2 }).subscribe(res => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.hhrData = res;
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.request(this.service.$api_statistics_total, { type: 3 }).subscribe(res => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.sjData = res;
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.request(this.service.$api_statistics_total, { type: 4 }).subscribe(res => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.clData = res;
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  changeData() {
 | 
			
		||||
    if (this.mode === 'year') {
 | 
			
		||||
      this.dateFormat = 'yyyy'
 | 
			
		||||
      this.dateFormat = 'yyyy';
 | 
			
		||||
    } else if (this.mode === 'month') {
 | 
			
		||||
      this.dateFormat = 'yyyy-MM'
 | 
			
		||||
      this.dateFormat = 'yyyy-MM';
 | 
			
		||||
    } else {
 | 
			
		||||
      this.dateFormat = 'yyyy-MM-dd'
 | 
			
		||||
      this.dateFormat = 'yyyy-MM-dd';
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  onChange(result: any) {
 | 
			
		||||
    if (this.mode === 'year') {
 | 
			
		||||
      this.time = [this.datePipe.transform(this.date, 'yyyy') + '-01-01 00:00:00']
 | 
			
		||||
      this.time = [this.datePipe.transform(this.date, 'yyyy') + '-01-01 00:00:00'];
 | 
			
		||||
    } else if (this.mode === 'month') {
 | 
			
		||||
      this.time = [this.datePipe.transform(this.date, 'yyyy-MM') + '-01 00:00:00']
 | 
			
		||||
      this.time = [this.datePipe.transform(this.date, 'yyyy-MM') + '-01 00:00:00'];
 | 
			
		||||
    } else if (this.mode === 'date') {
 | 
			
		||||
      this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00']
 | 
			
		||||
      this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00'];
 | 
			
		||||
    } else {
 | 
			
		||||
      this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00']
 | 
			
		||||
      this.time = [
 | 
			
		||||
        this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00',
 | 
			
		||||
        this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'
 | 
			
		||||
      ];
 | 
			
		||||
    }
 | 
			
		||||
    this.st.reload({ ...this.reqParams });
 | 
			
		||||
  }
 | 
			
		||||
@ -112,24 +166,22 @@ export class DatatableCustomindexComponent implements OnInit {
 | 
			
		||||
    // Can not select days before today and today
 | 
			
		||||
    differenceInCalendarDays(current, this.today) > 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  changeDataNext() {
 | 
			
		||||
    if(this.mode === 'year') {
 | 
			
		||||
      this.dateFormat = 'yyyy'
 | 
			
		||||
    } else if(this.mode === 'month') {
 | 
			
		||||
      this.dateFormat = 'yyyy-MM'
 | 
			
		||||
    if (this.mode === 'year') {
 | 
			
		||||
      this.dateFormat = 'yyyy';
 | 
			
		||||
    } else if (this.mode === 'month') {
 | 
			
		||||
      this.dateFormat = 'yyyy-MM';
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  onChangeNext(result: any) {
 | 
			
		||||
    if(result === null) {
 | 
			
		||||
      return
 | 
			
		||||
    if (result === null) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    if(this.mode === 'year') {
 | 
			
		||||
      this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy') + '-01-01 00:00:00']
 | 
			
		||||
    } else if(this.mode === 'month') {
 | 
			
		||||
      this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy-MM') + '-01 00:00:00']
 | 
			
		||||
    if (this.mode === 'year') {
 | 
			
		||||
      this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy') + '-01-01 00:00:00'];
 | 
			
		||||
    } else if (this.mode === 'month') {
 | 
			
		||||
      this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy-MM') + '-01 00:00:00'];
 | 
			
		||||
    }
 | 
			
		||||
    this.initCurveData()
 | 
			
		||||
    this.initCurveData();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -29,6 +29,7 @@ import { DatatableDatascreenComponent } from './components/datascreen/datascreen
 | 
			
		||||
import { FinancetablePillarComponent } from './components/financetable/pillar/pillar.component';
 | 
			
		||||
import { ComplianceCurveComponent } from './components/compliance/index/curve/curve.component';
 | 
			
		||||
import { BusitableCurveComponent } from './components/busitable/busiindex/curve/curve.component';
 | 
			
		||||
import { DatatableCustomindexCurveComponent } from './components/customtable/customindex/curve/curve.component';
 | 
			
		||||
 | 
			
		||||
const COMPONENTS: Type<void>[] = [
 | 
			
		||||
  DatatableDataindexComponent,
 | 
			
		||||
@ -60,7 +61,8 @@ const COMPONENTS: Type<void>[] = [
 | 
			
		||||
  DatatableDatascreenComponent,
 | 
			
		||||
  FinancetablePillarComponent,
 | 
			
		||||
  ComplianceCurveComponent,
 | 
			
		||||
  BusitableCurveComponent
 | 
			
		||||
  BusitableCurveComponent,
 | 
			
		||||
  DatatableCustomindexCurveComponent
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -4,8 +4,8 @@
 | 
			
		||||
 * @Author       : Shiming
 | 
			
		||||
 * @Date         : 2021-12-27 10:30:56
 | 
			
		||||
 * @LastEditors  : Shiming
 | 
			
		||||
 * @LastEditTime : 2022-01-18 17:14:59
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\account\\services\\account.service.ts
 | 
			
		||||
 * @LastEditTime : 2022-04-06 13:47:25
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\services\\data.service.ts
 | 
			
		||||
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@ -58,6 +58,12 @@ export class DataService extends BaseService {
 | 
			
		||||
  $api_listMonitorSituation = `/api/sdc/reportComplianceMonitor/listMonitorSituation`;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // 客户报表-根据类型获取统计信息(card)
 | 
			
		||||
  $api_statistics_total = `/api/mdc/cuc/statistics/total`;
 | 
			
		||||
  // 客户报表-根据类型获取统计明细信息(table)
 | 
			
		||||
  $api_statistics_totalDetail = `/api/mdc/cuc/statistics/totalDetail`;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  constructor(public injector: Injector) {
 | 
			
		||||
    super(injector);
 | 
			
		||||
 | 
			
		||||
@ -29,7 +29,7 @@
 | 
			
		||||
                {{headerInfo?.ltdAccountId}}
 | 
			
		||||
            </se>
 | 
			
		||||
            <se label="应付已核销" required>
 | 
			
		||||
                {{headerInfo?.payMoney | currency}}
 | 
			
		||||
                {{headerInfo?.ishrhxLabel}}
 | 
			
		||||
            </se>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="150" col="1">
 | 
			
		||||
 | 
			
		||||
@ -1,252 +0,0 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __assign = (this && this.__assign) || function () {
 | 
			
		||||
    __assign = Object.assign || function(t) {
 | 
			
		||||
        for (var s, i = 1, n = arguments.length; i < n; i++) {
 | 
			
		||||
            s = arguments[i];
 | 
			
		||||
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
 | 
			
		||||
                t[p] = s[p];
 | 
			
		||||
        }
 | 
			
		||||
        return t;
 | 
			
		||||
    };
 | 
			
		||||
    return __assign.apply(this, arguments);
 | 
			
		||||
};
 | 
			
		||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
 | 
			
		||||
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
 | 
			
		||||
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
 | 
			
		||||
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
 | 
			
		||||
    return c > 3 && r && Object.defineProperty(target, key, r), r;
 | 
			
		||||
};
 | 
			
		||||
exports.__esModule = true;
 | 
			
		||||
exports.RechargeRecordComponent = void 0;
 | 
			
		||||
var core_1 = require("@angular/core");
 | 
			
		||||
var RechargeRecordComponent = /** @class */ (function () {
 | 
			
		||||
    function RechargeRecordComponent(service, modal) {
 | 
			
		||||
        var _this = this;
 | 
			
		||||
        this.service = service;
 | 
			
		||||
        this.modal = modal;
 | 
			
		||||
        this.columns = this.initST();
 | 
			
		||||
        this.searchSchema = this.initSF();
 | 
			
		||||
        this.rechargeRemark = '';
 | 
			
		||||
        this._$expand = false;
 | 
			
		||||
        this.beforeReq = function (requestOptions) {
 | 
			
		||||
            if (_this.sf) {
 | 
			
		||||
                Object.assign(requestOptions.body, __assign({}, _this.sf.value));
 | 
			
		||||
            }
 | 
			
		||||
            return requestOptions;
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    RechargeRecordComponent.prototype.ngOnInit = function () { };
 | 
			
		||||
    RechargeRecordComponent.prototype.addRemark = function (item) {
 | 
			
		||||
        var _this = this;
 | 
			
		||||
        this.rechargeRemark = item.rechargeRemark;
 | 
			
		||||
        var modal = this.modal.create({
 | 
			
		||||
            nzTitle: this.rechargeRemark ? '修改备注' : '添加备注',
 | 
			
		||||
            nzContent: this.remarkodal,
 | 
			
		||||
            nzFooter: [
 | 
			
		||||
                {
 | 
			
		||||
                    type: 'primary',
 | 
			
		||||
                    label: '确认',
 | 
			
		||||
                    loading: function () { return _this.service.http.loading; },
 | 
			
		||||
                    onClick: function () {
 | 
			
		||||
                        modal.destroy();
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            ]
 | 
			
		||||
        });
 | 
			
		||||
    };
 | 
			
		||||
    RechargeRecordComponent.prototype.goBack = function () {
 | 
			
		||||
        history.go(-1);
 | 
			
		||||
    };
 | 
			
		||||
    /**
 | 
			
		||||
     * 重置表单
 | 
			
		||||
     */
 | 
			
		||||
    RechargeRecordComponent.prototype.resetSF = function () {
 | 
			
		||||
        this.sf.reset();
 | 
			
		||||
        this._$expand = false;
 | 
			
		||||
    };
 | 
			
		||||
    /**
 | 
			
		||||
     * 伸缩查询条件
 | 
			
		||||
     */
 | 
			
		||||
    RechargeRecordComponent.prototype.expandToggle = function () {
 | 
			
		||||
        var _a;
 | 
			
		||||
        this._$expand = !this._$expand;
 | 
			
		||||
        (_a = this.sf) === null || _a === void 0 ? void 0 : _a.setValue('/expand', this._$expand);
 | 
			
		||||
    };
 | 
			
		||||
    RechargeRecordComponent.prototype.exportList = function () {
 | 
			
		||||
        this.service.downloadFile(this.service.$mock_url, __assign(__assign({}, this.sf.value), { pageSize: -1 }));
 | 
			
		||||
    };
 | 
			
		||||
    RechargeRecordComponent.prototype.initSF = function () {
 | 
			
		||||
        var _this = this;
 | 
			
		||||
        return {
 | 
			
		||||
            properties: {
 | 
			
		||||
                expand: {
 | 
			
		||||
                    type: 'boolean',
 | 
			
		||||
                    ui: {
 | 
			
		||||
                        hidden: true
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                rechargeNo: {
 | 
			
		||||
                    type: 'string',
 | 
			
		||||
                    title: '充值单号',
 | 
			
		||||
                    ui: {
 | 
			
		||||
                        placeholder: '请输入'
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                rechargeStatus: {
 | 
			
		||||
                    type: 'string',
 | 
			
		||||
                    title: '充值状态',
 | 
			
		||||
                    "enum": [
 | 
			
		||||
                        { label: '全部', value: '' },
 | 
			
		||||
                        { label: '充值中', value: '1' },
 | 
			
		||||
                        { label: '充值失败', value: '2' },
 | 
			
		||||
                        { label: '充值成功', value: '3' }
 | 
			
		||||
                    ],
 | 
			
		||||
                    ui: {
 | 
			
		||||
                        widget: 'select',
 | 
			
		||||
                        placeholder: '请选择'
 | 
			
		||||
                    },
 | 
			
		||||
                    "default": ''
 | 
			
		||||
                },
 | 
			
		||||
                createTime: {
 | 
			
		||||
                    title: '充值时间',
 | 
			
		||||
                    type: 'string',
 | 
			
		||||
                    ui: {
 | 
			
		||||
                        widget: 'date',
 | 
			
		||||
                        mode: 'range',
 | 
			
		||||
                        format: 'yyyy-MM-dd'
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                roleName: {
 | 
			
		||||
                    type: 'string',
 | 
			
		||||
                    title: '账户名称',
 | 
			
		||||
                    ui: {
 | 
			
		||||
                        placeholder: '请输入',
 | 
			
		||||
                        autocomplete: 'off',
 | 
			
		||||
                        visibleIf: {
 | 
			
		||||
                            expand: function (value) { return value; }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                accountType: {
 | 
			
		||||
                    type: 'string',
 | 
			
		||||
                    title: '账户类型',
 | 
			
		||||
                    "enum": [
 | 
			
		||||
                        { label: '全部', value: '' },
 | 
			
		||||
                        { label: '货主账户', value: '1' },
 | 
			
		||||
                        { label: '司机账户', value: '2' },
 | 
			
		||||
                        { label: '营商商账户', value: '3' }
 | 
			
		||||
                    ],
 | 
			
		||||
                    ui: {
 | 
			
		||||
                        widget: 'select',
 | 
			
		||||
                        placeholder: '请选择',
 | 
			
		||||
                        visibleIf: {
 | 
			
		||||
                            expand: function (value) { return value; }
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                    "default": ''
 | 
			
		||||
                },
 | 
			
		||||
                ltdId: {
 | 
			
		||||
                    type: 'string',
 | 
			
		||||
                    title: '网络货运人',
 | 
			
		||||
                    ui: {
 | 
			
		||||
                        widget: 'select',
 | 
			
		||||
                        placeholder: '请选择',
 | 
			
		||||
                        visibleIf: {
 | 
			
		||||
                            expand: function (value) { return value; }
 | 
			
		||||
                        },
 | 
			
		||||
                        allowClear: true,
 | 
			
		||||
                        asyncData: function () { return _this.service.getNetworkFreightForwarder(); }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                bankType: {
 | 
			
		||||
                    type: 'string',
 | 
			
		||||
                    title: '银行类型',
 | 
			
		||||
                    "enum": [
 | 
			
		||||
                        { label: '全部', value: '' },
 | 
			
		||||
                        { label: '平安银行', value: '1' },
 | 
			
		||||
                        { label: '浦发银行', value: '2' }
 | 
			
		||||
                    ],
 | 
			
		||||
                    ui: {
 | 
			
		||||
                        widget: 'select',
 | 
			
		||||
                        placeholder: '请选择',
 | 
			
		||||
                        visibleIf: {
 | 
			
		||||
                            expand: function (value) { return value; }
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                    "default": ''
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
    };
 | 
			
		||||
    RechargeRecordComponent.prototype.initST = function () {
 | 
			
		||||
        var _this = this;
 | 
			
		||||
        return [
 | 
			
		||||
            { title: '充值时间', index: 'createTime', type: 'date', width: 180 },
 | 
			
		||||
            { title: '充值单号', index: 'rechargeNo', width: 140 },
 | 
			
		||||
            { title: '网络货运人', index: 'ltdName', width: 160 },
 | 
			
		||||
            { title: '银行类型', index: 'bankTypeLabel', width: 100 },
 | 
			
		||||
            { title: '账户类型', index: 'accountTypeLabel', width: 100 },
 | 
			
		||||
            { title: '账户名称', index: 'roleName', width: 160 },
 | 
			
		||||
            { title: '虚拟账户', index: 'virtualAccount', width: 100 },
 | 
			
		||||
            {
 | 
			
		||||
                title: '充值金额',
 | 
			
		||||
                index: 'rechargeAmount',
 | 
			
		||||
                width: 160,
 | 
			
		||||
                type: 'widget',
 | 
			
		||||
                className: 'text-right',
 | 
			
		||||
                widget: { type: 'currency-chy', params: function (_a) {
 | 
			
		||||
                        var record = _a.record;
 | 
			
		||||
                        return ({ value: record.rechargeAmount });
 | 
			
		||||
                    } }
 | 
			
		||||
            },
 | 
			
		||||
            { title: '充值银行账户', render: 'transferBankAccount', width: 200 },
 | 
			
		||||
            { title: '充值方式', index: 'payChannelLabel', width: 100 },
 | 
			
		||||
            { title: '充值状态', index: 'rechargeStatusLabel', width: 100 },
 | 
			
		||||
            { title: '银行流水号', index: 'paySerialNumber', width: 120 },
 | 
			
		||||
            {
 | 
			
		||||
                title: '操作',
 | 
			
		||||
                width: 120,
 | 
			
		||||
                fixed: 'right',
 | 
			
		||||
                className: 'text-center',
 | 
			
		||||
                buttons: [
 | 
			
		||||
                    { type: 'divider' },
 | 
			
		||||
                    {
 | 
			
		||||
                        text: '查看回单<br>',
 | 
			
		||||
                        click: function (item) {
 | 
			
		||||
                            return _this.service.getReceiptUrl(item.receiptUrl, {
 | 
			
		||||
                                bankType: item.bankType,
 | 
			
		||||
                                rmYll: item.roleId,
 | 
			
		||||
                                snglFlgCd: item.paySerialNumber2,
 | 
			
		||||
                                bussType: '06',
 | 
			
		||||
                                ltdId: item.ltdId,
 | 
			
		||||
                                accountType: item.accountType
 | 
			
		||||
                            });
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        text: '添加备注',
 | 
			
		||||
                        click: function (item) { return _this.addRemark(item); }
 | 
			
		||||
                    }
 | 
			
		||||
                ]
 | 
			
		||||
            }
 | 
			
		||||
        ];
 | 
			
		||||
    };
 | 
			
		||||
    __decorate([
 | 
			
		||||
        core_1.ViewChild('st', { static: true })
 | 
			
		||||
    ], RechargeRecordComponent.prototype, "st");
 | 
			
		||||
    __decorate([
 | 
			
		||||
        core_1.ViewChild('sf', { static: false })
 | 
			
		||||
    ], RechargeRecordComponent.prototype, "sf");
 | 
			
		||||
    __decorate([
 | 
			
		||||
        core_1.ViewChild('remarkodal', { static: true })
 | 
			
		||||
    ], RechargeRecordComponent.prototype, "remarkodal");
 | 
			
		||||
    RechargeRecordComponent = __decorate([
 | 
			
		||||
        core_1.Component({
 | 
			
		||||
            selector: 'app-recharge-record',
 | 
			
		||||
            templateUrl: './recharge-record.component.html',
 | 
			
		||||
            styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less']
 | 
			
		||||
        })
 | 
			
		||||
    ], RechargeRecordComponent);
 | 
			
		||||
    return RechargeRecordComponent;
 | 
			
		||||
}());
 | 
			
		||||
exports.RechargeRecordComponent = RechargeRecordComponent;
 | 
			
		||||
@ -34,7 +34,7 @@ export class RechargeRecordComponent implements OnInit {
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  addRemark(item: any) {
 | 
			
		||||
    this.rechargeRemark = item.rechargeRemark;
 | 
			
		||||
    this.rechargeRemark = item.remark;
 | 
			
		||||
    const modal = this.modal.create({
 | 
			
		||||
      nzTitle: this.rechargeRemark ? '修改备注' : '添加备注',
 | 
			
		||||
      nzContent: this.remarkodal,
 | 
			
		||||
@ -44,7 +44,14 @@ export class RechargeRecordComponent implements OnInit {
 | 
			
		||||
          label: '确认',
 | 
			
		||||
          loading: () => this.service.http.loading,
 | 
			
		||||
          onClick: () => {
 | 
			
		||||
            modal.destroy();
 | 
			
		||||
            this.service.request(this.service.$api_edit_remark, { id: item.id, remark: this.rechargeRemark }).subscribe(res => {
 | 
			
		||||
              if (res) {
 | 
			
		||||
                this.service.msgSrv.success('修改成功');
 | 
			
		||||
                this.st.load(1);
 | 
			
		||||
                modal.destroy();
 | 
			
		||||
              }
 | 
			
		||||
            });
 | 
			
		||||
            return false;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
 | 
			
		||||
@ -76,6 +76,8 @@ export class FreightAccountService extends ShipperBaseService {
 | 
			
		||||
  $api_get_abnormal_gold_page = '/api/fcc/rechargeInfo/list/page';
 | 
			
		||||
  // 运营端获取账户余额交易明细
 | 
			
		||||
  $api_get_account_blance = '/api/fcc/accountBalanceDetail/getAccountBalanceByPage';
 | 
			
		||||
  // 添加备注
 | 
			
		||||
  $api_edit_remark = '/api/fcc/rechargeInfo/addRemark';
 | 
			
		||||
 | 
			
		||||
  // 查询费用单抬头
 | 
			
		||||
  $api_get_cost_page = '/api/fcc/ficoFeeH/list/page';
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,7 @@
 | 
			
		||||
<nz-card class="search-box">
 | 
			
		||||
  <div nz-row nzGutter="8">
 | 
			
		||||
    <div nz-col [nzSpan]="_$expand ? 24 : 18">
 | 
			
		||||
      <sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 90, grid: { span: 8 } } }" [compact]="true" [button]="'none'"></sf>
 | 
			
		||||
      <sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 90, grid: { lg: 8, md: 12, sm: 12, xs: 24  } } }" [compact]="true" [button]="'none'"></sf>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div nz-col [nzSpan]="6" [nzOffset]="_$expand ? 18 : 0" [class.expend-options]="_$expand" class="text-right">
 | 
			
		||||
      <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)"acl [acl-ability]="['LOGS-LOGS-list']">查询</button>
 | 
			
		||||
 | 
			
		||||
@ -11,32 +11,21 @@
 | 
			
		||||
<nz-card class="search-box">
 | 
			
		||||
  <div nz-row nzGutter="8">
 | 
			
		||||
    <div nz-col [nzSpan]="_$expand ? 24 : 18">
 | 
			
		||||
      <sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 90, grid: { span: 8 } } }" [compact]="true" [button]="'none'"></sf>
 | 
			
		||||
      <sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 90, grid: {lg: 8, md: 12, sm: 12, xs: 24  } } }"
 | 
			
		||||
        [compact]="true" [button]="'none'"></sf>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div nz-col [nzSpan]="6" [nzOffset]="_$expand ? 18 : 0" [class.expend-options]="_$expand" class="text-right">
 | 
			
		||||
      <button
 | 
			
		||||
        nz-button
 | 
			
		||||
        nzType="primary"
 | 
			
		||||
        [nzLoading]="service.http.loading"
 | 
			
		||||
        (click)="st?.load(1)"
 | 
			
		||||
        acl
 | 
			
		||||
        [acl-ability]="['LOGS-SUPPLY-LOGS-list']"
 | 
			
		||||
        >查询</button
 | 
			
		||||
      >
 | 
			
		||||
      <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)" acl
 | 
			
		||||
        [acl-ability]="['LOGS-SUPPLY-LOGS-list']">查询</button>
 | 
			
		||||
      <button nz-button (click)="resetSF()">重置</button>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</nz-card>
 | 
			
		||||
 | 
			
		||||
<nz-card class="content-box">
 | 
			
		||||
  <st
 | 
			
		||||
    #st
 | 
			
		||||
    [data]="service.$api_get_systemt_logs"
 | 
			
		||||
    [columns]="columns"
 | 
			
		||||
  <st #st [data]="service.$api_get_systemt_logs" [columns]="columns"
 | 
			
		||||
    [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
 | 
			
		||||
    [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
 | 
			
		||||
    [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
 | 
			
		||||
    [loading]="false"
 | 
			
		||||
    [scroll]="{ y: '370px' }"
 | 
			
		||||
  ></st>
 | 
			
		||||
</nz-card>
 | 
			
		||||
    [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false"
 | 
			
		||||
    [scroll]="{ y: '370px' }"></st>
 | 
			
		||||
</nz-card>
 | 
			
		||||
@ -34,7 +34,7 @@ export class SystemSupplyLogsComponent implements OnInit {
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      time: {
 | 
			
		||||
        title: '登录时间',
 | 
			
		||||
        title: '操作时间',
 | 
			
		||||
        type: 'string',
 | 
			
		||||
        ui: {
 | 
			
		||||
          widget: 'sl-from-to-search',
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
<nz-card class="search-box">
 | 
			
		||||
    <div nz-row nzGutter="8">
 | 
			
		||||
        <div nz-col [nzSpan]="_$expand ? 24 : 18">
 | 
			
		||||
            <sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 90,grid: { span: 8 } }}" [compact]="true"
 | 
			
		||||
            <sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 90,grid: { lg: 8, md: 12, sm: 12, xs: 24  } }}" [compact]="true"
 | 
			
		||||
                [button]="'none'"></sf>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div nz-col [nzSpan]="6" [nzOffset]="_$expand ? 18 : 0" [class.expend-options]="_$expand" class="text-right">
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@
 | 
			
		||||
<nz-card class="search-box">
 | 
			
		||||
  <div nz-row nzGutter="8">
 | 
			
		||||
    <div nz-col [nzSpan]="_$expand ? 24 : 18">
 | 
			
		||||
      <sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 90, grid: { span: 8 } } }" [compact]="true" [button]="'none'"></sf>
 | 
			
		||||
      <sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 90, grid: { lg: 8, md: 12, sm: 12, xs: 24  } } }" [compact]="true" [button]="'none'"></sf>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div nz-col [nzSpan]="6" [nzOffset]="_$expand ? 18 : 0" [class.expend-options]="_$expand" class="text-right">
 | 
			
		||||
      <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)"   acl  [acl-ability]="['LOGS-VERSION-LOGS-list']">查询</button>
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
 * @Author       : Shiming
 | 
			
		||||
 * @Date         : 2021-12-24 16:58:02
 | 
			
		||||
 * @LastEditors  : Shiming
 | 
			
		||||
 * @LastEditTime : 2022-04-01 10:58:50
 | 
			
		||||
 * @LastEditTime : 2022-04-06 15:40:05
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail-change\\bulk-detail-change.component.html
 | 
			
		||||
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 | 
			
		||||
-->
 | 
			
		||||
@ -275,7 +275,7 @@
 | 
			
		||||
      附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}%)
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div>车队长:{{ i?.payeeName }}{{ i?.payeePhone ? "/" +  i?.payeePhone : ''}}</div>
 | 
			
		||||
  <div *ngIf ="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ i?.payeeName }}{{ i?.payeePhone ? "/" +  i?.payeePhone : ''}}</div>
 | 
			
		||||
</nz-card>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -156,7 +156,7 @@
 | 
			
		||||
      附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}%)
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div>车队长:{{ i?.payeeName }}{{   i?.payeePhone ? "/" +  i?.payeePhone : ''}}</div>
 | 
			
		||||
  <div *ngIf ="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ i?.payeeName }}{{   i?.payeePhone ? "/" +  i?.payeePhone : ''}}</div>
 | 
			
		||||
</nz-card>
 | 
			
		||||
 | 
			
		||||
<nz-card nzTitle="附件信息" #distannce4>
 | 
			
		||||
 | 
			
		||||
@ -851,10 +851,6 @@ export class OrderManagementBulkComponent implements OnInit {
 | 
			
		||||
  }
 | 
			
		||||
  // 导出
 | 
			
		||||
  exprot() {
 | 
			
		||||
    this.service.request(this.service.$api_get_asyncExportBulkList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.asyncExport(this.reqParams,this.service.$api_get_asyncExportBulkList);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -696,10 +696,6 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
 | 
			
		||||
  }
 | 
			
		||||
    // 导出
 | 
			
		||||
    exprot() {
 | 
			
		||||
      this.service.request(this.service.$api_get_asyncExportSpotCheckList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
        if (res) {
 | 
			
		||||
          this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      this.service.asyncExport(this.reqParams, this.service.$api_get_asyncExportSpotCheckList);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -578,10 +578,6 @@ export class OrderManagementReceiptsAuditComponent implements OnInit {
 | 
			
		||||
  }
 | 
			
		||||
      // 导出
 | 
			
		||||
      exprot() {
 | 
			
		||||
        this.service.request(this.service.$api_get_asyncExportExamineBillList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
          if (res) {
 | 
			
		||||
            this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
        this.service.asyncExport(this.reqParams, this.service.$api_get_asyncExportExamineBillList);
 | 
			
		||||
      }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -534,10 +534,6 @@ export class OrderManagementRiskComponent implements OnInit {
 | 
			
		||||
  }
 | 
			
		||||
    // 导出
 | 
			
		||||
    exprot() {
 | 
			
		||||
      this.service.request(this.service.$api_get_asyncExportRiskBillList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
        if (res) {
 | 
			
		||||
          this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      this.service.asyncExport(this.reqParams, this.service.$api_get_asyncExportRiskBillList);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -253,7 +253,7 @@
 | 
			
		||||
    总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }},
 | 
			
		||||
    附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}% )
 | 
			
		||||
  </div>
 | 
			
		||||
  <div>车队长:{{ i?.payeeName }}{{   i?.payeePhone ? "/" +  i?.payeePhone : ''}}</div>
 | 
			
		||||
  <div *ngIf ="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ i?.payeeName }}{{   i?.payeePhone ? "/" +  i?.payeePhone : ''}}</div>
 | 
			
		||||
</nz-card>
 | 
			
		||||
 | 
			
		||||
<nz-card nzTitle="附件信息" #distannce4>
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
 * @Author       : Shiming
 | 
			
		||||
 * @Date         : 2021-12-23 13:39:58
 | 
			
		||||
 * @LastEditors  : Shiming
 | 
			
		||||
 * @LastEditTime : 2022-03-23 14:49:18
 | 
			
		||||
 * @LastEditTime : 2022-04-06 15:12:24
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail-change\\vehicle-detail-change.component.ts
 | 
			
		||||
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 | 
			
		||||
 */
 | 
			
		||||
@ -83,15 +83,7 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
 | 
			
		||||
    {
 | 
			
		||||
      title: '支付状态',
 | 
			
		||||
      className: 'text-center',
 | 
			
		||||
      index: 'paymentStatus',
 | 
			
		||||
      type: 'badge',
 | 
			
		||||
      width: '120px',
 | 
			
		||||
      badge: {
 | 
			
		||||
        '1': { text: '待申请', color: 'warning' },
 | 
			
		||||
        '2': { text: '已支付', color: 'success' },
 | 
			
		||||
        '3': { text: '已拒绝', color: 'warning' },
 | 
			
		||||
        '4': { text: '申请中', color: 'warning' }
 | 
			
		||||
      }
 | 
			
		||||
      index: 'paymentStatusLabel',
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
  trajectory = 'car';
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
 * @Author       : Shiming
 | 
			
		||||
 * @Date         : 2021-12-28 14:42:03
 | 
			
		||||
 * @LastEditors  : Shiming
 | 
			
		||||
 * @LastEditTime : 2022-04-01 11:06:21
 | 
			
		||||
 * @LastEditTime : 2022-04-06 15:39:20
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html
 | 
			
		||||
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 | 
			
		||||
-->
 | 
			
		||||
@ -170,7 +170,7 @@
 | 
			
		||||
    总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }},
 | 
			
		||||
    附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2) }}% )
 | 
			
		||||
  </div>
 | 
			
		||||
  <div>车队长:{{ i?.payeeName }}{{ i?.payeePhone ? '/' + i?.payeePhone : '' }}</div>
 | 
			
		||||
  <div *ngIf ="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ i?.payeeName }}{{ i?.payeePhone ? '/' + i?.payeePhone : '' }}</div>
 | 
			
		||||
</nz-card>
 | 
			
		||||
 | 
			
		||||
<nz-card nzTitle="附件信息" #distannce4>
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
 * @Author       : Shiming
 | 
			
		||||
 * @Date         : 2021-12-28 14:42:03
 | 
			
		||||
 * @LastEditors  : Shiming
 | 
			
		||||
 * @LastEditTime : 2022-03-29 16:08:56
 | 
			
		||||
 * @LastEditTime : 2022-04-06 15:12:10
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.ts
 | 
			
		||||
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 | 
			
		||||
 */
 | 
			
		||||
@ -55,15 +55,7 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
 | 
			
		||||
    {
 | 
			
		||||
      title: '支付状态',
 | 
			
		||||
      className: 'text-center',
 | 
			
		||||
      index: 'paymentStatus',
 | 
			
		||||
      type: 'badge',
 | 
			
		||||
      width: '120px',
 | 
			
		||||
      badge: {
 | 
			
		||||
        '1': { text: '待申请', color: 'warning' },
 | 
			
		||||
        '2': { text: '已支付', color: 'success' },
 | 
			
		||||
        '3': { text: '已拒绝', color: 'warning' },
 | 
			
		||||
        '4': { text: '申请中', color: 'warning' }
 | 
			
		||||
      }
 | 
			
		||||
      index: 'paymentStatusLabel',
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
  constructor(
 | 
			
		||||
 | 
			
		||||
@ -866,10 +866,6 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
 | 
			
		||||
  }
 | 
			
		||||
    // 导出
 | 
			
		||||
    exprot() {
 | 
			
		||||
      this.service.request(this.service.$api_get_asyncExportWholeList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
        if (res) {
 | 
			
		||||
          this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      this.service.asyncExport(this.reqParams, this.service.$api_get_asyncExportWholeList);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -568,10 +568,6 @@ export class SupplyManagementBulkComponent implements OnInit {
 | 
			
		||||
  userAction() {}
 | 
			
		||||
  // 导出
 | 
			
		||||
  exportFire() {
 | 
			
		||||
    this.service.request(this.service.$api_asyncExportBulkList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.asyncExport(this.reqParams, this.service.$api_asyncExportBulkList);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -685,10 +685,6 @@ export class SupplyManagementVehicleComponent implements OnInit {
 | 
			
		||||
  }
 | 
			
		||||
  // 导出
 | 
			
		||||
  exportFire() {
 | 
			
		||||
    this.service.request(this.service.$api_asyncExportWholeList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.asyncExport(this.reqParams, this.service.$api_asyncExportWholeList);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: your name
 | 
			
		||||
 * @Date: 2021-12-03 15:31:52
 | 
			
		||||
 * @LastEditTime : 2022-03-30 17:31:38
 | 
			
		||||
 * @LastEditTime : 2022-04-06 15:37:59
 | 
			
		||||
 * @LastEditors  : Shiming
 | 
			
		||||
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\bulk-detail\\bulk-detail.component.html
 | 
			
		||||
@ -176,7 +176,7 @@
 | 
			
		||||
      附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}%)
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div>车队长:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div>
 | 
			
		||||
  <div *ngIf ="i?.payee?.phone && i?.payee?.phone !== i?.driverVo.phone">车队长:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div>
 | 
			
		||||
</nz-card>
 | 
			
		||||
 | 
			
		||||
<nz-card nzTitle="附件信息" #distannce4>
 | 
			
		||||
 | 
			
		||||
@ -104,6 +104,9 @@ export class WaybillManagementBulkComponent implements OnInit {
 | 
			
		||||
            searchDebounceTime: 300,
 | 
			
		||||
            searchLoadingText: '搜索中...',
 | 
			
		||||
            allowClear: true,
 | 
			
		||||
            visibleIf: {
 | 
			
		||||
              _$expand: (value: boolean) => value
 | 
			
		||||
            },
 | 
			
		||||
            onSearch: (q: any) => {
 | 
			
		||||
              console.log(q)
 | 
			
		||||
              let str =q.replace(/^\s+|\s+$/g,"");
 | 
			
		||||
@ -477,10 +480,6 @@ export class WaybillManagementBulkComponent implements OnInit {
 | 
			
		||||
  }
 | 
			
		||||
     // 导出
 | 
			
		||||
     exprot() {
 | 
			
		||||
      this.service.request(this.service.$api_asyncExportBulkList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
        if (res) {
 | 
			
		||||
          this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      this.service.asyncExport(this.reqParams,this.service.$api_asyncExportBulkList)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: your name
 | 
			
		||||
 * @Date: 2021-12-03 15:31:52
 | 
			
		||||
 * @LastEditTime : 2022-04-01 11:12:17
 | 
			
		||||
 * @LastEditTime : 2022-04-06 15:37:30
 | 
			
		||||
 * @LastEditors  : Shiming
 | 
			
		||||
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 | 
			
		||||
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.html
 | 
			
		||||
@ -157,7 +157,7 @@
 | 
			
		||||
    总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }},
 | 
			
		||||
    附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}% )
 | 
			
		||||
  </div>
 | 
			
		||||
  <div>车队长:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div>
 | 
			
		||||
  <div  *ngIf ="i?.payee?.phone && i?.payee?.phone !== i?.driverVo.phone">车队长:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div>
 | 
			
		||||
</nz-card>
 | 
			
		||||
 | 
			
		||||
<nz-card nzTitle="附件信息" #distannce4>
 | 
			
		||||
 | 
			
		||||
@ -99,6 +99,9 @@ export class WaybillManagementVehicleComponent implements OnInit {
 | 
			
		||||
            searchDebounceTime: 300,
 | 
			
		||||
            searchLoadingText: '搜索中...',
 | 
			
		||||
            allowClear: true,
 | 
			
		||||
            visibleIf: {
 | 
			
		||||
              _$expand: (value: boolean) => value
 | 
			
		||||
            },
 | 
			
		||||
            onSearch: (q: any) => {
 | 
			
		||||
              let str = q.replace(/^\s+|\s+$/g, '');
 | 
			
		||||
              if (str) {
 | 
			
		||||
@ -486,10 +489,6 @@ export class WaybillManagementVehicleComponent implements OnInit {
 | 
			
		||||
  }
 | 
			
		||||
  // 导出
 | 
			
		||||
  exprot() {
 | 
			
		||||
    this.service.request(this.service.$api_asyncExportWholeList, this.reqParams).subscribe((res: any) => {
 | 
			
		||||
      if (res) {
 | 
			
		||||
        this.service.msgSrv.success('导出成功,请去下载中心下载!');
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.service.asyncExport(this.reqParams, this.service.$api_asyncExportWholeList);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user