|  |  | 
 |  |  |         </nz-card> | 
 |  |  |     </div> | 
 |  |  | </div> | 
 |  |  | <nz-card [nzLoading]="loading" [nzBordered]="false" [nzBodyStyle]="{'padding': '0 0 32px'}" class="offline-card mt-lg"> | 
 |  |  |     <ng-template #body> | 
 |  |  |         <nz-tabset [(nzSelectedIndex)]="_activeTab" (nzSelectChange)="_tabChange($event)"> | 
 |  |  |             <nz-tab *ngFor="let tab of data.offlineData; let i = index;"> | 
 |  |  |                 <ng-template #nzTabHeading> | 
 |  |  |                     <div nz-row [nzGutter]="8" style="width: 138px; margin: 8px 0"> | 
 |  |  |                         <div nz-col [nzSpan]="12"> | 
 |  |  |                             <number-info | 
 |  |  |                                 [title]="tab.name" | 
 |  |  |                                 subTitle="转化率" | 
 |  |  |                                 gap="2" | 
 |  |  |                                 [total]="(tab.cvr * 100) + '%'" | 
 |  |  |                                 [theme]="i !== _activeTab && 'light'"></number-info> | 
 |  |  |                         </div> | 
 |  |  |                         <div nz-col [nzSpan]="12" style="padding-top: 36px"> | 
 |  |  |                             <pie | 
 |  |  |                                 [animate]="false" | 
 |  |  |                                 [color]="i !== _activeTab && '#BDE4FF'" | 
 |  |  |                                 [inner]="0.55" | 
 |  |  |                                 [tooltip]="false" | 
 |  |  |                                 [padding]="[0, 0, 0, 0]" | 
 |  |  |                                 [percent]="tab.cvr * 100" | 
 |  |  |                                 [height]="64"> | 
 |  |  |                             </pie> | 
 |  |  |                         </div> | 
 |  |  |                     </div> | 
 |  |  |                 </ng-template> | 
 |  |  |                 <div class="px-lg"> | 
 |  |  |                     <timeline [data]="tab.chart" | 
 |  |  |                               [titleMap]="{ y1: '客流量', y2: '支付笔数' }"></timeline> | 
 |  |  |                 </div> | 
 |  |  |             </nz-tab> | 
 |  |  |         </nz-tabset> | 
 |  |  |     </ng-template> | 
 |  |  | </nz-card> | 
 |  |  |  | 
 |  |  | <div nz-row [nzGutter]="24"> | 
 |  |  |     <div nz-col nzXs="24" nzSm="24" nzMd="16"> | 
 
 |  |  | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         const offlineData = []; | 
 |  |  |         for (let i = 0; i < 10; i += 1) { | 
 |  |  |             offlineData.push({ | 
 |  |  |                 name: `门店${i}`, | 
 |  |  |                 cvr: Math.ceil(Math.random() * 9) / 10 | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |         const offlineChartData = []; | 
 |  |  |         for (let i = 0; i < 20; i += 1) { | 
 |  |  |             offlineChartData.push({ | 
 |  |  |                 x: new Date().getTime() + 1000 * 60 * 30 * i, | 
 |  |  |                 y1: Math.floor(Math.random() * 100) + 10, | 
 |  |  |                 y2: Math.floor(Math.random() * 100) + 10 | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         const radarOriginData = [ | 
 |  |  |             { | 
 |  |  |                 name: '个人', | 
 |  |  | 
 |  |  |             visitData: visitData, | 
 |  |  |             visitData2: visitData2, | 
 |  |  |  | 
 |  |  |             offlineData: offlineData, | 
 |  |  |             offlineChartData: offlineChartData, | 
 |  |  |             radarOriginData: radarOriginData, | 
 |  |  |             radarData: radarData, | 
 |  |  |             searchData: searchData | 
 |  |  |         }; | 
 |  |  |  | 
 |  |  |         res.offlineData.forEach((item: any) => { | 
 |  |  |             item.chart = Object.assign([], res.offlineChartData); | 
 |  |  |         }); | 
 |  |  |         this.data = res; | 
 |  |  |         this.loading = false; | 
 |  |  |         this.changeSaleType(); | 
 |  |  | 
 |  |  |  | 
 |  |  |     handlePieValueFormat(value: any) { | 
 |  |  |         return value + "次"; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     _activeTab = 0; | 
 |  |  |     _tabChange(value: any) { | 
 |  |  |         console.log('tab', this._activeTab, value); | 
 |  |  |     } | 
 |  |  | } |