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 |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-01-18 09:51:21 |  * @Date         : 2022-01-18 09:51:21 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-20 14:18:40 |  * @LastEditTime : 2022-04-22 14:01:00 | ||||||
|  * @FilePath     : \\tms-obc-web\\proxy.conf.js |  * @FilePath     : \\tms-obc-web\\proxy.conf.js | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
|  | |||||||
| @ -2,8 +2,14 @@ | |||||||
| <page-header-wrapper [title]="'数据报表'"></page-header-wrapper> | <page-header-wrapper [title]="'数据报表'"></page-header-wrapper> | ||||||
| <div nz-row [nzGutter]="16"> | <div nz-row [nzGutter]="16"> | ||||||
|   <div nz-col class="gutter-row" [nzSpan]="6"> |   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||||
|     <g2-card [title]="'客户预存款总额'" [bordered]="true" [total]="totalAdvanceDeposit?.totalAmount || '¥ 0.00万'" |     <g2-card [title]="AdvanceDepositTitle" [bordered]="true" [total]="totalAdvanceDeposit?.totalAmount || '¥ 0.00万'" | ||||||
|       [footer]="AdvanceDepositFooter" contentHeight="46"> |       [footer]="AdvanceDepositFooter" contentHeight="46"> | ||||||
|  |       <ng-template #AdvanceDepositTitle> | ||||||
|  |         <p class="mini_area_title"> | ||||||
|  |           <span class="title">客户预存款总额</span> | ||||||
|  |           <span class="subtitle">完成率 <span class="percent">32.12%</span></span> | ||||||
|  |         </p> | ||||||
|  |       </ng-template> | ||||||
|       <ng-template #AdvanceDepositFooter> |       <ng-template #AdvanceDepositFooter> | ||||||
|         <g2-mini-area line color="#cceafe" height="45" [data]="totalAdvanceDeposit?.list || []" |         <g2-mini-area line color="#cceafe" height="45" [data]="totalAdvanceDeposit?.list || []" | ||||||
|           (clickItem)="handleClick($event)"> |           (clickItem)="handleClick($event)"> | ||||||
| @ -12,8 +18,14 @@ | |||||||
|     </g2-card> |     </g2-card> | ||||||
|   </div> |   </div> | ||||||
|   <div nz-col class="gutter-row" [nzSpan]="6"> |   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||||
|     <g2-card [title]="'业绩量总额'" [bordered]="true" [total]="totalPerformanceVolume?.totalAmount || '¥ 0.00万'" |     <g2-card [title]="PerformanceVolumeTitle" [bordered]="true" | ||||||
|       [footer]="PerformanceVolumeFooter" contentHeight="46"> |       [total]="totalPerformanceVolume?.totalAmount || '¥ 0.00万'" [footer]="PerformanceVolumeFooter" contentHeight="46"> | ||||||
|  |       <ng-template #PerformanceVolumeTitle> | ||||||
|  |         <p class="mini_area_title"> | ||||||
|  |           <span class="title">业绩量总额</span> | ||||||
|  |           <span class="subtitle">完成率 <span class="percent">32.12%</span></span> | ||||||
|  |         </p> | ||||||
|  |       </ng-template> | ||||||
|       <ng-template #PerformanceVolumeFooter> |       <ng-template #PerformanceVolumeFooter> | ||||||
|         <g2-mini-area line color="#cceafe" height="45" [data]="totalPerformanceVolume?.list || []" |         <g2-mini-area line color="#cceafe" height="45" [data]="totalPerformanceVolume?.list || []" | ||||||
|           (clickItem)="handleClick($event)"> |           (clickItem)="handleClick($event)"> | ||||||
| @ -22,20 +34,30 @@ | |||||||
|     </g2-card> |     </g2-card> | ||||||
|   </div> |   </div> | ||||||
|   <div nz-col class="gutter-row" [nzSpan]="6"> |   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||||
|     <g2-card [title]="'司机应付总额'" [bordered]="true" [total]="totalFreight?.totalAmount || '¥ 0.00万'" [footer]="footer" |     <g2-card [title]="FreightTitle" [bordered]="true" [total]="totalFreight?.totalAmount || '¥ 0.00万'" | ||||||
|       contentHeight="46"> |       [footer]="Freightfooter" contentHeight="46"> | ||||||
|       <ng-template #footer> |       <ng-template #FreightTitle> | ||||||
|         <g2-mini-area line color="#cceafe" height="45" [data]="totalFreight?.list || []" |         <p class="mini_area_title"> | ||||||
|  |           <span class="title">司机应付总额</span> | ||||||
|  |         </p> | ||||||
|  |       </ng-template> | ||||||
|  |       <ng-template #Freightfooter> | ||||||
|  |         <g2-mini-area line borderColor="#E60012" color="#F09896" height="45" [data]="totalFreight?.list || []" | ||||||
|           (clickItem)="handleClick($event)"> |           (clickItem)="handleClick($event)"> | ||||||
|         </g2-mini-area> |         </g2-mini-area> | ||||||
|       </ng-template> |       </ng-template> | ||||||
|     </g2-card> |     </g2-card> | ||||||
|   </div> |   </div> | ||||||
|   <div nz-col class="gutter-row" [nzSpan]="6"> |   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||||
|     <g2-card [title]="'附加费总额'" [bordered]="true" [total]="totalSurcharge?.totalAmount || '¥ 0.00万'" |     <g2-card [title]="SurchargeTitle" [bordered]="true" [total]="totalSurcharge?.totalAmount || '¥ 0.00万'" | ||||||
|       [footer]="SurchargeFooter" contentHeight="46"> |       [footer]="SurchargeFooter" contentHeight="46"> | ||||||
|  |       <ng-template #SurchargeTitle> | ||||||
|  |         <p class="mini_area_title"> | ||||||
|  |           <span class="title">附加费总额</span> | ||||||
|  |         </p> | ||||||
|  |       </ng-template> | ||||||
|       <ng-template #SurchargeFooter> |       <ng-template #SurchargeFooter> | ||||||
|         <g2-mini-area line color="#cceafe" height="45" [data]="totalSurcharge?.list || []" |         <g2-mini-area line borderColor="#E60012" color="#F09896" height="45" [data]="totalSurcharge?.list || []" | ||||||
|           (clickItem)="handleClick($event)"> |           (clickItem)="handleClick($event)"> | ||||||
|         </g2-mini-area> |         </g2-mini-area> | ||||||
|       </ng-template> |       </ng-template> | ||||||
| @ -43,13 +65,13 @@ | |||||||
|   </div> |   </div> | ||||||
| </div> | </div> | ||||||
| <div nz-row [nzGutter]="16"> | <div nz-row [nzGutter]="16"> | ||||||
|   <div nz-col class="gutter-row" [nzSpan]="9"> |   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||||
|     <nz-card [nzTitle]="'订单类型比例'"> |     <nz-card><label class="chart_title">订单类型比例</label> | ||||||
|       <g2-custom #g2custom delay="100"></g2-custom> |       <g2-custom #g2custom delay="100"></g2-custom> | ||||||
|     </nz-card> |     </nz-card> | ||||||
|   </div> |   </div> | ||||||
|   <div nz-col class="gutter-row" [nzSpan]="15"> |   <div nz-col class="gutter-row" [nzSpan]="18"> | ||||||
|     <nz-card [nzTitle]="'大区业绩完成情况'"> |     <nz-card><label class="chart_title">大区业绩完成情况</label> | ||||||
|       <!-- <g2-timeline [data]="chartData" [titleMap]="{ y1: '订单金额(元)', y2: '' }" [height]="200" mask="MM月DD日" |       <!-- <g2-timeline [data]="chartData" [titleMap]="{ y1: '订单金额(元)', y2: '' }" [height]="200" mask="MM月DD日" | ||||||
|         [slider]="false"></g2-timeline> --> |         [slider]="false"></g2-timeline> --> | ||||||
|       <g2-custom #RegionalPerforman delay="100"></g2-custom> |       <g2-custom #RegionalPerforman delay="100"></g2-custom> | ||||||
| @ -57,16 +79,17 @@ | |||||||
|   </div> |   </div> | ||||||
| </div> | </div> | ||||||
| <div nz-row [nzGutter]="16"> | <div nz-row [nzGutter]="16"> | ||||||
|   <div nz-col class="gutter-row" [nzSpan]="9"> |   <div nz-col class="gutter-row" [nzSpan]="6"> | ||||||
|     <nz-card [nzTitle]="'运单直付比例'"> |     <nz-card> <label class="chart_title">运单直付比例</label> | ||||||
|       <!-- <g2-pie #pie title="销售额" subTitle="销售额" [total]="total" [valueFormat]="format" [data]="salesPieData" height="294" |       <!-- <g2-pie #pie title="销售额" subTitle="销售额" [total]="total" [valueFormat]="format" [data]="salesPieData" height="294" | ||||||
|         (clickItem)="handleClick($event)" [lineWidth]="10"> |         (clickItem)="handleClick($event)" [lineWidth]="10"> | ||||||
|       </g2-pie> --> |       </g2-pie> --> | ||||||
|       <g2-custom #BillDirectProportion delay="100"></g2-custom> |       <g2-custom #BillDirectProportion delay="100"></g2-custom> | ||||||
|     </nz-card> |     </nz-card> | ||||||
|   </div> |   </div> | ||||||
|   <div nz-col class="gutter-row" [nzSpan]="15"> |   <div nz-col class="gutter-row" [nzSpan]="18"> | ||||||
|     <nz-card [nzTitle]="'业绩完成情况'"> |     <nz-card> | ||||||
|  |       <label class="chart_title">业绩完成情况</label> | ||||||
|       <!-- <g2-bar  [data]="salesData" (clickItem)="handleClick($event)" height="400"></g2-bar> --> |       <!-- <g2-bar  [data]="salesData" (clickItem)="handleClick($event)" height="400"></g2-bar> --> | ||||||
|       <g2-custom #SaleProportion delay="100"></g2-custom> |       <g2-custom #SaleProportion delay="100"></g2-custom> | ||||||
|  |  | ||||||
|  | |||||||
| @ -0,0 +1,49 @@ | |||||||
|  | .chart_title { | ||||||
|  |     font-size              : 16px; | ||||||
|  |     font-weight            : 500; | ||||||
|  |     color                  : #1D2129; | ||||||
|  |     line-height            : 24px; | ||||||
|  |     background-clip        : text; | ||||||
|  |     -webkit-background-clip: text; | ||||||
|  |     position               : absolute; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | .mini_area_title { | ||||||
|  |     display        : flex; | ||||||
|  |     justify-content: space-between; | ||||||
|  |  | ||||||
|  |     .title { | ||||||
|  |         font-size  : 16px; | ||||||
|  |         font-weight: 500; | ||||||
|  |         color      : #1D2129; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .subtitle { | ||||||
|  |         font-size  : 14px; | ||||||
|  |         font-weight: 400; | ||||||
|  |         color      : #575D6C; | ||||||
|  |         text-align : right; | ||||||
|  |  | ||||||
|  |         .percent { | ||||||
|  |             color: #E60012 | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | :host::ng-deep { | ||||||
|  |     .g2-card__meta-wrap { | ||||||
|  |         width: 100%; | ||||||
|  |  | ||||||
|  |         .g2-card__total { | ||||||
|  |             font-size  : 28px; | ||||||
|  |             font-weight: 500; | ||||||
|  |             color      : #1D2129; | ||||||
|  |             margin-top : 8px; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .g2-card__footer { | ||||||
|  |         border: 0px; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -82,8 +82,14 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|     // 大区业绩完成情况 |     // 大区业绩完成情况 | ||||||
|     this.service.request(this.service.$api_getBillAmount).subscribe((res: DataPerformanceTrendVO[]) => { |     this.service.request(this.service.$api_getBillAmount).subscribe((res: DataPerformanceTrendVO[]) => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         this.regionalPerformanceCompletion = res.map(item => ({ ...item, time: new Date(item.time)?.getTime() })); |         // this.regionalPerformanceCompletion = res.map(item => ({ ...item, time: new Date(item.time)?.getTime() })); | ||||||
|         this.initRegionalPerformanceChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion); |         // this.initRegionalPerformanceChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion); | ||||||
|  |         this.regionalPerformanceCompletion = this.formatBarData(res); | ||||||
|  |         this.initBiaxialChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion, { | ||||||
|  |           y1Title: '业绩量(万)', | ||||||
|  |           y2Title: '业绩完成率', | ||||||
|  |           y3Title: '同期业绩完成率' | ||||||
|  |         }); | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|     // 订单类型比例 |     // 订单类型比例 | ||||||
| @ -97,7 +103,11 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|     this.service.request(this.service.$api_get_bill_payment_amount).subscribe(res => { |     this.service.request(this.service.$api_get_bill_payment_amount).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         this.salesData = this.formatBarData(res); |         this.salesData = this.formatBarData(res); | ||||||
|         this.initBiaxialChart(this.SaleProportion['el'].nativeElement as any, this.salesData); |         this.initBiaxialChart(this.SaleProportion['el'].nativeElement as any, this.salesData, { | ||||||
|  |           y1Title: '业绩量(万)', | ||||||
|  |           y2Title: '业绩完成率', | ||||||
|  |           y3Title: '同期业绩完成率' | ||||||
|  |         }); | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| @ -116,13 +126,13 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|     const chart = new Chart({ |     const chart = new Chart({ | ||||||
|       container: el, |       container: el, | ||||||
|       autoFit: true, |       autoFit: true, | ||||||
|       height: 400 |       height: 380 | ||||||
|     }); |     }); | ||||||
|     // 新建一个 view 用来单独渲染Annotation |     // 新建一个 view 用来单独渲染Annotation | ||||||
|     const innerView = chart.createView(); |     const innerView = chart.createView(); | ||||||
|     chart.coordinate('theta', { |     chart.coordinate('theta', { | ||||||
|       radius: 0.6, |       radius: 0.65, | ||||||
|       innerRadius: 0.7 |       innerRadius: 0.6 | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     chart.data(data); |     chart.data(data); | ||||||
| @ -138,17 +148,17 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|  |  | ||||||
|     // 声明需要进行自定义图例字段: 'item' |     // 声明需要进行自定义图例字段: 'item' | ||||||
|     chart.legend('item', { |     chart.legend('item', { | ||||||
|       position: 'right', // 配置图例显示位置 |       position: 'bottom', // 配置图例显示位置 | ||||||
|       custom: true, // 关键字段,告诉 G2,要使用自定义的图例 |       custom: true, // 关键字段,告诉 G2,要使用自定义的图例 | ||||||
|       items: data.map((obj: any, index: any) => { |       items: data.map((obj: any, index: any) => { | ||||||
|         return { |         return { | ||||||
|           name: obj.item, // 对应 itemName |           name: obj.item, // 对应 itemName | ||||||
|           value: obj.percent, // 对应 itemValue |           value: obj.percent, // 对应 itemValue | ||||||
|           marker: { |           marker: { | ||||||
|             symbol: 'square', // marker 的形状 |             symbol: 'circle', // marker 的形状 | ||||||
|             style: { |             style: { | ||||||
|               r: 5, // marker 图形半径 |               r: 5, // marker 图形半径 | ||||||
|               fill: chart.getTheme().colors10[index] // marker 颜色,使用默认颜色,同图形对应 |               fill: index === 0 ? '#E60012' : '#F09896' // marker 颜色,使用默认颜色,同图形对应 | ||||||
|             } |             } | ||||||
|           } // marker 配置 |           } // marker 配置 | ||||||
|         }; |         }; | ||||||
| @ -165,7 +175,7 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|       .interval() |       .interval() | ||||||
|       .adjust('stack') |       .adjust('stack') | ||||||
|       .position('percent') |       .position('percent') | ||||||
|       .color('item') |       .color('item', ['#E60012', '#F09896']) | ||||||
|       .style({ |       .style({ | ||||||
|         fillOpacity: 1, |         fillOpacity: 1, | ||||||
|         stroke: 'white', |         stroke: 'white', | ||||||
| @ -182,6 +192,14 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|             }; |             }; | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |       }) | ||||||
|  |       .label('percent', percent => { | ||||||
|  |         return { | ||||||
|  |           content: data => { | ||||||
|  |             return ` ${percent * 100}%`; | ||||||
|  |           }, | ||||||
|  |           style: { fontSize: 14 } | ||||||
|  |         }; | ||||||
|       }); |       }); | ||||||
|  |  | ||||||
|     innerView |     innerView | ||||||
| @ -190,21 +208,21 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|         position: ['50%', '50%'], |         position: ['50%', '50%'], | ||||||
|         content: data[0].item, |         content: data[0].item, | ||||||
|         style: { |         style: { | ||||||
|           fontSize: 20, |           fontSize: 14, | ||||||
|           fill: '#8c8c8c', |           fill: '#8c8c8c', | ||||||
|           textAlign: 'center' |           textAlign: 'center' | ||||||
|         }, |         }, | ||||||
|         offsetY: -20 |         offsetY: -10 | ||||||
|       }) |       }) | ||||||
|       .text({ |       .text({ | ||||||
|         position: ['50%', '50%'], |         position: ['50%', '50%'], | ||||||
|         content: data[0].count, |         content: data[0].count, | ||||||
|         style: { |         style: { | ||||||
|           fontSize: 28, |           fontSize: 16, | ||||||
|           fill: '#8c8c8c', |           fill: '##000', | ||||||
|           textAlign: 'center' |           textAlign: 'center' | ||||||
|         }, |         }, | ||||||
|         offsetY: 20 |         offsetY: 10 | ||||||
|       }); |       }); | ||||||
|     innerView.render(true); |     innerView.render(true); | ||||||
|  |  | ||||||
| @ -242,21 +260,21 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|             position: ['50%', '50%'], |             position: ['50%', '50%'], | ||||||
|             content: data.item, |             content: data.item, | ||||||
|             style: { |             style: { | ||||||
|               fontSize: 20, |               fontSize: 14, | ||||||
|               fill: '#8c8c8c', |               fill: '#8c8c8c', | ||||||
|               textAlign: 'center' |               textAlign: 'center' | ||||||
|             }, |             }, | ||||||
|             offsetY: -20 |             offsetY: -10 | ||||||
|           }) |           }) | ||||||
|           .text({ |           .text({ | ||||||
|             position: ['50%', '50%'], |             position: ['50%', '50%'], | ||||||
|             content: data.count, |             content: data.count, | ||||||
|             style: { |             style: { | ||||||
|               fontSize: 28, |               fontSize: 16, | ||||||
|               fill: '#8c8c8c', |               fill: '##000', | ||||||
|               textAlign: 'center' |               textAlign: 'center' | ||||||
|             }, |             }, | ||||||
|             offsetY: 20 |             offsetY: 10 | ||||||
|           }); |           }); | ||||||
|         innerView.render(true); |         innerView.render(true); | ||||||
|         lastItem = data.item; |         lastItem = data.item; | ||||||
| @ -271,6 +289,50 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 构建面积图 | ||||||
|  |    * @param el | ||||||
|  |    */ | ||||||
|  |   private initAreaMap(el: HTMLElement, datas: any[]): void { | ||||||
|  |     const chart = new Chart({ | ||||||
|  |       container: el, | ||||||
|  |       autoFit: true, | ||||||
|  |       height: 500 | ||||||
|  |     }); | ||||||
|  |     chart.data(datas); | ||||||
|  |     chart.scale('Data', { | ||||||
|  |       range: [0, 1], | ||||||
|  |       tickCount: 10, | ||||||
|  |       type: 'timeCat' | ||||||
|  |     }); | ||||||
|  |     chart.scale('sales', { | ||||||
|  |       nice: true | ||||||
|  |     }); | ||||||
|  |     chart.axis('Data', false); | ||||||
|  |     chart.axis('sales', false); | ||||||
|  |     chart.tooltip({ | ||||||
|  |       showCrosshairs: true | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     // chart.annotation().dataMarker({ | ||||||
|  |     //   position: ['2014-01', 1750], | ||||||
|  |     //   top: true, | ||||||
|  |     //   text: { | ||||||
|  |     //     content: '因政策调整导致销量下滑', | ||||||
|  |     //     style: { | ||||||
|  |     //       fontSize: 13 | ||||||
|  |     //     } | ||||||
|  |     //   }, | ||||||
|  |     //   line: { | ||||||
|  |     //     length: 30 | ||||||
|  |     //   } | ||||||
|  |     // }); | ||||||
|  |  | ||||||
|  |     chart.line().position('Data*sales'); | ||||||
|  |     chart.area().position('Data*sales'); | ||||||
|  |     chart.render(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 构建大区业绩完成情况柱折双轴图 |    * 构建大区业绩完成情况柱折双轴图 | ||||||
|    * @param el |    * @param el | ||||||
| @ -308,6 +370,7 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|  |  | ||||||
|     // 声明需要进行自定义图例字段: 'item' |     // 声明需要进行自定义图例字段: 'item' | ||||||
|     chart.legend({ |     chart.legend({ | ||||||
|  |       title: { text: '1111', spacing: 11 }, | ||||||
|       offsetY: 10, |       offsetY: 10, | ||||||
|       position: 'bottom', // 配置图例显示位置 |       position: 'bottom', // 配置图例显示位置 | ||||||
|       custom: true, // 关键字段,告诉 G2,要使用自定义的图例 |       custom: true, // 关键字段,告诉 G2,要使用自定义的图例 | ||||||
| @ -333,54 +396,60 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|    * @param el |    * @param el | ||||||
|    * @param data |    * @param data | ||||||
|    */ |    */ | ||||||
|   private initBiaxialChart(el: HTMLElement, data: any[]) { |   private initBiaxialChart( | ||||||
|  |     el: HTMLElement, | ||||||
|  |     data: any[], | ||||||
|  |     { y1Title, y2Title, y3Title }: { y1Title: string; y2Title: string; y3Title: string } | ||||||
|  |   ) { | ||||||
|     const chart = new Chart({ |     const chart = new Chart({ | ||||||
|       container: el, |       container: el, | ||||||
|       autoFit: true, |       autoFit: true, | ||||||
|       height: 400 |       height: 380 | ||||||
|     }); |     }); | ||||||
|     chart.data(data); |     chart.data(data); | ||||||
|     // 设置坐标轴 |     // 设置坐标轴 | ||||||
|     chart.scale({ |     chart.scale({ | ||||||
|       pre: { alias: '同期业绩完成率', min: 0, max: 1, formatter: val => val * 100 + '%' }, |       y1: { alias: y1Title, min: 0, max: 1000000 }, | ||||||
|       pre2: { alias: '业绩完成率', min: 0, max: 1, formatter: val => val * 100 + '%' }, |       y2: { alias: y2Title, min: 0, max: 1, formatter: val => (val * 100).toFixed(0) + '%' }, | ||||||
|       quantity: { alias: '业绩量 (万)', min: 0, max: 1000000 } |       y3: { alias: y3Title, min: 0, max: 1, formatter: val => (val * 100).toFixed(0) + '%' } | ||||||
|     }); |     }); | ||||||
|     // 设置 |     // 设置 | ||||||
|     chart.legend({ |     chart.legend({ | ||||||
|       custom: true, |       custom: true, | ||||||
|  |       position: 'top-right', | ||||||
|  |       padding: [10, 0, 40, 0], | ||||||
|       items: [ |       items: [ | ||||||
|         { value: 'quantity', name: '业绩量 (万)', marker: { symbol: 'hyphen', style: { stroke: '#3182bd', r: 15, lineWidth: 5 } } }, |         { value: 'y1', name: y1Title, marker: { symbol: 'circle', style: { fill: '#E60012', r: 5, fontSize: 13 } } }, | ||||||
|         { value: 'pre2', name: '业绩完成率', marker: { symbol: 'hyphen', style: { stroke: '#fdae6b', r: 15, lineWidth: 5 } } }, |         { value: 'y3', name: y3Title, marker: { symbol: 'circle', style: { fill: '#6CBFFF', r: 5, fontSize: 13 } } }, | ||||||
|         { value: 'pre', name: '同期业绩完成率', marker: { symbol: 'hyphen', style: { stroke: '#ff4d4f', r: 15, lineWidth: 5 } } } |         { value: 'y2', name: y2Title, marker: { symbol: 'circle', style: { fill: '#50D4AB', r: 5, fontSize: 13 } } } | ||||||
|       ] |       ] | ||||||
|     }); |     }); | ||||||
|     chart.axis('pre', { |     chart.axis('y2', { | ||||||
|       grid: null, |       grid: null, | ||||||
|       title: null, |       title: null, | ||||||
|       label: { |       label: { | ||||||
|         formatter: val => +val * 100 + '%' |         formatter: val => val | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|     chart.axis('pre2', false); |     chart.axis('y3', false); | ||||||
|     chart.tooltip({ |     chart.tooltip({ | ||||||
|       shared: true |       shared: true | ||||||
|     }); |     }); | ||||||
|     chart.interval().position('time*quantity').label('quantity').color('#3182bd'); |     chart.interval().position('x*y1').color('#E60012'); | ||||||
|     chart |     chart | ||||||
|       .line() |       .line() | ||||||
|       .position('time*pre') |       .position('x*y2') | ||||||
|       .label('pre', val => ({ content: (val * 100).toFixed(0) + '%' })) |       // .label('pre', val => ({ content: (val * 100).toFixed(0) + '%' })) | ||||||
|       .color('#ff4d4f') |       .color('#6CBFFF') | ||||||
|       .size(3); |       .size(3); | ||||||
|     chart.point().position('time*pre').color('#ff4d4f').size(3).shape('circle'); |     chart.point().position('x*y2').color('#6CBFFF').size(3).shape('circle'); | ||||||
|     chart |     chart | ||||||
|       .line() |       .line() | ||||||
|       .position('time*pre2') |       .position('x*y3') | ||||||
|       .label('pre2', val => ({ content: (val * 100).toFixed(0) + '%' })) |       // .label('pre2', val => ({ content: (val * 100).toFixed(0) + '%' })) | ||||||
|       .color('#fdae6b') |       .color('#50D4AB') | ||||||
|       .size(3); |       .size(3); | ||||||
|     chart.point().position('time*pre2').color('#fdae6b').size(3).shape('circle'); |     chart.point().position('x*y3').color('#50D4AB').size(3).shape('circle'); | ||||||
|  |  | ||||||
|     chart.interaction('active-region'); |     chart.interaction('active-region'); | ||||||
|     chart.removeInteraction('legend-filter'); // 自定义图例,移除默认的分类图例筛选交互 |     chart.removeInteraction('legend-filter'); // 自定义图例,移除默认的分类图例筛选交互 | ||||||
| @ -417,11 +486,10 @@ export class DatatableDataindexComponent implements OnInit { | |||||||
|  |  | ||||||
|   private formatBarData(data: DataPerformanceTrendVO[]): any[] { |   private formatBarData(data: DataPerformanceTrendVO[]): any[] { | ||||||
|     return data.map(item => ({ |     return data.map(item => ({ | ||||||
|       time: item.time, |       x: item.time, | ||||||
|       quantity: item.quantity, |       y1: item.quantity, | ||||||
|       color: undefined, |       y2: Math.floor(Math.random() * 100) / 100, | ||||||
|       pre: Math.floor(Math.random() * 100) / 100, |       y3: Math.floor(Math.random() * 100) / 100 | ||||||
|       pre2: Math.floor(Math.random() * 100) / 100 |  | ||||||
|     })); |     })); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | |||||||
| @ -57,7 +57,7 @@ export class CwcBankCardManagementBindComponent implements OnInit { | |||||||
|         bankCardNumber: { |         bankCardNumber: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '银行卡号', |           title: '银行卡号', | ||||||
|           maxLength: 21, |           maxLength: 30, | ||||||
|           ui: { |           ui: { | ||||||
|             showRequired: true, |             showRequired: true, | ||||||
|             placeholder: '请输入银行卡号', |             placeholder: '请输入银行卡号', | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-01-12 10:52:50 |  * @Date         : 2022-01-12 10:52:50 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-14 10:53:35 |  * @LastEditTime : 2022-04-22 16:51:29 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk\\bulk.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk\\bulk.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| @ -82,7 +82,7 @@ | |||||||
|         <div> {{   item.settlementWeight ?  item.settlementWeight  + '吨/ ': ''}} {{   item.settlementVolume ? item.settlementVolume  + '方 ': ''}}</div> |         <div> {{   item.settlementWeight ?  item.settlementWeight  + '吨/ ': ''}} {{   item.settlementVolume ? item.settlementVolume  + '方 ': ''}}</div> | ||||||
|       </ng-template> |       </ng-template> | ||||||
|       <ng-template st-row="payeeName" let-item let-index="index"> |       <ng-template st-row="payeeName" let-item let-index="index"> | ||||||
|         <div> {{ item?.payeeName }}{{ item?.payeePhone ? "/" + item?.payeePhone : ''  }} </div> |         <div *ngIf="item.payeeName !== item.driverName"> {{ item?.payeeName }}{{ item?.payeePhone ? "/" + item?.payeePhone : ''  }} </div> | ||||||
|       </ng-template> |       </ng-template> | ||||||
|       <ng-template st-row="createUserName" let-item let-index="index"> |       <ng-template st-row="createUserName" let-item let-index="index"> | ||||||
|         <div> {{ item?.createUserName }}{{  item?.createUserPhone ? "/" + item?.createUserPhone : '' }} </div> |         <div> {{ item?.createUserName }}{{  item?.createUserPhone ? "/" + item?.createUserPhone : '' }} </div> | ||||||
|  | |||||||
| @ -509,8 +509,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|         title: '车队长', |         title: '车队长', | ||||||
|         className: 'text-left', |         className: 'text-left', | ||||||
|         width: '180px', |         width: '180px', | ||||||
|         index: 'payeeName', |         render: 'payeeName', | ||||||
|         render: 'payeeName' |  | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         title: '装卸货时间', |         title: '装卸货时间', | ||||||
|  | |||||||
| @ -547,8 +547,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|       nzContent: `<b>确认后单据不可修改,请谨慎操作。</b>`, |       nzContent: `<b>确认后单据不可修改,请谨慎操作。</b>`, | ||||||
|       nzOnOk: () => |       nzOnOk: () => | ||||||
|            { |            { | ||||||
|             this.service.downloadFile(this.service.$api_createBillTakeGoods,params) |             this.service.downloadFile(this.service.$api_createBillEsignGoods,params) | ||||||
|             this.service.downloadFile(this.service.$api_createBillDischargeGoods,params) |  | ||||||
|             this.service.msgSrv.success('生成成功!'); |             this.service.msgSrv.success('生成成功!'); | ||||||
|              this.st?.reload() |              this.st?.reload() | ||||||
|         //   this.getGoodsSourceStatistical(); |         //   this.getGoodsSourceStatistical(); | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2021-12-28 14:42:03 |  * @Date         : 2021-12-28 14:42:03 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-21 17:03:50 |  * @LastEditTime : 2022-04-22 16:27:43 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-01-12 10:52:50 |  * @Date         : 2022-01-12 10:52:50 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-08 11:32:46 |  * @LastEditTime : 2022-04-22 16:53:07 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle\\vehicle.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle\\vehicle.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| @ -95,7 +95,7 @@ | |||||||
|       </ng-template> |       </ng-template> | ||||||
|       <ng-template st-row="driverName" let-item let-index="index"> |       <ng-template st-row="driverName" let-item let-index="index"> | ||||||
|         <div> {{ item?.driverName  }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }}{{ item?.carNo ? '/' + item?.carNo : '' }} </div><br /> |         <div> {{ item?.driverName  }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }}{{ item?.carNo ? '/' + item?.carNo : '' }} </div><br /> | ||||||
|         <div> {{ item?.payeeName ? item?.payeeName + '/' : ''}}{{ item?.payeePhone }} </div> |         <div *ngIf="item.payeeName !== item.driverName">车队长: {{ item?.payeeName ? item?.payeeName + '/' : ''}}{{ item?.payeePhone }} </div> | ||||||
|       </ng-template> |       </ng-template> | ||||||
|    |    | ||||||
|       <ng-template st-row="loadingTime" let-item let-index="index"> |       <ng-template st-row="loadingTime" let-item let-index="index"> | ||||||
|  | |||||||
| @ -4,21 +4,27 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2021-12-15 13:17:42 |  * @Date         : 2021-12-15 13:17:42 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-21 14:41:44 |  * @LastEditTime : 2022-04-22 15:27:20 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\audit\\voucher-view\\voucher-view.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\audit\\voucher-view\\voucher-view.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| <div class="sfBox" [ngClass]="Status !== 1 ? 'hideBtn' : ''"> | <div class="sfBox" [ngClass]="Status !== 1 ? 'hideBtn' : ''"> | ||||||
|   <sf #sf mode="edit" [schema]="schema" [ui]="ui" [formData]="formData" button="none"> |   <sf #sf mode="edit" [schema]="schema" [ui]="ui" [formData]="formData" button="none"> | ||||||
|     <ng-template sf-template="no0" let-me let-ui="ui" let-schema="schema"> |     <ng-template sf-template="no0" let-me let-ui="ui" let-schema="schema"> | ||||||
|     <div style="color: #1890FF" > |       <div style="color: #1890ff; cursor: pointer;"> | ||||||
|       <div (click)="openlaod(1)">电子装货单 <span style="color: red;"> |         <div (click)="openlaod(1)" | ||||||
|  |           >电子装货单 | ||||||
|  |           <!-- <span style="color: red;"> | ||||||
|         {{datas?.loadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}} |         {{datas?.loadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}} | ||||||
|       </span></div> |       </span> --> | ||||||
|  |         </div> | ||||||
|       </div> |       </div> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|     <ng-template sf-template="no6" let-me let-ui="ui" let-schema="schema"> |     <ng-template sf-template="no6" let-me let-ui="ui" let-schema="schema"> | ||||||
|     <div style="color: #1890FF" (click)="openlaod(2)">电子卸货单<span style="color: red;"> {{datas?.unloadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}}</span></div> |       <div style="color: #1890ff; cursor: pointer;" (click)="openlaod(2)" | ||||||
|  |         >电子卸货单 | ||||||
|  |         <!-- <span style="color: red;"> {{datas?.unloadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}}</span> --> | ||||||
|  |       </div> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|   </sf> |   </sf> | ||||||
| </div> | </div> | ||||||
|  | |||||||
| @ -509,12 +509,51 @@ export class orderManagementVoucherViewComponent implements OnInit { | |||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   sure() { |   sure() { | ||||||
|     const params = [this.i?.id]; |     // const params = [this.i?.id]; | ||||||
|     this.service.downloadFile(this.service.$api_createBillTakeGoods, params); |     // this.service.downloadFile(this.service.$api_createBillTakeGoods, params); | ||||||
|     this.service.downloadFile(this.service.$api_createBillDischargeGoods, params); |     // this.service.downloadFile(this.service.$api_createBillDischargeGoods, params); | ||||||
|  |       // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 | ||||||
|  |       let time = 10; | ||||||
|  |       setInterval(function () { | ||||||
|  |         time -= 1; | ||||||
|  |       }, 1000);  | ||||||
|  |       const modal = this.modalService.success({ | ||||||
|  |         nzTitle: '电子装货单和电子卸货单签署中!', | ||||||
|  |         nzContent: ` | ||||||
|  |         请等待${time}秒后自动关闭 | ||||||
|  |         ` | ||||||
|  |       }); | ||||||
|  |         this.service.request(this.service.$api_createBillEsignGoods, [this.datas?.id]).subscribe(res => { | ||||||
|  |           if (res) { | ||||||
|  |             switch (res[0]?.esignFlowStatus) { | ||||||
|  |               case 1: | ||||||
|  |               case '1': | ||||||
|  |                 setTimeout(() => { | ||||||
|  |                   this.service.request(this.service.$api_getBillGoodsEsignFile, [this.datas?.id]).subscribe(res => { | ||||||
|  |                     if (res[0]?.esignFlowStatus == '2') { | ||||||
|                       this.service.msgSrv.success('生成电子单据成功!'); |                       this.service.msgSrv.success('生成电子单据成功!'); | ||||||
|                       this.modal.destroy(true); |                       this.modal.destroy(true); | ||||||
|                     } |                     } | ||||||
|  |                   }); | ||||||
|  |                   modal.destroy(); | ||||||
|  |                 }, 9000); | ||||||
|  |  | ||||||
|  |                 return; | ||||||
|  |                 case 2: | ||||||
|  |                 modal.destroy(); | ||||||
|  |                 return; | ||||||
|  |                 default: | ||||||
|  |                 this.service.msgSrv.error('电子卸货单签署异常!'); | ||||||
|  |                 modal.destroy(); | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |           } else { | ||||||
|  |             this.service.msgSrv.error('电子卸货单签署异常!'); | ||||||
|  |             modal.destroy(); | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |    | ||||||
|  |   } | ||||||
|   //  确认到车界面信息(两个只能看的图片) |   //  确认到车界面信息(两个只能看的图片) | ||||||
|   initData() { |   initData() { | ||||||
|     this.service.request(this.service.$api_get_getCredentials, { id: this.i?.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getCredentials, { id: this.i?.id }).subscribe(res => { | ||||||
| @ -575,99 +614,19 @@ export class orderManagementVoucherViewComponent implements OnInit { | |||||||
|   } |   } | ||||||
|   openlaod(value: any) { |   openlaod(value: any) { | ||||||
|     if (value === 1) { |     if (value === 1) { | ||||||
|       // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 |       this.service.request(this.service.$api_getBillTakeGoods,  {id:this.datas?.id}).subscribe(res => { | ||||||
|       let time = 10; |  | ||||||
|       setInterval(function () { |  | ||||||
|         time -= 1; |  | ||||||
|       }, 1000);  |  | ||||||
|       const modal = this.modalService.success({ |  | ||||||
|         nzTitle: '电子装货单签署中!', |  | ||||||
|         nzContent: ` |  | ||||||
|         请等待${time}秒后自动关闭 |  | ||||||
|         ` |  | ||||||
|       }); |  | ||||||
|       if (!this.datas?.loadingElectronicsLadingBillFilePath) { |  | ||||||
|         this.service.request(this.service.$api_createBillTakeGoods, [this.datas?.id]).subscribe(res => { |  | ||||||
|         if (res) { |         if (res) { | ||||||
|             switch (res[0]?.esignFlowStatus) { |           console.log(res); | ||||||
|               case 1: |           window.open(res?.contractFilePath) | ||||||
|               case '1': |  | ||||||
|                 setTimeout(() => { |  | ||||||
|                   this.service.request(this.service.$api_getBillTakeEsignFile, [this.datas?.id]).subscribe(res => { |  | ||||||
|                     if (res[0]?.esignFlowStatus == '2') { |  | ||||||
|                       this.service.msgSrv.success('电子装货单已生效!'); |  | ||||||
|                       this.modal.destroy(true); |  | ||||||
|                     } |  | ||||||
|                   }); |  | ||||||
|                   modal.destroy(); |  | ||||||
|                 }, 10000); |  | ||||||
|                 return; |  | ||||||
|               case 2: |  | ||||||
|                 modal.destroy(); |  | ||||||
|                 return; |  | ||||||
|               case '13': |  | ||||||
|               case 13: |  | ||||||
|                 this.service.msgSrv.error('签署异常!'); |  | ||||||
|                 modal.destroy(); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|         } |         } | ||||||
|       }); |       }); | ||||||
|     } else { |     } else { | ||||||
|         const a = document.createElement('a'); |       this.service.request(this.service.$api_getBillDischargeGoods,  {id:this.datas?.id}).subscribe(res => { | ||||||
|         a.href = this.datas?.loadingElectronicsLadingBillFilePath; |  | ||||||
|         document.body.appendChild(a); |  | ||||||
|         a.click(); //点击下载 |  | ||||||
|         document.body.removeChild(a); //下载完成移除元素 |  | ||||||
|       } |  | ||||||
|     } else { |  | ||||||
|       // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 |  | ||||||
|       let time = 10; |  | ||||||
|       setInterval(function () { |  | ||||||
|         time -= 1; |  | ||||||
|       }, 1000); //反复执行函数本身 |  | ||||||
|       const modal = this.modalService.success({ |  | ||||||
|         nzTitle: '电子卸货单签署中!', |  | ||||||
|         nzContent: ` |  | ||||||
|      请等待${time}秒后自动关闭 |  | ||||||
|      ` |  | ||||||
|       }); |  | ||||||
|       if (!this.datas?.unloadingElectronicsLadingBillFilePath) { |  | ||||||
|         this.service.request(this.service.$api_createBillDischargeGoods, [this.datas?.id]).subscribe(res => { |  | ||||||
|         if (res) { |         if (res) { | ||||||
|             switch (res[0]?.esignFlowStatus) { |           console.log(res); | ||||||
|               case 1: |           window.open(res?.contractFilePath) | ||||||
|               case '1': |  | ||||||
|                 setTimeout(() => { |  | ||||||
|                   this.service.request(this.service.$api_getBillDischargeEsignFile, [this.datas?.id]).subscribe(res => { |  | ||||||
|                     if (res[0]?.esignFlowStatus == '2') { |  | ||||||
|                       this.service.msgSrv.success('电子卸货单已生效!'); |  | ||||||
|                       this.modal.destroy(true); |  | ||||||
|         } |         } | ||||||
|       }); |       }); | ||||||
|                   modal.destroy(); |  | ||||||
|                 }, 10000); |  | ||||||
|  |  | ||||||
|                 return; |  | ||||||
|               case 2: |  | ||||||
|                 modal.destroy(); |  | ||||||
|  |  | ||||||
|                 return; |  | ||||||
|               case '13': |  | ||||||
|               case 13: |  | ||||||
|                 this.service.msgSrv.error('签署异常!'); |  | ||||||
|                 modal.destroy(); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         }); |  | ||||||
|       } else { |  | ||||||
|         const a = document.createElement('a'); |  | ||||||
|         a.href = this.datas?.unloadingElectronicsLadingBillFilePath; |  | ||||||
|         document.body.appendChild(a); |  | ||||||
|         a.click(); //点击下载 |  | ||||||
|         document.body.removeChild(a); //下载完成移除元素 |  | ||||||
|       } |  | ||||||
|   } |   } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2021-12-30 14:45:39 |  * @Date         : 2021-12-30 14:45:39 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-03-24 10:28:48 |  * @LastEditTime : 2022-04-22 16:31:57 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-captain\\modify-captain.component.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-captain\\modify-captain.component.ts | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
| @ -44,7 +44,8 @@ export class VehicleModifyCaptainComponent implements OnInit { | |||||||
|         mobile: { |         mobile: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '车队长手机号', |           title: '车队长手机号', | ||||||
|           maxLength: 11 |           maxLength: 11, | ||||||
|  |           default: '' | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       required: ['mobile'] |       required: ['mobile'] | ||||||
| @ -103,18 +104,20 @@ export class VehicleModifyCaptainComponent implements OnInit { | |||||||
|       if (res) { |       if (res) { | ||||||
|         this.modal.destroy(); |         this.modal.destroy(); | ||||||
|         this.service.msgSrv.success('修改成功'); |         this.service.msgSrv.success('修改成功'); | ||||||
|       } else { |  | ||||||
|         this.service.msgSrv.error(res?.msg); |  | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   initDate() { |   initDate() { | ||||||
|  |     let phone  = this.sf?.value.mobile.replace(/^\s*|\s*$/g,"") | ||||||
|  |     if(!phone) { | ||||||
|  |       this.service.msgSrv.error('请输入手机号!'); | ||||||
|  |       return | ||||||
|  |     } | ||||||
|     const params = { |     const params = { | ||||||
|       fetchBank: 1, |       fetchBank: 1, | ||||||
|       ...this.sf?.value |       ...this.sf?.value | ||||||
|     }; |     }; | ||||||
|     this.service.request(this.service.$api_get_getCarCaptainByMobile, params).subscribe((res: any) => { |     this.service.request(this.service.$api_get_getCarCaptainByMobile, params).subscribe((res: any) => { | ||||||
|       console.log(res); |  | ||||||
|       if (res) { |       if (res) { | ||||||
|         this.dataList = [res]; |         this.dataList = [res]; | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -4,13 +4,13 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-02-22 13:53:29 |  * @Date         : 2022-02-22 13:53:29 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-03-08 15:01:14 |  * @LastEditTime : 2022-04-22 16:27:40 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| <div nz-row> | <div nz-row> | ||||||
|   <div nz-col [nzSpan]="24"> |   <div nz-col [nzSpan]="24"> | ||||||
|     <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="MapList"> |     <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois"> | ||||||
|     </amap-path-simplifier> |     </amap-path-simplifier> | ||||||
|     <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" |     <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" | ||||||
|       [page]="{ show: false, showSize: false }" size="small" class="map_st"> |       [page]="{ show: false, showSize: false }" size="small" class="map_st"> | ||||||
|  | |||||||
| @ -1,11 +1,10 @@ | |||||||
|  | /* stylelint-disable order/properties-order */ | ||||||
| :host { | :host { | ||||||
|      ::ng-deep { |   .map_st2 { | ||||||
|      //   .mapBox { |     position: absolute; | ||||||
|      //      iframe, canvas { |     top: 20px; | ||||||
|      //             width: 400px !important; |     right: 49px; | ||||||
|      //        } |     height: 350px; | ||||||
|      //   } |     width: 360px; | ||||||
|   |  | ||||||
|   } |   } | ||||||
|     |  | ||||||
| } | } | ||||||
| @ -4,21 +4,12 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-02-22 13:53:29 |  * @Date         : 2022-02-22 13:53:29 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-03-08 16:11:58 |  * @LastEditTime : 2022-04-22 16:24:06 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.ts | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { STColumn } from '@delon/abc/st'; | import { STColumn, STComponent } from '@delon/abc/st'; | ||||||
| import { |  | ||||||
|   SFComponent, |  | ||||||
|   SFCustomWidgetSchema, |  | ||||||
|   SFNumberWidgetSchema, |  | ||||||
|   SFRadioWidgetSchema, |  | ||||||
|   SFSchema, |  | ||||||
|   SFTextareaWidgetSchema, |  | ||||||
|   SFUISchema |  | ||||||
| } from '@delon/form'; |  | ||||||
| import format from 'date-fns/format'; | import format from 'date-fns/format'; | ||||||
| import { _HttpClient } from '@delon/theme'; | import { _HttpClient } from '@delon/theme'; | ||||||
| import { NzMessageService } from 'ng-zorro-antd/message'; | import { NzMessageService } from 'ng-zorro-antd/message'; | ||||||
| @ -37,9 +28,11 @@ export class OneCarOrderViewtrackComponent implements OnInit { | |||||||
|   mapList: any[] = []; //地图点位数据组 |   mapList: any[] = []; //地图点位数据组 | ||||||
|   addressItems: any[] = []; //打点地址数据组 |   addressItems: any[] = []; //打点地址数据组 | ||||||
|   logColumns2: STColumn[] = [ |   logColumns2: STColumn[] = [ | ||||||
|     { title: '时间', index: 'parkBte' }, |     { title: '时间', index: 'parkBte', width: 120, className: 'text-center' }, | ||||||
|     { title: '地点', index: 'parkAdr' } |     { title: '地点', index: 'parkAdr',width: 120,className: 'text-center'  } | ||||||
|   ]; |   ]; | ||||||
|  |   pois: any[] = []; | ||||||
|  |  | ||||||
|   constructor( |   constructor( | ||||||
|     private modalRef: NzModalRef, |     private modalRef: NzModalRef, | ||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
| @ -56,31 +49,58 @@ export class OneCarOrderViewtrackComponent implements OnInit { | |||||||
|   } |   } | ||||||
|   // 获取车辆轨迹 |   // 获取车辆轨迹 | ||||||
|   getTrajectory() { |   getTrajectory() { | ||||||
|     this.service.request(this.service.$api_get_getTrajectory, { id: this.i?.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getWholeBillDetail, { id: this.i.id }).subscribe(res => { | ||||||
|  |       if (res) { | ||||||
|  |         this.pois = [ | ||||||
|  |           { | ||||||
|  |             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 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             markerLabel: '卸', | ||||||
|  |             color: 'red', | ||||||
|  |             position: [res.endPoint.longitude, res.endPoint.latitude], | ||||||
|  |             title: `卸货地:${res.endPoint.province}${res.endPoint.city}${res.endPoint.area}${res.endPoint.detailedAddress}`, | ||||||
|  |             time: '计划卸货时间:' + res.unloadPlanTime | ||||||
|  |           } | ||||||
|  |         ]; | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |     this.service.request(this.service.$api_get_getTrajectory, { id: this.i.id }).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         const points = res.trackArray; |         const points = res.trackArray; | ||||||
|         let list: any[] = []; |         let list: any[] = []; | ||||||
|         points?.forEach((item: any) => { |         points?.forEach((item: any) => { | ||||||
|           list.push({ |           list.push({ | ||||||
|             name: item.hgt, |             name: `${item.spd}`, | ||||||
|             lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))], |             lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))], | ||||||
|             time: item.gtm |             time: item.gtm | ||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = res.parkAdr; |         const addressItems: any[] = res.parkArray; | ||||||
|         if (this.addressItems && this.addressItems.length > 0) { |         if (addressItems?.length > 0) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.parkBte = this.getLocalTime(item.parkBte); |             item.parkBte = this.getLocalTime(item.parkBte); | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|  |         console.log(this.addressItems); | ||||||
|  |          | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   // 获取司机轨迹 |   // 获取司机轨迹 | ||||||
|   getDriverTrajectory() { |   getDriverTrajectory() { | ||||||
|     this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.i?.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.i.id }).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         const points = res.tracks; |         const points = res.tracks; | ||||||
|         let list: any[] = []; |         let list: any[] = []; | ||||||
| @ -91,7 +111,7 @@ export class OneCarOrderViewtrackComponent implements OnInit { | |||||||
|             time: item.gtm |             time: item.gtm | ||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list || []; | ||||||
|         const addressItems = [...res.tracks]; |         const addressItems = [...res.tracks]; | ||||||
|         if (addressItems) { |         if (addressItems) { | ||||||
|           addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2021-12-03 15:31:52 |  * @Date         : 2021-12-03 15:31:52 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-19 15:16:37 |  * @LastEditTime : 2022-04-22 17:14:39 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
| @ -163,8 +163,8 @@ export class OrderManagementService extends ShipperBaseService { | |||||||
|   // 异常预警 |   // 异常预警 | ||||||
|   public $api_getAbnormalWarningByBillId = '/api/sdc/abnormalWarning/getAbnormalWarningByBillId'; |   public $api_getAbnormalWarningByBillId = '/api/sdc/abnormalWarning/getAbnormalWarningByBillId'; | ||||||
|  |  | ||||||
|   // 生成卸货单 |   // 获取电子提/卸货单签章附件 | ||||||
|   public $api_createBillDischargeGoods = '/api/sdc/billOperate/createBillDischargeGoods'; |   public $api_getBillGoodsEsignFile = '/api/sdc/billOperate/getBillGoodsEsignFile'; | ||||||
|   // 生成提货单 |   // 生成提货单 | ||||||
|   public $api_createBillTakeGoods = '/api/sdc/billOperate/createBillTakeGoods'; |   public $api_createBillTakeGoods = '/api/sdc/billOperate/createBillTakeGoods'; | ||||||
|   // 生成卸货单-页面展示 |   // 生成卸货单-页面展示 | ||||||
| @ -209,11 +209,16 @@ export class OrderManagementService extends ShipperBaseService { | |||||||
|   // 查看补充协议 |   // 查看补充协议 | ||||||
|   public $api_getSupplementaryAgreement = `/api/sdc/billShipper/getSupplementaryAgreement`; |   public $api_getSupplementaryAgreement = `/api/sdc/billShipper/getSupplementaryAgreement`; | ||||||
|  |  | ||||||
|  |  | ||||||
|   // 获取电子提货单签章附件 |   // 获取电子提货单签章附件 | ||||||
|   public $api_getBillTakeEsignFile = `/api/sdc/billOperate/getBillTakeEsignFile`; |   public $api_getBillTakeEsignFile = `/api/sdc/billOperate/getBillTakeEsignFile`; | ||||||
|   // 获取电子卸货单签章附件 |   // 获取电子卸货单签章附件 | ||||||
|   public $api_getBillDischargeEsignFile = `/api/sdc/billOperate/getBillDischargeEsignFile`; |   public $api_getBillDischargeEsignFile = `/api/sdc/billOperate/getBillDischargeEsignFile`; | ||||||
|  |   // 预览卸货单 | ||||||
|  |   public $api_getBillDischargeGoods = `/api/sdc/billOperate/getBillDischargeGoods`; | ||||||
|  |   // 预览提货单 | ||||||
|  |   public $api_getBillTakeGoods = `/api/sdc/billOperate/getBillTakeGoods`; | ||||||
|  |   // 生成提/卸货单 | ||||||
|  |   public $api_createBillEsignGoods = `/api/sdc/billOperate/createBillEsignGoods`; | ||||||
|  |  | ||||||
|   // // 生成卸货单 |   // // 生成卸货单 | ||||||
|   // public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`; |   // public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`; | ||||||
|  | |||||||
| @ -73,7 +73,9 @@ export class PartnerListComponent { | |||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
|     modal.afterClose.subscribe(res => { |     modal.afterClose.subscribe(res => { | ||||||
|       modal.destroy(); |       if (res) { | ||||||
|  |         this.st.load(1); | ||||||
|  |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| import { Component, Input, OnInit, ViewChild } from '@angular/core'; | import { Component, Input, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { SFComponent, SFSchema, SFValue } from '@delon/form'; | import { SFComponent, SFSchema, SFValue } from '@delon/form'; | ||||||
|  | import { ModalHelper } from '@delon/theme'; | ||||||
| import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | ||||||
| import { PartnerListService } from '../../services/partner-list.service'; | import { PartnerListService } from '../../services/partner-list.service'; | ||||||
|  |  | ||||||
| @ -15,7 +16,7 @@ export class PartnerAuditModalComponent implements OnInit { | |||||||
|   info: any; |   info: any; | ||||||
|   schema!: SFSchema; |   schema!: SFSchema; | ||||||
|   sourcePage = ''; |   sourcePage = ''; | ||||||
|   constructor(private nzModalService: NzModalService, public service: PartnerListService) {} |   constructor(private nzModalService: NzModalService, public service: PartnerListService, private modal: NzModalRef) {} | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     this.initSF(this.info); |     this.initSF(this.info); | ||||||
| @ -49,7 +50,7 @@ export class PartnerAuditModalComponent implements OnInit { | |||||||
|             widget: 'radio', |             widget: 'radio', | ||||||
|             hidden: this.info.isPass !== undefined |             hidden: this.info.isPass !== undefined | ||||||
|           }, |           }, | ||||||
|           default: true |           default: this.info.isPass !== undefined ? this.info.isPass : true | ||||||
|         }, |         }, | ||||||
|         channelId: { |         channelId: { | ||||||
|           title: '渠道销售', |           title: '渠道销售', | ||||||
| @ -121,7 +122,7 @@ export class PartnerAuditModalComponent implements OnInit { | |||||||
|       .subscribe(res => { |       .subscribe(res => { | ||||||
|         if (res) { |         if (res) { | ||||||
|           this.service.msgSrv.success('审核成功!'); |           this.service.msgSrv.success('审核成功!'); | ||||||
|           this.close(); |           this.modal.destroy(1); | ||||||
|         } |         } | ||||||
|       }); |       }); | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -142,6 +142,12 @@ export class PartnerDetailComponent implements OnInit, OnDestroy { | |||||||
|       nzComponentParams: { info: { ...this.detailData, isPass }, sourcePage: '合伙人审核详情' }, |       nzComponentParams: { info: { ...this.detailData, isPass }, sourcePage: '合伙人审核详情' }, | ||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  |     modal.afterClose.subscribe(res => { | ||||||
|  |       if (res) { | ||||||
|  |         this.initData(); | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   ratify() { |   ratify() { | ||||||
| @ -370,7 +376,7 @@ export class PartnerDetailComponent implements OnInit, OnDestroy { | |||||||
|         buttons: [ |         buttons: [ | ||||||
|           { |           { | ||||||
|             text: '详情', |             text: '详情', | ||||||
|             click: (item) => this.service.showChangeDetail(item.id) |             click: item => this.service.showChangeDetail(item.id) | ||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -130,6 +130,12 @@ export class PersonalPartnerDetailComponent implements OnInit { | |||||||
|       }, |       }, | ||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  |     modal.afterClose.subscribe(res => { | ||||||
|  |       if (res) { | ||||||
|  |         this.initData(); | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   ratify() { |   ratify() { | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-03-28 14:53:52 |  * @Date         : 2022-03-28 14:53:52 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-03-28 17:03:21 |  * @LastEditTime : 2022-04-22 10:30:33 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add-partnerlist\\add-partnerlist.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add-partnerlist\\add-partnerlist.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| @ -25,6 +25,6 @@ | |||||||
|         [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false" |         [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false" | ||||||
|         [scroll]="{ x: '1000' }"> |         [scroll]="{ x: '1000' }"> | ||||||
|       </st> |       </st> | ||||||
|     <button *ngIf="selectedIndex===0" (click)="batchReply()" nz-button nzType="primary" acl |     <button style="float: right;" *ngIf="selectedIndex===0" (click)="batchReply()" nz-button nzType="primary" acl | ||||||
|       [acl-ability]="['AbnormalAppear-batchReply']">批量回复</button> |       [acl-ability]="['AbnormalAppear-batchReply']">批量选择</button> | ||||||
| </nz-card> | </nz-card> | ||||||
|  | |||||||
| @ -128,7 +128,7 @@ export class ParterRebateManageMentAddPartnerListComponent implements OnInit { | |||||||
|   // 回复操作 |   // 回复操作 | ||||||
|   add(item: any) { |   add(item: any) { | ||||||
|     console.log(item); |     console.log(item); | ||||||
|     this.modals.destroy(item); |     this.modals.destroy([item]); | ||||||
|   } |   } | ||||||
|   // 批量回复操作 |   // 批量回复操作 | ||||||
|   batchReply() { |   batchReply() { | ||||||
|  | |||||||
| @ -4,38 +4,44 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-02-24 20:09:49 |  * @Date         : 2022-02-24 20:09:49 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-03-29 10:47:02 |  * @LastEditTime : 2022-04-22 14:29:23 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| <page-header-wrapper [title]="'新增'"> </page-header-wrapper> | <page-header-wrapper [title]="'新增'"> </page-header-wrapper> | ||||||
| <nz-card> | <nz-card> | ||||||
|   <div nz-row> |  | ||||||
|   |  | ||||||
|   <!-- 数据列表 --> |   <!-- 数据列表 --> | ||||||
|  <sv-container col="1"> |  <sv-container col="1"> | ||||||
|     <sv label="配置名称">  <input style="max-width: 400px;" nz-input placeholder="请输入" [(ngModel)]="configName" /></sv> |     <sv label="配置名称">  <input style="max-width: 400px;" nz-input placeholder="请输入" [(ngModel)]="configName" /></sv> | ||||||
|  |  | ||||||
|    <sv-title>固定结算费率配置</sv-title> |    <sv-title>固定结算费率配置</sv-title> | ||||||
|      <sv label="固定结算费率"> <nz-input-number [(ngModel)]="accountingRate" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number> %</sv> |  | ||||||
|  |    <sv label="固定结算费率"> <nz-input-number [(ngModel)]="accountingRate" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number> %</sv> | ||||||
|  |  | ||||||
|    <sv-title>业务量和管理费比例配置</sv-title> |    <sv-title>业务量和管理费比例配置</sv-title> | ||||||
|      <sv label="选择配置类型"> |  | ||||||
|  |    <sv label="选择配置类型"> | ||||||
|     <nz-radio-group [(ngModel)]="configType"> |     <nz-radio-group [(ngModel)]="configType"> | ||||||
|       <label nz-radio nzValue="1">按全部等级配置</label> |       <label nz-radio nzValue="1">按全部等级配置</label> | ||||||
|       <label nz-radio nzValue="2">按不同等级配置</label> |       <label nz-radio nzValue="2">按不同等级配置</label> | ||||||
|     </nz-radio-group> |     </nz-radio-group> | ||||||
|     </sv> |     </sv> | ||||||
|  |  | ||||||
|     <sv col="1" > |     <sv col="1" > | ||||||
|          |       <div style='width: 850px'> | ||||||
|         <app-rebate-table  #table [(data)]='tabelData'></app-rebate-table> |         <app-rebate-table  #table [(data)]='tabelData'></app-rebate-table> | ||||||
|  |       </div> | ||||||
|     </sv> |     </sv> | ||||||
|  |  | ||||||
|    <sv-title>关联合伙人配置</sv-title> |    <sv-title>关联合伙人配置</sv-title> | ||||||
|      <sv label="合伙人选择"> |  | ||||||
|     <nz-select [(ngModel)]="partnerType" style="max-width: 400px; min-width: 200px;"> |    <sv label="合伙人选择"> | ||||||
|  |     <nz-select [(ngModel)]="partnerType" (ngModelChange)="changePartner(partnerType)" style="max-width: 400px; min-width: 200px;"> | ||||||
|       <nz-option nzValue="1" nzLabel="全部合伙人"></nz-option> |       <nz-option nzValue="1" nzLabel="全部合伙人"></nz-option> | ||||||
|       <nz-option nzValue="2" nzLabel="新注册合伙人"></nz-option> |       <nz-option nzValue="2" nzLabel="新注册合伙人"></nz-option> | ||||||
|       <nz-option nzValue="3" nzLabel="自定义合伙人"></nz-option> |       <nz-option nzValue="3" nzLabel="自定义合伙人"></nz-option> | ||||||
|     </nz-select> |     </nz-select> | ||||||
|       <span style="color: #0000FF;" (click)="add()">添加</span> |     <span *ngIf="addStatus" style="padding-left: 15px; color: #0000FF;" (click)="add()">添加</span> | ||||||
|     <st  *ngIf="partnerPeopleList?.length > 0" #st [data]="partnerPeopleList" [columns]="columns" |     <st  *ngIf="partnerPeopleList?.length > 0" #st [data]="partnerPeopleList" [columns]="columns" | ||||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }" |     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }" | ||||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' } }" |     [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||||
| @ -43,7 +49,8 @@ | |||||||
|     [scroll]="{ x: '1000' }"> |     [scroll]="{ x: '1000' }"> | ||||||
|   </st> |   </st> | ||||||
|   </sv> |   </sv> | ||||||
|      <sv label="优先级" col="1"> |  | ||||||
|  |    <sv label="优先级" col="1"> | ||||||
|     <nz-select [(ngModel)]="priority" style="max-width: 400px; min-width: 200px;"> |     <nz-select [(ngModel)]="priority" style="max-width: 400px; min-width: 200px;"> | ||||||
|       <nz-option nzValue=1 nzLabel="1">1</nz-option> |       <nz-option nzValue=1 nzLabel="1">1</nz-option> | ||||||
|       <nz-option nzValue=2 nzLabel="2">2</nz-option> |       <nz-option nzValue=2 nzLabel="2">2</nz-option> | ||||||
| @ -52,19 +59,22 @@ | |||||||
|       <nz-option nzValue=5 nzLabel="5">5</nz-option> |       <nz-option nzValue=5 nzLabel="5">5</nz-option> | ||||||
|     </nz-select> |     </nz-select> | ||||||
|   </sv> |   </sv> | ||||||
|      <sv label="规则说明" col="1"> |  | ||||||
|     <sf #sf mode="edit" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 16 }} }" |    <sv label="规则说明" col="1"> | ||||||
|  |     <sf #sf mode="edit" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 12 }} }" | ||||||
|     button="none"> </sf> |     button="none"> </sf> | ||||||
|   </sv> |   </sv> | ||||||
|      <sv label="备注" col="1"> |  | ||||||
|  |    <sv label="备注" col="1" style="margin-top: 16px;"> | ||||||
|     <textarea style="max-width: 400px; min-width: 200px;" rows="4" nz-input [(ngModel)]="remarke"></textarea> |     <textarea style="max-width: 400px; min-width: 200px;" rows="4" nz-input [(ngModel)]="remarke"></textarea> | ||||||
|   </sv> |   </sv> | ||||||
|  |  | ||||||
|  </sv-container> |  </sv-container> | ||||||
|  |  | ||||||
|  <div class="align-center" style="margin-top: 15px;"> |  <div class="align-center" style="margin-top: 15px;"> | ||||||
|   <button nz-button nzType="primary" (click)="goBack()">取消</button> |   <button nz-button nzType="primary" (click)="goBack()">取消</button> | ||||||
|   <button  nz-button nzType="primary" style="margin-left: 48px" (click)="save()" |   <button  nz-button nzType="primary" style="margin-left: 48px" (click)="save()" | ||||||
|   acl  [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交</button |   acl  [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交</button | ||||||
|   > |   > | ||||||
| </div> | </div> | ||||||
|  </div> |  | ||||||
| </nz-card> | </nz-card> | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-03-21 09:26:45 |  * @Date         : 2022-03-21 09:26:45 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-03-29 10:53:39 |  * @LastEditTime : 2022-04-22 15:01:43 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
| @ -26,12 +26,13 @@ import { inRange } from '@delon/util'; | |||||||
| export class ParterRebateManageMentAddComponent implements OnInit { | export class ParterRebateManageMentAddComponent implements OnInit { | ||||||
|   @ViewChild('table') table!: any; |   @ViewChild('table') table!: any; | ||||||
|   tabelData: any; |   tabelData: any; | ||||||
|  |   addStatus: boolean = false; | ||||||
|   configName: string = ''; |   configName: string = ''; | ||||||
|   partnerType: string = ''; |   partnerType: string = ''; | ||||||
|   remarke: string = ''; |   remarke: string = ''; | ||||||
|   accountingRate: Number = 0; |   accountingRate: Number = 0; | ||||||
|   priority: string = ''; |   priority: string = ''; | ||||||
|   partnerPeopleList: any; |   partnerPeopleList: any = []; | ||||||
|   configType = '1'; |   configType = '1'; | ||||||
|   precision = 2; |   precision = 2; | ||||||
|   partnerId :Array<string> =[]; |   partnerId :Array<string> =[]; | ||||||
| @ -78,7 +79,7 @@ export class ParterRebateManageMentAddComponent implements OnInit { | |||||||
|             widget: 'tinymce', |             widget: 'tinymce', | ||||||
|             loadingTip: 'loading...', |             loadingTip: 'loading...', | ||||||
|             config: { |             config: { | ||||||
|               height: 650 |               height: 500, | ||||||
|             } |             } | ||||||
|           }, |           }, | ||||||
|           // default: data?.agreementContent || '' |           // default: data?.agreementContent || '' | ||||||
| @ -87,6 +88,7 @@ export class ParterRebateManageMentAddComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
|   ngOnInit() { |   ngOnInit() { | ||||||
|  |     this.addStatus =false | ||||||
|     this.initSF(); |     this.initSF(); | ||||||
|   } |   } | ||||||
|   goBack() { |   goBack() { | ||||||
| @ -108,22 +110,25 @@ export class ParterRebateManageMentAddComponent implements OnInit { | |||||||
|     modalRef.afterClose.subscribe((res: any) => { |     modalRef.afterClose.subscribe((res: any) => { | ||||||
|       this.partnerId = []; |       this.partnerId = []; | ||||||
|       if (res) { |       if (res) { | ||||||
|         console.log(Array.isArray(res)); |  | ||||||
|         console.log(res); |  | ||||||
|         if(Array.isArray(res)) { |         if(Array.isArray(res)) { | ||||||
|           this.partnerPeopleList = res; |           console.log(res); | ||||||
|  |           console.log(this.partnerPeopleList); | ||||||
|  |           this.partnerPeopleList =  this.partnerPeopleList.concat(res); | ||||||
|           res.forEach((ele: any) => { |           res.forEach((ele: any) => { | ||||||
|             this.partnerId.push(ele?.id); |             this.partnerId.push(ele?.id); | ||||||
|           }) |           }) | ||||||
|         } else { |         } else { | ||||||
|           this.partnerPeopleList = [res]; |           console.log(res); | ||||||
|  |           this.partnerPeopleList =  this.partnerPeopleList.concat(res); | ||||||
|           this.partnerId.push(res?.id); |           this.partnerId.push(res?.id); | ||||||
|       } |       } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   delete(item: any) { |   delete(item: any) { | ||||||
|   console.log(item); |   this.partnerPeopleList = this.partnerPeopleList.filter((d:any, i: any) => { | ||||||
|  |    return item.id != d.id | ||||||
|  |   }); | ||||||
|   } |   } | ||||||
|   save () { |   save () { | ||||||
|     const params = { |     const params = { | ||||||
| @ -146,4 +151,10 @@ export class ParterRebateManageMentAddComponent implements OnInit { | |||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |   changePartner(value: any) { | ||||||
|  |     console.log(value); | ||||||
|  |     if(value) { | ||||||
|  |       this.addStatus = true | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| /* | /* | ||||||
|  * @Author: your name |  * @Author: your name | ||||||
|  * @Date: 2021-12-20 17:18:43 |  * @Date: 2021-12-20 17:18:43 | ||||||
|  * @LastEditTime : 2022-04-20 16:48:26 |  * @LastEditTime : 2022-04-22 14:50:25 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\sys-setting\\services\\system.service.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\sys-setting\\services\\system.service.ts | ||||||
| @ -64,7 +64,7 @@ export class SystemService extends BaseService { | |||||||
|   $api_deletebatch_crmCustomer = '/api/mdc/cuc/crmCustomer/deletebatch'; |   $api_deletebatch_crmCustomer = '/api/mdc/cuc/crmCustomer/deletebatch'; | ||||||
|  |  | ||||||
|   // 获取某个应用的所有菜单 |   // 获取某个应用的所有菜单 | ||||||
|   $api_getAllFunctionInfoByAppId: string = '/api/mdc/cuc/functionInfo/getAllFunctionInfoByAppIdNoHide'; |   $api_getAllFunctionInfoByAppId: string = '/api/mdc/cuc/functionInfo/getAllFunctionInfoByAppId'; | ||||||
|  |  | ||||||
|   // 查询网络货运信息表 |   // 查询网络货运信息表 | ||||||
|   $api_networkTransporter_page = '/api/mdc/cuc/networkTransporter/list/page'; |   $api_networkTransporter_page = '/api/mdc/cuc/networkTransporter/list/page'; | ||||||
|  | |||||||
| @ -8,42 +8,30 @@ | |||||||
|   <ng-template #content> |   <ng-template #content> | ||||||
|     <div class="user-info" nz-row> |     <div class="user-info" nz-row> | ||||||
|       <div nz-col nzSpan="24" class="d-flex"> |       <div nz-col nzSpan="24" class="d-flex"> | ||||||
|         <img [src]="detailData?.enterpriseLogo" style="width: 120px;" /> |         <img [src]="detailData?.enterpriseLogo" style="width: 120px" /> | ||||||
|         <div style="flex: 1;"> |         <div style="flex: 1"> | ||||||
|           <div nz-row> |           <div nz-row> | ||||||
|             <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> |             <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> | ||||||
|               <p style="margin-bottom: 0;">{{ detailData?.enterpriseName }}</p> |               <p style="margin-bottom: 0">{{ detailData?.enterpriseName }}</p> | ||||||
|             </div> |             </div> | ||||||
|             <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24" class="text-right mb-sm"> |             <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24" class="text-right mb-sm"> | ||||||
|               <label style="font-size: 18px;font-weight: 600;">{{statusE[detailData?.approvalStatus] }}</label> |               <label style="font-size: 18px; font-weight: 600">{{ statusE[detailData?.approvalStatus] }}</label> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|           <div nz-row> |           <div nz-row> | ||||||
|             <div nz-col [nzLg]="8" [nzSm]="24" [nzXs]="24"> |             <div nz-col [nzLg]="8" [nzSm]="24" [nzXs]="24"> | ||||||
|               <p>{{ detailData?.unifiedSocialCreditCode }}</p> |               <p>{{ detailData?.unifiedSocialCreditCode }}</p> | ||||||
|             </div> |             </div> | ||||||
|             <div nz-col [nzLg]="8" [nzSm]="24" [nzXs]="24"> |             <div nz-col [nzLg]="8" [nzSm]="24" [nzXs]="24"> 申请时间:{{ detailData?.createTime }} </div> | ||||||
|               申请时间:{{detailData?.createTime}} |             <div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="24" [nzXs]="24" class="d-flex" style="justify-content: flex-end"> | ||||||
|             </div> |  | ||||||
|             <div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="24" [nzXs]="24" class="d-flex" style="justify-content: flex-end;"> |  | ||||||
|               <ng-container *ngIf="isEdit; else editButton"> |               <ng-container *ngIf="isEdit; else editButton"> | ||||||
|                 <button [nzLoading]="service.http.loading" nz-button (click)="reset()"> |                 <button [nzLoading]="service.http.loading" nz-button (click)="reset()"> 取消 </button> | ||||||
|                   取消 |                 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="save()"> 保存 </button> | ||||||
|                 </button> |  | ||||||
|                 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="save()"> |  | ||||||
|                   保存 |  | ||||||
|                 </button> |  | ||||||
|               </ng-container> |               </ng-container> | ||||||
|               <ng-template #editButton> |               <ng-template #editButton> | ||||||
|                 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="auditPass()"> |                 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="auditPass()"> 通过 </button> | ||||||
|                   通过 |                 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="auditNo()"> 驳回 </button> | ||||||
|                 </button> |                 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="ratify()"> 修改 </button> | ||||||
|                 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="auditNo()"> |  | ||||||
|                   驳回 |  | ||||||
|                 </button> |  | ||||||
|                 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="ratify()"> |  | ||||||
|                   修改 |  | ||||||
|                 </button> |  | ||||||
|               </ng-template> |               </ng-template> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
| @ -57,30 +45,72 @@ | |||||||
|   <sv-container col="3"> |   <sv-container col="3"> | ||||||
|     <sv-title>企业管理员信息</sv-title> |     <sv-title>企业管理员信息</sv-title> | ||||||
|     <sv label="姓名"> |     <sv label="姓名"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.name" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.adminUserInfo.name" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="手机号"> |     <sv label="手机号"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.mobile" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.adminUserInfo.mobile" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="身份证号"> |     <sv label="身份证号"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.adminUserInfo.certificateNumber" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="身份证照" col="2"> |     <sv label="身份证照" col="2"> | ||||||
|       <div class="d-flex"> |       <div class="d-flex"> | ||||||
|         <ng-container |         <ng-container | ||||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.adminUserInfo?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover:'adminFront'}"> |           *ngTemplateOutlet=" | ||||||
|  |             uploadTemplate; | ||||||
|  |             context: { | ||||||
|  |               image: detailData?.adminUserInfo?.certificatePhotoFrontWatermark, | ||||||
|  |               key: 'certificatePhotoFrontWatermark', | ||||||
|  |               hover: 'adminFront' | ||||||
|  |             } | ||||||
|  |           " | ||||||
|  |         > | ||||||
|         </ng-container> |         </ng-container> | ||||||
|         <ng-container |         <ng-container | ||||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.adminUserInfo?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover:'adminBack'}"> |           *ngTemplateOutlet=" | ||||||
|  |             uploadTemplate; | ||||||
|  |             context: { | ||||||
|  |               image: detailData?.adminUserInfo?.certificatePhotoBackWatermark, | ||||||
|  |               key: 'certificatePhotoBackWatermark', | ||||||
|  |               hover: 'adminBack' | ||||||
|  |             } | ||||||
|  |           " | ||||||
|  |         > | ||||||
|         </ng-container> |         </ng-container> | ||||||
|       </div> |       </div> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="企业授权函" col="2"> |     <sv label="企业授权函" col="2"> | ||||||
|       <ng-container |       <ng-container | ||||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.adminUserInfo?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover:'adminPhoto'}"> |         *ngTemplateOutlet=" | ||||||
|  |           uploadTemplate; | ||||||
|  |           context: { | ||||||
|  |             image: detailData?.adminUserInfo?.certificatePhotoBackWatermark, | ||||||
|  |             key: 'certificatePhotoBackWatermark', | ||||||
|  |             hover: 'adminPhoto' | ||||||
|  |           } | ||||||
|  |         " | ||||||
|  |       > | ||||||
|       </ng-container> |       </ng-container> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
| @ -89,32 +119,57 @@ | |||||||
|   <sv-container col="3"> |   <sv-container col="3"> | ||||||
|     <sv-title> |     <sv-title> | ||||||
|       <label class="mr-md">企业基本信息</label> |       <label class="mr-md">企业基本信息</label> | ||||||
|       <label *ngIf="detailData?.approvalStatus===10" style="color: #1890ff;"><i nz-icon nzType="info-circle" |       <label *ngIf="detailData?.approvalStatus === 10" style="color: #1890ff" | ||||||
|           nzTheme="fill" class="mr-xs"></i>待审核 |         ><i nz-icon nzType="info-circle" nzTheme="fill" class="mr-xs"></i>待审核 | ||||||
|       </label> |       </label> | ||||||
|       <label *ngIf="detailData?.approvalStatus===20" style="color: #52c41a;"><i nz-icon nzType="check-circle" |       <label *ngIf="detailData?.approvalStatus === 20" style="color: #52c41a" | ||||||
|           nzTheme="fill" class="mr-xs"></i>审核通过 |         ><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|       </label> |       </label> | ||||||
|       <label *ngIf="detailData?.approvalStatus===30" style="color: #ff4d4f;"><i nz-icon nzType="close-circle" |       <label *ngIf="detailData?.approvalStatus === 30" style="color: #ff4d4f" | ||||||
|           nzTheme="fill" class="mr-xs"></i>驳回 |         ><i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 | ||||||
|       </label> |       </label> | ||||||
|     </sv-title> |     </sv-title> | ||||||
|     <sv label="公司名称"> |     <sv label="公司名称"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.enterpriseName" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.enterpriseName" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="统一社会信用代码"> |     <sv label="统一社会信用代码"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.unifiedSocialCreditCode" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.unifiedSocialCreditCode" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="公司类型"> |     <sv label="公司类型"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.enterpriseType" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.enterpriseType" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="注册资本"> |     <sv label="注册资本"> | ||||||
|       <ng-container *ngIf="isEdit; else registrationCapitalTemplate"> |       <ng-container *ngIf="isEdit; else registrationCapitalTemplate"> | ||||||
|         <input nz-input type="number" [(ngModel)]="detailData.registrationCapital" [readonly]="!isEdit" |         <input | ||||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'" class="mr-sm"> |           nz-input | ||||||
|  |           type="number" | ||||||
|  |           [(ngModel)]="detailData.registrationCapital" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |           class="mr-sm" | ||||||
|  |         /> | ||||||
|       </ng-container> |       </ng-container> | ||||||
|       <ng-template #registrationCapitalTemplate> |       <ng-template #registrationCapitalTemplate> | ||||||
|         {{ detailData?.registrationCapital }} |         {{ detailData?.registrationCapital }} | ||||||
| @ -122,50 +177,76 @@ | |||||||
|       <span *ngIf="detailData?.registrationCapital">万元</span> |       <span *ngIf="detailData?.registrationCapital">万元</span> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="成立日期"> |     <sv label="成立日期"> | ||||||
|       <nz-date-picker [(ngModel)]="detailData.enterpriseRegistrationTime" [nzDisabled]="!isEdit" |       <nz-date-picker | ||||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> |         [(ngModel)]="detailData.enterpriseRegistrationTime" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |       ></nz-date-picker> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="营业期限"> |     <sv label="营业期限"> | ||||||
|       <ng-container *ngIf="isEdit; else operatingelseTemplate"> |       <ng-container *ngIf="isEdit; else operatingelseTemplate"> | ||||||
|         <nz-range-picker [ngModel]="[detailData?.operatingStartTime,detailData?.operatingEndTime]" |         <nz-range-picker | ||||||
|           (ngModelChange)="changeTime($event)"></nz-range-picker> |           [ngModel]="[detailData?.operatingStartTime, detailData?.operatingEndTime]" | ||||||
|  |           (ngModelChange)="changeTime($event)" | ||||||
|  |         ></nz-range-picker> | ||||||
|       </ng-container> |       </ng-container> | ||||||
|       <ng-template #operatingelseTemplate> |       <ng-template #operatingelseTemplate> | ||||||
|         <div *ngIf="!!detailData?.operatingStartTime && !!detailData?.operatingEndTime"> |         <div *ngIf="!!detailData?.operatingStartTime && !!detailData?.operatingEndTime"> | ||||||
|           {{ detailData?.operatingStartTime }} 至 {{ detailData?.operatingEndTime }} |           {{ detailData?.operatingStartTime }} 至 {{ detailData?.operatingEndTime }} | ||||||
|         </div> |         </div> | ||||||
|         <div *ngIf="!detailData?.operatingStartTime && !detailData?.operatingEndTime">长期</div> |         <div *ngIf="!detailData?.operatingStartTime && !detailData?.operatingEndTime">长期</div> | ||||||
|         <div *ngIf="!!detailData?.operatingStartTime && !detailData?.operatingEndTime">{{ detailData?.operatingStartTime |         <div *ngIf="!!detailData?.operatingStartTime && !detailData?.operatingEndTime">{{ detailData?.operatingStartTime }} 至 长期</div> | ||||||
|           }} 至 长期</div> |  | ||||||
|       </ng-template> |       </ng-template> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="公司所在地" col="3"> |     <sv label="公司所在地" col="3"> | ||||||
|       <ng-container *ngIf="isEdit; else cascaderelseTemplate"> |       <ng-container *ngIf="isEdit; else cascaderelseTemplate"> | ||||||
|         <nz-cascader [(ngModel)]="values" [nzLoadData]="loadData" (ngModelChange)="changeCascader($event)"> |         <nz-cascader [(ngModel)]="values" [nzLoadData]="loadData" (ngModelChange)="changeCascader($event)"> </nz-cascader> | ||||||
|         </nz-cascader> |  | ||||||
|       </ng-container> |       </ng-container> | ||||||
|       <ng-template #cascaderelseTemplate> |       <ng-template #cascaderelseTemplate> | ||||||
|         {{ detailData?.fullRegionVO?.provinceName }}{{ detailData?.fullRegionVO?.cityName }}{{ |         {{ detailData?.fullRegionVO?.provinceName }}{{ detailData?.fullRegionVO?.cityName }}{{ detailData?.fullRegionVO?.areaName }} | ||||||
|         detailData?.fullRegionVO?.areaName }} |  | ||||||
|       </ng-template> |       </ng-template> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="公司详细地址" col="2"> |     <sv label="公司详细地址" col="2"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.enterpriseAddress" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.enterpriseAddress" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <sv-container col="1" class="mt16"> |   <sv-container col="1" class="mt16"> | ||||||
|     <sv label="经营范围"> |     <sv label="经营范围"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.businessScope" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.businessScope" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="税务机关" col="2"> |     <sv label="税务机关" col="2"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.taxAuthority" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.taxAuthority" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="营业执照" col="2"> |     <sv label="营业执照" col="2"> | ||||||
|       <ng-container |       <ng-container | ||||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.licensePhotoWatermark,key:'licensePhotoWatermark',hover:'detailPhoto'}"> |         *ngTemplateOutlet=" | ||||||
|  |           uploadTemplate; | ||||||
|  |           context: { image: detailData?.licensePhotoWatermark, key: 'licensePhotoWatermark', hover: 'detailPhoto' } | ||||||
|  |         " | ||||||
|  |       > | ||||||
|       </ng-container> |       </ng-container> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
| @ -173,12 +254,24 @@ | |||||||
|   <sv-container col="3" class="mt16"> |   <sv-container col="3" class="mt16"> | ||||||
|     <sv-title>企业法人信息</sv-title> |     <sv-title>企业法人信息</sv-title> | ||||||
|     <sv label="法定代表人"> |     <sv label="法定代表人"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.name" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.legalPersonIdentityVO.name" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="身份证号码"> |     <sv label="身份证号码"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.certificateNumber" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.legalPersonIdentityVO.certificateNumber" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="身份证有效期"> |     <sv label="身份证有效期"> | ||||||
|       {{ detailData?.legalPersonIdentityVO?.validStartTime }} - |       {{ detailData?.legalPersonIdentityVO?.validStartTime }} - | ||||||
| @ -187,10 +280,26 @@ | |||||||
|     <sv label="身份证照" col="1"> |     <sv label="身份证照" col="1"> | ||||||
|       <div class="d-flex"> |       <div class="d-flex"> | ||||||
|         <ng-container |         <ng-container | ||||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.legalPersonIdentityVO?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover:'legalFront'}"> |           *ngTemplateOutlet=" | ||||||
|  |             uploadTemplate; | ||||||
|  |             context: { | ||||||
|  |               image: detailData?.legalPersonIdentityVO?.certificatePhotoFrontWatermark, | ||||||
|  |               key: 'certificatePhotoFrontWatermark', | ||||||
|  |               hover: 'legalFront' | ||||||
|  |             } | ||||||
|  |           " | ||||||
|  |         > | ||||||
|         </ng-container> |         </ng-container> | ||||||
|         <ng-container |         <ng-container | ||||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.legalPersonIdentityVO?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover:'legalBack'}"> |           *ngTemplateOutlet=" | ||||||
|  |             uploadTemplate; | ||||||
|  |             context: { | ||||||
|  |               image: detailData?.legalPersonIdentityVO?.certificatePhotoBackWatermark, | ||||||
|  |               key: 'certificatePhotoBackWatermark', | ||||||
|  |               hover: 'legalBack' | ||||||
|  |             } | ||||||
|  |           " | ||||||
|  |         > | ||||||
|         </ng-container> |         </ng-container> | ||||||
|       </div> |       </div> | ||||||
|     </sv> |     </sv> | ||||||
| @ -199,20 +308,44 @@ | |||||||
|   <sv-container col="3" class="mt16"> |   <sv-container col="3" class="mt16"> | ||||||
|     <sv-title>企业开票信息</sv-title> |     <sv-title>企业开票信息</sv-title> | ||||||
|     <sv label="开户银行"> |     <sv label="开户银行"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.createBank" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.createBank" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="银行账户"> |     <sv label="银行账户"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.bankAccount" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.bankAccount" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="注册电话"> |     <sv label="注册电话"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.registerPhone" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.registerPhone" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="注册地址"> |     <sv label="注册地址"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.registerAddress" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.registerAddress" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
| </nz-card> | </nz-card> | ||||||
| @ -239,28 +372,39 @@ | |||||||
|         {{ detailData?.enterpriseName }} |         {{ detailData?.enterpriseName }} | ||||||
|       </se> |       </se> | ||||||
|       <se [col]="1" label="备注" required> |       <se [col]="1" label="备注" required> | ||||||
|         <textarea nz-input rows="3" style="width: 325px;margin-left: 14px;" [(ngModel)]="approvalOpinion"></textarea> |         <textarea nz-input rows="3" style="width: 325px; margin-left: 14px" [(ngModel)]="approvalOpinion"></textarea> | ||||||
|       </se> |       </se> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </ng-template> | </ng-template> | ||||||
|  |  | ||||||
|  |  | ||||||
| <ng-template #uploadTemplate let-image="image" let-key="key" let-hover="hover"> | <ng-template #uploadTemplate let-image="image" let-key="key" let-hover="hover"> | ||||||
|   <nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card" |   <nz-upload | ||||||
|     [nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif" |     class="avatar-uploader" | ||||||
|     [nzDisabled]="!isEdit || disabledUpload" (nzChange)="changeUpload($event,key)"> |     [nzAction]="uploadURl" | ||||||
|  |     nzName="multipartFile" | ||||||
|  |     nzListType="picture-card" | ||||||
|  |     [nzShowUploadList]="false" | ||||||
|  |     nzFileType="image/png,image/jpeg,image/jpg,image/gif" | ||||||
|  |     [nzDisabled]="!isEdit || disabledUpload" | ||||||
|  |     (nzChange)="changeUpload($event, key)" | ||||||
|  |   > | ||||||
|     <ng-container *ngIf="!image && isEdit"> |     <ng-container *ngIf="!image && isEdit"> | ||||||
|       <i class="upload-icon" nz-icon [nzType]="false ? 'loading' : 'plus'"></i> |       <i class="upload-icon" nz-icon [nzType]="false ? 'loading' : 'plus'"></i> | ||||||
|       <div class="ant-upload-text">上传</div> |       <div class="ant-upload-text">上传</div> | ||||||
|     </ng-container> |     </ng-container> | ||||||
|     <div *ngIf="image" (mouseover)="detailData[hover]=true" (mouseleave)="detailData[hover]=false" |     <div | ||||||
|       (click)="$event.cancelBubble=true" class="image-hover"> |       *ngIf="image" | ||||||
|       <img [src]="image" style="width: 200px;height: 160px;" /> |       (mouseover)="detailData[hover] = true" | ||||||
|  |       (mouseleave)="detailData[hover] = false" | ||||||
|  |       (click)="$event.cancelBubble = true" | ||||||
|  |       class="image-hover" | ||||||
|  |     > | ||||||
|  |       <img [src]="image" style="width: 200px; height: 160px" /> | ||||||
|       <div class="mask" *ngIf="detailData[hover] && isEdit"></div> |       <div class="mask" *ngIf="detailData[hover] && isEdit"></div> | ||||||
|       <div class="mask-over" *ngIf="detailData[hover] && isEdit"> |       <div class="mask-over" *ngIf="detailData[hover] && isEdit"> | ||||||
|         <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i> |         <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i> | ||||||
|         <div style="display: flex;align-items: center;"> |         <div style="display: flex; align-items: center"> | ||||||
|           <i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i> |           <i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| <!-- 页头 --> | <!-- 页头 --> | ||||||
| <page-header-wrapper [logo]="logo" title="车辆详情" [content]="content" [ngClass]="{'affix': scrollTop>210}"> | <page-header-wrapper [logo]="logo" title="车辆详情" [content]="content" [ngClass]="{ affix: scrollTop > 210 }"> | ||||||
|   <ng-template #logo> |   <ng-template #logo> | ||||||
|     <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> |     <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> | ||||||
|       <i nz-icon nzType="left" nzTheme="outline"></i> |       <i nz-icon nzType="left" nzTheme="outline"></i> | ||||||
| @ -8,22 +8,27 @@ | |||||||
|   <ng-template #content> |   <ng-template #content> | ||||||
|     <sv-container col="3"> |     <sv-container col="3"> | ||||||
|       <h2>车牌号:{{ detailData?.carNo }}</h2> |       <h2>车牌号:{{ detailData?.carNo }}</h2> | ||||||
|       <sv-title style="font-weight: 700;"> |       <sv-title style="font-weight: 700"> | ||||||
|         <span *ngIf="detailData?.approvalStatus === 1 || detailData?.approvalStatus === '1'">未上传</span> |         <span *ngIf="detailData?.approvalStatus === 1 || detailData?.approvalStatus === '1'">未上传</span> | ||||||
|         <span *ngIf="detailData?.approvalStatus === 0 || detailData?.approvalStatus === '0'">草稿</span> |         <span *ngIf="detailData?.approvalStatus === 0 || detailData?.approvalStatus === '0'">草稿</span> | ||||||
|         <span *ngIf="detailData?.approvalStatus === 10 || detailData?.approvalStatus === '10'">待审核</span> |         <span *ngIf="detailData?.approvalStatus === 10 || detailData?.approvalStatus === '10'">待审核</span> | ||||||
|         <span *ngIf="detailData?.approvalStatus === 20 || detailData?.approvalStatus === '20'">已审核</span> |         <span *ngIf="detailData?.approvalStatus === 20 || detailData?.approvalStatus === '20'">已审核</span> | ||||||
|         <span *ngIf="detailData?.approvalStatus === 30 || detailData?.approvalStatus === '30'">已驳回</span> |         <span *ngIf="detailData?.approvalStatus === 30 || detailData?.approvalStatus === '30'">已驳回</span> | ||||||
|         <span *ngIf="detailData?.approvalStatus === 40 || detailData?.approvalStatus === '40'">证件过期</span> |         <span *ngIf="detailData?.approvalStatus === 40 || detailData?.approvalStatus === '40'">证件过期</span> | ||||||
|         <div style="float: right;" *ngIf="detailData?.approvalStatus !== 20 && detailData?.approvalStatus !== '20'"> |         <div style="float: right" *ngIf="detailData?.approvalStatus !== 20 && detailData?.approvalStatus !== '20'"> | ||||||
|           <ng-container *ngIf="!isEdit"> |           <ng-container *ngIf="!isEdit"> | ||||||
|             <button nz-button nzType="default" nzDanger (click)="approveDriver()" acl |             <button nz-button nzType="default" nzDanger (click)="approveDriver()" acl acl-ability="VEHICLE-AUDIT-DETAIL-pass">通过</button> | ||||||
|               acl-ability="VEHICLE-AUDIT-DETAIL-pass">通过</button> |             <button | ||||||
|             <button nz-button nzType="default" nzDanger (click)="rejectedDriver()" acl |               nz-button | ||||||
|  |               nzType="default" | ||||||
|  |               nzDanger | ||||||
|  |               (click)="rejectedDriver()" | ||||||
|  |               acl | ||||||
|               acl-ability="VEHICLE-AUDIT-DETAIL-reject" |               acl-ability="VEHICLE-AUDIT-DETAIL-reject" | ||||||
|               *ngIf="detailData?.approvalStatus === 10 || detailData?.approvalStatus === '10'">驳回</button> |               *ngIf="detailData?.approvalStatus === 10 || detailData?.approvalStatus === '10'" | ||||||
|             <button nz-button nzType="default" nzDanger (click)="ratify()" acl |               >驳回</button | ||||||
|               acl-ability="VEHICLE-AUDIT-DETAIL-save">修改</button> |             > | ||||||
|  |             <button nz-button nzType="default" nzDanger (click)="ratify()" acl acl-ability="VEHICLE-AUDIT-DETAIL-save">修改</button> | ||||||
|           </ng-container> |           </ng-container> | ||||||
|           <ng-container *ngIf="isEdit"> |           <ng-container *ngIf="isEdit"> | ||||||
|             <button nz-button nzType="default" (click)="reset()">取消</button> |             <button nz-button nzType="default" (click)="reset()">取消</button> | ||||||
| @ -42,13 +47,16 @@ | |||||||
| </page-header-wrapper> | </page-header-wrapper> | ||||||
|  |  | ||||||
| <nz-card [class]="isEdit ? 'edit-box' : 'readOnly-box'"> | <nz-card [class]="isEdit ? 'edit-box' : 'readOnly-box'"> | ||||||
|  |  | ||||||
|   <sv-container col="3"> |   <sv-container col="3"> | ||||||
|     <sv-title style="font-weight: 700;">车辆基础信息 |     <sv-title style="font-weight: 700">车辆基础信息 </sv-title> | ||||||
|     </sv-title> |  | ||||||
|     <sv label="车牌颜色"> |     <sv label="车牌颜色"> | ||||||
|       <nz-select [(ngModel)]="detailData.carNoColor" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |       <nz-select | ||||||
|         [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |         [(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-option *ngFor="let i of contenCarNoColor" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||||
|       </nz-select> |       </nz-select> | ||||||
|     </sv> |     </sv> | ||||||
| @ -57,25 +65,46 @@ | |||||||
|         [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |         [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> | ||||||
|         <nz-option *ngFor="let i of contencarModel" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> |         <nz-option *ngFor="let i of contencarModel" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||||
|       </nz-select> --> |       </nz-select> --> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.carModel" [readonly]="!isEdit" |       <input | ||||||
|       [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.carModel" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="车长"> |     <sv label="车长"> | ||||||
|       <nz-select [(ngModel)]="detailData.carLength" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |       <nz-select | ||||||
|         [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |         [(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-option *ngFor="let i of contenCarLength" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||||
|       </nz-select> |       </nz-select> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="是否为挂车"> |     <sv label="是否为挂车"> | ||||||
|       <nz-select [(ngModel)]="detailData.isTrailer" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |       <nz-select | ||||||
|         [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |         [(ngModel)]="detailData.isTrailer" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzShowArrow]="isEdit" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |       > | ||||||
|         <nz-option [nzValue]="false" nzLabel="否"></nz-option> |         <nz-option [nzValue]="false" nzLabel="否"></nz-option> | ||||||
|         <nz-option [nzValue]="true" nzLabel="是"></nz-option> |         <nz-option [nzValue]="true" nzLabel="是"></nz-option> | ||||||
|       </nz-select> |       </nz-select> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="是否挂靠"> |     <sv label="是否挂靠"> | ||||||
|       <nz-select [(ngModel)]="detailData.isSelf" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |       <nz-select | ||||||
|         [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |         [(ngModel)]="detailData.isSelf" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzShowArrow]="isEdit" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |       > | ||||||
|         <nz-option [nzValue]="false" nzLabel="否"></nz-option> |         <nz-option [nzValue]="false" nzLabel="否"></nz-option> | ||||||
|         <nz-option [nzValue]="true" nzLabel="是"></nz-option> |         <nz-option [nzValue]="true" nzLabel="是"></nz-option> | ||||||
|       </nz-select> |       </nz-select> | ||||||
| @ -84,23 +113,38 @@ | |||||||
|   <sv-container col="1" class="mt-md"> |   <sv-container col="1" class="mt-md"> | ||||||
|     <sv label="车头照"> |     <sv label="车头照"> | ||||||
|       <ng-container |       <ng-container | ||||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.carFrontPhotoWatermark,key:'carFrontPhotoWatermark',hover: 'PhotoWatermark2'}"> |         *ngTemplateOutlet=" | ||||||
|  |           uploadTemplate; | ||||||
|  |           context: { image: detailData?.carFrontPhotoWatermark, key: 'carFrontPhotoWatermark', hover: 'PhotoWatermark2' } | ||||||
|  |         " | ||||||
|  |       > | ||||||
|       </ng-container> |       </ng-container> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <nz-divider></nz-divider> |   <nz-divider></nz-divider> | ||||||
|  |  | ||||||
|   <sv-container col="3"> |   <sv-container col="3"> | ||||||
|     <sv-title style="font-weight: 700;">行驶证信息</sv-title> |     <sv-title style="font-weight: 700">行驶证信息</sv-title> | ||||||
|     <sv label="档案编号"> |     <sv label="档案编号"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.archivesNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.archivesNo" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="行驶证注册日期"> |     <sv label="行驶证注册日期"> | ||||||
|       <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseRegisterTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseRegisterTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|       [placeholder]="isEdit?'':'-'"> --> |       [placeholder]="isEdit?'':'-'"> --> | ||||||
|       <nz-date-picker [(ngModel)]="detailData.driverLicenseRegisterTime" [nzDisabled]="!isEdit" |       <nz-date-picker | ||||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> |         [(ngModel)]="detailData.driverLicenseRegisterTime" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |       ></nz-date-picker> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|  |  | ||||||
| @ -108,12 +152,24 @@ | |||||||
|     <sv label="行驶证到期日"> |     <sv label="行驶证到期日"> | ||||||
|       <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|         [placeholder]="isEdit?'':'-'"> --> |         [placeholder]="isEdit?'':'-'"> --> | ||||||
|       <nz-date-picker [(ngModel)]="detailData.driverLicenseEndTime" [nzDisabled]="!isEdit" |       <nz-date-picker | ||||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> |         [(ngModel)]="detailData.driverLicenseEndTime" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |       ></nz-date-picker> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="行驶证签发机关"> |     <sv label="行驶证签发机关"> | ||||||
|       <input nz-input style="width: '300px'" type="text" [(ngModel)]="detailData.driverLicenseSigningOrg" |       <input | ||||||
|         [readonly]="!isEdit" [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         style="width: '300px'" | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.driverLicenseSigningOrg" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|  |  | ||||||
| @ -121,16 +177,32 @@ | |||||||
|     <sv label="行驶证发证日期"> |     <sv label="行驶证发证日期"> | ||||||
|       <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseGetTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseGetTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|       [placeholder]="isEdit?'':'-'"> --> |       [placeholder]="isEdit?'':'-'"> --> | ||||||
|       <nz-date-picker [(ngModel)]="detailData.driverLicenseGetTime" [nzDisabled]="!isEdit" |       <nz-date-picker | ||||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> |         [(ngModel)]="detailData.driverLicenseGetTime" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |       ></nz-date-picker> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="车辆识别代码"> |     <sv label="车辆识别代码"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.carDistinguishCode" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.carDistinguishCode" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="使用性质"> |     <sv label="使用性质"> | ||||||
|       <nz-select [(ngModel)]="detailData.useNature" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |       <nz-select | ||||||
|         [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |         [(ngModel)]="detailData.useNature" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzShowArrow]="isEdit" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |       > | ||||||
|         <nz-option [nzValue]="'1'" nzLabel="营运"></nz-option> |         <nz-option [nzValue]="'1'" nzLabel="营运"></nz-option> | ||||||
|         <nz-option [nzValue]="'0'" nzLabel="非营运"></nz-option> |         <nz-option [nzValue]="'0'" nzLabel="非营运"></nz-option> | ||||||
|       </nz-select> |       </nz-select> | ||||||
| @ -139,64 +211,127 @@ | |||||||
|  |  | ||||||
|   <sv-container col="3"> |   <sv-container col="3"> | ||||||
|     <sv label="载重(吨)"> |     <sv label="载重(吨)"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.carLoad" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.carLoad" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="整备质量"> |     <sv label="整备质量"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.curbWeight" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.curbWeight" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="所有人"> |     <sv label="所有人"> | ||||||
|       <input nz-input style="width: '300px'" type="text" [(ngModel)]="detailData.carOwner" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         style="width: '300px'" | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.carOwner" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <sv-container col="1"> |   <sv-container col="1"> | ||||||
|     <sv label="行驶证照片"> |     <sv label="行驶证照片"> | ||||||
|       <ng-container |       <ng-container | ||||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover: 'FrontWatermark'}"> |         *ngTemplateOutlet=" | ||||||
|  |           uploadTemplate; | ||||||
|  |           context: { image: detailData?.certificatePhotoFrontWatermark, key: 'certificatePhotoFrontWatermark', hover: 'FrontWatermark' } | ||||||
|  |         " | ||||||
|  |       > | ||||||
|       </ng-container> |       </ng-container> | ||||||
|       <ng-container |       <ng-container | ||||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover: 'BackWatermark'}"> |         *ngTemplateOutlet=" | ||||||
|  |           uploadTemplate; | ||||||
|  |           context: { image: detailData?.certificatePhotoBackWatermark, key: 'certificatePhotoBackWatermark', hover: 'BackWatermark' } | ||||||
|  |         " | ||||||
|  |       > | ||||||
|       </ng-container> |       </ng-container> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <nz-divider></nz-divider> |   <nz-divider></nz-divider> | ||||||
|   <sv-container col="3" class="mt16"> |   <sv-container col="3" class="mt16"> | ||||||
|     <sv-title style="font-weight: 700;">道路运输证信息</sv-title> |     <sv-title style="font-weight: 700">道路运输证信息</sv-title> | ||||||
|     <sv label="道路运输证号"> |     <sv label="道路运输证号"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.roadTransportNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <input | ||||||
|         [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.roadTransportNo" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="经营许可证号"> |     <sv label="经营许可证号"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.roadTransportLicenceNo" [readonly]="!isEdit" |       <input | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |         nz-input | ||||||
|  |         type="text" | ||||||
|  |         [(ngModel)]="detailData.roadTransportLicenceNo" | ||||||
|  |         [readonly]="!isEdit" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [placeholder]="isEdit ? '' : '-'" | ||||||
|  |       /> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="发证日期"> |     <sv label="发证日期"> | ||||||
|       <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportStartTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportStartTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|       [placeholder]="isEdit?'':'-'"> --> |       [placeholder]="isEdit?'':'-'"> --> | ||||||
|       <nz-date-picker [(ngModel)]="detailData.roadTransportStartTime" [nzDisabled]="!isEdit" |       <nz-date-picker | ||||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> |         [(ngModel)]="detailData.roadTransportStartTime" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |       ></nz-date-picker> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="有效期至"> |     <sv label="有效期至"> | ||||||
|       <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |       <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|       [placeholder]="isEdit?'':'-'"> --> |       [placeholder]="isEdit?'':'-'"> --> | ||||||
|       <nz-date-picker [(ngModel)]="detailData.roadTransportEndTime" [nzDisabled]="!isEdit" |       <nz-date-picker | ||||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> |         [(ngModel)]="detailData.roadTransportEndTime" | ||||||
|  |         [nzDisabled]="!isEdit" | ||||||
|  |         [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |         [nzBorderless]="!isEdit" | ||||||
|  |         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |       ></nz-date-picker> | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="道路运输证照片"> |     <sv label="道路运输证照片"> | ||||||
|       <ng-container |       <ng-container | ||||||
|         *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.roadTransportPhotoWatermark,key:'roadTransportPhotoWatermark', hover: 'Watermark'}"> |         *ngTemplateOutlet=" | ||||||
|  |           uploadTemplate; | ||||||
|  |           context: { image: detailData?.roadTransportPhotoWatermark, key: 'roadTransportPhotoWatermark', hover: 'Watermark' } | ||||||
|  |         " | ||||||
|  |       > | ||||||
|       </ng-container> |       </ng-container> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <nz-divider></nz-divider> |   <nz-divider></nz-divider> | ||||||
|   <sv-container col="2" class="mt16"> |   <sv-container col="2" class="mt16"> | ||||||
|     <sv-title style="font-weight: 700;">认证司机</sv-title> |     <sv-title style="font-weight: 700">认证司机</sv-title> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <st #st [bordered]="true" [columns]="columns" [data]="service.$api_get_queryDriverByCarId" |   <st | ||||||
|     [req]="{  method: 'POST', allInBody: true, params: reqParams }" [res]="{ reName: { list: 'data', total: 'data' } }" |     #st | ||||||
|     [ngStyle]="{ margin: '1rem 0' }" multiSort size="small" [page]="{ show: false }"> |     [bordered]="true" | ||||||
|  |     [columns]="columns" | ||||||
|  |     [scroll]="{x: '1200px'}" | ||||||
|  |     [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"> |     <ng-template st-row="auditStatusEnum" let-item let-index="index"> | ||||||
|       <div> |       <div> | ||||||
|         <span *ngIf="item?.auditStatusEnum === -1 || item?.auditStatusEnum === '-1'">未上传</span> |         <span *ngIf="item?.auditStatusEnum === -1 || item?.auditStatusEnum === '-1'">未上传</span> | ||||||
| @ -210,7 +345,6 @@ | |||||||
|   </st> |   </st> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
|  |  | ||||||
| <ng-template #redectModal> | <ng-template #redectModal> | ||||||
|   <div nz-row nzGutter="8"> |   <div nz-row nzGutter="8"> | ||||||
|     <div nz-col nzSpan="24" se-container [labelWidth]="120"> |     <div nz-col nzSpan="24" se-container [labelWidth]="120"> | ||||||
| @ -218,27 +352,39 @@ | |||||||
|         {{ detailData?.carNo }} |         {{ detailData?.carNo }} | ||||||
|       </se> |       </se> | ||||||
|       <se [col]="1" label="备注" required> |       <se [col]="1" label="备注" required> | ||||||
|         <textarea nz-input rows="3" style="margin-left: 14px;" [(ngModel)]="approvalOpinion"></textarea> |         <textarea nz-input rows="3" style="margin-left: 14px" [(ngModel)]="approvalOpinion"></textarea> | ||||||
|       </se> |       </se> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </ng-template> | </ng-template> | ||||||
|  |  | ||||||
| <ng-template #uploadTemplate let-image="image" let-key="key" let-hover="hover"> | <ng-template #uploadTemplate let-image="image" let-key="key" let-hover="hover"> | ||||||
|   <nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card" |   <nz-upload | ||||||
|     [nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif" |     class="avatar-uploader" | ||||||
|     [nzDisabled]="!isEdit || disabledUpload" (nzChange)="changeUpload($event,key)"> |     [nzAction]="uploadURl" | ||||||
|  |     nzName="multipartFile" | ||||||
|  |     nzListType="picture-card" | ||||||
|  |     [nzShowUploadList]="false" | ||||||
|  |     nzFileType="image/png,image/jpeg,image/jpg,image/gif" | ||||||
|  |     [nzDisabled]="!isEdit || disabledUpload" | ||||||
|  |     (nzChange)="changeUpload($event, key)" | ||||||
|  |   > | ||||||
|     <ng-container *ngIf="!image && isEdit"> |     <ng-container *ngIf="!image && isEdit"> | ||||||
|       <i class="upload-icon" nz-icon [nzType]="false ? 'loading' : 'plus'"></i> |       <i class="upload-icon" nz-icon [nzType]="false ? 'loading' : 'plus'"></i> | ||||||
|       <div class="ant-upload-text">上传</div> |       <div class="ant-upload-text">上传</div> | ||||||
|     </ng-container> |     </ng-container> | ||||||
|     <div *ngIf="image" (mouseover)="detailData[hover]=true" (mouseleave)="detailData[hover]=false" |     <div | ||||||
|       (click)="$event.cancelBubble=true" class="image-hover"> |       *ngIf="image" | ||||||
|       <img (click)="showImg(image)" [src]="image" style="width: 200px;height: 160px;" /> |       (mouseover)="detailData[hover] = true" | ||||||
|  |       (mouseleave)="detailData[hover] = false" | ||||||
|  |       (click)="$event.cancelBubble = true" | ||||||
|  |       class="image-hover" | ||||||
|  |     > | ||||||
|  |       <img (click)="showImg(image)" [src]="image" style="width: 200px; height: 160px" /> | ||||||
|       <div class="mask" *ngIf="detailData[hover] && isEdit"></div> |       <div class="mask" *ngIf="detailData[hover] && isEdit"></div> | ||||||
|       <div class="mask-over" *ngIf="detailData[hover] && isEdit"> |       <div class="mask-over" *ngIf="detailData[hover] && isEdit"> | ||||||
|         <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i> |         <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i> | ||||||
|         <div style="display: flex;align-items: center;"> |         <div style="display: flex; align-items: center"> | ||||||
|           <i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i> |           <i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|  | |||||||
| @ -61,10 +61,10 @@ export class VehicleComponentsAuditDetailComponent implements OnInit, OnDestroy | |||||||
|  |  | ||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { title: '司机姓名', index: 'name', className: 'text-center' }, |       { title: '司机姓名', index: 'name', width: 150, className: 'text-center' }, | ||||||
|       { title: '司机手机号', index: 'mobile', className: 'text-center' }, |       { title: '司机手机号', index: 'mobile',  width: 200,className: 'text-center' }, | ||||||
|       { title: '身份证号', index: 'idCardNo', className: 'text-center' }, |       { title: '身份证号', index: 'idCardNo', width: 200, className: 'text-center' }, | ||||||
|       { title: '挂靠协议', render: 'auditStatusEnum', className: 'text-center' }, |       { title: '挂靠协议', render: 'auditStatusEnum', width: 100,className: 'text-center' }, | ||||||
|       { |       { | ||||||
|         title: '车主申明/挂靠协议', |         title: '车主申明/挂靠协议', | ||||||
|         fixed: 'right', |         fixed: 'right', | ||||||
|  | |||||||
| @ -8,11 +8,10 @@ | |||||||
|     </ng-template> |     </ng-template> | ||||||
|     <ng-template #content> |     <ng-template #content> | ||||||
|       <sv-container col="1"> |       <sv-container col="1"> | ||||||
|         <sv-title style="font-weight: 700;"> |         <sv-title style="font-weight: 700"> | ||||||
|           <div style="float: right;"> |           <div style="float: right"> | ||||||
|             <ng-container *ngIf="!isEdit"> |             <ng-container *ngIf="!isEdit"> | ||||||
|               <button nz-button nzType="default" nzDanger (click)="ratify()" acl |               <button nz-button nzType="default" nzDanger (click)="ratify()" acl acl-ability="VEHICLE-LIST-DETAIL-save">修改</button> | ||||||
|                 acl-ability="VEHICLE-LIST-DETAIL-save">修改</button> |  | ||||||
|             </ng-container> |             </ng-container> | ||||||
|             <ng-container *ngIf="isEdit"> |             <ng-container *ngIf="isEdit"> | ||||||
|               <button nz-button nzType="default" (click)="reset()">取消</button> |               <button nz-button nzType="default" (click)="reset()">取消</button> | ||||||
| @ -23,45 +22,76 @@ | |||||||
|       </sv-container> |       </sv-container> | ||||||
|  |  | ||||||
|       <sv-container col="3"> |       <sv-container col="3"> | ||||||
|         <sv-title style="font-weight: 700;">车辆基础信息</sv-title> |         <sv-title style="font-weight: 700">车辆基础信息</sv-title> | ||||||
|         <sv label="车牌号"> |         <sv label="车牌号"> | ||||||
|           <input nz-input type="text" [(ngModel)]="detailData.carNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" |           <input | ||||||
|             [placeholder]="isEdit?'':'-'"> |             nz-input | ||||||
|  |             type="text" | ||||||
|  |             [(ngModel)]="detailData.carNo" | ||||||
|  |             [readonly]="!isEdit" | ||||||
|  |             [nzBorderless]="!isEdit" | ||||||
|  |             [placeholder]="isEdit ? '' : '-'" | ||||||
|  |           /> | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="车牌颜色"> |         <sv label="车牌颜色"> | ||||||
|           <!-- <input nz-input type="text" [(ngModel)]="detailData.carNoColor" [readonly]="!isEdit" [nzBorderless]="!isEdit" |           <!-- <input nz-input type="text" [(ngModel)]="detailData.carNoColor" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|             [placeholder]="isEdit?'':'-'"> --> |             [placeholder]="isEdit?'':'-'"> --> | ||||||
|           <nz-select [(ngModel)]="detailData.carNoColor" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |           <nz-select | ||||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |             [(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-option *ngFor="let i of contenCarNoColor" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||||
|           </nz-select> |           </nz-select> | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="车型"> |         <sv label="车型"> | ||||||
|           <!-- <input nz-input type="text" [(ngModel)]="detailData.carModel" [readonly]="!isEdit" [nzBorderless]="!isEdit" |           <!-- <input nz-input type="text" [(ngModel)]="detailData.carModel" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|             [placeholder]="isEdit?'':'-'"> --> |             [placeholder]="isEdit?'':'-'"> --> | ||||||
|           <nz-select [(ngModel)]="detailData.carModel" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |           <nz-select | ||||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |             [(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-option *ngFor="let i of contencarModel" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||||
|           </nz-select> |           </nz-select> | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="车长(米)"> |         <sv label="车长(米)"> | ||||||
|           <!-- <input nz-input type="text" [(ngModel)]="detailData.carLength" [readonly]="!isEdit" [nzBorderless]="!isEdit" |           <!-- <input nz-input type="text" [(ngModel)]="detailData.carLength" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|             [placeholder]="isEdit?'':'-'"> --> |             [placeholder]="isEdit?'':'-'"> --> | ||||||
|           <nz-select [(ngModel)]="detailData.carLength" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |           <nz-select | ||||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |             [(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-option *ngFor="let i of contenCarLength" [nzLabel]="i.label" [nzValue]="i.value"></nz-option> | ||||||
|           </nz-select> |           </nz-select> | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="是否挂靠"> |         <sv label="是否挂靠"> | ||||||
|           <nz-select [(ngModel)]="detailData.isSelf" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |           <nz-select | ||||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |             [(ngModel)]="detailData.isSelf" | ||||||
|  |             [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |             [nzBorderless]="!isEdit" | ||||||
|  |             [nzShowArrow]="isEdit" | ||||||
|  |             [nzDisabled]="!isEdit" | ||||||
|  |           > | ||||||
|             <nz-option [nzValue]="false" nzLabel="否"></nz-option> |             <nz-option [nzValue]="false" nzLabel="否"></nz-option> | ||||||
|             <nz-option [nzValue]="true" nzLabel="是"></nz-option> |             <nz-option [nzValue]="true" nzLabel="是"></nz-option> | ||||||
|           </nz-select> |           </nz-select> | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="是否为挂车"> |         <sv label="是否为挂车"> | ||||||
|           <nz-select [(ngModel)]="detailData.isTrailer" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |           <nz-select | ||||||
|             [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |             [(ngModel)]="detailData.isTrailer" | ||||||
|  |             [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |             [nzBorderless]="!isEdit" | ||||||
|  |             [nzShowArrow]="isEdit" | ||||||
|  |             [nzDisabled]="!isEdit" | ||||||
|  |           > | ||||||
|             <nz-option [nzValue]="false" nzLabel="否"></nz-option> |             <nz-option [nzValue]="false" nzLabel="否"></nz-option> | ||||||
|             <nz-option [nzValue]="true" nzLabel="是"></nz-option> |             <nz-option [nzValue]="true" nzLabel="是"></nz-option> | ||||||
|           </nz-select> |           </nz-select> | ||||||
| @ -71,7 +101,11 @@ | |||||||
|         <sv label="车头照"> |         <sv label="车头照"> | ||||||
|           <!-- <app-imagelist [imgList]="[detailData?.carFrontPhotoWatermark, detailData?.carFrontPhotoWatermark]"></app-imagelist> --> |           <!-- <app-imagelist [imgList]="[detailData?.carFrontPhotoWatermark, detailData?.carFrontPhotoWatermark]"></app-imagelist> --> | ||||||
|           <ng-container |           <ng-container | ||||||
|             *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.carFrontPhotoWatermark,key:'carFrontPhotoWatermark',hover: 'PhotoWatermark2'}"> |             *ngTemplateOutlet=" | ||||||
|  |               uploadTemplate; | ||||||
|  |               context: { image: detailData?.carFrontPhotoWatermark, key: 'carFrontPhotoWatermark', hover: 'PhotoWatermark2' } | ||||||
|  |             " | ||||||
|  |           > | ||||||
|           </ng-container> |           </ng-container> | ||||||
|         </sv> |         </sv> | ||||||
|       </sv-container> |       </sv-container> | ||||||
| @ -79,33 +113,62 @@ | |||||||
|   </page-header-wrapper> |   </page-header-wrapper> | ||||||
|   <nz-card> |   <nz-card> | ||||||
|     <sv-container col="3"> |     <sv-container col="3"> | ||||||
|       <sv-title style="font-weight: 700;">行驶证信息</sv-title> |       <sv-title style="font-weight: 700">行驶证信息</sv-title> | ||||||
|       <sv label="档案编号"> |       <sv label="档案编号"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.archivesNo" [readonly]="!isEdit" [nzBorderless]="!isEdit" |         <input | ||||||
|           [placeholder]="isEdit?'':'-'"> |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.archivesNo" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="车辆品牌"> |       <sv label="车辆品牌"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.carBrand" [readonly]="!isEdit" [nzBorderless]="!isEdit" |         <input | ||||||
|           [placeholder]="isEdit?'':'-'"> |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.carBrand" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="行驶证注册日期"> |       <sv label="行驶证注册日期"> | ||||||
|         <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseRegisterTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |         <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseRegisterTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|         [placeholder]="isEdit?'':'-'"> --> |         [placeholder]="isEdit?'':'-'"> --> | ||||||
|         <nz-date-picker [(ngModel)]="detailData.driverLicenseRegisterTime" [nzDisabled]="!isEdit" |         <nz-date-picker | ||||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> |           [(ngModel)]="detailData.driverLicenseRegisterTime" | ||||||
|  |           [nzDisabled]="!isEdit" | ||||||
|  |           [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |         > | ||||||
|         </nz-date-picker> |         </nz-date-picker> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|  |  | ||||||
|     <sv-container col="3"> |     <sv-container col="3"> | ||||||
|       <sv label="行驶证到期日"> |       <sv label="行驶证到期日"> | ||||||
|         <nz-date-picker [(ngModel)]="detailData.driverLicenseEndTime" [nzDisabled]="!isEdit" |         <nz-date-picker | ||||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> |           [(ngModel)]="detailData.driverLicenseEndTime" | ||||||
|  |           [nzDisabled]="!isEdit" | ||||||
|  |           [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |         > | ||||||
|         </nz-date-picker> |         </nz-date-picker> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="行驶证签发机关"> |       <sv label="行驶证签发机关"> | ||||||
|         <input style="width: '300px'" nz-input type="text" [(ngModel)]="detailData.driverLicenseSigningOrg" |         <input | ||||||
|           [readonly]="!isEdit" [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |           style="width: '300px'" | ||||||
|  |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.driverLicenseSigningOrg" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|  |  | ||||||
| @ -113,17 +176,33 @@ | |||||||
|       <sv label="行驶证发证日期"> |       <sv label="行驶证发证日期"> | ||||||
|         <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseGetTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |         <!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseGetTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|         [placeholder]="isEdit?'':'-'"> --> |         [placeholder]="isEdit?'':'-'"> --> | ||||||
|         <nz-date-picker [(ngModel)]="detailData.driverLicenseGetTime" [nzDisabled]="!isEdit" |         <nz-date-picker | ||||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> |           [(ngModel)]="detailData.driverLicenseGetTime" | ||||||
|  |           [nzDisabled]="!isEdit" | ||||||
|  |           [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |         > | ||||||
|         </nz-date-picker> |         </nz-date-picker> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="车辆识别代码"> |       <sv label="车辆识别代码"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.carDistinguishCode" [readonly]="!isEdit" |         <input | ||||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.carDistinguishCode" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="使用性质"> |       <sv label="使用性质"> | ||||||
|         <nz-select [(ngModel)]="detailData.useNature" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" |         <nz-select | ||||||
|           [nzShowArrow]="isEdit" [nzDisabled]="!isEdit"> |           [(ngModel)]="detailData.useNature" | ||||||
|  |           [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [nzShowArrow]="isEdit" | ||||||
|  |           [nzDisabled]="!isEdit" | ||||||
|  |         > | ||||||
|           <nz-option [nzValue]="'1'" nzLabel="营运"></nz-option> |           <nz-option [nzValue]="'1'" nzLabel="营运"></nz-option> | ||||||
|           <nz-option [nzValue]="'0'" nzLabel="非营运"></nz-option> |           <nz-option [nzValue]="'0'" nzLabel="非营运"></nz-option> | ||||||
|         </nz-select> |         </nz-select> | ||||||
| @ -132,68 +211,130 @@ | |||||||
|  |  | ||||||
|     <sv-container col="3"> |     <sv-container col="3"> | ||||||
|       <sv label="载重(吨)"> |       <sv label="载重(吨)"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.carLoad" [readonly]="!isEdit" [nzBorderless]="!isEdit" |         <input | ||||||
|           [placeholder]="isEdit?'':'-'"> |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.carLoad" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="整备质量"> |       <sv label="整备质量"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.curbWeight" [readonly]="!isEdit" [nzBorderless]="!isEdit" |         <input | ||||||
|           [placeholder]="isEdit?'':'-'"> |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.curbWeight" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="所有人"> |       <sv label="所有人"> | ||||||
|         <input style="width: '300px'" nz-input type="text" [(ngModel)]="detailData.carOwner" [readonly]="!isEdit" |         <input | ||||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |           style="width: '300px'" | ||||||
|  |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.carOwner" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|     <sv-container col="1"> |     <sv-container col="1"> | ||||||
|       <sv label="行驶证照片"> |       <sv label="行驶证照片"> | ||||||
|         <ng-container |         <ng-container | ||||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover: 'FrontWatermark'}"> |           *ngTemplateOutlet=" | ||||||
|  |             uploadTemplate; | ||||||
|  |             context: { image: detailData?.certificatePhotoFrontWatermark, key: 'certificatePhotoFrontWatermark', hover: 'FrontWatermark' } | ||||||
|  |           " | ||||||
|  |         > | ||||||
|         </ng-container> |         </ng-container> | ||||||
|         <ng-container |         <ng-container | ||||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover: 'BackWatermark'}"> |           *ngTemplateOutlet=" | ||||||
|  |             uploadTemplate; | ||||||
|  |             context: { image: detailData?.certificatePhotoBackWatermark, key: 'certificatePhotoBackWatermark', hover: 'BackWatermark' } | ||||||
|  |           " | ||||||
|  |         > | ||||||
|         </ng-container> |         </ng-container> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|     <nz-divider></nz-divider> |     <nz-divider></nz-divider> | ||||||
|     <sv-container col="3" class="mt16"> |     <sv-container col="3" class="mt16"> | ||||||
|       <sv-title style="font-weight: 700;">道路运输证信息</sv-title> |       <sv-title style="font-weight: 700">道路运输证信息</sv-title> | ||||||
|       <sv label="道路运输证号"> |       <sv label="道路运输证号"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.roadTransportNo" [readonly]="!isEdit" |         <input | ||||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.roadTransportNo" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="经营许可证号"> |       <sv label="经营许可证号"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.roadTransportLicenceNo" [readonly]="!isEdit" |         <input | ||||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |           nz-input | ||||||
|  |           type="text" | ||||||
|  |           [(ngModel)]="detailData.roadTransportLicenceNo" | ||||||
|  |           [readonly]="!isEdit" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [placeholder]="isEdit ? '' : '-'" | ||||||
|  |         /> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="发证日期"> |       <sv label="发证日期"> | ||||||
|         <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportStartTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |         <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportStartTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|         [placeholder]="isEdit?'':'-'"> --> |         [placeholder]="isEdit?'':'-'"> --> | ||||||
|         <nz-date-picker [(ngModel)]="detailData.roadTransportStartTime" [nzDisabled]="!isEdit" |         <nz-date-picker | ||||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> |           [(ngModel)]="detailData.roadTransportStartTime" | ||||||
|  |           [nzDisabled]="!isEdit" | ||||||
|  |           [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |         > | ||||||
|         </nz-date-picker> |         </nz-date-picker> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="有效期至"> |       <sv label="有效期至"> | ||||||
|         <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" |         <!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
|         [placeholder]="isEdit?'':'-'"> --> |         [placeholder]="isEdit?'':'-'"> --> | ||||||
|         <nz-date-picker [(ngModel)]="detailData.roadTransportEndTime" [nzDisabled]="!isEdit" |         <nz-date-picker | ||||||
|           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> |           [(ngModel)]="detailData.roadTransportEndTime" | ||||||
|  |           [nzDisabled]="!isEdit" | ||||||
|  |           [nzPlaceHolder]="isEdit ? '' : '-'" | ||||||
|  |           [nzBorderless]="!isEdit" | ||||||
|  |           [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||||
|  |         > | ||||||
|         </nz-date-picker> |         </nz-date-picker> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="道路运输证照片"> |       <sv label="道路运输证照片"> | ||||||
|         <!-- <app-imagelist [imgList]="[detailData?.roadTransportPhoto,detailData?.roadTransportPhotoWatermark ]"></app-imagelist> --> |         <!-- <app-imagelist [imgList]="[detailData?.roadTransportPhoto,detailData?.roadTransportPhotoWatermark ]"></app-imagelist> --> | ||||||
|         <ng-container |         <ng-container | ||||||
|           *ngTemplateOutlet="uploadTemplate;context:{image:detailData?.roadTransportPhotoWatermark,key:'roadTransportPhotoWatermark', hover: 'Watermark'}"> |           *ngTemplateOutlet=" | ||||||
|  |             uploadTemplate; | ||||||
|  |             context: { image: detailData?.roadTransportPhotoWatermark, key: 'roadTransportPhotoWatermark', hover: 'Watermark' } | ||||||
|  |           " | ||||||
|  |         > | ||||||
|         </ng-container> |         </ng-container> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|     <nz-divider></nz-divider> |     <nz-divider></nz-divider> | ||||||
|     <sv-container col="2" class="mt16"> |     <sv-container col="2" class="mt16"> | ||||||
|       <sv-title style="font-weight: 700;">认证司机</sv-title> |       <sv-title style="font-weight: 700">认证司机</sv-title> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|     <st #st [bordered]="true" [columns]="columns" [data]="service.$api_get_queryDriverByCarId" |     <st | ||||||
|  |       #st | ||||||
|  |       [bordered]="true" | ||||||
|  |       [columns]="columns" | ||||||
|  |       [scroll]="{x: '1200px'}" | ||||||
|  |       [data]="service.$api_get_queryDriverByCarId" | ||||||
|       [req]="{ method: 'POST', allInBody: true, params: reqParams }" |       [req]="{ method: 'POST', allInBody: true, params: reqParams }" | ||||||
|       [res]="{ reName: { list: 'data', total: 'data' } }" [ngStyle]="{ margin: '1rem 0' }" multiSort size="small" |       [res]="{ reName: { list: 'data', total: 'data' } }" | ||||||
|       [page]="{ show: false }"> |       [ngStyle]="{ margin: '1rem 0' }" | ||||||
|  |       multiSort | ||||||
|  |       size="small" | ||||||
|  |       [page]="{ show: false }" | ||||||
|  |     > | ||||||
|       <ng-template st-row="auditStatusEnum" let-item let-index="index"> |       <ng-template st-row="auditStatusEnum" let-item let-index="index"> | ||||||
|         <div> |         <div> | ||||||
|           <span *ngIf="item?.auditStatusEnum === -1 || item?.auditStatusEnum === '-1'">未上传</span> |           <span *ngIf="item?.auditStatusEnum === -1 || item?.auditStatusEnum === '-1'">未上传</span> | ||||||
| @ -208,8 +349,13 @@ | |||||||
|   </nz-card> |   </nz-card> | ||||||
| </ng-container> | </ng-container> | ||||||
|  |  | ||||||
| <nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()" | <nz-modal | ||||||
|   (nzOnCancel)="handleCancel('2')"> |   [(nzVisible)]="isVisible" | ||||||
|  |   [nzWidth]="600" | ||||||
|  |   [nzFooter]="nzModalFooterEvaluate" | ||||||
|  |   (nzOnOk)="handleOK()" | ||||||
|  |   (nzOnCancel)="handleCancel('2')" | ||||||
|  | > | ||||||
|   <ng-container *nzModalContent> |   <ng-container *nzModalContent> | ||||||
|     <nz-tabset> |     <nz-tabset> | ||||||
|       <nz-tab nzTitle="我的评价"> |       <nz-tab nzTitle="我的评价"> | ||||||
| @ -219,9 +365,7 @@ | |||||||
|         </div> |         </div> | ||||||
|       </nz-tab> |       </nz-tab> | ||||||
|       <nz-tab nzTitle="司机评价"> |       <nz-tab nzTitle="司机评价"> | ||||||
|         <div> |         <div> 暂无评价内容 </div> | ||||||
|           暂无评价内容 |  | ||||||
|         </div> |  | ||||||
|       </nz-tab> |       </nz-tab> | ||||||
|     </nz-tabset> |     </nz-tabset> | ||||||
|   </ng-container> |   </ng-container> | ||||||
| @ -232,20 +376,32 @@ | |||||||
| </nz-modal> | </nz-modal> | ||||||
|  |  | ||||||
| <ng-template #uploadTemplate let-image="image" let-key="key" let-hover="hover"> | <ng-template #uploadTemplate let-image="image" let-key="key" let-hover="hover"> | ||||||
|   <nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card" |   <nz-upload | ||||||
|     [nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif" |     class="avatar-uploader" | ||||||
|     [nzDisabled]="!isEdit || disabledUpload" (nzChange)="changeUpload($event,key)"> |     [nzAction]="uploadURl" | ||||||
|  |     nzName="multipartFile" | ||||||
|  |     nzListType="picture-card" | ||||||
|  |     [nzShowUploadList]="false" | ||||||
|  |     nzFileType="image/png,image/jpeg,image/jpg,image/gif" | ||||||
|  |     [nzDisabled]="!isEdit || disabledUpload" | ||||||
|  |     (nzChange)="changeUpload($event, key)" | ||||||
|  |   > | ||||||
|     <ng-container *ngIf="!image && isEdit"> |     <ng-container *ngIf="!image && isEdit"> | ||||||
|       <i class="upload-icon" nz-icon [nzType]="false ? 'loading' : 'plus'"></i> |       <i class="upload-icon" nz-icon [nzType]="false ? 'loading' : 'plus'"></i> | ||||||
|       <div class="ant-upload-text">上传</div> |       <div class="ant-upload-text">上传</div> | ||||||
|     </ng-container> |     </ng-container> | ||||||
|     <div *ngIf="image" (mouseover)="detailData[hover]=true" (mouseleave)="detailData[hover]=false" |     <div | ||||||
|       (click)="$event.cancelBubble=true" class="image-hover"> |       *ngIf="image" | ||||||
|       <img (click)="showImg(image)" [src]="image" style="width: 200px;height: 160px;" /> |       (mouseover)="detailData[hover] = true" | ||||||
|  |       (mouseleave)="detailData[hover] = false" | ||||||
|  |       (click)="$event.cancelBubble = true" | ||||||
|  |       class="image-hover" | ||||||
|  |     > | ||||||
|  |       <img (click)="showImg(image)" [src]="image" style="width: 200px; height: 160px" /> | ||||||
|       <div class="mask" *ngIf="detailData[hover] && isEdit"></div> |       <div class="mask" *ngIf="detailData[hover] && isEdit"></div> | ||||||
|       <div class="mask-over" *ngIf="detailData[hover] && isEdit"> |       <div class="mask-over" *ngIf="detailData[hover] && isEdit"> | ||||||
|         <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i> |         <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i> | ||||||
|         <div style="display: flex;align-items: center;"> |         <div style="display: flex; align-items: center"> | ||||||
|           <i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i> |           <i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|  | |||||||
| @ -89,9 +89,10 @@ export class VehicleComponentsListDetailComponent implements OnInit { | |||||||
|   } |   } | ||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { title: '司机姓名', index: 'name', width: 300, className: 'text-center' }, |       { title: '司机姓名', index: 'name', width: 150, className: 'text-center' }, | ||||||
|       { title: '司机手机号', index: 'mobile', width: 300, className: 'text-center' }, |       { title: '司机手机号', index: 'mobile', width: 200, className: 'text-center' }, | ||||||
|       { title: '挂靠协议', render: 'auditStatusEnum', className: 'text-center' }, |       { title: '身份证号', index: 'idCardNo',width: 200, className: 'text-center' }, | ||||||
|  |       { title: '挂靠协议', render: 'auditStatusEnum', width: 100,className: 'text-center' }, | ||||||
|       { title: '录入人员', index: 'saveUser', className: 'text-center' }, |       { title: '录入人员', index: 'saveUser', className: 'text-center' }, | ||||||
|       { |       { | ||||||
|         title: '车主申明/挂靠协议', |         title: '车主申明/挂靠协议', | ||||||
|  | |||||||
| @ -18,7 +18,8 @@ | |||||||
|   <div class="modal-title">查看协议</div> |   <div class="modal-title">查看协议</div> | ||||||
| </div> | </div> | ||||||
| <div class="text-center"> | <div class="text-center"> | ||||||
|   <div class="text-center"><img [src]="i?.carProtocal" /></div> |   <!-- <div class="text-center"><img [src]="i?.carProtocal" /></div> --> | ||||||
|  |   <div class="text-center">  <img (click)="showImg(i?.carProtocal)" [src]="i?.carProtocal" style="width: 200px;height: 160px;" /></div> | ||||||
| </div> | </div> | ||||||
| <div *nzModalFooter> | <div *nzModalFooter> | ||||||
|   <button *ngIf="i?.auditStatusEnum == 20 || i?.auditStatusEnum == 30" nz-button nzType="default" (click)="cancel()">取消</button> |   <button *ngIf="i?.auditStatusEnum == 20 || i?.auditStatusEnum == 30" nz-button nzType="default" (click)="cancel()">取消</button> | ||||||
|  | |||||||
| @ -1,13 +1,14 @@ | |||||||
| /* | /* | ||||||
|  * @Author: your name |  * @Author: your name | ||||||
|  * @Date: 2021-12-07 17:30:18 |  * @Date: 2021-12-07 17:30:18 | ||||||
|  * @LastEditTime: 2022-01-18 16:36:27 |  * @LastEditTime : 2022-04-22 15:15:49 | ||||||
|  * @LastEditors: Please set LastEditors |  * @LastEditors  : Shiming | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||||||
|  * @FilePath: \tms-obc-web\src\app\routes\vehicle\components\list\img-view\img-view.component.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\list\\img-view\\img-view.component.ts | ||||||
|  */ |  */ | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| import { _HttpClient } from '@delon/theme'; | import { _HttpClient } from '@delon/theme'; | ||||||
|  | import { NzImageService } from 'ng-zorro-antd/image'; | ||||||
| import { NzMessageService } from 'ng-zorro-antd/message'; | import { NzMessageService } from 'ng-zorro-antd/message'; | ||||||
| import { NzModalRef } from 'ng-zorro-antd/modal'; | import { NzModalRef } from 'ng-zorro-antd/modal'; | ||||||
| import { VehicleService } from '../../../services/vehicle.service'; | import { VehicleService } from '../../../services/vehicle.service'; | ||||||
| @ -20,7 +21,7 @@ export class VehicleImgViewComponent implements OnInit { | |||||||
|   record: any = {}; |   record: any = {}; | ||||||
|   i: any; |   i: any; | ||||||
|  |  | ||||||
|   constructor(private modal: NzModalRef, public msgSrv: NzMessageService, public http: _HttpClient, public service: VehicleService) {} |   constructor(private modal: NzModalRef, public msgSrv: NzMessageService, public http: _HttpClient, public service: VehicleService, private nzImageService: NzImageService) {} | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     console.log(this.i); |     console.log(this.i); | ||||||
| @ -42,6 +43,13 @@ export class VehicleImgViewComponent implements OnInit { | |||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |   showImg(url: any) { | ||||||
|  |     const params = { | ||||||
|  |       imgList: [url], | ||||||
|  |       index: 0 | ||||||
|  |     }; | ||||||
|  |     this.nzImageService.preview([{ src: url }]); | ||||||
|  |   } | ||||||
|   // 通过 |   // 通过 | ||||||
|   okCancel() { |   okCancel() { | ||||||
|   const params ={ |   const params ={ | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-01-25 20:18:52 |  * @Date         : 2022-01-25 20:18:52 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-03-29 10:34:14 |  * @LastEditTime : 2022-04-22 14:09:16 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\shared\\components\\rebate-table\\rebate-table.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\shared\\components\\rebate-table\\rebate-table.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| @ -15,20 +15,20 @@ | |||||||
|             <button class="ml-md" nz-button nzType="primary" (click)="save()">保存</button> |             <button class="ml-md" nz-button nzType="primary" (click)="save()">保存</button> | ||||||
|         </div> --> |         </div> --> | ||||||
|         <nz-table #groupingTable [nzData]="data" nzBordered nzSize="small" [nzFrontPagination]="false" |         <nz-table #groupingTable [nzData]="data" nzBordered nzSize="small" [nzFrontPagination]="false" | ||||||
|             [nzScroll]="{ x: '900px' }" [nzShowPagination]="false" class="ml-xl" style="max-width: 1200px;"> |             [nzScroll]="{ y: '900px' }" [nzShowPagination]="false" class="ml-xl" style="max-width: 1000px;"> | ||||||
|             <thead> |             <thead> | ||||||
|                 <tr> |                 <tr> | ||||||
|                     <th rowspan="2" nzWidth="250px" nzAlign="center" nzLeft>序号</th> |                     <th rowspan="2" nzWidth="60px" nzAlign="center" nzLeft>序号</th> | ||||||
|                     <th nzWidth="220px" nzAlign="center" >合伙人等级</th> |                     <th nzWidth="220px" nzAlign="center" >合伙人等级</th> | ||||||
|                     <th nzWidth="220px" nzAlign="center" >初始业务量(万/月)</th> |                     <th nzWidth="160px" nzAlign="center" >初始业务量(万/月)</th> | ||||||
|                     <th nzWidth="220px" nzAlign="center" >到达业务量(万/月)</th> |                     <th nzWidth="160px" nzAlign="center" >到达业务量(万/月)</th> | ||||||
|                     <th nzWidth="220px" nzAlign="center" >管理费比例%</th> |                     <th nzWidth="160px" nzAlign="center" >管理费比例%</th> | ||||||
|                     <th rowspan="2" nzWidth="60px" nzAlign="center" nzRight>操作</th> |                     <th rowspan="2" nzWidth="60px" nzAlign="center" nzRight>操作</th> | ||||||
|                 </tr> |                 </tr> | ||||||
|             </thead> |             </thead> | ||||||
|             <tbody> |             <tbody> | ||||||
|                 <tr *ngFor="let item of groupingTable.data;let i = index"> |                 <tr *ngFor="let item of groupingTable.data;let i = index"> | ||||||
|                     <td nzWidth="250px" nzAlign="center" nzLeft> |                     <td nzWidth="60px" nzAlign="center" nzLeft> | ||||||
|                         <div style="text-align: center;"> |                         <div style="text-align: center;"> | ||||||
|                             <div> |                             <div> | ||||||
|                                 {{i + 1}} |                                 {{i + 1}} | ||||||
| @ -42,26 +42,26 @@ | |||||||
|                             </nz-select> |                             </nz-select> | ||||||
|                         </div> |                         </div> | ||||||
|                     </td> |                     </td> | ||||||
|                     <td nzWidth="220px" nzAlign="center" > |                     <td nzWidth="160px" nzAlign="center" > | ||||||
|                         <div style="    margin-left: 26%"> |                         <div   > | ||||||
|                             <nz-input-group  nzPrefix="=" > |                             <nz-input-group  nzPrefix="=" > | ||||||
|                             <nz-input-number [(ngModel)]="item.startAmount" [nzMin]="0" nzSize="small"  (ngModelChange)="changeendAmount($event,i)" |                             <nz-input-number nzPrefix="=" [(ngModel)]="item.startAmount" [nzMin]="0" nzSize="small"  (ngModelChange)="changeendAmount($event,i)" | ||||||
|                                > |                                > | ||||||
|                             </nz-input-number> |                             </nz-input-number> | ||||||
|                         </nz-input-group> |                         </nz-input-group> | ||||||
|                       |                       | ||||||
|                         </div> |                         </div> | ||||||
|                     </td> |                     </td> | ||||||
|                     <td nzWidth="220px" nzAlign="center" > |                     <td nzWidth="160px" nzAlign="center" > | ||||||
|                         <div style="    margin-left: 26%"> |                         <div   > | ||||||
|                             <nz-input-group  nzPrefix="<"> |                             <nz-input-group  nzPrefix="<"> | ||||||
|                             <nz-input-number [(ngModel)]="item.endAmount" [nzMin]="0" nzSize="small" > |                             <nz-input-number [(ngModel)]="item.endAmount" [nzMin]="0" nzSize="small" > | ||||||
|                             </nz-input-number> |                             </nz-input-number> | ||||||
|                         </nz-input-group> |                         </nz-input-group> | ||||||
|                         </div> |                         </div> | ||||||
|                     </td> |                     </td> | ||||||
|                     <td nzWidth="220px" nzAlign="center" > |                     <td nzWidth="160px" nzAlign="center" > | ||||||
|                         <div style="    margin-left: 26%"> |                         <div > | ||||||
|                             <nz-input-group [nzAddOnAfter]="addOnAfterTemplate2"> |                             <nz-input-group [nzAddOnAfter]="addOnAfterTemplate2"> | ||||||
|                             <nz-input-number [(ngModel)]="item.managementFeeRatio" [nzMin]="0" nzSize="small"  |                             <nz-input-number [(ngModel)]="item.managementFeeRatio" [nzMin]="0" nzSize="small"  | ||||||
|                                > |                                > | ||||||
|  | |||||||
| @ -15,5 +15,8 @@ | |||||||
|     .ant-input-group { |     .ant-input-group { | ||||||
|         display: -webkit-inline-box !important;  |         display: -webkit-inline-box !important;  | ||||||
|     } |     } | ||||||
|  |     .ant-input-affix-wrapper { | ||||||
|  |         border: none | ||||||
|  |     } | ||||||
|      |      | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user