Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-04-06 13:20:56 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-06 20:24:20 | ||||
|  * @LastEditTime : 2022-04-14 15:43:56 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\customtable\\customindex\\customindex.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -12,19 +12,19 @@ | ||||
| <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]="hzData?.total" [footer]="'已认证' + ' ' + hzData?.auditPassTotal" contentHeight="46"> | ||||
|     <g2-card [title]="'货主'" [bordered]="true" [total]="hzData?.total || '0'" [footer]="'已认证' + ' ' + hzData?.auditPassTotal" contentHeight="46"> | ||||
|     </g2-card> | ||||
|   </div> | ||||
|   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||
|     <g2-card [title]="'合伙人'" [bordered]="true" [total]="hhrData?.total" [footer]="'已认证' + ' ' + hhrData?.auditPassTotal" contentHeight="46"> | ||||
|     <g2-card [title]="'合伙人'" [bordered]="true" [total]="hhrData?.total || '0'" [footer]="'已认证' + ' ' + hhrData?.auditPassTotal" contentHeight="46"> | ||||
|     </g2-card> | ||||
|   </div> | ||||
|   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||
|     <g2-card [title]="'司机'" [bordered]="true" [total]="sjData?.total" [footer]="'已认证' + ' ' + sjData?.auditPassTotal" contentHeight="46"> | ||||
|     <g2-card [title]="'司机'" [bordered]="true" [total]="sjData?.total || '0'" [footer]="'已认证' + ' ' + sjData?.auditPassTotal" contentHeight="46"> | ||||
|     </g2-card> | ||||
|   </div> | ||||
|   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||
|     <g2-card [title]="'车辆'" [bordered]="true" [total]="clData?.total" [footer]="'已认证'  + ' '+ clData?.auditPassTotal" contentHeight="46"> | ||||
|     <g2-card [title]="'车辆'" [bordered]="true" [total]="clData?.total || '0'" [footer]="'已认证'  + ' '+ clData?.auditPassTotal" contentHeight="46"> | ||||
|     </g2-card> | ||||
|   </div> | ||||
| </div> | ||||
|  | ||||
| @ -38,10 +38,12 @@ export class DatatableCustomindexComponent implements OnInit { | ||||
|     { title: '未激活用户数', index: 'notActivationTotal', className: 'text-center' }, | ||||
|     { title: '沉默用户数', index: 'silentTotal', className: 'text-center' }, | ||||
|     { title: '流失用户数', index: 'drainTotal', className: 'text-center' }, | ||||
|     { title: '流失率', index: 'drainRate', className: 'text-center',format: (item: any) => {return (item?.drainRate)*100 + '%'  }} | ||||
|     { title: '流失率', index: 'drainRate', className: 'text-center',format: (item: any) => {return ((item?.drainRate)*100).toFixed(2) + '%'  }} | ||||
|   ]; | ||||
|   hzData: any; | ||||
|   hhrData: any; | ||||
|   hhrData: any = { | ||||
|     total: 0 | ||||
|   }; | ||||
|   sjData: any; | ||||
|   clData: any; | ||||
|   reportData: any = []; | ||||
| @ -114,7 +116,10 @@ export class DatatableCustomindexComponent implements OnInit { | ||||
|     }); | ||||
|     this.service.request(this.service.$api_statistics_total, { type: 2 }).subscribe(res => { | ||||
|       if (res) { | ||||
|          | ||||
|         this.hhrData = res; | ||||
|         console.log(this.hhrData); | ||||
|  | ||||
|       } | ||||
|     }); | ||||
|     this.service.request(this.service.$api_statistics_total, { type: 3 }).subscribe(res => { | ||||
|  | ||||
| @ -4,23 +4,26 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-04-06 10:57:56 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-13 15:20:32 | ||||
|  * @LastEditTime : 2022-04-14 15:48:32 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <!-- 页头 --> | ||||
| <!-- <page-header-wrapper [title]="'运营报表'"></page-header-wrapper> --> | ||||
| <div > | ||||
|   <div style="position: relative;"> | ||||
|     <h1 style="display: flex; justify-content: center; align-items: center;margin: 0; padding: 0; font-size: 25px;font-weight: 700;">运多星网络货运平台</h1> | ||||
|     <div style="position: absolute; right: 0; display: flex;"> | ||||
|   <img src="../../../../../assets/images/oclock.svg" alt="">  | ||||
|    <span style="font-size: 16px; margin-top: 5px;">{{todayTime}}</span> | ||||
| <div> | ||||
|   <div style="position: relative"> | ||||
|     <h1 style="display: flex; justify-content: center; align-items: center; margin: 0; padding: 0; font-size: 20px; font-weight: 700" | ||||
|       >运多星网络货运平台</h1 | ||||
|     > | ||||
|     <div style="position: absolute; right: 0; display: flex"> | ||||
|       <img src="../../../../../assets/images/oclock.svg" alt="" />  | ||||
|       <span style="font-size: 16px; margin-top: 5px">{{ todayTime }}</span> | ||||
|     </div> | ||||
|   </div> | ||||
|   | ||||
|   <h1 style="display: flex; justify-content: center; align-items: center;margin: 0; padding: 0;font-size: 25px;font-weight: 700;">实时交易监控</h1> | ||||
|  | ||||
|   <h1 style="display: flex; justify-content: center; align-items: center; padding: 0; font-size: 20px; font-weight: 700" | ||||
|     >实时交易监控</h1 | ||||
|   > | ||||
| </div> | ||||
| <div nz-row [nzGutter]="24"> | ||||
|   <div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8"> | ||||
| @ -42,16 +45,15 @@ | ||||
|         </nz-col> | ||||
|       </nz-row> | ||||
|     </nz-card> | ||||
|     <nz-card nzTitle="本月交易趋势" > | ||||
|       <app-financetable-curve-min  #curve [chartData]='chartData2'></app-financetable-curve-min> | ||||
|     <nz-card nzTitle="本月交易趋势"> | ||||
|       <app-financetable-curve-min #curve [chartData]="chartData2"></app-financetable-curve-min> | ||||
|     </nz-card> | ||||
|     <nz-card nzTitle="实时货源"> | ||||
|     <nz-card nzTitle="实时货源" style="height: 400px"> | ||||
|       <st | ||||
|         #st | ||||
|         multiSort | ||||
|         bordered | ||||
|         [columns]="columns" | ||||
|         [scroll]="{ y: '320px' }" | ||||
|         [scroll]="{ y: '280px' }" | ||||
|         [data]="service.$api_getRealTimeSupply" | ||||
|         [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|         [res]="{ reName: { list: 'data' } }" | ||||
| @ -86,10 +88,12 @@ | ||||
|         </nz-col> | ||||
|       </nz-row> | ||||
|     </nz-card> | ||||
|     <div style="min-height: 550px"> | ||||
|       <app-datatable-customindex-map style="max-height: 680px" #map [chartData]="chartData"></app-datatable-customindex-map> | ||||
|     </div> | ||||
|     <nz-card> | ||||
|       <nz-row [nzGutter]="24"> | ||||
|         <g2-bar #bar height="310" [delay]='500' repaint='true' [title]="'本月发货量排名'" [data]="salesData2"  (ready)='genData()'></g2-bar> | ||||
|         <g2-bar #bar height="350" [delay]="300" repaint="true" [title]="'本月发货量排名'" [data]="salesData2" (ready)="genData()"></g2-bar> | ||||
|       </nz-row> | ||||
|     </nz-card> | ||||
|   </div> | ||||
| @ -152,12 +156,11 @@ | ||||
|         </nz-col> | ||||
|       </nz-row> | ||||
|     </nz-card> | ||||
|     <nz-card nzTitle="实时运单风控"> | ||||
|     <nz-card nzTitle="实时运单风控" style="height: 400px"> | ||||
|       <st | ||||
|         #st | ||||
|         multiSort | ||||
|         bordered | ||||
|        [scroll]="{y: '290px'}" | ||||
|         [scroll]="{ y: '280px' }" | ||||
|         [columns]="orderColumns" | ||||
|         [data]="service.$api_getRealTimeWaybillRiskControl" | ||||
|         [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqOrderParams }" | ||||
| @ -165,9 +168,9 @@ | ||||
|         [page]="{ show: false, showSize: false, pageSizes: [5, 50, 100] }" | ||||
|         [loading]="service.http.loading" | ||||
|       > | ||||
|       <ng-template st-row="carNo" let-item let-index="index"> | ||||
|         {{ item?.driverName }}{{ item?.carNo ? '/' + item?.carNo : '' }} | ||||
|       </ng-template> | ||||
|         <ng-template st-row="carNo" let-item let-index="index"> | ||||
|           {{ item?.driverName }}{{ item?.carNo ? '/' + item?.carNo : '' }} | ||||
|         </ng-template> | ||||
|       </st> | ||||
|     </nz-card> | ||||
|   </div> | ||||
|  | ||||
| @ -5,7 +5,11 @@ | ||||
|             font-weight: bold; | ||||
|         } | ||||
|         .nz-statistic-number,.ant-statistic-content-value { | ||||
|             font-size: 20px; | ||||
|             font-size: 14px; | ||||
|         } | ||||
|         .ant-table-thead > tr > th, .ant-table-tbody > tr > td, .ant-table tfoot > tr > th, .ant-table tfoot > tr > td { | ||||
|             padding: 0; | ||||
|             font-size: 12px; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -5,7 +5,7 @@ import { map } from 'rxjs/operators'; | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-04-06 10:57:56 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-13 10:25:50 | ||||
|  * @LastEditTime : 2022-04-14 16:21:00 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -44,7 +44,7 @@ export class DatatableDatascreenComponent implements OnInit { | ||||
|  | ||||
|   monthData: G2TimelineData[] = []; | ||||
|   monthData2:G2TimelineData[] =[]; | ||||
|   salesData2: Array<any> = this.genData(); | ||||
|   salesData2: Array<any> = []; | ||||
|   constructor(public service: DataService) {} | ||||
|   ngOnChanges(changes: any): void { | ||||
|     console.log(changes); | ||||
| @ -81,6 +81,7 @@ export class DatatableDatascreenComponent implements OnInit { | ||||
|     this.service.request(this.service.$api_getAnnualTransactions).subscribe((res: any) => { | ||||
|       this.allDeal = res; | ||||
|     }); | ||||
|     this.initPillarData() | ||||
|     this.service.request(this.service.$api_getTransactionAmount).subscribe((res: any) => { | ||||
|       this.headDeal = res; | ||||
|     }); | ||||
| @ -105,7 +106,7 @@ export class DatatableDatascreenComponent implements OnInit { | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|   public genData(): G2MiniAreaData[] { | ||||
|    genData(): any{ | ||||
|     let value: any = []; | ||||
|     this.service.request(this.service.$api_getShipmentRanking).subscribe((res: any) => { | ||||
|       console.log(res); | ||||
| @ -115,32 +116,32 @@ export class DatatableDatascreenComponent implements OnInit { | ||||
|           y: element.weight | ||||
|         }); | ||||
|       }); | ||||
|       this.salesData2 = value | ||||
|     }); | ||||
|     console.log(value); | ||||
|     return value; | ||||
|   } | ||||
|   initPillarData(){ | ||||
|         this.curve.reRender() | ||||
|         // this.curve.reRender() | ||||
|         this.genData(); | ||||
|   } | ||||
|   /** | ||||
|    * 初始化数据列表 | ||||
|    */ | ||||
|   initST() { | ||||
|     this.columns = [ | ||||
|       { title: '序号', render: 'index', className: 'text-center', width: '70px', }, | ||||
|       { title: '发货地', index: 'loadAddress', className: 'text-center', width: '90px' }, | ||||
|       { title: '卸货地', index: 'dischargeAddress', className: 'text-center', width: '90px' }, | ||||
|       { title: '货物', index: 'goodsName', className: 'text-center', width: '90px' }, | ||||
|       { title: '数量', render: 'weight', className: 'text-center', width: '120px' } | ||||
|       { title: '序号', render: 'index', className: 'text-center', }, | ||||
|       { title: '发货地', index: 'loadAddress', className: 'text-center', }, | ||||
|       { title: '卸货地', index: 'dischargeAddress', className: 'text-center',}, | ||||
|       { title: '货物', index: 'goodsName', className: 'text-center',  }, | ||||
|       { title: '数量', render: 'weight', className: 'text-center',} | ||||
|     ]; | ||||
|   } | ||||
|   initOrderST() { | ||||
|     this.orderColumns = [ | ||||
|       { title: '运单号', index: 'wayCode', className: 'text-center', width: '150px' }, | ||||
|       { title: '司机/车辆', index: 'carNo', className: 'text-center', width: '120px' }, | ||||
|       { title: '货主', index: 'shipperName', className: 'text-center', width: '200px' }, | ||||
|       { title: '时间', index: 'createTime', className: 'text-center', width: '200px' }, | ||||
|       { title: '异常预警', index: 'warningTypeLabel', className: 'text-center', width: '120px' } | ||||
|       { title: '运单号', index: 'wayCode', className: 'text-center',  }, | ||||
|       { title: '司机/车辆', index: 'carNo', className: 'text-center',  }, | ||||
|       { title: '货主', index: 'shipperName', className: 'text-center',  }, | ||||
|       { title: '时间', index: 'createTime', className: 'text-center',  }, | ||||
|       { title: '异常预警', index: 'warningTypeLabel', className: 'text-center',} | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
|  | ||||
| @ -22,7 +22,7 @@ export class DatatableCustomindexMapComponent implements OnInit, OnChanges, Afte | ||||
|   constructor(private service: DataService, private ngZone: NgZone) {} | ||||
|   ngAfterViewInit(): void { | ||||
|     this.map.el.nativeElement.style.height  = this.map.el.nativeElement.clientWidth + 'px' | ||||
|     this.chart.render(); | ||||
|     this.chart?.render(); | ||||
|   } | ||||
|  | ||||
|   ngOnChanges(changes: SimpleChanges): void { | ||||
| @ -35,7 +35,6 @@ export class DatatableCustomindexMapComponent implements OnInit, OnChanges, Afte | ||||
|   | ||||
|   ngOnInit(): void {} | ||||
|   reRender() { | ||||
|     console.log('5454545'); | ||||
|     setTimeout(() => { | ||||
|       this.chart.render(); | ||||
|     }, 1000); | ||||
| @ -75,7 +74,6 @@ export class DatatableCustomindexMapComponent implements OnInit, OnChanges, Afte | ||||
|       this.chart.legend('trend', { | ||||
|         position: 'left' | ||||
|       }); | ||||
|       console.log('8888'); | ||||
|    | ||||
|       // 绘制世界地图背景 | ||||
|       this.ds = new DataSet(); | ||||
| @ -95,11 +93,10 @@ export class DatatableCustomindexMapComponent implements OnInit, OnChanges, Afte | ||||
|      if(res) { | ||||
|       res.forEach((element: any) => { | ||||
|         value.push({ | ||||
|           name: element.province, | ||||
|           value: element.weight, | ||||
|           '省份': element.province, | ||||
|           '订单数': element.weight, | ||||
|        }); | ||||
|        }); | ||||
|        console.log(value); | ||||
|        this.userData = value | ||||
|         | ||||
| if (!(this.userData instanceof Array) || this.userData.length === 0) { | ||||
| @ -107,17 +104,18 @@ if (!(this.userData instanceof Array) || this.userData.length === 0) { | ||||
|   } | ||||
|     this.userDv = this.ds.createView().source(this.userData).transform({ | ||||
|         geoDataView: this.worldMap, | ||||
|         field: 'name', | ||||
|         field: '省份', | ||||
|         type: 'geo.region', | ||||
|         as: ['longitude', 'latitude'] | ||||
|       }).transform({ | ||||
|         type: 'map', | ||||
|         callback: (obj: { trend: string; value: number }) => { | ||||
|           if(obj.value < 500) { | ||||
|         callback: (obj: { trend: string; 订单数: number }) => { | ||||
|            | ||||
|           if(obj.订单数 < 500) { | ||||
|             obj.trend = '500以下'; | ||||
|           } else if(obj.value >= 500 && obj.value < 1000){ | ||||
|           } else if(obj.订单数 >= 500 && obj.订单数 < 1000){ | ||||
|             obj.trend = '500-1000'; | ||||
|           } else if(obj.value >= 1000 ){ | ||||
|           } else if(obj.订单数 >= 1000 ){ | ||||
|             obj.trend = '>1000'; | ||||
|           } | ||||
|           return obj; | ||||
| @ -127,13 +125,10 @@ if (!(this.userData instanceof Array) || this.userData.length === 0) { | ||||
|     this.userView.data(this.userDv.rows); | ||||
|     this.userView.scale({ | ||||
|       trend: { | ||||
|         alias: '蓝色地区数量' | ||||
|         alias: '订单交易数量' | ||||
|       } | ||||
|     }); | ||||
|     console.log(this.userView); | ||||
|     console.log('45545'); | ||||
|      | ||||
|     this.userView.polygon().position('longitude*latitude').color('trend', ['#0a3f80', '#1b6aca', '#5d93d4']).tooltip('name*trend*value').style({fillOpacity: 0.85 }) | ||||
|     this.userView.polygon().position('longitude*latitude').color('trend', ['#0a3f80', '#1b6aca', '#5d93d4']).tooltip('省份*订单数').style({fillOpacity: 0.85 }) | ||||
|       .animate({ | ||||
|         leave: { | ||||
|           animation: 'fade-out' | ||||
| @ -145,10 +140,6 @@ if (!(this.userData instanceof Array) || this.userData.length === 0) { | ||||
|     } | ||||
|       }) | ||||
|       }); | ||||
|  | ||||
|       console.log('9999'); | ||||
|    | ||||
|  | ||||
|   } | ||||
|    | ||||
| } | ||||
|  | ||||
| @ -105,7 +105,7 @@ export class DatatableOrderReportingComponent implements OnInit { | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         enterpriseInfoId: { | ||||
|         networkTransporter: { | ||||
|           title: '网络货运人', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|  | ||||
| @ -0,0 +1,55 @@ | ||||
| <page-header-wrapper [title]="'异常入金详情'" [logo]="logo"> | ||||
|     <ng-template #logo> | ||||
|         <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> | ||||
|             <i nz-icon nzType="left" nzTheme="outline"></i> | ||||
|         </button> | ||||
|     </ng-template> | ||||
| </page-header-wrapper> | ||||
|  | ||||
| <nz-card [nzLoading]="service.http.loading"> | ||||
|     <div se-container [labelWidth]="130"> | ||||
|         <se label="网络货运人"> | ||||
|             {{formData?.ltdName}} | ||||
|         </se> | ||||
|         <se label="银行类型"> | ||||
|             {{formData?.bankTypeLabel}} | ||||
|         </se> | ||||
|         <se label="资金总账号"> | ||||
|             {{formData?.virtualAccount}} | ||||
|         </se> | ||||
|         <se label="付款账户"> | ||||
|             {{formData?.transferBankAccount}} | ||||
|         </se> | ||||
|         <se label="入金金额"> | ||||
|             {{formData?.rechargeAmount | currency}} | ||||
|         </se> | ||||
|         <se label="付款银行"> | ||||
|             {{formData?.transferBankOpenName}} | ||||
|         </se> | ||||
|         <se label="入金状态"> | ||||
|             {{formData?.rechargeStatusLabel}} | ||||
|         </se> | ||||
|         <se label="备注"> | ||||
|             {{formData?.rechargeRemark}} | ||||
|         </se> | ||||
|         <se label="入金时间"> | ||||
|             {{formData?.createTime}} | ||||
|         </se> | ||||
|         <se label="退款时间"> | ||||
|             {{formData?.refundTime}} | ||||
|         </se> | ||||
|         <se label="入金流水号"> | ||||
|             {{formData?.paySerialNumber}} | ||||
|         </se> | ||||
|         <se label="退款流水号"> | ||||
|             {{formData?.paySerialNumber2}} | ||||
|         </se> | ||||
|         <!-- <se label="入金回单"> | ||||
|             <a (click)="downBack('06',formData?.receiptUrl)">{{formData?.refundStatus==='3'?'查看回单':'暂无回单'}}</a> | ||||
|         </se> | ||||
|         <se label="退款回单"> | ||||
|             <a (click)="downBack('06',formData?.receiptAbnormalUrl)">{{formData?.refundStatus==='3'?'查看回单':'暂无回单'}}</a> | ||||
|         </se> --> | ||||
|     </div> | ||||
|  | ||||
| </nz-card> | ||||
| @ -0,0 +1,45 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
| import { FreightAccountService } from '../../../services/freight-account.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-abnormal-gold-detail', | ||||
|   templateUrl: './abnormal-gold-detail.component.html', | ||||
|   styleUrls: ['./abnormal-gold-detail.component.less'] | ||||
| }) | ||||
| export class AbnormalGoldDetailComponent implements OnInit { | ||||
|   formData: any = {}; | ||||
|  | ||||
|   constructor(public service: FreightAccountService, private route: ActivatedRoute) { | ||||
|     const id = route.snapshot.params.id; | ||||
|     this.loadRefundDetail(id); | ||||
|   } | ||||
|  | ||||
|   ngOnInit(): void {} | ||||
|  | ||||
|   loadRefundDetail(id: string) { | ||||
|     this.service.request(this.service.$api_get_getAbnormalAmount_detail, { id }).subscribe(res => { | ||||
|       if (res) { | ||||
|         this.formData = res; | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   downBack(bussType: string, receiptUrl: string) { | ||||
|     if (this.formData?.refundStatus !== '3') { | ||||
|       return; | ||||
|     } | ||||
|     this.service.getReceiptUrl(receiptUrl, { | ||||
|       bankType: this.formData.bankType, | ||||
|       rmYll: this.formData.userId, | ||||
|       snglFlgCd: this.formData.coreSerNo, | ||||
|       bussType, | ||||
|       ltdId: this.formData.ltdId, | ||||
|       accountType: this.formData.accountType | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   goBack() { | ||||
|     history.go(-1); | ||||
|   } | ||||
| } | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-04-06 10:57:56 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-11 14:23:35 | ||||
|  * @LastEditTime : 2022-04-14 10:39:57 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\abnormal-gold\\abnormal-gold.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -16,7 +16,7 @@ | ||||
|       <sf | ||||
|         #sf | ||||
|         [schema]="searchSchema" | ||||
|         [ui]="{ '*': { spanLabelFixed: 90, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }" | ||||
|         [ui]="{ '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }" | ||||
|         [compact]="true" | ||||
|         [button]="'none'" | ||||
|       ></sf> | ||||
| @ -35,10 +35,9 @@ | ||||
|  | ||||
| <nz-card class="content-box" nzBordered> | ||||
|   <nz-tabset> | ||||
|     <nz-tab nzTitle="待处理"></nz-tab> | ||||
|     <nz-tab nzTitle="已清分"></nz-tab> | ||||
|     <nz-tab nzTitle="已退款"></nz-tab> | ||||
|     <nz-tab nzTitle="全部"></nz-tab> | ||||
|     <nz-tab nzTitle="处理中"(nzClick)="changePaymentStatus('1')"></nz-tab> | ||||
|     <nz-tab nzTitle="已退款"(nzClick)="changePaymentStatus('5')"></nz-tab> | ||||
|     <nz-tab nzTitle="全部"(nzClick)="changePaymentStatus('')"></nz-tab> | ||||
|   </nz-tabset> | ||||
|  | ||||
|   <st | ||||
|  | ||||
| @ -1,37 +0,0 @@ | ||||
| :host::ng-deep { | ||||
|     .search-box { | ||||
|         .ant-card-body { | ||||
|             padding-bottom: 18px; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     .content-box { | ||||
|         .ant-card-body { | ||||
|             padding-top: 0; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     nz-range-picker { | ||||
|         width: 100%; | ||||
|     } | ||||
|  | ||||
|     .ant-tabs-tab-btn { | ||||
|         padding-left : 16px; | ||||
|         padding-right: 16px; | ||||
|     } | ||||
| } | ||||
|  | ||||
| .expend-options { | ||||
|     margin-top: 0px; | ||||
| } | ||||
|  | ||||
|  | ||||
| @media (min-width: 1200px) { | ||||
|     .expend-options { | ||||
|         max-width: 400px; | ||||
|         position : absolute; | ||||
|         right    : 0; | ||||
|         bottom   : 25px; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @ -9,7 +9,7 @@ import { ClearingModalComponent } from './clearing-modal/clearing-modal.componen | ||||
| @Component({ | ||||
|   selector: 'app-abnormal-gold', | ||||
|   templateUrl: './abnormal-gold.component.html', | ||||
|   styleUrls: ['./abnormal-gold.component.less'] | ||||
|   styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less'] | ||||
| }) | ||||
| export class AbnormalGoldComponent implements OnInit { | ||||
|   @ViewChild('st', { static: true }) | ||||
| @ -21,17 +21,24 @@ export class AbnormalGoldComponent implements OnInit { | ||||
|  | ||||
|   _$expand = false; | ||||
|  | ||||
|   rechargeStatus = '1'; | ||||
|   constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {} | ||||
|  | ||||
|   ngOnInit(): void {} | ||||
|  | ||||
|   beforeReq = (requestOptions: STRequestOptions) => { | ||||
|     Object.assign(requestOptions.body, { rechargeStatus: this.rechargeStatus }); | ||||
|     if (this.sf) { | ||||
|       Object.assign(requestOptions.body, { ...this.sf.value }); | ||||
|     } | ||||
|     return requestOptions; | ||||
|   }; | ||||
|  | ||||
|   changePaymentStatus(status: string) { | ||||
|     this.rechargeStatus = status; | ||||
|     this.st.load(1); | ||||
|   } | ||||
|  | ||||
|   refund(item: any) { | ||||
|     this.nzModalService.warning({ | ||||
|       nzTitle: '确定要将该笔款项原路退回?', | ||||
| @ -101,7 +108,7 @@ export class AbnormalGoldComponent implements OnInit { | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             placeholder: '请选择' | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
| @ -154,43 +161,43 @@ export class AbnormalGoldComponent implements OnInit { | ||||
|  | ||||
|   private initST(): STColumn[] { | ||||
|     return [ | ||||
|       { title: '银行流水号', index: 'paySerialNumber', width: 150 }, | ||||
|       { title: '网络货运人', index: 'ltdId', width: 120 }, | ||||
|       { title: '银行类型', index: 'callNo', width: 100, type: 'enum', enum: { 1: '平安银行', 2: '浦发银行' } }, | ||||
|       { title: '资金总账号', index: 'callNo', width: 120 }, | ||||
|       { title: '充值金额', index: 'rechargeAmount', width: 100 }, | ||||
|       { title: '付款账户', index: 'transferBankAccount', width: 100 }, | ||||
|       { title: '付款账号', index: 'transferBankCardNumber', width: 100 }, | ||||
|       { title: '付款银行', index: 'transferBankOpenName', width: 100 }, | ||||
|       { title: '转账时间', index: 'transferDate', type: 'date', width: 150 }, | ||||
|       { title: '转账备注', index: 'rechargeRemark', width: 100 }, | ||||
|       { title: '操作人', index: 'rechargeName', width: 90 }, | ||||
|       { title: '操作时间', index: 'callNo', type: 'date', width: 150 }, | ||||
|       { title: '状态', index: 'callNo', width: 90 }, | ||||
|       { title: '银行流水号', index: 'paySerialNumber', width: 180 }, | ||||
|       { title: '网络货运人', index: 'ltdName', width: 220 }, | ||||
|       { title: '银行类型', index: 'bankTypeLabel', width: 100 }, | ||||
|       { title: '资金总账号', index: 'virtualAccount', width: 180 }, | ||||
|       { | ||||
|         title: '充值金额', | ||||
|         index: 'rechargeAmount', | ||||
|         width: 140, | ||||
|         type: 'widget', | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.rechargeAmount }) } | ||||
|       }, | ||||
|       { title: '付款账户', index: 'transferBankAccount', width: 180 }, | ||||
|       { title: '付款账号', index: 'transferBankCardNumber', width: 180 }, | ||||
|       { title: '付款银行', index: 'transferBankOpenName', width: 220 }, | ||||
|       { title: '转账时间', index: 'createTime', type: 'date', width: 150 }, | ||||
|       { title: '转账备注', index: 'rechargeRemark', width: 180 }, | ||||
|       { title: '退款时间', index: 'refundTime', type: 'date', width: 150 }, | ||||
|       // { title: '操作人', index: 'rechargeName', width: 140 }, | ||||
|       // { title: '操作时间', index: 'callNo', type: 'date', width: 160 }, | ||||
|       { title: '状态', index: 'rechargeStatusLabel', width: 110 }, | ||||
|       { | ||||
|         title: '操作', | ||||
|         fixed: 'right', | ||||
|         className: 'text-center', | ||||
|         width: 120, | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '清分', | ||||
|             click: item => this.clearingAction(item) | ||||
|           }, | ||||
|           { | ||||
|             text: '退款', | ||||
|             click: item => this.refund(item) | ||||
|           }, | ||||
|           { | ||||
|             text: '查看', | ||||
|             click: item => this.router.navigate(['/financial-management/withdrawals-record/detail/1']) | ||||
|             click: item => this.router.navigate(['/financial-management/abnormal-gold/detail/' + item.id]) | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     ]; | ||||
|   } | ||||
|       // 导出 | ||||
|       exprot() { | ||||
|         this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAbnormalAmountPage); | ||||
|       } | ||||
|   // 导出 | ||||
|   exprot() { | ||||
|     this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAbnormalAmountPage); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -36,7 +36,7 @@ export class DriverAccountDetailComponent implements OnInit { | ||||
|       projectId: this.params.projectId, | ||||
|       enterpriseId: this.params.enterpriseId, | ||||
|       roleId: this.params.roleId, | ||||
|       bankType: this.params.bankType, | ||||
|       bankType: this.params.bankType | ||||
|     }); | ||||
|     if (this.sf) { | ||||
|       Object.assign(requestOptions.body, { | ||||
| @ -76,7 +76,22 @@ export class DriverAccountDetailComponent implements OnInit { | ||||
|   stChange(e: STChange): void {} | ||||
|  | ||||
|   exportList() { | ||||
|     this.service.exportStart( { ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceDriverByOperatorPage,); | ||||
|     this.service.exportStart( | ||||
|       { | ||||
|         ...this.sf.value, | ||||
|         pageSize: -1, | ||||
|         ltdId: this.params.ltdId, | ||||
|         projectId: this.params.projectId, | ||||
|         enterpriseId: this.params.enterpriseId, | ||||
|         roleId: this.params.roleId, | ||||
|         bankType: this.params.bankType, | ||||
|         createTime: { | ||||
|           start: this.sf.value?.createTime?.[0] || '', | ||||
|           end: this.sf.value?.createTime?.[1] || '' | ||||
|         } | ||||
|       }, | ||||
|       this.service.$api_get_exportAccountBalanceDriverByOperatorPage | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   goBack() { | ||||
| @ -167,8 +182,8 @@ export class DriverAccountDetailComponent implements OnInit { | ||||
|       { title: '交易时间', index: 'createTime', type: 'date', width: 150 }, | ||||
|       { title: '流水号', index: 'channelPaySn', width: 170 }, | ||||
|       { title: '交易类型', index: 'tradeTypeLabel', className: 'text-center', width: 150 }, | ||||
|       { title: '交易单号', index: 'businessNumber' , width: 190}, | ||||
|       { title: '订单号', index: 'orderSn' , width: 190}, | ||||
|       { title: '交易单号', index: 'businessNumber', width: 190 }, | ||||
|       { title: '订单号', index: 'orderSn', width: 190 }, | ||||
|       { title: '运单号', index: 'transportSn', width: 190 }, | ||||
|       { title: '收支类型', index: 'incomeTypeLabel', className: 'text-center', width: 150 }, | ||||
|       { | ||||
| @ -187,9 +202,9 @@ export class DriverAccountDetailComponent implements OnInit { | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) } | ||||
|       }, | ||||
|       { title: '付款方', index: 'payName', width: 150}, | ||||
|       { title: '付款方', index: 'payName', width: 150 }, | ||||
|       { title: '收款方', index: 'incomeName', width: 150 }, | ||||
|       { title: '备注', index: 'tradeContent' , width: 150}, | ||||
|       { title: '备注', index: 'tradeContent', width: 150 } | ||||
|     ]; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -81,6 +81,8 @@ export class DriverAccountComponent implements OnInit { | ||||
|   } | ||||
|  | ||||
|   exportList() { | ||||
|     console.log(this.sf.value); | ||||
|      | ||||
|     this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_export_driver_account_page); | ||||
|   } | ||||
|  | ||||
|  | ||||
| @ -83,7 +83,21 @@ export class FreightAccountDetailComponent implements OnInit { | ||||
|   stChange(e: STChange): void {} | ||||
|  | ||||
|   exportList() { | ||||
|     this.service.exportStart( { ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceShipperByOperatorPage,); | ||||
|     this.service.exportStart( | ||||
|       { | ||||
|         ...this.sf.value, | ||||
|         pageSize: -1, | ||||
|         ltdId: this.params.ltdId, | ||||
|         projectId: this.params.projectId, | ||||
|         enterpriseId: this.params.enterpriseId, | ||||
|         roleId: this.params.roleId, | ||||
|         createTime: { | ||||
|           start: this.sf?.value.createTime?.[0] || '', | ||||
|           end: this.sf?.value.createTime?.[1] || '' | ||||
|         } | ||||
|       }, | ||||
|       this.service.$api_get_exportAccountBalanceShipperByOperatorPage | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   goBack() { | ||||
| @ -201,8 +215,8 @@ export class FreightAccountDetailComponent implements OnInit { | ||||
|       { title: '交易单号', index: 'businessNumber', width: 170 }, | ||||
|       { title: '订单号', index: 'orderSn', width: 170 }, | ||||
|       { title: '运单号', index: 'transportSn', width: 170 }, | ||||
|       { title: '货主', index: 'enterpriseName' , width: 170}, | ||||
|       { title: '所属项目', index: 'projectName' , width: 170}, | ||||
|       { title: '货主', index: 'enterpriseName', width: 170 }, | ||||
|       { title: '所属项目', index: 'projectName', width: 170 }, | ||||
|       { title: '收支类型', index: 'incomeTypeLabel', className: 'text-center', width: 140 }, | ||||
|       { | ||||
|         title: '交易金额', | ||||
| @ -220,7 +234,7 @@ export class FreightAccountDetailComponent implements OnInit { | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) } | ||||
|       }, | ||||
|       { title: '付款方', index: 'payName' , width: 170}, | ||||
|       { title: '付款方', index: 'payName', width: 170 }, | ||||
|       { title: '收款方', index: 'incomeName', width: 170 }, | ||||
|       { title: '备注', index: 'tradeContent', width: 170 } | ||||
|     ]; | ||||
|  | ||||
| @ -247,7 +247,7 @@ export class PaymentOrderComponent implements OnInit { | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.payMoney }) } | ||||
|       }, | ||||
|       { title: '付款类型', index: 'payTypeLabel', width: 130 }, | ||||
|       { title: '付款方式', index: 'payModeLabel', width: 130 }, | ||||
|       { title: '付款方式', index: 'payBankTypeLabel', width: 130 }, | ||||
|       { title: '结算客户', index: 'cnoName', width: 160 }, | ||||
|       { title: '收款人', index: 'hrToLabel', width: 150 }, | ||||
|       { title: '应付已核销', index: 'ishrhxLabel', width: 150 }, | ||||
|  | ||||
| @ -66,7 +66,18 @@ export class PlatformAccountDetailComponent implements OnInit { | ||||
|   stChange(e: STChange): void {} | ||||
|  | ||||
|   exportList() { | ||||
|     this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceByPage); | ||||
|     this.service.exportStart( | ||||
|       { | ||||
|         ...this.sf.value, | ||||
|         ...this.params, | ||||
|         createTime: { | ||||
|           start: this.sf.value?.createTime?.[0] || '', | ||||
|           end: this.sf.value?.createTime?.[1] || '' | ||||
|         }, | ||||
|         pageSize: -1 | ||||
|       }, | ||||
|       this.service.$api_get_exportAccountBalanceByPage | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   goBack() { | ||||
|  | ||||
| @ -229,7 +229,7 @@ export class RechargeRecordComponent implements OnInit { | ||||
|                 bankType: item.bankType, | ||||
|                 rmYll: item.roleId, | ||||
|                 snglFlgCd: item.paySerialNumber2, | ||||
|                 bussType: '06', | ||||
|                 bussType: '05', | ||||
|                 ltdId: item.ltdId, | ||||
|                 accountType: item.accountType | ||||
|               }) | ||||
|  | ||||
| @ -91,6 +91,16 @@ export class TransactionFlowComponent { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         orderSn: { | ||||
|           type: 'string', | ||||
|           title: '订单号', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         tradeType: { | ||||
|           type: 'string', | ||||
|           title: '交易类型', | ||||
| @ -216,6 +226,7 @@ export class TransactionFlowComponent { | ||||
|       { title: '流水号', index: 'transactionNumber', width: 180 }, | ||||
|       { title: '交易类型', index: 'tradeTypeLabel', width: 120 }, | ||||
|       { title: '关联单号', index: 'businessNumber', width: 150 }, | ||||
|       { title: '订单号', index: 'orderSn', width: 150 }, | ||||
|       { title: '账户类型', index: 'accountTypeLabel', width: 130 }, | ||||
|       { title: '账户名称', index: 'roleName', width: 180 }, | ||||
|       { title: '所属项目', index: 'projectName', width: 140 }, | ||||
| @ -262,7 +273,6 @@ export class TransactionFlowComponent { | ||||
|     ]; | ||||
|   } | ||||
|   exportList() { | ||||
|  | ||||
|     this.service.exportStart( { ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceDetailPage,); | ||||
|     this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceDetailPage); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -22,8 +22,8 @@ | ||||
|             [class.expend-options]="_$expand"> | ||||
|             <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> | ||||
|             <button nz-button [disabled]="false" (click)="resetSF()">重置</button> | ||||
|             <!-- <button nz-button nzType="primary" [disabled]="false"> 导出</button> | ||||
|             <button nz-button nzType="primary" [disabled]="false"> 导出明细</button> | ||||
|             <button nz-button nzType="primary" [disabled]="false" (click)='exportList()'> 导出</button> | ||||
|             <!-- <button nz-button nzType="primary" [disabled]="false"> 导出明细</button> | ||||
|             <button nz-button nzType="primary" [disabled]="false"> 导出凭证</button> --> | ||||
|             <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|                 {{ !_$expand ? '展开' : '收起' }} | ||||
|  | ||||
| @ -88,6 +88,10 @@ export class VoucherSummaryComponent implements OnInit { | ||||
|     this.sf?.setValue('/expand', this._$expand); | ||||
|   } | ||||
|  | ||||
|   exportList() { | ||||
|     this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_export_fico_vch_page); | ||||
|   } | ||||
|  | ||||
|   private initSF(): SFSchema { | ||||
|     return { | ||||
|       properties: { | ||||
| @ -286,7 +290,7 @@ export class VoucherSummaryComponent implements OnInit { | ||||
|   private initST(): STColumn[] { | ||||
|     return [ | ||||
|       { title: '', index: 'key', type: 'checkbox', width: 60, className: 'text-center', fixed: 'left' }, | ||||
|       { title: '汇总凭证号', index: 'vc2code', type: 'link', width: 180 }, | ||||
|       { title: '汇总凭证号', index: 'vc2code', type: 'link', width: 200 }, | ||||
|       { title: '帐套', index: 'vcltdcode', width: 180 }, | ||||
|       { title: '凭证时间', index: 'createTime', type: 'date', width: 150 }, | ||||
|       { | ||||
| @ -302,7 +306,7 @@ export class VoucherSummaryComponent implements OnInit { | ||||
|       }, | ||||
|       { title: '凭证类型', index: 'vctype', width: 120 }, | ||||
|       { title: '序号', index: 'invmoney', width: 100, format: _ => '1' }, | ||||
|       { title: '摘要', index: 'remarks', width: 120 }, | ||||
|       { title: '摘要', index: 'remarks', width: 220 }, | ||||
|       { title: '币种', index: 'currency', width: 100 }, | ||||
|       { | ||||
|         title: '借方金额', | ||||
| @ -320,7 +324,7 @@ export class VoucherSummaryComponent implements OnInit { | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.crmoney }) } | ||||
|       }, | ||||
|       { title: 'NC凭证', index: 'importncnotes', width: 120 }, | ||||
|       { title: 'NC凭证', index: 'importncnotes', width: 180 }, | ||||
|       { title: '凭证状态', index: 'stsLabel', width: 120 }, | ||||
|       { title: '创建时间', index: 'createTime', width: 180 }, | ||||
|       { title: '创建人', index: 'createUserName', width: 120 }, | ||||
|  | ||||
| @ -32,6 +32,7 @@ import { PlatformAccountDetailComponent } from './components/platform-account/pl | ||||
| import { AdvanceCollectionComponent } from './components/advance-collection/advance-collection.component'; | ||||
| import { AdvanceCollectionDetailComponent } from './components/advance-collection/advance-collection-detail/advance-collection-detail.component'; | ||||
| import { RefundRecordComponent } from './components/refund-record/refund-record.component'; | ||||
| import { AbnormalGoldDetailComponent } from './components/abnormal-gold/abnormal-gold-detail/abnormal-gold-detail.component'; | ||||
|  | ||||
| const routes: Routes = [ | ||||
|   { path: 'freight-account', component: FreightAccountComponent, data: { guard: { ability: ['FINANCIAL-FREIGHT-ACOUNT-list'] } } }, | ||||
| @ -55,6 +56,7 @@ const routes: Routes = [ | ||||
|   { path: 'cost-management/expenses-receivable/:id', component: ExpensesReceivableComponent }, | ||||
|   { path: 'cost-management/expenses-payable/:id', component: ExpensesPayableComponent }, | ||||
|   { path: 'abnormal-gold', component: AbnormalGoldComponent }, | ||||
|   { path: 'abnormal-gold/detail/:id', component: AbnormalGoldDetailComponent }, | ||||
|   { path: 'payment-record', component: PaymentRecordComponent }, | ||||
|   { path: 'transaction-flow', component: TransactionFlowComponent }, | ||||
|   { path: 'payment-order', component: PaymentOrderComponent }, | ||||
|  | ||||
| @ -35,6 +35,7 @@ import { PlatformAccountDetailComponent } from './components/platform-account/pl | ||||
| import { AdvanceCollectionComponent } from './components/advance-collection/advance-collection.component'; | ||||
| import { AdvanceCollectionDetailComponent } from './components/advance-collection/advance-collection-detail/advance-collection-detail.component'; | ||||
| import { RefundRecordComponent } from './components/refund-record/refund-record.component'; | ||||
| import { AbnormalGoldDetailComponent } from './components/abnormal-gold/abnormal-gold-detail/abnormal-gold-detail.component'; | ||||
|  | ||||
| const ROUTESCOMPONENTS = [ | ||||
|   FreightAccountComponent, | ||||
| @ -66,7 +67,8 @@ const ROUTESCOMPONENTS = [ | ||||
|   ReceiptOrderDetailComponent, | ||||
|   AdvanceCollectionComponent, | ||||
|   AdvanceCollectionDetailComponent, | ||||
|   RefundRecordComponent | ||||
|   RefundRecordComponent, | ||||
|   AbnormalGoldDetailComponent | ||||
| ]; | ||||
|  | ||||
| const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, ClearingModalComponent]; | ||||
|  | ||||
| @ -102,6 +102,8 @@ export class FreightAccountService extends ShipperBaseService { | ||||
|  | ||||
|   // 查询总账凭证表 | ||||
|   $api_get_fico_vch_page = '/api/fcc/ficoVcH/list/page'; | ||||
|   // 导出总账凭证表 | ||||
|   $api_export_fico_vch_page = '/api/fcc/ficoVcH/reportVchListPage'; | ||||
|   // 获取总账凭证表详情信息 | ||||
|   $api_get_fico_vch__detail = '/api/fcc/ficoVcH/getDetail'; | ||||
|  | ||||
| @ -156,6 +158,9 @@ export class FreightAccountService extends ShipperBaseService { | ||||
|  | ||||
|   // 查询异常入金充值信息 | ||||
|   $api_get_getAbnormalAmountPage = '/api/fcc/rechargeInfo/list/getAbnormalAmountPage'; | ||||
|   // 查询异常入金充值信息详情 | ||||
|   $api_get_getAbnormalAmount_detail = '/api/fcc/rechargeInfo/get'; | ||||
|  | ||||
|   // 异步导出运营后台异常入金列表 | ||||
|   $api_get_exportAbnormalAmountPage = '/api/fcc/rechargeInfo/exportAbnormalAmountPage'; | ||||
|   // 异步导出运营后台退款记录列表 | ||||
| @ -173,9 +178,10 @@ export class FreightAccountService extends ShipperBaseService { | ||||
|     const { bankType, snglFlgCd } = params; | ||||
|     if (url) { | ||||
|       if (params?.bankType === '1') { | ||||
|         window.open(params?.receiptUrl); | ||||
|         window.open(url); | ||||
|       } else if (params?.bankType === '2') { | ||||
|         this.exportFile({ bankType, receiptUrl: url, bankSerialNumber: snglFlgCd }, this.$api_download_receipt_apply_byte); | ||||
|         window.open(url); | ||||
|         // this.exportFile({ bankType, receiptUrl: url, bankSerialNumber: snglFlgCd }, this.$api_download_receipt_apply_byte); | ||||
|       } | ||||
|     } else { | ||||
|       this.request(this.$api_download_receipt_apply, { ...params }).subscribe(res => { | ||||
| @ -183,11 +189,12 @@ export class FreightAccountService extends ShipperBaseService { | ||||
|           if (bankType === '1') { | ||||
|             window.open(res?.receiptUrl); | ||||
|           } else if (bankType === '2') { | ||||
|             this.downloadFile(this.$api_download_receipt_apply_byte, { | ||||
|               bankType, | ||||
|               receiptUrl: res.receiptUrl, | ||||
|               bankSerialNumber: snglFlgCd | ||||
|             }); | ||||
|             window.open(res?.receiptUrl); | ||||
|             // this.downloadFile(this.$api_download_receipt_apply_byte, { | ||||
|             //   bankType, | ||||
|             //   receiptUrl: res.receiptUrl, | ||||
|             //   bankSerialNumber: snglFlgCd | ||||
|             // }); | ||||
|           } | ||||
|         } else { | ||||
|           this.msgSrv.warning(res.statusMsg || '获取回单失败'); | ||||
|  | ||||
| @ -501,8 +501,10 @@ export class insuranceManagementListComponent implements OnInit { | ||||
|     // console.log(newUrl); | ||||
|      | ||||
|     // window.open(newUrl,'_self'); | ||||
|    | ||||
|     this.service.downloadFile(`${_record.policyUrl}`) | ||||
|     window.open(`${_record.newPolicyUrl}`); | ||||
|     // this.service.downloadFile(`${_record.newPolicyUrl}`) | ||||
|  | ||||
|      | ||||
|     // const params = { | ||||
|     //   imgList: [_record.policyUrl], | ||||
|     //   index: 0 | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-03 15:31:52 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-11 15:13:24 | ||||
|  * @LastEditTime : 2022-04-14 11:43:13 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\insurance-management\\services\\insurance-management.service.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -55,7 +55,17 @@ export class InsuranceManagementService extends ShipperBaseService { | ||||
|     // } | ||||
|     // a.remove(); | ||||
|   } | ||||
|  | ||||
|   getReceiptUrl(url: string, params: any) { | ||||
|     const { bankType, snglFlgCd } = params; | ||||
|     if (url) { | ||||
|       if (params?.bankType === '1') { | ||||
|         window.open(params?.receiptUrl); | ||||
|       } else if (params?.bankType === '2') { | ||||
|         window.open(url); | ||||
|         // this.exportFile({ bankType, receiptUrl: url, bankSerialNumber: snglFlgCd }, this.$api_download_receipt_apply_byte); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   constructor(public injector: Injector) { | ||||
|     super(injector); | ||||
|   } | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-06 20:20:26 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-08 14:06:21 | ||||
|  * @LastEditTime : 2022-04-14 10:08:12 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -15,26 +15,18 @@ | ||||
|     </button> | ||||
|   </ng-template> | ||||
|   <ng-template #headerContent> | ||||
|     <div  nz-row> | ||||
|     <div nz-row> | ||||
|       <button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.billStatusLabel }}</button> | ||||
|       <h4 class="ml-md" style="font-size: 18px">订单号: {{ i?.billCode }}</h4> | ||||
|     </div> | ||||
|     <div nz-row style="display: flex; justify-content: end" class="mb-xs"> | ||||
|       <div nz-col > | ||||
|         <button | ||||
|           (click)="cancellation()" | ||||
|           nz-button | ||||
|       <div nz-col> | ||||
|         <button (click)="cancellation()" nz-button | ||||
|           *ngIf="i?.billStatus !== '1'   && i?.billStatus !== '5'  && i?.billStatus !== '6' && i?.overallPaymentStatus != '2'" | ||||
|           acl  [acl-ability]="['ORDER-BULK-DETAIL-cancelAnOrder']" | ||||
|           >取消订单</button | ||||
|         > | ||||
|         <button | ||||
|           nz-button | ||||
|           *ngIf="i?.billStatus == '4' || i?.billStatus == '5' || i?.billStatus == '2' || i?.billStatus == '3'" | ||||
|           acl  [acl-ability]="['ORDER-BULK-DETAIL-modifyOrder']" | ||||
|           (click)="changeOrder()" | ||||
|           >修改订单</button | ||||
|         > | ||||
|           acl [acl-ability]="['ORDER-BULK-DETAIL-cancelAnOrder']">取消订单</button> | ||||
|         <button nz-button | ||||
|           *ngIf="i?.billStatus == '4' || i?.billStatus == '5' || i?.billStatus == '2' || i?.billStatus == '3'" acl | ||||
|           [acl-ability]="['ORDER-BULK-DETAIL-modifyOrder']" (click)="changeOrder()">修改订单</button> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div> | ||||
| @ -43,8 +35,9 @@ | ||||
|         <sv label="货主">{{ i?.goodsResource?.shipperAppUserName }} </sv> | ||||
|         <sv label="所属项目">{{ i?.goodsResource?.enterpriseProjectName }}</sv> | ||||
|         <sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv> | ||||
|         <sv label="录单员">{{ i?.createUserName }} {{   i?.createUserPhone ? "/" +  i?.createUserPhone : ''}} </sv> | ||||
|         <sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{  i?.goodsResource?.dispatchPhone ? "/" + i?.goodsResource?.dispatchPhone : ''}} </sv> | ||||
|         <sv label="录单员">{{ i?.createUserName }} {{ i?.createUserPhone ? "/" + i?.createUserPhone : ''}} </sv> | ||||
|         <sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? "/" + | ||||
|           i?.goodsResource?.dispatchPhone : ''}} </sv> | ||||
|         <sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv> | ||||
|         <sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv> | ||||
|         <sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv> | ||||
| @ -64,12 +57,8 @@ | ||||
|     <div style="width: 60%; margin: 0 auto"> | ||||
|         | ||||
|       <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> | ||||
|         <nz-step | ||||
|           *ngFor="let item of i?.scheduleVOList" | ||||
|           [nzTitle]="item.state" | ||||
|           [nzSubtitle]="item.stateTime" | ||||
|           [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'" | ||||
|         ></nz-step> | ||||
|         <nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime" | ||||
|           [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"></nz-step> | ||||
|       </nz-steps> | ||||
|     </div> | ||||
|   </div> | ||||
| @ -82,9 +71,11 @@ | ||||
|     </sv> | ||||
|   </sv-container> | ||||
|   <sv-container col="2"> | ||||
|     <sv label="货物数量"> {{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv> | ||||
|     <sv label="货物数量"> | ||||
|       {{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv> | ||||
|     <sv label="用车需求">{{ i?.carModel }}{{ i?.carLength ? "/" + i?.carLength : ''}} </sv> | ||||
|     <sv label="承运司机"> {{ i?.driverName }}{{i?.driverPhone ? "/" + i?.driverPhone : ''}}{{ i?.carNo ? "/" + i?.carNo : ''}} </sv> | ||||
|     <sv label="承运司机"> {{ i?.driverName }}{{i?.driverPhone ? "/" + i?.driverPhone : ''}}{{ i?.carNo ? "/" + i?.carNo : | ||||
|       ''}} </sv> | ||||
|     <sv label="车型车长载重"> {{ i?.driverCarModelLabel }},{{ i?.driverCarLengthLabel }}米,{{ i?.driverCarWeight }}吨 </sv> | ||||
|     <!-- <sv label="计划装货时间"> | ||||
|       {{ i?.loadPlanTime }} | ||||
| @ -93,14 +84,14 @@ | ||||
|       {{ i?.unloadPlanTime }} | ||||
|     </sv> --> | ||||
|     <sv label="接单数量"> {{ i?.acceptWeight }}吨,{{ i?.acceptVolume }}方 </sv> | ||||
|     <sv *ngIf="i?.billStatus =='3' || i?.billStatus =='4' || i?.billStatus =='5'" label="装货数量"> {{ i?.loadWeight }}吨,{{ i?.loadVolume }}方</sv> | ||||
|     <sv *ngIf="i?.billStatus =='4' || i?.billStatus =='5'" label="卸货数量"> {{ i?.settlementWeight }}吨,{{ i?.settlementVolume }}方</sv> | ||||
|     <sv *ngIf="i?.billStatus =='3' || i?.billStatus =='4' || i?.billStatus =='5'" label="装货数量"> {{ i?.loadWeight }}吨,{{ | ||||
|       i?.loadVolume }}方</sv> | ||||
|     <sv *ngIf="i?.billStatus =='4' || i?.billStatus =='5'" label="卸货数量"> {{ i?.settlementWeight }}吨,{{ | ||||
|       i?.settlementVolume }}方</sv> | ||||
|   </sv-container> | ||||
|   <div class="mt-md"> | ||||
|     <h4 class="text-md" | ||||
|       >装货卸货信息 | ||||
|       <span class="ml-sm text-sm" | ||||
|         >( | ||||
|     <h4 class="text-md">装货卸货信息 | ||||
|       <span class="ml-sm text-sm">( | ||||
|         <label>{{ i?.loadingCount || '一' }}装</label> | ||||
|         <label>{{ i?.unloadingCount || '一' }}卸</label> | ||||
|       </span> | ||||
| @ -114,7 +105,7 @@ | ||||
|               <div class="handling-info-icon loading-bg">装</div> | ||||
|               <div class="info"> | ||||
|                 <h4>装货地:{{ item?.province }}{{ item.city }}{{ item.area }}{{ item.detailedAddress }}</h4> | ||||
|                 <p>联系人:{{ item.appUserName }}{{  item.contractTelephone ? "/" + item.contractTelephone : '' }}</p> | ||||
|                 <p>联系人:{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : '' }}</p> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
| @ -127,7 +118,7 @@ | ||||
|               <div class="handling-info-icon unloaing-bg">卸</div> | ||||
|               <div class="info"> | ||||
|                 <h4>卸货地:{{ item?.province }}{{ item.city }}{{ item.area }}{{ item.detailedAddress }}</h4> | ||||
|                 <p>联系人:{{ item.appUserName }}{{   item.contractTelephone ? "/" + item.contractTelephone : ''}}</p> | ||||
|                 <p>联系人:{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : ''}}</p> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
| @ -137,11 +128,12 @@ | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card nzTitle="运费信息" #distannce3> | ||||
|   <h2>{{i?.freightPrice}}{{i?.freightTypeLabel}}({{ i?.settlementBasisLabel ? i?.settlementBasisLabel + ',' :' ' }}{{i?.ruleLabel}})</h2> | ||||
|   <h2>{{i?.freightPrice}}{{i?.freightTypeLabel}}({{ i?.settlementBasisLabel ? i?.settlementBasisLabel + ',' :' ' | ||||
|     }}{{i?.ruleLabel}})</h2> | ||||
|   <st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|     <ng-template st-row="PriceType" let-item let-index="index"> 到付 </ng-template> | ||||
|     <ng-template st-row="prices" let-item let-index="index"> | ||||
|       {{ item.price + item.surcharge  | currency }} | ||||
|       {{ item.price + item.surcharge | currency }} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="price" let-item let-index="index"> | ||||
|       {{ item.price | currency }} | ||||
| @ -152,26 +144,30 @@ | ||||
|   </st> | ||||
|   <div> | ||||
|     <div> | ||||
|       总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }}, | ||||
|       总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | | ||||
|       currency }}, | ||||
|       附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}%) | ||||
|     </div> | ||||
|   </div> | ||||
|   <div *ngIf ="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ 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> | ||||
|   <sv-container> | ||||
|     <sv label="协议附件"> | ||||
|       <a *ngIf = "i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a>      | ||||
|       <a *ngIf = "i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> | ||||
|       <a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a>      | ||||
|       <a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> | ||||
|     </sv> | ||||
|   </sv-container> | ||||
|   <sv-container col="2" class="mt-md"> | ||||
|     <sv label="装货凭证"> | ||||
|       <app-imagelist *ngIf="i?.loadingLadingBillFilePath || i?.loadingPeopleVehiclesGoodsFilePath" [imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> | ||||
|       <app-imagelist *ngIf="i?.loadingLadingBillFilePath || i?.loadingPeopleVehiclesGoodsFilePath" | ||||
|         [imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> | ||||
|     </sv> | ||||
|     <sv label="卸货凭证"> | ||||
|       <app-imagelist *ngIf="i?.unloadingLadingBillFilePath || i?.unloadingPeopleVehiclesGoodsFilePath " [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> | ||||
|       <app-imagelist *ngIf="i?.unloadingLadingBillFilePath || i?.unloadingPeopleVehiclesGoodsFilePath " | ||||
|         [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> | ||||
|     </sv> | ||||
|   </sv-container> | ||||
| </nz-card> | ||||
| @ -183,7 +179,8 @@ | ||||
|     <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} | ||||
|     </sv> | ||||
|     <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> | ||||
|     <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ | ||||
|       i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> | ||||
|     <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       {{ i?.supplementaryInformationVO?.area }} | ||||
|     </sv> | ||||
| @ -206,11 +203,13 @@ | ||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> | ||||
|       <div nz-row> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|           <st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns2" | ||||
|             [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|           </st> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [pois]="pois" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [pois]="pois" [mapHeight]="'600px'" [mapList]="mapList"> | ||||
|           </amap-path-simplifier> | ||||
|         </div> | ||||
|       </div> | ||||
|     </nz-card> | ||||
| @ -222,31 +221,40 @@ | ||||
|     </ng-template> | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card *ngIf="!route?.snapshot?.queryParams?.sts && abnormalList.length > 0"> | ||||
|   <nz-tabset > | ||||
| <nz-card> | ||||
|   <nz-tabset> | ||||
|     <nz-tab nzTitle="风险异常检测"> | ||||
|      <div  *ngIf="abnormalList.length > 0"> | ||||
|       <div> | ||||
|         您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您! | ||||
|       </div> | ||||
|       <div>如果您的运单没有问题,可以提出申诉,并提供相关资料,我们将24小时内审核反馈</div> | ||||
|       <ul *ngFor="let item of abnormalList"> | ||||
|         <li>系统识别:{{item?.complianceTypeName}}</li> | ||||
|         <li>{{item?.determineDetails}},您可在企业端提交申诉材料或联系客服。</li> | ||||
|         <li>2021-11-07 03:20:15</li> | ||||
|         <li style="color: red;">系统识别:{{item?.complianceTypeName}}</li> | ||||
|         <li style="color: red;">{{item?.determineDetails}}</li> | ||||
|       </ul> | ||||
|      </div> | ||||
|     </nz-tab> | ||||
|     <nz-tab nzTitle="异常预警"> | ||||
|       <st  #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|       </st> | ||||
|       <st #st [data]="service.$api_get_order_abnormalWarning" [columns]="logColumns3" | ||||
|         [res]="{ reName: { list: 'data' } }" [req]="{params:{id:route.snapshot.params.id}}" | ||||
|         [page]="{ show: false, showSize: false }"> </st> | ||||
|     </nz-tab> | ||||
|     <nz-tab nzTitle="操作日志"> | ||||
|       <st  #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|       </st> | ||||
|       <!-- <st #logSt [data]="service.$api_get_log_list" [columns]="operateLogColums" | ||||
|       [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: logParams ,lazyLoad:true}" | ||||
|       [res]="{ reName: { list: 'data.records', total: 'data.total' } }"> | ||||
|       <ng-template st-row="operator" let-item> | ||||
|         {{item?.operator}}/{{item.telephone}} | ||||
|       </ng-template> | ||||
|     </st> --> | ||||
|     <app-logistics-time-line [data]="operationList"></app-logistics-time-line> | ||||
|     </nz-tab> | ||||
|   </nz-tabset> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle"  (nzOnOk)="handleOK()" nzWidth="1000px" (nzOnCancel)="handleCancel()"> | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" | ||||
|   nzWidth="1000px" (nzOnCancel)="handleCancel()"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <div *ngIf="!modalcontent">暂无附件信息</div> | ||||
|     <div [innerHTML]="modalcontent"></div> | ||||
| @ -255,4 +263,4 @@ | ||||
|     <button nz-button nzType="primary" (click)="handleOK()" [disabled]="">取消</button> | ||||
|     <button nz-button nzType="default" (click)="handleCancel()">确定 </button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
| </nz-modal> | ||||
| @ -4,14 +4,14 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-06 20:20:26 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-11 22:31:18 | ||||
|  * @LastEditTime : 2022-04-13 19:52:18 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| import { Router } from '@angular/router'; | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
| import { STColumn } from '@delon/abc/st'; | ||||
| import { STColumn, STComponent } from '@delon/abc/st'; | ||||
| import { _HttpClient } from '@delon/theme'; | ||||
| import { NzMessageService } from 'ng-zorro-antd/message'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| @ -26,10 +26,12 @@ import format from 'date-fns/format'; | ||||
| }) | ||||
| export class OrderManagementBulkeDetailComponent implements OnInit { | ||||
|   MapList: any[] = []; | ||||
|   @ViewChild('logSt') logSt!: STComponent; | ||||
|   id = this.route.snapshot.params.id; | ||||
|   billExpenses: any[] = []; //运费信息表格信息 | ||||
|   pois: any[] = []; | ||||
|   abnormalList: any[] = []; | ||||
|   operationList: any; | ||||
|   i: any; | ||||
|   imges: any; | ||||
|   totalObj: any; | ||||
| @ -41,6 +43,15 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | ||||
|     { title: '时间', index: 'parkBte' }, | ||||
|     { title: '地点', index: 'parkAdr' } | ||||
|   ]; | ||||
|   logColumns3: STColumn[] = [ | ||||
|     { title: '时间', index: 'warningTime' }, | ||||
|     { title: '异常预警类型', index: 'warningTypeLabel' } | ||||
|   ]; | ||||
|   operateLogColums: STColumn[] = [ | ||||
|     { title: '内容', index: 'operationContent' }, | ||||
|     { title: '操作人', render: 'operator' }, | ||||
|     { title: '操作时间', index: 'operatorTimestamp' }, | ||||
|   ]; | ||||
|   logColumns: STColumn[] = [ | ||||
|     { title: '款项', index: 'expenseCodeLabel' }, | ||||
|     { title: '小计(元)', render: 'prices' }, | ||||
| @ -61,20 +72,23 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | ||||
|       } | ||||
|     } | ||||
|   ]; | ||||
|   get logParams() { | ||||
|     return { operateObject: this.i?.billCode, operateTypeList: ['3','8'] } | ||||
|   } | ||||
|   trajectory = 'car'; | ||||
|   mapList: any[] = []; //地图点位数据组 | ||||
|   addressItems: any[] = []; //打点地址数据组 | ||||
|   warringList: any[] = []; //打点地址数据组 | ||||
|   constructor( | ||||
|     public route: ActivatedRoute, | ||||
|     private msgSrv: NzMessageService, | ||||
|     private service: OrderManagementService, | ||||
|     public service: OrderManagementService, | ||||
|     private router: Router, | ||||
|     private modal: NzModalService | ||||
|   ) {} | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     console.log(this.route?.snapshot?.queryParams?.sts); | ||||
|  | ||||
|     this.initData(); | ||||
|     this.getTrajectory(); | ||||
|   } | ||||
| @ -103,6 +117,22 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | ||||
|             time: '计划卸货时间:' + res.unloadPlanTime | ||||
|           } | ||||
|         ]; | ||||
|         this.service.request(this.service.$api_get_log_list,{operateObject: this.i?.billCode, operateTypeList: ['3','8']}).subscribe(res => { | ||||
|           if (res) { | ||||
|             console.log('操作日志'); | ||||
|             console.log(res); | ||||
|             let a :any= [] | ||||
|             res.records.forEach((item: any) => { | ||||
|               a.push({ | ||||
|                 value: `操作人: ${item.operator} <br /> 操作内容: ${  item.operationContent}`, | ||||
|                 time: item.operatorTimestamp, | ||||
|                 color: 'green' | ||||
|               }) | ||||
|             }) | ||||
|             console.log(a); | ||||
|             this.operationList = a; | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     this.service.request(this.service.$api_listBillComplianceAbnormalByBillId, { id: this.id }).subscribe(res => { | ||||
| @ -112,12 +142,15 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | ||||
|         this.abnormalList = res; | ||||
|       } | ||||
|     }); | ||||
|   | ||||
|     this.service.request(this.service.$api_getAbnormalWarningByBillId, { id: this.id }).subscribe(res => { | ||||
|       if (res) { | ||||
|         console.log('异常预警'); | ||||
|         console.log(res); | ||||
|         this.warringList = res | ||||
|       } | ||||
|     }); | ||||
|    | ||||
|   } | ||||
|  | ||||
|   goBack() { | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-01-12 10:52:50 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-08 11:30:05 | ||||
|  * @LastEditTime : 2022-04-14 10:53:35 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk\\bulk.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -78,6 +78,9 @@ | ||||
|       <ng-template st-row="driverName" let-item let-index="index"> | ||||
|         <div> {{ item?.driverName }}{{  item?.driverPhone ? "/" + item?.driverPhone : '' }}{{   item?.carNo ? "/" + item?.carNo : ''}} </div> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="settlementWeight" let-item let-index="index"> | ||||
|         <div> {{   item.settlementWeight ?  item.settlementWeight  + '吨/ ': ''}} {{   item.settlementVolume ? item.settlementVolume  + '方 ': ''}}</div> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="payeeName" let-item let-index="index"> | ||||
|         <div> {{ item?.payeeName }}{{ item?.payeePhone ? "/" + item?.payeePhone : ''  }} </div> | ||||
|       </ng-template> | ||||
|  | ||||
| @ -491,12 +491,12 @@ export class OrderManagementBulkComponent implements OnInit { | ||||
|       }, | ||||
|       { | ||||
|         title: '结算数量', | ||||
|         index: '结算数量', | ||||
|         render: 'settlementWeight', | ||||
|         width: '170px', | ||||
|         className: 'text-left', | ||||
|         format: (item: any) => | ||||
|           `${item.settlementWeight || '0'}吨/ | ||||
|            ${item.settlementVolume || '0'}方` | ||||
|         // format: (item: any) => | ||||
|         //   `${item.settlementWeight || '0'}吨/ | ||||
|         //    ${item.settlementVolume || '0'}方` | ||||
|       }, | ||||
|       { | ||||
|         title: '承运司机', | ||||
| @ -518,6 +518,12 @@ export class OrderManagementBulkComponent implements OnInit { | ||||
|         className: 'text-left', | ||||
|         render: 'loadingTime' | ||||
|       }, | ||||
|       { | ||||
|         title: '录单时间', | ||||
|         className: 'text-left', | ||||
|         index: 'recordTime', | ||||
|         width: '170px' | ||||
|       }, | ||||
|       { | ||||
|         title: '创建时间', | ||||
|         width: '180px', | ||||
|  | ||||
| @ -37,6 +37,8 @@ export class OrderManagementComplaintDetailComponent implements OnInit { | ||||
|     if (this.id) | ||||
|     { | ||||
|       this.getDetail(this.id); | ||||
|       console.log(this.ar.snapshot.queryParams.sts); | ||||
|        | ||||
|       this.initSF(); | ||||
|       this.initSTAudit() | ||||
|     }  | ||||
| @ -63,11 +65,22 @@ export class OrderManagementComplaintDetailComponent implements OnInit { | ||||
|   initSF() { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         shpComplaintCauseLabel: { | ||||
|           title: '投诉原因', | ||||
|           type: 'string', | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             hidden: this.ar.snapshot.queryParams.sts == 2, | ||||
|             widget: 'text', | ||||
|             change: (value, orgData) => console.log(value, orgData), | ||||
|           } as SFSelectWidgetSchema, | ||||
|         }, | ||||
|         drvComplaintCauseLabel: { | ||||
|           title: '投诉原因', | ||||
|           type: 'string', | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             hidden: this.ar.snapshot.queryParams.sts == 1, | ||||
|             widget: 'text', | ||||
|             change: (value, orgData) => console.log(value, orgData), | ||||
|           } as SFSelectWidgetSchema, | ||||
|  | ||||
| @ -360,7 +360,8 @@ export class OrderManagementComplaintComponent implements OnInit { | ||||
|   view(value: any) { | ||||
|     this.router.navigate(['/order-management/complaint-detail/' + value.id], { | ||||
|       queryParams: { | ||||
|         detail: JSON.stringify(value) | ||||
|         detail: JSON.stringify(value), | ||||
|         sts: this.selectedMainTabStatus | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
| @ -88,7 +88,7 @@ export class OrderManagementRiskComponent implements OnInit { | ||||
|     this.loading = false | ||||
|     return data.map(item => ({ | ||||
|       ...item, | ||||
|       disabled: item.auditStatus !== '1'  | ||||
|       disabled: item.representationsStatus !== '2'  | ||||
|     })); | ||||
|   }; | ||||
|   search() { | ||||
| @ -201,7 +201,7 @@ export class OrderManagementRiskComponent implements OnInit { | ||||
|             } | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         shipperId: { | ||||
|         shipperAppUserName: { | ||||
|           type: 'string', | ||||
|           title: '托运人', | ||||
|           ui: { | ||||
| @ -218,7 +218,7 @@ export class OrderManagementRiskComponent implements OnInit { | ||||
|               if (str) { | ||||
|                 return this.service | ||||
|                   .request(this.service.$api_enterpriceList, { enterpriseName: str }) | ||||
|                   .pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) | ||||
|                   .pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.enterpriseName } as SFSchemaEnum)))) | ||||
|                   .toPromise(); | ||||
|               } else { | ||||
|                 return of([]); | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-28 14:42:03 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-08 14:06:27 | ||||
|  * @LastEditTime : 2022-04-14 10:09:03 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -21,22 +21,12 @@ | ||||
|     </div> | ||||
|     <div nz-row style="display: flex; justify-content: end" class="mb-xs"> | ||||
|       <div nz-col> | ||||
|         <button | ||||
|           (click)="cancellation()" | ||||
|           nz-button | ||||
|         <button (click)="cancellation()" nz-button | ||||
|           *ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3' || i.billStatus == '1'" | ||||
|           acl | ||||
|           [acl-ability]="['ORDER-VEHICLE-DETAIL-cancelAnOrder']" | ||||
|           >取消订单</button | ||||
|         > | ||||
|         <button | ||||
|           nz-button | ||||
|           (click)="changeOrder()" | ||||
|           *ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3'" | ||||
|           acl | ||||
|           [acl-ability]="['ORDER-VEHICLE-DETAIL-modifyOrder']" | ||||
|           >修改订单</button | ||||
|         > | ||||
|           acl [acl-ability]="['ORDER-VEHICLE-DETAIL-cancelAnOrder']">取消订单</button> | ||||
|         <button nz-button (click)="changeOrder()" | ||||
|           *ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3'" acl | ||||
|           [acl-ability]="['ORDER-VEHICLE-DETAIL-modifyOrder']">修改订单</button> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div> | ||||
| @ -46,8 +36,8 @@ | ||||
|         <sv label="所属项目">{{ i?.goodsResource?.enterpriseProjectName }}</sv> | ||||
|         <sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv> | ||||
|         <sv label="录单员">{{ i?.createUserName }} {{ i?.createUserPhone ? '/' + i?.createUserPhone : '' }} </sv> | ||||
|         <sv label="调度员" | ||||
|           >{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? '/' + i?.goodsResource?.dispatchPhone : '' }} | ||||
|         <sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? '/' + | ||||
|           i?.goodsResource?.dispatchPhone : '' }} | ||||
|         </sv> | ||||
|         <sv label="外部订单号">{{ i?.externalBillCode }}</sv> | ||||
|         <sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv> | ||||
| @ -70,13 +60,9 @@ | ||||
|     <div style="width: 60%; margin: 0 auto"> | ||||
|         | ||||
|       <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> | ||||
|         <nz-step | ||||
|           *ngFor="let item of i?.scheduleVOList" | ||||
|           [nzTitle]="item.state" | ||||
|           [nzSubtitle]="item.stateTime" | ||||
|         <nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime" | ||||
|           [nzDescription]="item.cancelReason ? '取消原因:' + item.cancelReason : ''" | ||||
|           [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'" | ||||
|         ></nz-step> | ||||
|           [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"></nz-step> | ||||
|       </nz-steps> | ||||
|     </div> | ||||
|   </div> | ||||
| @ -93,16 +79,16 @@ | ||||
|     </sv> | ||||
|   </sv-container> | ||||
|   <sv-container col="2"> | ||||
|     <sv label="货物数量"> {{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv> | ||||
|     <sv label="货物数量"> | ||||
|       {{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv> | ||||
|     <sv label="用车需求">{{ i?.carModel }}{{ i?.carLength ? '/' + i?.carLength : '' }}</sv> | ||||
|     <sv label="承运司机"> {{ i?.driverName }}{{ i?.driverPhone ? '/' + i?.driverPhone : '' }}{{ i?.carNo ? '/' + i?.carNo : '' }} </sv> | ||||
|     <sv label="承运司机"> {{ i?.driverName }}{{ i?.driverPhone ? '/' + i?.driverPhone : '' }}{{ i?.carNo ? '/' + i?.carNo : | ||||
|       '' }} </sv> | ||||
|     <sv label="车型车长载重"> {{ i?.driverCarModelLabel }},{{ i?.driverCarLengthLabel }}米,{{ i?.driverCarWeight }}吨 </sv> | ||||
|   </sv-container> | ||||
|   <div class="mt-md"> | ||||
|     <h4 class="text-md" | ||||
|       >装货卸货信息 | ||||
|       <span class="ml-sm text-sm" | ||||
|         >( | ||||
|     <h4 class="text-md">装货卸货信息 | ||||
|       <span class="ml-sm text-sm">( | ||||
|         <label>{{ i?.loadingCount }}装</label> | ||||
|         <label>{{ i?.unloadingCount }}卸</label> | ||||
|         ) | ||||
| @ -167,10 +153,12 @@ | ||||
|     </ng-template> | ||||
|   </st> | ||||
|   <div> | ||||
|     总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }}, | ||||
|     总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | | ||||
|     currency }}, | ||||
|     附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2) }}% ) | ||||
|   </div> | ||||
|   <div *ngIf ="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ 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> | ||||
| @ -185,7 +173,8 @@ | ||||
|       <app-imagelist [imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> | ||||
|     </sv> | ||||
|     <sv label="卸货凭证"> | ||||
|       <app-imagelist [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> | ||||
|       <app-imagelist [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> | ||||
|       </app-imagelist> | ||||
|     </sv> | ||||
|   </sv-container> | ||||
| </nz-card> | ||||
| @ -222,19 +211,13 @@ | ||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> | ||||
|       <div nz-row> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <st | ||||
|             [scroll]="{ y: '500px' }" | ||||
|             style="min-height: 600px" | ||||
|             #st | ||||
|             [data]="addressItems" | ||||
|             [columns]="logColumns2" | ||||
|             [ps]="0" | ||||
|             [page]="{ show: false, showSize: false }" | ||||
|           > | ||||
|           <st [scroll]="{ y: '500px' }" style="min-height: 600px" #st [data]="addressItems" [columns]="logColumns2" | ||||
|             [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|           </st> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois"></amap-path-simplifier> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois"> | ||||
|           </amap-path-simplifier> | ||||
|         </div> | ||||
|       </div> | ||||
|     </nz-card> | ||||
| @ -246,33 +229,38 @@ | ||||
|     </ng-template> | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card *ngIf="!route?.snapshot?.queryParams?.sts && abnormalList.length > 0"> | ||||
| <nz-card > | ||||
|   <nz-tabset> | ||||
|     <nz-tab nzTitle="风险异常检测"> | ||||
|       <div  *ngIf="abnormalList.length > 0"> | ||||
|       <div> 您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您! </div> | ||||
|       <div>如果您的运单没有问题,可以提出申诉,并提供相关资料,我们将24小时内审核反馈</div> | ||||
|       <ul *ngFor="let item of abnormalList"> | ||||
|         <li>系统识别:{{ item?.complianceTypeName }}</li> | ||||
|         <li>{{ item?.determineDetails }},您可在企业端提交申诉材料或联系客服。</li> | ||||
|         <li>2021-11-07 03:20:15</li> | ||||
|         <li style="color: red;">系统识别:{{ item?.complianceTypeName }}</li> | ||||
|         <li style="color: red;">{{ item?.determineDetails }}</li> | ||||
|       </ul> | ||||
|       </div> | ||||
|     </nz-tab> | ||||
|     <nz-tab nzTitle="异常预警"> | ||||
|       <st #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> </st> | ||||
|       <st #st [data]="service.$api_get_order_abnormalWarning" [columns]="logColumns3" | ||||
|         [res]="{ reName: { list: 'data' } }" [req]="{params:{id:route.snapshot.params.id}}" | ||||
|         [page]="{ show: false, showSize: false }"> </st> | ||||
|     </nz-tab> | ||||
|     <nz-tab nzTitle="操作日志"> | ||||
|       <st #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> </st> | ||||
|       <!-- <st #logSt [data]="service.$api_get_log_list" [columns]="operateLogColums" | ||||
|       [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: logParams ,lazyLoad:true}" | ||||
|       [res]="{ reName: { list: 'data.records', total: 'data.total' } }"> | ||||
|       <ng-template st-row="operator" let-item> | ||||
|         {{item?.operator}}/{{item.telephone}} | ||||
|       </ng-template> | ||||
|     </st> --> | ||||
|     <app-logistics-time-line [data]="operationList"></app-logistics-time-line> | ||||
|  | ||||
|     </nz-tab> | ||||
|   </nz-tabset> | ||||
| </nz-card> | ||||
| <nz-modal | ||||
|   [(nzVisible)]="isVisible" | ||||
|   nzWidth="1000px" | ||||
|   [nzFooter]="nzModalFooter" | ||||
|   [nzTitle]="modalTitle" | ||||
|   (nzOnOk)="handleOK()" | ||||
|   (nzOnCancel)="handleCancel()" | ||||
| > | ||||
| <nz-modal [(nzVisible)]="isVisible" nzWidth="1000px" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" | ||||
|   (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <div *ngIf="!modalcontent">暂无附件信息</div> | ||||
|     <div [innerHTML]="modalcontent"></div> | ||||
| @ -281,4 +269,4 @@ | ||||
|     <button nz-button nzType="primary" (click)="handleOK()" [disabled]="">取消</button> | ||||
|     <button nz-button nzType="default" (click)="handleCancel()">确定 </button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
| </nz-modal> | ||||
| @ -4,13 +4,13 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-28 14:42:03 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-06 15:12:10 | ||||
|  * @LastEditTime : 2022-04-13 19:52:15 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { STColumn } from '@delon/abc/st'; | ||||
| import { STColumn, STComponent } from '@delon/abc/st'; | ||||
| import { NzCardComponent } from 'ng-zorro-antd/card'; | ||||
| import { NzMessageService } from 'ng-zorro-antd/message'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| @ -23,12 +23,15 @@ import { OrderManagementService } from '../../services/order-management.service' | ||||
| }) | ||||
| export class OrderManagementVehicleDetailComponent implements OnInit { | ||||
|   id = this.route.snapshot.params.id; | ||||
|   @ViewChild('logSt') logSt!: STComponent; | ||||
|   modalcontent: any; | ||||
|   modalTitle: string = ''; | ||||
|   trajectory = 'car'; | ||||
|   operationList: any; | ||||
|   mapList: any[] = []; //地图点位数据组 | ||||
|   pois: any[] = []; | ||||
|   addressItems: any[] = []; //打点地址数据组 | ||||
|   warringList: any[] = []; //打点地址数据组 | ||||
|   abnormalList: any[] = []; | ||||
|   i: any = { | ||||
|     unLoadingPlaceList: [], | ||||
| @ -46,6 +49,15 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | ||||
|     { title: '时间', index: 'parkBte' }, | ||||
|     { title: '地点', index: 'parkAdr' } | ||||
|   ]; | ||||
|   logColumns3: STColumn[] = [ | ||||
|     { title: '时间', index: 'warningTime' }, | ||||
|     { title: '异常预警类型', index: 'warningTypeLabel' } | ||||
|   ]; | ||||
|   operateLogColums: STColumn[] = [ | ||||
|     { title: '内容', index: 'operationContent' }, | ||||
|     { title: '操作人', render: 'operator' }, | ||||
|     { title: '操作时间', index: 'operatorTimestamp' }, | ||||
|   ]; | ||||
|   logColumns: STColumn[] = [ | ||||
|     { title: '款项', index: 'expenseCodeLabel' }, | ||||
|     { title: '小计(元)', render: 'prices' }, | ||||
| @ -58,10 +70,11 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | ||||
|       index: 'paymentStatusLabel' | ||||
|     } | ||||
|   ]; | ||||
|  | ||||
|   constructor( | ||||
|     public route: ActivatedRoute, | ||||
|     private msgSrv: NzMessageService, | ||||
|     private service: OrderManagementService, | ||||
|     public service: OrderManagementService, | ||||
|     private router: Router, | ||||
|     private modal: NzModalService | ||||
|   ) {} | ||||
| @ -70,7 +83,9 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | ||||
|     this.initData(); | ||||
|     this.getTrajectory(); | ||||
|   } | ||||
|  | ||||
|   get logParams() { | ||||
|     return { operateObject: this.i?.billCode, operateTypeList: ['3','8'] } | ||||
|   } | ||||
|   initData() { | ||||
|     this.service.request(this.service.$api_get_getWholeBillDetail, { id: this.id }).subscribe(res => { | ||||
|       if (res) { | ||||
| @ -80,8 +95,10 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | ||||
|             markerLabel: '装', | ||||
|             color: 'blue', | ||||
|             position: [res.startingPoint.longitude, res.startingPoint.latitude], | ||||
|             title: `发货地:${res.startingPoint.province}${res.startingPoint.city}${res.startingPoint.area || ''}${res.startingPoint.detailedAddress}`, | ||||
|             time: '计划出发时间:' +res.loadPlanTime | ||||
|             title: `发货地:${res.startingPoint.province}${res.startingPoint.city}${res.startingPoint.area || ''}${ | ||||
|               res.startingPoint.detailedAddress | ||||
|             }`, | ||||
|             time: '计划出发时间:' + res.loadPlanTime | ||||
|           }, | ||||
|           { | ||||
|             markerLabel: '卸', | ||||
| @ -91,10 +108,25 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | ||||
|             time: '计划卸货时间:' + res.unloadPlanTime | ||||
|           } | ||||
|         ]; | ||||
|         this.service.request(this.service.$api_get_log_list,{operateObject: this.i?.billCode, operateTypeList: ['3','8']}).subscribe(res => { | ||||
|           if (res) { | ||||
|             console.log('操作日志'); | ||||
|             console.log(res); | ||||
|             let a :any= [] | ||||
|             res.records.forEach((item: any) => { | ||||
|               a.push({ | ||||
|                 value: `操作人: ${item.operator} <br /> 操作内容: ${  item.operationContent}`, | ||||
|                 time: item.operatorTimestamp, | ||||
|                 color: 'green' | ||||
|               }) | ||||
|             }) | ||||
|             console.log(a); | ||||
|             this.operationList = a; | ||||
|           } | ||||
|         }); | ||||
|         this.billExpenses = this.i?.billExpenseDetails?.filter( | ||||
|           (data: any) => data.expenseCode === 'PRE' || data.expenseCode === 'RECE' || data.expenseCode === 'BACK' | ||||
|         ); | ||||
|         this.i.scheduleVOList = this.i?.scheduleVOList?.filter((data: any) => data.displayStatus !== 'HIDE'); | ||||
|       } | ||||
|     }); | ||||
|     this.service.request(this.service.$api_listBillComplianceAbnormalByBillId, { id: this.id }).subscribe(res => { | ||||
| @ -108,8 +140,10 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | ||||
|       if (res) { | ||||
|         console.log('异常预警'); | ||||
|         console.log(res); | ||||
|         this.warringList = res | ||||
|       } | ||||
|     }); | ||||
|     | ||||
|   } | ||||
|   // 取消订单 | ||||
|   cancellation() { | ||||
|  | ||||
| @ -394,6 +394,12 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme | ||||
|         className: 'text-left', | ||||
|         render: 'loadingTime' | ||||
|       }, | ||||
|       { | ||||
|         title: '录单时间', | ||||
|         className: 'text-left', | ||||
|         index: 'recordTime', | ||||
|         width: '170px' | ||||
|       }, | ||||
|       { | ||||
|         title: '创建时间', | ||||
|         className: 'text-left', | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-03 15:31:52 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-11 22:29:34 | ||||
|  * @LastEditTime : 2022-04-13 18:52:24 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -188,6 +188,7 @@ export class OrderManagementService extends ShipperBaseService { | ||||
|  | ||||
|   //  查询异常预警表 | ||||
|   $api_get_abnormalWarning = `/api/sdc/abnormalWarning/list/page`; | ||||
|   $api_get_order_abnormalWarning = `/api/sdc/abnormalWarning/getAbnormalWarningByBillId`; | ||||
|  | ||||
|   //  异步导出运营后台大宗订单列表 | ||||
|   $api_get_asyncExportBulkList = `/api/sdc/billOperate/asyncExportBulkList`; | ||||
| @ -203,6 +204,8 @@ export class OrderManagementService extends ShipperBaseService { | ||||
|   $api_abnormalWarning_asyncExport = `/api/sdc/abnormalWarning/asyncExport`; | ||||
|   //  异步导出投诉管理导出 | ||||
|   $api_asyncExportComplaintListDrv = `/api/sdc/complaint/operate/asyncExportComplaintListDrv`; | ||||
|     //操作日志 | ||||
|     public $api_get_log_list = `/api/mdc/pbc/operationLogRecords/getOperationLogRecordsList`; | ||||
|   /** | ||||
|    * 根据企业ID,获取企业历史网络货运人 | ||||
|    * @returns | ||||
|  | ||||
| @ -53,7 +53,7 @@ export class SupplyManagementBulkDetailComponent implements OnInit { | ||||
|   } // 运单类型 | ||||
|  | ||||
|   settlementBasis: any = { | ||||
|     1: '以收获为准', | ||||
|     1: '以收货为准', | ||||
|     2: '以发货为准' | ||||
|   } // 结算依据 | ||||
|  | ||||
|  | ||||
| @ -309,6 +309,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|             errors: { required: '请填写货物名称' }, | ||||
|             visibleIf: { | ||||
|               goodsTypeName: (value: any) => value && value === '其它' | ||||
|             }, | ||||
|             blur: (value: any) => { | ||||
|               this.checkGoodsName(); | ||||
|             } | ||||
|           } | ||||
|         } | ||||
| @ -1237,4 +1240,21 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     } | ||||
|     this.payChange(); | ||||
|   } | ||||
|  | ||||
|   checkGoodsName() { | ||||
|     const name = this.sf3.getValue('/goodsName1'); | ||||
|     if (!name || name.trim().length === 0) { | ||||
|       return; | ||||
|     } | ||||
|     this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => { | ||||
|       if (res === false) { | ||||
|         const modalRef = this.modalService.error({ | ||||
|           nzTitle: '货物名称含有违禁词,请重新输入!', | ||||
|         }); | ||||
|         modalRef.afterClose.subscribe(result => { | ||||
|           // this.sf3.setValue('/goodsName1', null); | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -190,7 +190,7 @@ | ||||
|           </span> | ||||
|           <span>(运费{{ i?.totalFreight | currency }}含附加运费 {{ i?.totalSurcharge | currency }})</span> | ||||
|         </h3> | ||||
|         <div *ngIf='i?.resourceStatus !== "1"' >车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div> | ||||
|         <div *ngIf='i?.resourceStatus !== "1" && i?.carrierInformationVO?.driverName !== i?.payeeName' >车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div> | ||||
|       </div> | ||||
|     </div> | ||||
|   </nz-card> | ||||
|  | ||||
| @ -196,6 +196,13 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|             }, | ||||
|           ] | ||||
|         }) | ||||
|         tipsModal.afterClose.subscribe(result => {  | ||||
|           this.st?.reload(); | ||||
|          this.getGoodsSourceStatistical(); | ||||
|         }) | ||||
|       } else { | ||||
|         this.st?.reload(); | ||||
|         this.getGoodsSourceStatistical(); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
| @ -18,8 +18,8 @@ | ||||
|         [compact]="true" [button]="'none'"></sf> | ||||
|     </div> | ||||
|     <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" (click)="search()" | ||||
|         acl [acl-ability]="['RiskOrder-Search']">查询</button> | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" | ||||
|         (click)="search()">查询</button> | ||||
|       <button nz-button (click)="resetSF()">重置</button> | ||||
|       <button nz-button (click)="resetSF()">导出</button> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|  | ||||
| @ -17,16 +17,8 @@ | ||||
|       <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||
|     </div> | ||||
|     <div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand"> | ||||
|       <button | ||||
|         nz-button | ||||
|         nzType="primary" | ||||
|         [disabled]="!sf.valid" | ||||
|         [nzLoading]="service.http.loading" | ||||
|         (click)="search()" | ||||
|         acl | ||||
|         [acl-ability]="['RiskOrder-Search']" | ||||
|         >查询</button | ||||
|       > | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" | ||||
|         (click)="search()">查询</button> | ||||
|       <button nz-button (click)="resetSF()">重置</button> | ||||
|       <button nz-button (click)="resetSF()">导出</button> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
| @ -41,16 +33,10 @@ | ||||
|     <nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)"> </nz-tab> | ||||
|   </nz-tabset> | ||||
|   <!-- 数据列表 --> | ||||
|   <st | ||||
|     #st | ||||
|     [scroll]="{ x: '1200px' }" | ||||
|     [data]="service.$api_get_taxDeclaration" | ||||
|     [columns]="columns" | ||||
|   <st #st [scroll]="{ x: '1200px' }" [data]="service.$api_get_taxDeclaration" [columns]="columns" | ||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 50, 100] }" | ||||
|     [loading]="false" | ||||
|   > | ||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 50, 100] }" [loading]="false"> | ||||
|     <ng-template st-row="orderStatus" let-item let-index="index"> | ||||
|       <a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{ item?.billStatusLabel }}</a> | ||||
|       <span *ngIf="item?.billStatus !== '2'">{{ item?.billStatusLabel }}</span> | ||||
| @ -79,7 +65,8 @@ | ||||
|   </div> | ||||
| </ng-template> | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()" | ||||
|   (nzOnCancel)="handleCancel()"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <div> 司机姓名:张三/13812345678 </div> | ||||
|     <div> 是否确认要将该司机的起征点同步调整为超过15万? </div> | ||||
| @ -88,4 +75,4 @@ | ||||
|     <button nz-button nzType="default" (click)="handleCancel()">取消</button> | ||||
|     <button nz-button nzType="primary" (click)="handleOK()">确定</button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
| </nz-modal> | ||||
| @ -24,10 +24,10 @@ export class TaxManagementIndividualDeclareComponent implements OnInit { | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   tabType!: string; | ||||
|   tabs: any[] = [ | ||||
|     { name: '待申报', value: '1' }, | ||||
|     { name: '待审核', value: '2' }, | ||||
|     { name: '已通过', value: '3' }, | ||||
|     { name: '不通过', value: '4' }, | ||||
|     { name: '待申报', value: '0' }, | ||||
|     { name: '待审核', value: '1' }, | ||||
|     { name: '已通过', value: '2' }, | ||||
|     { name: '不通过', value: '3' }, | ||||
|     { name: '全部', value: '' } | ||||
|   ]; | ||||
|   selectedIndex = ''; //选择的项目 | ||||
| @ -54,7 +54,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit { | ||||
|    */ | ||||
|   get reqParams() { | ||||
|     const params = Object.assign({}, this.sf?.value || {}, { | ||||
|       representationsStatus: this.selectedIndex | ||||
|       declareStatus: this.selectedIndex | ||||
|     }); | ||||
|     delete params._$expand; | ||||
|     return { ...params }; | ||||
| @ -161,7 +161,10 @@ export class TaxManagementIndividualDeclareComponent implements OnInit { | ||||
|           ui: { | ||||
|             placeholder: '请选择', | ||||
|             widget: 'select', | ||||
|             containsAllLabel: true | ||||
|             containsAllLabel: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
| @ -271,39 +274,39 @@ export class TaxManagementIndividualDeclareComponent implements OnInit { | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    *撤销 | ||||
|    *更正 | ||||
|    * @param record 记录实例 | ||||
|    */ | ||||
|   recall() { | ||||
|     if (this.selectedRows.length === 0) { | ||||
|       this.openWainingModal('请选择需要撤回的数据'); | ||||
|       this.openWainingModal('请选择需要更正的数据'); | ||||
|       return; | ||||
|     } | ||||
|     this.modal.confirm({ | ||||
|       nzTitle: '撤回提示', | ||||
|       nzContent: ' 撤回后可以重新上传,重新上传会覆盖已上传数据,确定要撤回?', | ||||
|       nzOkText: '确定', | ||||
|       nzCancelText: '取消', | ||||
|       nzOnOk: () => { | ||||
|         this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => { | ||||
|           if (res) { | ||||
|             this.service.msgSrv.success('撤销成功'); | ||||
|             this.search(); | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     // this.modal.confirm({ | ||||
|     //   nzTitle: '撤回提示', | ||||
|     //   nzContent: ' 撤回后可以重新上传,重新上传会覆盖已上传数据,确定要撤回?', | ||||
|     //   nzOkText: '确定', | ||||
|     //   nzCancelText: '取消', | ||||
|     //   nzOnOk: () => { | ||||
|     //     this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => { | ||||
|     //       if (res) { | ||||
|     //         this.service.msgSrv.success('撤销成功'); | ||||
|     //         this.search(); | ||||
|     //       } | ||||
|     //     }); | ||||
|     //   } | ||||
|     // }); | ||||
|   } | ||||
|   /** | ||||
|    *撤销 | ||||
|    *修改 | ||||
|    * @param record 记录实例 | ||||
|    */ | ||||
|    uploadSetting() { | ||||
|     if (this.selectedRows.length === 0) { | ||||
|       this.openWainingModal('请选择需要更新的数据!'); | ||||
|       this.openWainingModal('请选择需要修改的数据!'); | ||||
|       return; | ||||
|     } | ||||
|     this.isVisible = true | ||||
|     // this.isVisible = true | ||||
|  | ||||
|   } | ||||
|   /** | ||||
| @ -328,7 +331,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit { | ||||
|   } | ||||
|  | ||||
|   selectChange(item: any) { | ||||
|     this.selectedIndex = item?.representationsStatus || ''; | ||||
|     this.selectedIndex = item?.value || ''; | ||||
|     setTimeout(() => { | ||||
|       this.st.load(1); | ||||
|     }); | ||||
| @ -370,7 +373,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit { | ||||
|    */ | ||||
|   upload() { | ||||
|     if (this.selectedRows.length === 0) { | ||||
|       this.openWainingModal('请选择需要上传的数据'); | ||||
|       this.openWainingModal('请选择需要申报的数据'); | ||||
|       return; | ||||
|     } | ||||
|     // this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => { | ||||
| @ -387,7 +390,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit { | ||||
|    */ | ||||
|    resetData() { | ||||
|     if (this.selectedRows.length === 0) { | ||||
|       this.openWainingModal('请选择需要上传的数据'); | ||||
|       this.openWainingModal('请选择需要更新的数据'); | ||||
|       return; | ||||
|     } | ||||
|     let params: any[] = []; | ||||
|  | ||||
| @ -17,8 +17,7 @@ | ||||
|       <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||
|     </div> | ||||
|     <div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand"> | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()" acl | ||||
|         [acl-ability]="['RiskOrder-Search']">查询</button> | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()" >查询</button> | ||||
|       <button nz-button (click)="resetSF()">重置</button> | ||||
|       <button nz-button (click)="resetSF()">导出</button> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|  | ||||
| @ -261,7 +261,7 @@ export class TaxManagementOrderReportingComponent implements OnInit { | ||||
|       { title: '卸货地详细地址', index: 'unloadDetailedAddress', className: 'text-center', width: '180px' }, | ||||
|       { title: '货主名称', index: 'shipperName', className: 'text-center', width: '180px' }, | ||||
|       { title: '货主纳税人识别号', index: 'shipperProvinceCode', className: 'text-center', width: '180px' }, | ||||
|       { title: '录单时间', index: 'billCreateTime', className: 'text-center', width: '250px' }, | ||||
|       { title: '录单时间', index: 'recordTime', className: 'text-center', width: '250px' }, | ||||
|       { title: '接单时间', index: 'wayBillCreateTime', className: 'text-center', width: '200px' }, | ||||
|       { title: '发车时间', index: 'loadTime', className: 'text-center', width: '200px' }, | ||||
|       { title: '到车时间', index: 'unloadTime', className: 'text-center', width: '150px' }, | ||||
|  | ||||
| @ -39,17 +39,23 @@ export class CancellationInvoiceComponent implements OnInit { | ||||
|   beforeReq = (requestOptions: STRequestOptions) => { | ||||
|     if (this.sf) { | ||||
|       Object.assign(requestOptions.body, { | ||||
|         ...this.sf.value, | ||||
|         createTime: { | ||||
|           start: this.sf.value.createTime?.[0] || '', | ||||
|           end: this.sf.value.createTime?.[1] || '' | ||||
|         } | ||||
|         ...this.sf.value | ||||
|       }); | ||||
|       if (this.sf.value.createTime) { | ||||
|         Object.assign(requestOptions.body, { | ||||
|           createTime: { | ||||
|             start: this.sf.value.createTime?.[0] || '', | ||||
|             end: this.sf.value.createTime?.[1] || '' | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     } | ||||
|     if (this.resourceStatus) { | ||||
|       Object.assign(requestOptions.body, { | ||||
|         sts: this.resourceStatus | ||||
|       }); | ||||
|     } else { | ||||
|       delete requestOptions.body.sts; | ||||
|     } | ||||
|     return requestOptions; | ||||
|   }; | ||||
| @ -339,7 +345,7 @@ export class CancellationInvoiceComponent implements OnInit { | ||||
|         click: item => this.router.navigate(['/ticket/invoice-requested/detail/' + item?.vatappHId]) | ||||
|       }, | ||||
|       { title: '申请时间', index: 'createTime', type: 'date', width: 150 }, | ||||
|       { title: '发票类型', index: 'vatapptypeLabel',  width: 150 }, | ||||
|       { title: '发票类型', index: 'vatapptypeLabel', width: 150 }, | ||||
|       { title: '网络货运人', index: 'ltdName', width: 220 }, | ||||
|       { title: '购买人', index: 'artoname', width: 220 }, | ||||
|       { title: '订单数', index: 'ordlines', width: 90, className: 'text-right' }, | ||||
| @ -401,7 +407,7 @@ export class CancellationInvoiceComponent implements OnInit { | ||||
|             text: '手工开票<br>', | ||||
|             iif: item => item.sts != '3', | ||||
|             click: item => this.requestedAction(item) | ||||
|           }, | ||||
|           } | ||||
|           // { | ||||
|           //   text: '推送开票<br>', | ||||
|           //   iif: item => item.sts === '1', | ||||
|  | ||||
| @ -33,6 +33,7 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|         ...this.sf.value | ||||
|       }); | ||||
|     } | ||||
|     this.selectedRows = []; | ||||
|     return requestOptions; | ||||
|   }; | ||||
|  | ||||
| @ -192,7 +193,7 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           }, | ||||
|           } | ||||
|         }, | ||||
|         ltdId: { | ||||
|           type: 'string', | ||||
|  | ||||
| @ -8,7 +8,7 @@ | ||||
|  | ||||
| <nz-card class="statistics-box"> | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1"> | ||||
|     <div nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1"> | ||||
|       <se label="销售方"> | ||||
|         {{ headerInfo?.ltdName }} | ||||
|       </se> | ||||
| @ -34,7 +34,7 @@ | ||||
|         {{ headerInfo?.remarks }} | ||||
|       </se> | ||||
|     </div> | ||||
|     <div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1"> | ||||
|     <div nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1"> | ||||
|       <se label="购买方"> | ||||
|         {{ headerInfo?.artoname }} | ||||
|       </se> | ||||
| @ -57,7 +57,7 @@ | ||||
|         {{headerInfo?.otherremarks || '-'}} | ||||
|       </se> | ||||
|     </div> | ||||
|     <div *ngIf="isCanEdit && selectedIndex===2" nz-col [nzXl]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" class="text-right"> | ||||
|     <div *ngIf="isCanEdit && selectedIndex===2" nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" class="text-right"> | ||||
|       <ng-container *ngIf="isEdit; else elseTemplate"> | ||||
|         <button nz-button (click)="isEdit = false; invoiceST?.load(1)">取消</button> | ||||
|         <button nz-button nzType="primary" (click)="saveInvoices()">保 存</button> | ||||
| @ -113,7 +113,7 @@ | ||||
|     <nz-tab nzTitle="发票明细"> | ||||
|       <st #invoiceST [data]="service.$api_get_invoice_details" [columns]="invoiceColumns" size="small" bordered="true" | ||||
|         [page]="{}" [req]="{ process: beforeReq }" [loading]="false" [scroll]="{ x: '1200px', y: '250px' }"> | ||||
|         <ng-template st-row="vatname" let-item let-index="index"> | ||||
|         <ng-template st-row="vatnameLabel" let-item let-index="index"> | ||||
|           <nz-select *ngIf="isEdit" [ngModel]="item.vatname" | ||||
|             (ngModelChange)="invoiceST.setRow(index, { vatname: $event })" style="width: 100%"> | ||||
|             <nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of services"></nz-option> | ||||
|  | ||||
| @ -278,17 +278,17 @@ export class InvoiceDetailComponent implements OnInit { | ||||
|  | ||||
|   private initInvoiceST(): STColumn[] { | ||||
|     return [ | ||||
|       { title: '服务名称', render: 'vatname', width: 350 }, | ||||
|       { title: '服务名称', render: 'vatnameLabel', width: 350 }, | ||||
|       { title: '规格型号', render: 'vatmodel' }, | ||||
|       { title: '单位', render: 'vatunit', width: 100 }, | ||||
|       { title: '数量', render: 'vatqty', width: 140, className: 'text-right' }, | ||||
|       { | ||||
|         title: '金额', | ||||
|         index: 'vatnotax', | ||||
|         index: 'vattax', | ||||
|         width: 140, | ||||
|         type: 'widget', | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) } | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) } | ||||
|       }, | ||||
|       { | ||||
|         title: '税率', | ||||
| @ -299,11 +299,11 @@ export class InvoiceDetailComponent implements OnInit { | ||||
|       }, | ||||
|       { | ||||
|         title: '税额', | ||||
|         index: 'vattax', | ||||
|         index: 'vatnotax', | ||||
|         width: 140, | ||||
|         type: 'widget', | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) } | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }  | ||||
|       } | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
| @ -8,13 +8,12 @@ | ||||
|  | ||||
| <nz-card class="statistics-box"> | ||||
|     <div nz-row nzGutter="8"> | ||||
|         <div nz-col [nzXl]="8" [nzLg]="12" nzMd="12" [nzSm]="24" [nzXs]="24" se-container [labelWidth]="150" col="1"> | ||||
|             <se label="网络货运人"> | ||||
|         <div nz-col [nzXl]="8" [nzLg]="12" [nzMd]="12" [nzSm]="24" [nzXs]="24" se-container [labelWidth]="150" col="1"> | ||||
|           | ||||
|             <se label="网络货运人" [labelWidth]="133"> | ||||
|                 {{headerInfo?.ltdidName}} | ||||
|             </se> | ||||
|             <se label="申请编号"> | ||||
|                 {{headerInfo?.vatappcode}} | ||||
|             </se> | ||||
|            | ||||
|             <se label="已开/全部订单数"> | ||||
|                 {{headerInfo?.vatinvHNum}} / {{headerInfo?.vatinvBillNum}} | ||||
|             </se> | ||||
| @ -31,13 +30,16 @@ | ||||
|                 {{headerInfo?.provinceName}}{{headerInfo?.cityName}}{{headerInfo?.areaName}}{{headerInfo?.reciaddr}} | ||||
|             </se> | ||||
|         </div> | ||||
|         <div nz-col [nzXl]="8" [nzLg]="12" nzMd="12" [nzSm]="24" [nzXs]="24" se-container [labelWidth]="100" col="1"> | ||||
|         <div nz-col [nzXl]="8" [nzLg]="12" [nzMd]="12" [nzSm]="24" [nzXs]="24" se-container [labelWidth]="100" col="1"> | ||||
|             <se label="购买方"> | ||||
|                 {{headerInfo?.artoName}} | ||||
|             </se> | ||||
|             <se label="纳税号"> | ||||
|                 {{headerInfo?.taxNumber}} | ||||
|             </se> | ||||
|             <se label="申请编号"> | ||||
|                 {{headerInfo?.vatappcode}} | ||||
|             </se> | ||||
|             <se label="地址"> | ||||
|                 {{headerInfo?.registerAddr}} | ||||
|             </se> | ||||
|  | ||||
| @ -11,7 +11,7 @@ | ||||
|         </se> | ||||
|         <ng-container *ngIf="type===2"> | ||||
|             <se label="收件地址" required> | ||||
|                 <nz-select [(ngModel)]="data.rcontactInfo" [nzCustomTemplate]="rcontactInfosData"> | ||||
|                 <nz-select [(ngModel)]="data.rcontactInfo" [nzCustomTemplate]="rcontactInfosData" nzDropdownClassName="print_order_select"> | ||||
|                     <nz-option [nzValue]="item" nzLabel="Jack" *ngFor="let item of rcontactInfos" | ||||
|                         [nzCustomContent]="true"> | ||||
|                         {{item.contact}}      {{item.tel}}<br /> | ||||
| @ -25,7 +25,7 @@ | ||||
|                 </ng-template> | ||||
|             </se> | ||||
|             <se label="寄件地址" required> | ||||
|                 <nz-select [(ngModel)]="data.scontactInfo" [nzCustomTemplate]="scontactInfosData"> | ||||
|                 <nz-select [(ngModel)]="data.scontactInfo" [nzCustomTemplate]="scontactInfosData" nzDropdownClassName="print_order_select"> | ||||
|                     <nz-option [nzValue]="item" nzLabel="Jack" *ngFor="let item of scontactInfos" | ||||
|                         [nzCustomContent]="true"> | ||||
|                         {{item.contact}}      {{item.tel}}<br /> | ||||
|  | ||||
| @ -184,22 +184,22 @@ export class VehicleComponentsListComponent implements OnInit { | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         isSelfs: { | ||||
|           type: 'string', | ||||
|           title: '是否入网', | ||||
|           enum: [ | ||||
|             { label: '全部', value: '' }, | ||||
|             { label: '是', value: 1 }, | ||||
|             { label: '否', value: 0 } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             allowClear: true, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|         // isSelfs: { | ||||
|         //   type: 'string', | ||||
|         //   title: '是否入网', | ||||
|         //   enum: [ | ||||
|         //     { label: '全部', value: '' }, | ||||
|         //     { label: '是', value: 1 }, | ||||
|         //     { label: '否', value: 0 } | ||||
|         //   ], | ||||
|         //   ui: { | ||||
|         //     widget: 'select', | ||||
|         //     allowClear: true, | ||||
|         //     visibleIf: { | ||||
|         //       expand: (value: boolean) => value | ||||
|         //     } | ||||
|         //   } | ||||
|         // } | ||||
|         // putOnRecord: { | ||||
|         //   type: 'string', | ||||
|         //   title: '是否已备案', | ||||
| @ -263,7 +263,7 @@ export class VehicleComponentsListComponent implements OnInit { | ||||
|           3: { text: '已到期', color: 'error' } | ||||
|         } | ||||
|       }, | ||||
|       { title: '是否入网', width: '200px', className: 'text-center', index: 'carOwner' }, | ||||
|       // { title: '是否入网', width: '200px', className: 'text-center', index: 'carOwner' }, | ||||
|       { title: '所有人', width: '200px', className: 'text-center', index: 'carOwner' }, | ||||
|       { title: '是否挂靠', width: '150px', className: 'text-center', render: 'isSelf' }, | ||||
|       { title: '挂靠协议', width: '150px', className: 'text-center', render: 'approvalAuditStatus' }, | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-24 15:38:08 | ||||
|  * @LastEditTime : 2022-03-24 19:40:36 | ||||
|  * @LastEditTime : 2022-04-13 20:05:09 | ||||
|  * @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\\abnormal-appear\\abnormal-appear.component.html | ||||
| @ -57,13 +57,13 @@ | ||||
|         <ng-template st-row="exceptionCertificateFirstFilePath" let-item let-index="index"> | ||||
|           <div class="imgBox"> | ||||
|             <div *ngIf="item?.exceptionCertificateFirstFilePath"> | ||||
|               <app-imagelist style="width: 40px" [imgList]="[item?.exceptionCertificateFirstFilePath]"> </app-imagelist> | ||||
|               <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateFirstFilePath]"> </app-imagelist> | ||||
|             </div> | ||||
|             <div *ngIf="item?.exceptionCertificateSecondFilePath"> | ||||
|             <app-imagelist style="width: 40px;" [imgList]="[item?.exceptionCertificateSecondFilePath]"> </app-imagelist> | ||||
|             <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateSecondFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|             <div *ngIf="item?.exceptionCertificateThirdFilePath"> | ||||
|             <app-imagelist style="width: 40px;" [imgList]="[item?.exceptionCertificateThirdFilePath]"> </app-imagelist> | ||||
|             <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateThirdFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|  | ||||
| @ -14,6 +14,7 @@ | ||||
|         display: flex; | ||||
|         img { | ||||
|             width: 60px !important;  | ||||
|             height: 60px !important;  | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -52,7 +52,7 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|     { title: '卸货地', index: 'unloadingAddressArr', width: '220px', className: 'text-left' }, | ||||
|     { title: '承运司机', index: 'driver', width: '250px', className: 'text-left' }, | ||||
|     { title: '异常信息', index: 'exceptionContent', width: '250px', className: 'text-left' }, | ||||
|     { title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '200px', className: 'text-left' }, | ||||
|     { title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '300px', className: 'text-left' }, | ||||
|     { title: '上报时间', index: 'createTime', width: '180px', className: 'text-left' } | ||||
|   ]; | ||||
|   columns2: STColumn[] = [ | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 15:31:52 | ||||
|  * @LastEditTime : 2022-04-08 11:44:33 | ||||
|  * @LastEditTime : 2022-04-14 16:38:56 | ||||
|  * @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,8 @@ | ||||
|       附加费{{ 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?.name !== i?.driver?.name">车队长:{{ i?.payee?.name }}{{ i?.payee?.phone ? "/" + | ||||
|     i?.payee?.phone : ''}}/{{ i?.payee?.idNo }}</div> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card nzTitle="附件信息" #distannce4> | ||||
|  | ||||
		Reference in New Issue
	
	Block a user