Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -88,8 +88,8 @@ export class DatatableBusiindexComponent implements OnInit { | ||||
|       if (res) { | ||||
|         this.chartData = res | ||||
|         if(flag) { | ||||
|           // this.pillar.reRender() | ||||
|           // this.curve.reRender() | ||||
|           this.pillar.reRender() | ||||
|           this.curve.reRender() | ||||
|         } | ||||
|       } | ||||
|     }) | ||||
|  | ||||
| @ -12,7 +12,6 @@ import { DataService } from '../../../services/data.service'; | ||||
|   providers: [DatePipe] | ||||
| }) | ||||
| export class DatatableMancustomtableComponent implements OnInit { | ||||
|   url = `/user`; | ||||
|   @ViewChild('st', { static: false }) st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   _$expand = false; | ||||
| @ -20,6 +19,8 @@ export class DatatableMancustomtableComponent implements OnInit { | ||||
|   mode = 'year'; | ||||
|   date: any = null; | ||||
|   defineDate = []; | ||||
|   columns: STColumn[] =[]; | ||||
|   resourceStatus: number = 1; | ||||
|   time: any = ['2022-01-01 00:00:00']; | ||||
|   dateFormat = 'yyyy'; | ||||
|   today = new Date(); | ||||
| @ -60,33 +61,41 @@ export class DatatableMancustomtableComponent implements OnInit { | ||||
|       } | ||||
|     } | ||||
|   }; | ||||
|   columns: STColumn[] = [ | ||||
|     { title: '部门', index: 'enterpriseName', className: 'text-center', width: '200px' }, | ||||
|     { title: '业务员', index: 'registerTime', className: 'text-center', width: '200px' }, | ||||
|     { title: '已认证货主数', index: 'customerType', className: 'text-center', width: '100px' }, | ||||
|     { title: '新增合伙人', index: 'customerType', className: 'text-center', width: '100px' }, | ||||
|     { title: '合伙人活跃率', index: 'customerType', className: 'text-center', width: '100px' }, | ||||
|     { title: '主动合伙人', index: 'customerType', className: 'text-center', width: '100px' }, | ||||
|     { title: '纪念合伙人', index: 'customerType', className: 'text-center', width: '100px' }, | ||||
|     { title: '流失合伙人', index: 'customerType', className: 'text-center', width: '100px' }, | ||||
|     { title: '未搭档合伙人', index: 'customerType', className: 'text-center', width: '100px' }, | ||||
|     { title: '新增货主数', index: 'salesmanName', className: 'text-center', width: '100px' }, | ||||
|     { title: '货主活跃率', index: 'partnerName', className: 'text-center', width: '100px' }, | ||||
|  initST() { | ||||
|   this.columns =[ | ||||
|     { title: '部门', index: 'department', className: 'text-center', width: '200px' }, | ||||
|     { title: '业务员', index: 'salesmen', className: 'text-center', width: '200px' }, | ||||
|     { title: '已认证货主数', index: 'certifiedCount', className: 'text-center', width: '100px', iif: ()=>  { | ||||
|       console.log(this.resourceStatus); | ||||
|       return this.resourceStatus !== 1 | ||||
|        | ||||
|     } }, | ||||
|     { title: '已认证合伙人', index: 'certifiedCount', className: 'text-center', width: '100px' }, | ||||
|     { title: '新增合伙人数', index: 'addCount', className: 'text-center', width: '100px' }, | ||||
|     { title: '合伙人活跃率', index: 'alivePer', className: 'text-center', width: '100px' }, | ||||
|     { title: '活跃合伙人数', index: 'aliveCount', className: 'text-center', width: '100px' }, | ||||
|     { title: '沉默合伙人数', index: 'silentCount', className: 'text-center', width: '100px' }, | ||||
|     { title: '流失合伙人数', index: 'drainCount', className: 'text-center', width: '100px' }, | ||||
|     { title: '未激活合伙人数', index: 'notActiveCount', className: 'text-center', width: '100px' }, | ||||
|  | ||||
|     { title: '新增货主数', index: 'addCount', className: 'text-center', width: '100px' }, | ||||
|     { title: '货主活跃率', index: 'alivePer', className: 'text-center', width: '100px' }, | ||||
|     { | ||||
|       title: '活跃货主数', | ||||
|       index: 'customerStatus', | ||||
|       index: 'aliveCount', | ||||
|       className: 'text-center', | ||||
|       width: '100px' | ||||
|     }, | ||||
|     { title: '纪念货主数', index: 'zsl', className: 'text-center', width: '100px' }, | ||||
|     { title: '沉默货主数', index: 'silentCount', className: 'text-center', width: '100px' }, | ||||
|     { | ||||
|       title: '货货主数', | ||||
|       index: 'ddje', | ||||
|       title: '流失货主数', | ||||
|       index: 'drainCount', | ||||
|       className: 'text-right', | ||||
|       width: '100px', | ||||
|     }, | ||||
|     { title: '未激活货主数', index: 'ysdds', className: 'text-center', width: '120px' } | ||||
|     { title: '未激活货主数', index: 'notActiveCount', className: 'text-center', width: '120px' } | ||||
|   ]; | ||||
|  } | ||||
|   /** | ||||
|    * 查询参数 | ||||
|    */ | ||||
| @ -103,15 +112,18 @@ export class DatatableMancustomtableComponent implements OnInit { | ||||
|     let params: any = { | ||||
|       time: this.time, | ||||
|       type: this.type, | ||||
|       parType: this.resourceStatus, | ||||
|       ...this.sf?.value | ||||
|     }; | ||||
|  | ||||
|     delete params._$expand; | ||||
|     delete params.sort; | ||||
|     return { ...params }; | ||||
|   } | ||||
|   constructor(public service: DataService, private datePipe: DatePipe) {} | ||||
|   ngOnInit(): void { | ||||
|     this.initSF(); | ||||
|     this.initST(); | ||||
|   } | ||||
|   /** | ||||
|    * 初始化查询表单 | ||||
| @ -225,10 +237,13 @@ export class DatatableMancustomtableComponent implements OnInit { | ||||
|     this.isLoading = true; | ||||
|   } | ||||
|   selectChange(e: number) { | ||||
|     // this.resourceStatus = e; | ||||
|     console.log(e); | ||||
|      | ||||
|     this.resourceStatus = e + 1; | ||||
|     // this.initST(); | ||||
|     setTimeout(() => { | ||||
|       this.st.load(); | ||||
|       this.initST(); | ||||
|       // this.st.load(1); | ||||
|     }, 500); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -39,9 +39,9 @@ export class DatatableOwnerComponent implements OnInit { | ||||
|     { title: '合伙人', index: 'partnerName', className: 'text-center', width: '100px' }, | ||||
|     { title: '客户状态', index: 'customerStatus', className: 'text-center', width: '100px', type: 'enum', enum: { | ||||
|       1: '未激活', | ||||
|       2: '沉默', | ||||
|       3: '流失', | ||||
|       4: '活跃' | ||||
|       2: '流失', | ||||
|       3: '活跃', | ||||
|       4: '沉默' | ||||
|     } }, | ||||
|     { title: '订单数', index: 'zsl', className: 'text-center', width: '100px' }, | ||||
|     { title: '订单金额', index: 'ddje', className: 'text-right', width: '100px', type: 'widget', widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.ddje }) } }, | ||||
| @ -117,9 +117,9 @@ export class DatatableOwnerComponent implements OnInit { | ||||
|           }, | ||||
|           enum: [ | ||||
|             {label: '未激活', value: 1}, | ||||
|             {label: '沉默', value: 2}, | ||||
|             {label: '流失', value: 3}, | ||||
|             {label: '活跃', value: 4}, | ||||
|             {label: '流失', value: 2}, | ||||
|             {label: '活跃', value: 3}, | ||||
|             {label: '沉默', value: 4}, | ||||
|           ] | ||||
|         }, | ||||
|         registerTime: { | ||||
| @ -156,7 +156,7 @@ export class DatatableOwnerComponent implements OnInit { | ||||
|     } else if(this.mode === 'date') { | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|     } else{ | ||||
|       this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|       this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + ' 00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|     } | ||||
|     this.st.reload({ ...this.reqParams }); | ||||
|   } | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-04-06 10:57:56 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-14 15:48:32 | ||||
|  * @LastEditTime : 2022-04-19 14:01:38 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
|  | ||||
| @ -59,6 +59,7 @@ export class DatatableFinancetableComponent implements OnInit { | ||||
|     } else { | ||||
|       this.type = 4 | ||||
|     } | ||||
|  | ||||
|     let params: any = { | ||||
|       time: this.time, | ||||
|       type: this.type | ||||
| @ -76,11 +77,11 @@ export class DatatableFinancetableComponent implements OnInit { | ||||
|  | ||||
|   initPillarData(){ | ||||
|     let type = 1 | ||||
|     if(this.mode === 'year') { | ||||
|       type = 1 | ||||
|     } else if(this.mode === 'month') { | ||||
|       type = 2 | ||||
|     } | ||||
|     if (this.modeNext === 'year') { | ||||
|       this.type = 1 | ||||
|     } else if (this.modeNext === 'month') { | ||||
|       this.type = 2 | ||||
|     }  | ||||
|     const params: any = { | ||||
|       time: this.timeNext, | ||||
|       type, | ||||
| @ -121,7 +122,7 @@ export class DatatableFinancetableComponent implements OnInit { | ||||
|     } else if (this.mode === 'date') { | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|     } else { | ||||
|       this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|       this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + ' 00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|     } | ||||
|     this.st.reload({ ...this.reqParams }); | ||||
|   } | ||||
| @ -138,9 +139,9 @@ export class DatatableFinancetableComponent implements OnInit { | ||||
|  | ||||
|   } | ||||
|   changeDataNext() { | ||||
|     if(this.mode === 'year') { | ||||
|     if(this.modeNext === 'year') { | ||||
|       this.dateFormat = 'yyyy' | ||||
|     } else if(this.mode === 'month') { | ||||
|     } else if(this.modeNext === 'month') { | ||||
|       this.dateFormat = 'yyyy-MM' | ||||
|     } | ||||
|   } | ||||
| @ -148,9 +149,9 @@ export class DatatableFinancetableComponent implements OnInit { | ||||
|     if(result === null) { | ||||
|       return | ||||
|     } | ||||
|     if(this.mode === 'year') { | ||||
|     if(this.modeNext === 'year') { | ||||
|       this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy') + '-01-01 00:00:00'] | ||||
|     } else if(this.mode === 'month') { | ||||
|     } else if(this.modeNext === 'month') { | ||||
|       this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy-MM') + '-01 00:00:00'] | ||||
|     } | ||||
|     this.initPillarData(); | ||||
|  | ||||
| @ -1,32 +1,26 @@ | ||||
| <!-- 页头 --> | ||||
| <page-header-wrapper [title]="'开票数据报表'"></page-header-wrapper> | ||||
| <nz-card nzTitle="开票数据报表"> | ||||
|   <st | ||||
|     #st | ||||
|     [data]="service.$api_findInvoiceReport" | ||||
|     [columns]="columns" | ||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|     [res]="{ reName: { list: 'data', total: 'data.total' }}" | ||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|     [loadingDelay]="500" | ||||
|   > | ||||
|   <ng-template st-row="totalInvoicedAmount" let-item let-index="index"> | ||||
|     {{item.totalInvoicedAmount | currency}} | ||||
|   </ng-template> | ||||
|   <ng-template st-row="invAmountMonth" let-item let-index="index"> | ||||
|     {{item.invAmountMonth | currency}} | ||||
|   </ng-template> | ||||
|   <ng-template st-row="applyWaitInvAmount" let-item let-index="index"> | ||||
|     {{item.applyWaitInvAmount | currency}} | ||||
|   </ng-template> | ||||
|   <ng-template st-row="unInvoicedAmountHistory" let-item let-index="index"> | ||||
|     {{item.unInvoicedAmountHistory | currency}} | ||||
|   </ng-template> | ||||
|   <ng-template st-row="unInvoicedAmountCurMonth" let-item let-index="index"> | ||||
|     {{item.unInvoicedAmountCurMonth | currency}} | ||||
|   </ng-template> | ||||
|   <ng-template st-row="invoicedAmount" let-item let-index="index"> | ||||
|     {{item.invoicedAmount | currency}} | ||||
|   </ng-template> | ||||
|   <st #st [data]="service.$api_findInvoiceReport" [columns]="columns" [scroll]="{ x: '1200px' }" | ||||
|     [req]="{ params: reqParams }" [res]="{ reName: { list: 'data', total: 'data.total' }}" [page]="{ show: false }" | ||||
|     [loadingDelay]="500"> | ||||
|     <ng-template st-row="totalInvoicedAmount" let-item let-index="index"> | ||||
|       {{item.totalInvoicedAmount | currency}} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="invAmountMonth" let-item let-index="index"> | ||||
|       {{item.invAmountMonth | currency}} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="applyWaitInvAmount" let-item let-index="index"> | ||||
|       {{item.applyWaitInvAmount | currency}} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="unInvoicedAmountHistory" let-item let-index="index"> | ||||
|       {{item.unInvoicedAmountHistory | currency}} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="unInvoicedAmountCurMonth" let-item let-index="index"> | ||||
|       {{item.unInvoicedAmountCurMonth | currency}} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="invoicedAmount" let-item let-index="index"> | ||||
|       {{item.invoicedAmount | currency}} | ||||
|     </ng-template> | ||||
|   </st> | ||||
| </nz-card> | ||||
| </nz-card> | ||||
| @ -6,71 +6,98 @@ import { DataService } from '../../services/data.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-datatable-invoicetable', | ||||
|   templateUrl: './invoicetable.component.html', | ||||
|   templateUrl: './invoicetable.component.html' | ||||
| }) | ||||
| export class DatatableInvoicetableComponent implements OnInit { | ||||
|   @ViewChild('st', { static: false }) | ||||
|   st!: STComponent; | ||||
|   columns!: STColumn[]; | ||||
|  | ||||
|   data=[{name1:1111}] | ||||
|   constructor(private http: _HttpClient, private modal: ModalHelper,public service :DataService) { } | ||||
|   data = [{ name1: 1111 }]; | ||||
|   constructor(private http: _HttpClient, private modal: ModalHelper, public service: DataService) {} | ||||
|  | ||||
|   /** | ||||
|    * 查询参数 | ||||
|    */ | ||||
|    get reqParams() { | ||||
|     return {  }; | ||||
|   get reqParams() { | ||||
|     return {}; | ||||
|   } | ||||
|   ngOnInit(): void {  | ||||
|   ngOnInit(): void { | ||||
|     this.initST(); | ||||
|      | ||||
|   } | ||||
|   initST() { | ||||
|     this.columns = [ | ||||
|       { | ||||
|         title: '运营主体', | ||||
|         index: 'operationName' | ||||
|         index: 'operationName', | ||||
|         width: 220 | ||||
|       }, | ||||
|       { | ||||
|         title: '已开票总金额', | ||||
|         index: 'totalInvoicedAmount', | ||||
|         render: 'totalInvoicedAmount', | ||||
|         className: 'text-right', | ||||
|         width: 150 | ||||
|       }, | ||||
|       { | ||||
|         title: '当月已开票金额', | ||||
|         index: 'invAmountMonth', | ||||
|         render: 'invAmountMonth', | ||||
|         className: 'text-right', | ||||
|         width: 150 | ||||
|       }, | ||||
|       { | ||||
|         title: '当月已开票张数', | ||||
|         index: 'numInvAmountMonth', | ||||
|         className: 'text-right', | ||||
|         width: 150 | ||||
|       }, | ||||
|       { | ||||
|         title: '已申请待开金额', | ||||
|         index: 'applyWaitInvAmount', | ||||
|         render: 'applyWaitInvAmount', | ||||
|         className: 'text-right', | ||||
|         width: 150 | ||||
|       }, | ||||
|       { | ||||
|         title: '申请待开客户', | ||||
|         index: 'applyWaitCustomer', | ||||
|         className: 'text-right', | ||||
|         width: 150 | ||||
|       }, | ||||
|       { | ||||
|         title: '已开票金额', | ||||
|         index: 'invoicedAmount', | ||||
|         render: 'invoicedAmount', | ||||
|         className: 'text-right', | ||||
|         width: 150 | ||||
|       }, | ||||
|       { | ||||
|         title: '未申请开票金额(历史)', | ||||
|         index: 'unInvoicedAmountHistory', | ||||
|         render: 'unInvoicedAmountHistory', | ||||
|         className: 'text-right', | ||||
|         width: 200 | ||||
|       }, | ||||
|       { | ||||
|         title: '未申请开票金额(当月)', | ||||
|         index: 'unInvoicedAmountCurMonth', | ||||
|         render: 'unInvoicedAmountCurMonth', | ||||
|         className: 'text-right', | ||||
|         width: 200 | ||||
|       }, | ||||
|       { | ||||
|         title: '当月发票张数', | ||||
|         index: 'unInvoicedAmountHistory1', | ||||
|         className: 'text-right', | ||||
|         width: 150 | ||||
|       }, | ||||
|       { | ||||
|         title: '剩余发票张数', | ||||
|         index: 'unInvoicedAmountCurMonth1', | ||||
|         className: 'text-right', | ||||
|         width: 150 | ||||
|       } | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -118,7 +118,7 @@ export class DatatableOperationtableComponent implements OnInit { | ||||
|     } else if (this.mode === 'date') { | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|     } else { | ||||
|       this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|       this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + ' 00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'] | ||||
|     } | ||||
|     this.st.reload({ ...this.reqParams }); | ||||
|   } | ||||
|  | ||||
| @ -13,9 +13,10 @@ export class OperationtablePieComponent implements OnInit { | ||||
|   @ViewChild('pie', { static: false }) pie!: G2PieComponent; | ||||
|   chartData: any = []; | ||||
|   el: any; | ||||
|   chart: any; | ||||
|   enterpriseInfoIdPie = '' | ||||
|   interManlist: any = [] | ||||
|  | ||||
|   innerView: any =[]; | ||||
|   constructor(private service: DataService, private ngZone: NgZone) { | ||||
|   } | ||||
|  | ||||
| @ -27,7 +28,11 @@ export class OperationtablePieComponent implements OnInit { | ||||
|     this.service.request(this.service.$api_operationalReportWaybillStatusDistribution, {id: this.enterpriseInfoIdPie}).subscribe(res => { | ||||
|       if (res) { | ||||
|         this.chartData = res | ||||
|         this.ngZone.runOutsideAngular(() => this.init(this.el)); | ||||
|         // this.ngZone.runOutsideAngular(() => this.init(this.el)); | ||||
|         setTimeout(() => { | ||||
|           this.chart?.data(this.chartData); | ||||
|           this.chart?.render(); | ||||
|         }, 1000) | ||||
|       } | ||||
|     }) | ||||
|   } | ||||
| @ -39,21 +44,26 @@ export class OperationtablePieComponent implements OnInit { | ||||
|   } | ||||
|   render(el: ElementRef<HTMLDivElement>): void { | ||||
|     this.el = el.nativeElement | ||||
|     setTimeout(() => { | ||||
|     this.ngZone.runOutsideAngular(() => this.init(this.el)); | ||||
|     }, 500) | ||||
|   } | ||||
|   private init(el: HTMLElement): void { | ||||
|     const chart = new Chart({ | ||||
|     this.chart = new Chart({ | ||||
|       container: el, | ||||
|       autoFit: true, | ||||
|       height: 400, | ||||
|     }); | ||||
|     // 新建一个 view 用来单独渲染Annotation | ||||
|     const innerView = chart.createView(); | ||||
|     chart.coordinate('theta', { | ||||
|     // const innerView = chart.createView(); | ||||
|  | ||||
|     this.innerView = this.chart.createView(); | ||||
|     this.chart.coordinate('theta', { | ||||
|       radius: 0.6, | ||||
|       innerRadius: 0.7, | ||||
|     }); | ||||
|  | ||||
|     chart.data(this.chartData); | ||||
|     // this.chart.data(this.chartData); | ||||
|  | ||||
|     // chart.scale('percent', { | ||||
|     //   formatter: val => { | ||||
| @ -62,10 +72,10 @@ export class OperationtablePieComponent implements OnInit { | ||||
|     //   }, | ||||
|     // }); | ||||
|  | ||||
|     chart.tooltip(false); | ||||
|     this.chart.tooltip(false); | ||||
|  | ||||
|     // 声明需要进行自定义图例字段: 'item' | ||||
|     chart.legend('item', { | ||||
|     this.chart.legend('item', { | ||||
|       position: 'right',                                  // 配置图例显示位置 | ||||
|       custom: true,                                       // 关键字段,告诉 G2,要使用自定义的图例 | ||||
|       items: this.chartData.map((obj: any, index: any) => { | ||||
| @ -77,7 +87,7 @@ export class OperationtablePieComponent implements OnInit { | ||||
|             symbol: 'square',                             // marker 的形状 | ||||
|             style: { | ||||
|               r: 5,                                       // marker 图形半径 | ||||
|               fill: chart.getTheme().colors10[index],     // marker 颜色,使用默认颜色,同图形对应 | ||||
|               fill: this.chart.getTheme().colors10[index],     // marker 颜色,使用默认颜色,同图形对应 | ||||
|             }, | ||||
|           },                                              // marker 配置 | ||||
|         }; | ||||
| @ -90,7 +100,7 @@ export class OperationtablePieComponent implements OnInit { | ||||
|       }, | ||||
|     }); | ||||
|  | ||||
|     const interval = chart | ||||
|     const interval = this.chart | ||||
|       .interval() | ||||
|       .adjust('stack') | ||||
|       .position('percent') | ||||
| @ -102,7 +112,7 @@ export class OperationtablePieComponent implements OnInit { | ||||
|       }) | ||||
|       .state({ | ||||
|         active: { | ||||
|           style: element => { | ||||
|           style: (element: any) => { | ||||
|             const shape = element.shape; | ||||
|             return { | ||||
|               lineWidth: 1, | ||||
| @ -114,17 +124,17 @@ export class OperationtablePieComponent implements OnInit { | ||||
|       }); | ||||
|  | ||||
|     // 移除图例点击过滤交互 | ||||
|     chart.removeInteraction('legend-filter'); | ||||
|     chart.interaction('element-active'); | ||||
|     this.chart.removeInteraction('legend-filter'); | ||||
|     this.chart.interaction('element-active'); | ||||
|  | ||||
|     chart.render(true); | ||||
|     this.chart.render(true); | ||||
|     // 默认选择 | ||||
|     interval.elements[0].setState('selected', true); | ||||
|     const ele = interval.elements[0].getData(); | ||||
|     | ||||
|      | ||||
|     // 监听 element 上状态的变化来动态更新 Annotation 信息 | ||||
|     chart.on('element:statechange', (ev: any) => { | ||||
|     this.chart.on('element:statechange', (ev: any) => { | ||||
|       const { state, stateStatus, element } = ev.gEvent.originalEvent; | ||||
|  | ||||
|       // 本示例只需要监听 active 的状态变化 | ||||
| @ -142,10 +152,10 @@ export class OperationtablePieComponent implements OnInit { | ||||
|  | ||||
|     // 绘制 annotation | ||||
|     let lastItem: any; | ||||
|     function updateAnnotation(data: any) { | ||||
|     const updateAnnotation = (data: any) => { | ||||
|       if (data.item !== lastItem) { | ||||
|         innerView.annotation().clear(true); | ||||
|         innerView | ||||
|         this.innerView.annotation().clear(true); | ||||
|         this.innerView | ||||
|           .annotation() | ||||
|           .text({ | ||||
|             position: ['50%', '50%'], | ||||
| @ -168,7 +178,7 @@ export class OperationtablePieComponent implements OnInit { | ||||
|             offsetX: -10, | ||||
|             offsetY: 20, | ||||
|           }) | ||||
|         innerView.render(true); | ||||
|           this.innerView.render(true); | ||||
|  | ||||
|  | ||||
|         lastItem = data.item; | ||||
| @ -176,9 +186,9 @@ export class OperationtablePieComponent implements OnInit { | ||||
|     } | ||||
|  | ||||
|     // 清空 annotation | ||||
|     function clearAnnotation() { | ||||
|       innerView.annotation().clear(true); | ||||
|       innerView.render(true); | ||||
|     function clearAnnotation(this: any) { | ||||
|       this.innerView?.annotation()?.clear(true); | ||||
|       this.innerView.render(true); | ||||
|       lastItem = null; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -93,6 +93,15 @@ export class DataService extends BaseService { | ||||
|   // 业务员-合规报表 | ||||
|   $api_listPartComplianceReportPage = `/api/sdc/report/listPartComplianceReportPage`; | ||||
|  | ||||
|   // 数据报表-订单类型比例 | ||||
|   $api_getBillTypeProportion = `/api/sdc/reportData/getBillTypeProportion`; | ||||
|   // 数据报表-运单直付比例 | ||||
|   $api_getWayBillDirectProportion = `/api/sdc/reportData/getWayBillDirectProportion`; | ||||
|   // 数据报表-统计订单金额-趋势 | ||||
|   $api_getBillAmount = `/api/sdc/reportData/getBillAmount`; | ||||
|   // // 数据报表-统计订单金额-趋势 | ||||
|   // $api_getBillAmount = `/api/sdc/reportData/getBillAmount`; | ||||
|  | ||||
|  | ||||
|  | ||||
|   constructor(public injector: Injector) { | ||||
|  | ||||
| @ -65,7 +65,7 @@ | ||||
|                 <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"> | ||||
|                     <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="inputST?.load(1)">查询</button> | ||||
|                     <button nz-button (click)="resetInputSF()">重置</button> | ||||
|                     <button nz-button> 导出</button> | ||||
|                     <button nz-button (click)="exprot()"> 导出</button> | ||||
|                     <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|                         {{ !_$expand ? '展开' : '收起' }} | ||||
|                         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
| @ -81,11 +81,11 @@ | ||||
|                 </ng-template> | ||||
|                 <ng-template st-row="billId" let-item let-index="index" let-column="column"> | ||||
|                     {{item.billCode}}<br> | ||||
|                     {{item.billStatus}}<br> | ||||
|                     {{item.billStatusLabel}}<br> | ||||
|                 </ng-template> | ||||
|                 <ng-template st-row="wayBillId" let-item let-index="index" let-column="column"> | ||||
|                     {{item.wayBillCode}}<br> | ||||
|                     {{item.wayBillStatus}}<br> | ||||
|                     {{item.wayBillStatusLabel}}<br> | ||||
|                 </ng-template> | ||||
|                 <ng-template st-row="driverId" let-item let-index="index" let-column="column"> | ||||
|                     {{item.driverName}}<br> | ||||
|  | ||||
| @ -123,6 +123,11 @@ export class WithdrawalsDetailComponent implements OnInit { | ||||
|     history.go(-1); | ||||
|   } | ||||
|  | ||||
|     // 导出 | ||||
|     exprot() { | ||||
|       this.service.exportStart({ ...this.inputSF.value, pageSize: -1 }, this.service.$api_export_refund_detail_page); | ||||
|     } | ||||
|  | ||||
|   private initInputSF(): SFSchema { | ||||
|     return { | ||||
|       properties: { | ||||
| @ -220,11 +225,11 @@ export class WithdrawalsDetailComponent implements OnInit { | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.payAmount }) }, | ||||
|         width: 140 | ||||
|       }, | ||||
|       { title: '运费明细', render: 'amountDetails', className: 'text-center', width: 150 }, | ||||
|       { title: '货主', index: 'ltdName', className: 'text-center', width: 200 }, | ||||
|       { title: '订单号', render: 'billId', className: 'text-center', width: 150 }, | ||||
|       { title: '运单号', render: 'wayBillId', className: 'text-center', width: 150 }, | ||||
|       { title: '货源编号', index: 'resourceCode', className: 'text-center', width: 150 }, | ||||
|       { title: '运费明细', render: 'amountDetails', className: 'text-right', width: 150 }, | ||||
|       { title: '货主', index: 'ltdName', className: 'text-left', width: 200 }, | ||||
|       { title: '订单号', render: 'billId', width: 200 }, | ||||
|       { title: '运单号', render: 'wayBillId',  width: 200 }, | ||||
|       { title: '货源编号', index: 'resourceCode', width: 200 }, | ||||
|       { | ||||
|         title: '服务类型', | ||||
|         index: 'serviceType', | ||||
| @ -233,9 +238,9 @@ export class WithdrawalsDetailComponent implements OnInit { | ||||
|         type: 'enum', | ||||
|         enum: { '1': '抢单', '2': '指派', '3': '二维码', '4': '手工单' } | ||||
|       }, | ||||
|       { title: '承运司机', render: 'driverId', className: 'text-center', width: 150 }, | ||||
|       { title: '收款人', render: 'captainName', className: 'text-center', width: 150 }, | ||||
|       { title: '银行类型', index: 'bankType', className: 'text-center', width: 150 } | ||||
|       { title: '承运司机', render: 'driverId', width: 150 }, | ||||
|       { title: '收款人', render: 'captainName', className: 'text-left', width: 150 }, | ||||
|       { title: '银行类型', index: 'bankTypeLabel', className: 'text-center', width: 150 } | ||||
|     ]; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -55,7 +55,9 @@ export class FreightAccountService extends ShipperBaseService { | ||||
|   // 获取提现申请表详情 | ||||
|   $api_get_refund_detail = '/api/fcc/refundApplicationOBC/get'; | ||||
|   // 获取提现支付详情 | ||||
|   $api_get_refund_detail_page = '/api/fcc/refundApplicationOBC/get/payList'; | ||||
|   $api_get_refund_detail_page = '/api/fcc/refundApplicationOBC/get/getPayList'; | ||||
|   // 提现支付详情导出 | ||||
|   $api_export_refund_detail_page = '/api/fcc/refundApplicationOBC/asyncExportPayList'; | ||||
|   // 同意提现 | ||||
|   $api_agree_refund = '/api/fcc/refundApplicationOBC/agreeRefund'; | ||||
|   // 拒绝提现 | ||||
|  | ||||
| @ -93,10 +93,17 @@ export class OrderManagementComplaintComponent implements OnInit { | ||||
|   initSF() { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||
|         complaintCode: { | ||||
|           type: 'string', | ||||
|           title: '投诉单号' | ||||
|         }, | ||||
|         wayBillCode: { | ||||
|           type: 'string', | ||||
|           title: '运单号', | ||||
|           ui: { | ||||
|           } | ||||
|         }, | ||||
|         complaintCause: { | ||||
|           title: '投诉原因', | ||||
|           type: 'string', | ||||
| @ -124,7 +131,10 @@ export class OrderManagementComplaintComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'sl-from-to', | ||||
|             type: 'date', | ||||
|             format: 'yyyy-MM-dd' | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|           } as SFDateWidgetSchema | ||||
|         } | ||||
|       } | ||||
|  | ||||
| @ -94,19 +94,6 @@ export class TaxManagementIndividualCollectComponent implements OnInit { | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
|         declareResult: { | ||||
|           title: '申报结果', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             placeholder: '请选择', | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'service:type' }, | ||||
|             containsAllLabel: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         overdueStatus: { | ||||
|           title: '是否逾期', | ||||
|           type: 'string', | ||||
| @ -143,7 +130,7 @@ export class TaxManagementIndividualCollectComponent implements OnInit { | ||||
|             } | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         enterpriseInfoId: { | ||||
|         nsrmc: { | ||||
|           type: 'string', | ||||
|           title: '网络货运人', | ||||
|           ui: { | ||||
| @ -153,7 +140,7 @@ export class TaxManagementIndividualCollectComponent implements OnInit { | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder() | ||||
|             asyncData: () => this.service.getNetworkEnterpriseName() | ||||
|           } | ||||
|         } | ||||
|       } | ||||
| @ -298,16 +285,12 @@ export class TaxManagementIndividualCollectComponent implements OnInit { | ||||
|    * @param params 更新数据 | ||||
|    */ | ||||
|   uploadSetting() { | ||||
|     if (this.selectedRows.length === 0) { | ||||
|       this.service.msgSrv.warning('请选择需要更新的数据'); | ||||
|       return; | ||||
|     } | ||||
|     // this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => { | ||||
|     //   if (res) { | ||||
|     //     this.service.msgSrv.success('更新成功'); | ||||
|     //     this.search(); | ||||
|     //   } | ||||
|     // }) | ||||
|     this.service.request(this.service.$api_get_updateData).subscribe((res: any) => { | ||||
|       if (res) { | ||||
|         this.service.msgSrv.success('更新成功'); | ||||
|         this.search(); | ||||
|       } | ||||
|     }) | ||||
|   } | ||||
|  | ||||
|   search() { | ||||
|  | ||||
| @ -413,10 +413,21 @@ export class TaxManagementOrderReportingComponent implements OnInit { | ||||
|    * 上传 | ||||
|    */ | ||||
|   upload() { | ||||
|     let status = false | ||||
|     if (this.selectedRows.length === 0) { | ||||
|       this.openWainingModal('请选择需要上传的数据'); | ||||
|       return; | ||||
|     } | ||||
|     this.selectedRows.forEach(item => { | ||||
|       if (item?.putStatus != '0') { | ||||
|         status = true | ||||
|       } | ||||
|  | ||||
|     }); | ||||
|     if(status) { | ||||
|       this.service.msgSrv.warning('选择了已上传,请重新勾选!'); | ||||
|       return; | ||||
|     } | ||||
|     let params: any[] = []; | ||||
|     this.selectedRows.forEach(item => { | ||||
|       params.push(item.id); | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-27 10:30:56 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-09 14:22:35 | ||||
|  * @LastEditTime : 2022-04-19 14:19:44 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\tax-management\\services\\tax-management.service.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -50,6 +50,8 @@ export class TaxManagementService extends ShipperBaseService { | ||||
|   $api_get_taxDeclaration = `/api/sdc/taxDeclaration/list/page`; | ||||
|   // 更新所有税务申报 | ||||
|   $api_get_taxDeclaration_updateAll = `/api/sdc/taxDeclaration/updateAll`; | ||||
|   // 更新所有个税汇总 | ||||
|   $api_get_updateData = `/api/sdc/taxSummary/updateData`; | ||||
|   $api_recall_reporting = ``; // 撤回 | ||||
|   $api_async_export_order_reporting_list = ``; // 导出订单上报 | ||||
|   $api_get_upload_setting = ``; // 修改上传设置 | ||||
|  | ||||
| @ -263,6 +263,7 @@ export class InvoiceRequestedComponent { | ||||
|     const modal = this.nzModalService.create({ | ||||
|       nzTitle: '开票受理', | ||||
|       nzContent: RequestedInvoiceModalComponent, | ||||
|       nzNoAnimation: true, | ||||
|       nzWidth: 1200, | ||||
|       nzComponentParams: { | ||||
|         id: item.id | ||||
|  | ||||
| @ -11,26 +11,16 @@ | ||||
|  | ||||
| <app-requested-detail [id]="id"></app-requested-detail> | ||||
|  | ||||
| <st | ||||
|   #st1 | ||||
|   [data]="service.$api_get_invoice_requested_order_detail" | ||||
|   [columns]="columns" | ||||
|   bordered | ||||
|   size="small" | ||||
|   [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }" | ||||
|   [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|   [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|   [loading]="false" | ||||
|   [scroll]="{ x: '1200px', y: '200px' }" | ||||
|   (change)="stChange($event)" | ||||
|   class="mt-md" | ||||
| > | ||||
| <st #st1 [data]="service.$api_get_invoice_requested_order_detail" [columns]="columns" bordered size="small" | ||||
|   [req]="{  process: beforeReq }" [res]="{ process:afterRes }" | ||||
|   [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false" | ||||
|   [scroll]="{ x: '1200px', y: '200px' }" (change)="stChange($event)" class="mt-md"> | ||||
|   <ng-template st-row="billHCode" let-item let-index="index" let-column="column"> | ||||
|     <a class="text-primary"> {{ item.billHCode }}</a> | ||||
|   </ng-template> | ||||
| </st> | ||||
| <div class="modal-footer text-center"> | ||||
|   <button nz-button type="button"(click)="removeOrder(selectedRows)">移除</button> | ||||
|   <button nz-button type="button" (click)="removeOrder(selectedRows)">移除</button> | ||||
|   <button nz-button type="button" (click)="saveManage()">手工处理</button> | ||||
|   <!-- <button nz-button type="submit" nzType="primary" [nzLoading]="service.http.loading" (click)="saveManage()">自动开票</button> --> | ||||
| </div> | ||||
| </div> | ||||
| @ -6,7 +6,7 @@ | ||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\requested-invoice-modal\\requested-invoice-modal.component.ts | ||||
|  */ | ||||
| import { Component, ViewChild } from '@angular/core'; | ||||
| import { ChangeDetectorRef, Component, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { STChange, STColumn, STComponent, STRequestOptions } from '@delon/abc/st'; | ||||
| import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | ||||
| @ -24,23 +24,38 @@ export class RequestedInvoiceModalComponent { | ||||
|   columns: STColumn[] = this.initST(); | ||||
|   id: any; | ||||
|   selectedRows: any[] = []; | ||||
|   constructor(public service: TicketService, private nzModalService: NzModalService, private modal: NzModalRef, private router: Router) {} | ||||
|  | ||||
|   constructor( | ||||
|     public service: TicketService, | ||||
|     private nzModalService: NzModalService, | ||||
|     private modal: NzModalRef, | ||||
|     private router: Router, | ||||
|     private cdr: ChangeDetectorRef | ||||
|   ) {} | ||||
|  | ||||
|   beforeReq = (requestOptions: STRequestOptions) => { | ||||
|     Object.assign(requestOptions.body, { vatappHId: this.id }); | ||||
|     return requestOptions; | ||||
|   }; | ||||
|  | ||||
|   afterRes = (data: any[], rawData?: any) => { | ||||
|     return data.map(item => ({ ...item, isDelete: data?.length > 1 })); | ||||
|   }; | ||||
|  | ||||
|   /** | ||||
|    * 移除订单 | ||||
|    * | ||||
|    * @returns | ||||
|    */ | ||||
|   removeOrder(item: any[]) { | ||||
|     if (this.st1._data?.length <= 1) { | ||||
|     if (this.st1.total <= 1 || item?.length === this.st1.total) { | ||||
|       this.service.msgSrv.warning('开票申请记录不能少于一个订单'); | ||||
|       return; | ||||
|     } | ||||
|     if (item?.length <= 0) { | ||||
|       this.service.msgSrv.warning('请选择要移除订单'); | ||||
|       return; | ||||
|     } | ||||
|     this.nzModalService.warning({ | ||||
|       nzTitle: '确定从当前批次中移除所选订单?', | ||||
|       nzContent: '移除后相关订单可以重新提交开票申请', | ||||
| @ -111,7 +126,7 @@ export class RequestedInvoiceModalComponent { | ||||
|           { | ||||
|             text: '移除', | ||||
|             click: (item: any) => this.removeOrder([item]), | ||||
|             iif: _ => this.st1._data?.length > 1 | ||||
|             iif: item => item.isDelete | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| <ng-container > | ||||
| <ng-container> | ||||
|   <!-- 页头 --> | ||||
|   <page-header-wrapper [logo]="logo" title="车辆详情" [content]="content"> | ||||
|     <ng-template #logo> | ||||
| @ -8,84 +8,73 @@ | ||||
|     </ng-template> | ||||
|     <ng-template #content> | ||||
|       <sv-container col="1"> | ||||
|       <sv-title style="font-weight: 700;"> | ||||
|         <div style="float: right;"> | ||||
|           <ng-container *ngIf="!isEdit"> | ||||
|             <button nz-button nzType="default" nzDanger (click)="ratify()" acl acl-ability="VEHICLE-LIST-DETAIL-save">修改</button> | ||||
|           </ng-container> | ||||
|           <ng-container *ngIf="isEdit"> | ||||
|             <button nz-button nzType="default" (click)="reset()">取消</button> | ||||
|             <button nz-button nzType="default" (click)="save()" nzDanger>保存</button> | ||||
|           </ng-container> | ||||
|         </div> | ||||
|       </sv-title> | ||||
|     </sv-container> | ||||
|         <sv-title style="font-weight: 700;"> | ||||
|           <div style="float: right;"> | ||||
|             <ng-container *ngIf="!isEdit"> | ||||
|               <button nz-button nzType="default" nzDanger (click)="ratify()" acl | ||||
|                 acl-ability="VEHICLE-LIST-DETAIL-save">修改</button> | ||||
|             </ng-container> | ||||
|             <ng-container *ngIf="isEdit"> | ||||
|               <button nz-button nzType="default" (click)="reset()">取消</button> | ||||
|               <button nz-button nzType="default" (click)="save()" nzDanger>保存</button> | ||||
|             </ng-container> | ||||
|           </div> | ||||
|         </sv-title> | ||||
|       </sv-container> | ||||
|  | ||||
|         <sv-container col="3"> | ||||
|       <sv-container col="3"> | ||||
|         <sv-title style="font-weight: 700;">车辆基础信息</sv-title> | ||||
|           <sv label="车牌号"> | ||||
|             <input nz-input type="text" [(ngModel)]="detailData.carNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         <sv label="车牌号"> | ||||
|           <input nz-input type="text" [(ngModel)]="detailData.carNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|             [placeholder]="isEdit?'':'-'"> | ||||
|           </sv> | ||||
|           <sv label="车牌颜色"> | ||||
|             <!-- <input nz-input type="text" [(ngModel)]="detailData.carNoColor" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         </sv> | ||||
|         <sv label="车牌颜色"> | ||||
|           <!-- <input nz-input type="text" [(ngModel)]="detailData.carNoColor" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|             [placeholder]="isEdit?'':'-'"> --> | ||||
|             <nz-select [(ngModel)]="detailData.carNoColor" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|           <nz-select [(ngModel)]="detailData.carNoColor" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> | ||||
|               <nz-option | ||||
|                 *ngFor="let i of contenCarNoColor" | ||||
|                 [nzLabel]="i.label" | ||||
|                 [nzValue]="i.value" | ||||
|               ></nz-option> | ||||
|             </nz-select> | ||||
|           </sv> | ||||
|           <sv label="车型"> | ||||
|             <!-- <input nz-input type="text" [(ngModel)]="detailData.carModel" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|             <nz-option *ngFor="let i of contenCarNoColor" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||
|           </nz-select> | ||||
|         </sv> | ||||
|         <sv label="车型"> | ||||
|           <!-- <input nz-input type="text" [(ngModel)]="detailData.carModel" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|             [placeholder]="isEdit?'':'-'"> --> | ||||
|             <nz-select [(ngModel)]="detailData.carModel" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|           <nz-select [(ngModel)]="detailData.carModel" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> | ||||
|               <nz-option | ||||
|                 *ngFor="let i of contencarModel" | ||||
|                 [nzLabel]="i.label" | ||||
|                 [nzValue]="i.value" | ||||
|               ></nz-option> | ||||
|             </nz-select> | ||||
|           </sv> | ||||
|           <sv label="车长(米)"> | ||||
|             <!-- <input nz-input type="text" [(ngModel)]="detailData.carLength" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|             <nz-option *ngFor="let i of contencarModel" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||
|           </nz-select> | ||||
|         </sv> | ||||
|         <sv label="车长(米)"> | ||||
|           <!-- <input nz-input type="text" [(ngModel)]="detailData.carLength" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|             [placeholder]="isEdit?'':'-'"> --> | ||||
|             <nz-select [(ngModel)]="detailData.carLength" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|           <nz-select [(ngModel)]="detailData.carLength" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> | ||||
|               <nz-option | ||||
|                 *ngFor="let i of contenCarLength" | ||||
|                 [nzLabel]="i.label" | ||||
|                 [nzValue]="i.value" | ||||
|               ></nz-option> | ||||
|             </nz-select> | ||||
|           </sv> | ||||
|           <sv label="是否挂靠"> | ||||
|             <nz-select [(ngModel)]="detailData.isSelf" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|             <nz-option *ngFor="let i of contenCarLength" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||
|           </nz-select> | ||||
|         </sv> | ||||
|         <sv label="是否挂靠"> | ||||
|           <nz-select [(ngModel)]="detailData.isSelf" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> | ||||
|             <nz-option [nzValue]="false" nzLabel="否"></nz-option> | ||||
|             <nz-option [nzValue]="true" nzLabel="是"></nz-option> | ||||
|           </nz-select> | ||||
|           </sv> | ||||
|           <sv label="是否为挂车"> | ||||
|             <nz-select [(ngModel)]="detailData.isTrailer" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|         </sv> | ||||
|         <sv label="是否为挂车"> | ||||
|           <nz-select [(ngModel)]="detailData.isTrailer" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> | ||||
|             <nz-option [nzValue]="false" nzLabel="否"></nz-option> | ||||
|             <nz-option [nzValue]="true" nzLabel="是"></nz-option> | ||||
|           </nz-select> | ||||
|           </sv> | ||||
|         </sv-container> | ||||
|         <sv-container col="1"> | ||||
|           <sv label="车头照"> | ||||
|             <!-- <app-imagelist [imgList]="[detailData?.carFrontPhotoWatermark, detailData?.carFrontPhotoWatermark]"></app-imagelist> --> | ||||
|             <ng-container | ||||
|         </sv> | ||||
|       </sv-container> | ||||
|       <sv-container col="1"> | ||||
|         <sv label="车头照"> | ||||
|           <!-- <app-imagelist [imgList]="[detailData?.carFrontPhotoWatermark, detailData?.carFrontPhotoWatermark]"></app-imagelist> --> | ||||
|           <ng-container | ||||
|             *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.carFrontPhotoWatermark,key:'carFrontPhotoWatermark',hover: 'PhotoWatermark2'}"> | ||||
|           </ng-container> | ||||
|           </sv> | ||||
|         </sv-container> | ||||
|         </sv> | ||||
|       </sv-container> | ||||
|     </ng-template> | ||||
|   </page-header-wrapper> | ||||
|   <nz-card> | ||||
| @ -93,24 +82,30 @@ | ||||
|       <sv-title style="font-weight: 700;">行驶证信息</sv-title> | ||||
|       <sv label="档案编号"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.archivesNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> | ||||
|           [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|       <sv label="车辆品牌"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.carBrand" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|           [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|       <sv label="行驶证注册日期"> | ||||
|         <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseRegisterTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> --> | ||||
|         <nz-date-picker [(ngModel)]="detailData.driverLicenseRegisterTime" [nzDisabled]="!isEdit" | ||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> | ||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> | ||||
|         </nz-date-picker> | ||||
|       </sv> | ||||
|     </sv-container> | ||||
|  | ||||
|       <sv-container col="3"> | ||||
|         <sv label="行驶证到期日"> | ||||
|           <nz-date-picker [(ngModel)]="detailData.driverLicenseEndTime" [nzDisabled]="!isEdit" | ||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> | ||||
|         </sv> | ||||
|     <sv-container col="3"> | ||||
|       <sv label="行驶证到期日"> | ||||
|         <nz-date-picker [(ngModel)]="detailData.driverLicenseEndTime" [nzDisabled]="!isEdit" | ||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> | ||||
|         </nz-date-picker> | ||||
|       </sv> | ||||
|       <sv label="行驶证签发机关"> | ||||
|         <input style="width: '300px'" nz-input type="text" [(ngModel)]="detailData.driverLicenseSigningOrg" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> | ||||
|         <input style="width: '300px'" nz-input type="text" [(ngModel)]="detailData.driverLicenseSigningOrg" | ||||
|           [readonly]="!isEdit" [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|     </sv-container> | ||||
|  | ||||
| @ -119,118 +114,114 @@ | ||||
|         <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseGetTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> --> | ||||
|         <nz-date-picker [(ngModel)]="detailData.driverLicenseGetTime" [nzDisabled]="!isEdit" | ||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> | ||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> | ||||
|         </nz-date-picker> | ||||
|       </sv> | ||||
|       <sv label="车辆识别代码"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.carDistinguishCode" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.carDistinguishCode" [readonly]="!isEdit" | ||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|       <sv label="使用性质"> | ||||
|         <nz-select [(ngModel)]="detailData.useNature" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" | ||||
|         [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> | ||||
|         <nz-option [nzValue]="'1'" nzLabel="营运"></nz-option> | ||||
|         <nz-option [nzValue]="'0'" nzLabel="非营运"></nz-option> | ||||
|       </nz-select> | ||||
|           [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> | ||||
|           <nz-option [nzValue]="'1'" nzLabel="营运"></nz-option> | ||||
|           <nz-option [nzValue]="'0'" nzLabel="非营运"></nz-option> | ||||
|         </nz-select> | ||||
|       </sv> | ||||
|     </sv-container> | ||||
|  | ||||
|     <sv-container col="3"> | ||||
|       <sv label="载重(吨)"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.carLoad" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> | ||||
|           [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|       <sv label="整备质量"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.curbWeight" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> | ||||
|           [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|       <sv label="所有人"> | ||||
|         <input style="width: '300px'" nz-input type="text" [(ngModel)]="detailData.carOwner" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> | ||||
|         <input style="width: '300px'" nz-input type="text" [(ngModel)]="detailData.carOwner" [readonly]="!isEdit" | ||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|     </sv-container> | ||||
|     <sv-container col="1"> | ||||
|       <sv label="行驶证照片"> | ||||
|         <ng-container | ||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover: 'FrontWatermark'}"> | ||||
|       </ng-container> | ||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover: 'FrontWatermark'}"> | ||||
|         </ng-container> | ||||
|         <ng-container | ||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover: 'BackWatermark'}"> | ||||
|       </ng-container> | ||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover: 'BackWatermark'}"> | ||||
|         </ng-container> | ||||
|       </sv> | ||||
|     </sv-container> | ||||
|     <nz-divider></nz-divider> | ||||
|     <sv-container col="3" class="mt16"> | ||||
|       <sv-title style="font-weight: 700;">道路运输证信息</sv-title> | ||||
|       <sv label="道路运输证号"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.roadTransportNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.roadTransportNo" [readonly]="!isEdit" | ||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|       <sv label="经营许可证号"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.roadTransportLicenceNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> | ||||
|         <input nz-input type="text" [(ngModel)]="detailData.roadTransportLicenceNo" [readonly]="!isEdit" | ||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||
|       </sv> | ||||
|       <sv label="发证日期"> | ||||
|         <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportStartTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> --> | ||||
|         <nz-date-picker [(ngModel)]="detailData.roadTransportStartTime" [nzDisabled]="!isEdit" | ||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> | ||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> | ||||
|         </nz-date-picker> | ||||
|       </sv> | ||||
|       <sv label="有效期至"> | ||||
|         <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit?'':'-'"> --> | ||||
|         <nz-date-picker [(ngModel)]="detailData.roadTransportEndTime" [nzDisabled]="!isEdit" | ||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> | ||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> | ||||
|         </nz-date-picker> | ||||
|       </sv> | ||||
|       <sv label="道路运输证照片"> | ||||
|         <!-- <app-imagelist [imgList]="[detailData?.roadTransportPhoto,detailData?.roadTransportPhotoWatermark ]"></app-imagelist> --> | ||||
|         <ng-container | ||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.roadTransportPhotoWatermark,key:'roadTransportPhotoWatermark', hover: 'Watermark'}" > | ||||
|       </ng-container> | ||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.roadTransportPhotoWatermark,key:'roadTransportPhotoWatermark', hover: 'Watermark'}"> | ||||
|         </ng-container> | ||||
|       </sv> | ||||
|     </sv-container> | ||||
|     <nz-divider></nz-divider> | ||||
|     <sv-container col="2" class="mt16"> | ||||
|       <sv-title style="font-weight: 700;">认证司机</sv-title> | ||||
|     </sv-container> | ||||
|     <st | ||||
|     #st | ||||
|     [bordered]="true" | ||||
|     [columns]="columns" | ||||
|     [data]="service.$api_get_queryDriverByCarId" | ||||
|     [req]="{  method: 'POST', allInBody: true, params: reqParams }" | ||||
|     [res]="{ reName: { list: 'data', total: 'data' } }" | ||||
|     [ngStyle]="{ margin: '1rem 0' }" | ||||
|     multiSort | ||||
|     size="small" | ||||
|     [page]="{ show: false }" | ||||
|   > | ||||
|   <ng-template st-row="auditStatusEnum" let-item let-index="index"> | ||||
|     <div> | ||||
|       <span *ngIf="item?.auditStatusEnum === -1 || item?.auditStatusEnum === '-1'">未上传</span> | ||||
|       <span *ngIf="item?.auditStatusEnum === 0 || item?.auditStatusEnum === '0'">草稿</span> | ||||
|       <span *ngIf="item?.auditStatusEnum === 10 || item?.auditStatusEnum === '10'">待审核</span> | ||||
|       <span *ngIf="item?.auditStatusEnum === 20 || item?.auditStatusEnum === '20'">已审核</span> | ||||
|       <span *ngIf="item?.auditStatusEnum === 30 || item?.auditStatusEnum === '30'">已驳回</span> | ||||
|       <span *ngIf="item?.auditStatusEnum === 40 || item?.auditStatusEnum === '40'">证件过期</span> | ||||
|     </div> | ||||
|   </ng-template> | ||||
|   </st> | ||||
|     <st #st [bordered]="true" [columns]="columns" [data]="service.$api_get_queryDriverByCarId" | ||||
|       [req]="{  method: 'POST', allInBody: true, params: reqParams }" | ||||
|       [res]="{ reName: { list: 'data', total: 'data' } }" [ngStyle]="{ margin: '1rem 0' }" multiSort size="small" | ||||
|       [page]="{ show: false }"> | ||||
|       <ng-template st-row="auditStatusEnum" let-item let-index="index"> | ||||
|         <div> | ||||
|           <span *ngIf="item?.auditStatusEnum === -1 || item?.auditStatusEnum === '-1'">未上传</span> | ||||
|           <span *ngIf="item?.auditStatusEnum === 0 || item?.auditStatusEnum === '0'">草稿</span> | ||||
|           <span *ngIf="item?.auditStatusEnum === 10 || item?.auditStatusEnum === '10'">待审核</span> | ||||
|           <span *ngIf="item?.auditStatusEnum === 20 || item?.auditStatusEnum === '20'">已审核</span> | ||||
|           <span *ngIf="item?.auditStatusEnum === 30 || item?.auditStatusEnum === '30'">已驳回</span> | ||||
|           <span *ngIf="item?.auditStatusEnum === 40 || item?.auditStatusEnum === '40'">证件过期</span> | ||||
|         </div> | ||||
|       </ng-template> | ||||
|     </st> | ||||
|   </nz-card> | ||||
| </ng-container> | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisible"  [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate"  (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('2')"> | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()" | ||||
|   (nzOnCancel)="handleCancel('2')"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <nz-tabset> | ||||
|       <nz-tab nzTitle="我的评价"> | ||||
|       <div> | ||||
|         评分: <nz-rate [ngModel]="2.5" nzAllowHalf></nz-rate> | ||||
|         <div><span>评价内容:</span></div> | ||||
|       </div> | ||||
|         <div> | ||||
|           评分: <nz-rate [ngModel]="2.5" nzAllowHalf></nz-rate> | ||||
|           <div><span>评价内容:</span></div> | ||||
|         </div> | ||||
|       </nz-tab> | ||||
|       <nz-tab nzTitle="司机评价"> | ||||
|       <div> | ||||
|         暂无评价内容 | ||||
|       </div> | ||||
|         <div> | ||||
|           暂无评价内容 | ||||
|         </div> | ||||
|       </nz-tab> | ||||
|     </nz-tabset> | ||||
|   </ng-container> | ||||
|  | ||||
		Reference in New Issue
	
	Block a user