From 4e4cae085739fd5e72e047d368351bfd6ceaf4e3 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Sun, 25 Mar 2018 12:20:40 +0800
Subject: [PATCH] grid 冻结列 上下滚动实现

---
 src/app/routes/analysis/query/query.component.html |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/app/routes/analysis/query/query.component.html b/src/app/routes/analysis/query/query.component.html
index f75ac5e..89c2052 100644
--- a/src/app/routes/analysis/query/query.component.html
+++ b/src/app/routes/analysis/query/query.component.html
@@ -127,7 +127,7 @@
             <div echarts   style="margin-top: 12px;" [options]="chartOption" [loading]="chartLoading" class="line-chart" (chartInit)="onChartInit($event)"></div>
         </div>
         <div *ngIf="isChartCollapse" style="width:100%; text-align:center;">
-            <span style="font-size:18px; font-weight: bold;">{{ !isChartCollapse?'':chartTitle }}</span>
+            <span style="font-size:18px; font-weight: bold;">{{ _chartTitleTemp }}</span>
         </div>
         <a *ngIf="!!echartsIntance"  style="position: absolute; right: 0; top: -10px;" class="pl-sm" (click)="toggleChartCollapse()">
             ������
@@ -142,7 +142,7 @@
                 <ng-template #nzFixedHeader>
                 <thead nz-thead>
                     <tr>
-                        <th nz-th [nzWidth]="'140px'" [ngStyle]="{'position': 'relative','text-align': 'center', 'left':sensorNameScrollLeft}">
+                        <th nz-th [nzWidth]="'160px'" [ngStyle]="{'position': 'relative', 'text-align':'center', 'left':sensorNameScrollLeft+'px'}">
                             <span>������������</span>
                         </th>
                         <th nz-th [nzWidth]="'80px'" *ngFor="let col of grid.columns" [ngStyle]="{'width':col.width,'text-align':col['align'] === undefined?'left':col.align}">
@@ -153,8 +153,10 @@
                </ng-template>
                 <tbody nz-tbody>
                     <tr nz-tbody-tr style="cursor:pointer;" *ngFor="let row of nzTable.data,index as i"
-                    (click) = "switchSensor(i)">
-                        <td  nz-td class='sensor-name' [ngStyle]="{'background-color': '#FFF','position': 'relative','text-align': 'center', 'left':sensorNameScrollLeft}">
+                    (click) = "switchSensor(i)"
+                    (mouseover) ="sensorTableFocus(i)" (mouseout) ="sensorTableBlur(i)"
+                    [ngClass]="{'table-tr-bgcolor-focus': i === sensorTableFocusIndex,'table-tr-bgcolor-blur': i !== sensorTableFocusIndex}">
+                        <td  nz-td class='sensor-name' [ngStyle]="{'background-color': '#FFF'}">
                             <span><span>{{ row.sensor.name+'('+row.sensor.unit+')' }}</span>&nbsp;<i *ngIf="chartSelectedIndex==i"  class="anticon anticon-line-chart"></i></span>
                         </td>
                         <td nz-td *ngFor="let col of grid.columns,index as n" [ngStyle]="{'width':col.width,'text-align':col['align'] === undefined?'left':col.align}">
@@ -167,6 +169,27 @@
                     </tr>
                 </tbody>
             </nz-table>
+            <div  *ngIf="grid.data.length>0" [ngClass]="{'table-scroll':true,'table-scroll-box-shadow': sensorNameScrollLeft>2 }"  [ngStyle]="{'position': 'absolute', 'top': '24px'}">
+                    <nz-table #nzTable  [nzDataSource]="grid.data" [nzIsPagination]="false">
+                              <thead nz-thead>
+                                    <tr>
+                                        <th nz-th [nzWidth]="'160px'" style="text-align:center; position:relative; display:block; z-index:9;">
+                                            <span>������������</span>
+                                        </th>
+                                    </tr>
+                                </thead>
+                                <tbody nz-tbody [ngStyle]="{'top':sensorNameScrollTop+'px'}" style="position: relative; z-index:7; display:block;">
+                                    <tr nz-tbody-tr   style="cursor:pointer;" *ngFor="let row of nzTable.data,index as i"
+                                    (mouseover) ="sensorTableFocus(i)" (mouseout) ="sensorTableBlur(i)"
+                                    [ngClass]="{'table-tr-bgcolor-focus': i === sensorTableFocusIndex,'table-tr-bgcolor-blur': i !== sensorTableFocusIndex}"
+                                    (click) = "switchSensor(i)">
+                                        <td  nz-td class='sensor-name'  [ngStyle]="{'width':'160px','text-align': 'center'}">
+                                            <span><span>{{ row.sensor.name+'('+row.sensor.unit+')' }}</span>&nbsp;<i *ngIf="chartSelectedIndex==i"  class="anticon anticon-line-chart"></i></span>
+                                        </td>
+                                    </tr>
+                                </tbody>
+                    </nz-table>
+                </div>
         </nz-card>
     </div>
 </div>

--
Gitblit v1.8.0