seimin 3 年之前
父节点
当前提交
d0fd7e1613

+ 11 - 0
src/app/share/collapse-panel/collapse-panel.component.html

@@ -0,0 +1,11 @@
1
+<div class="app-collapse-panel">
2
+  <div class="app-collapse-panel-header">
3
+    <i nz-icon nzType="right" class="app-collapse-panel-arrow" [ngClass]="{'app-collapse-panel-arrow-down': nzActive}"></i>
4
+    {{nzHeader}}
5
+  </div>
6
+  <div class="app-collapse-panel-box" [ngClass]="{'app-collapse-panel-box--hidden': !nzActive}">
7
+    <div class="app-collapse-panel-boxItem">
8
+      <ng-content></ng-content>
9
+    </div>
10
+  </div>
11
+</div>

+ 46 - 0
src/app/share/collapse-panel/collapse-panel.component.less

@@ -0,0 +1,46 @@
1
+.app-collapse-panel {
2
+  border-bottom: 1px solid #d9d9d9;
3
+  .app-collapse-panel-header {
4
+    position: relative;
5
+    padding: 12px 16px 12px 40px;
6
+    color: rgba(0, 0, 0, 0.85);
7
+    line-height: 22px;
8
+    cursor: pointer;
9
+    transition: all 0.3s;
10
+    .app-collapse-panel-arrow {
11
+      color: inherit;
12
+      font-style: normal;
13
+      line-height: 0;
14
+      text-align: center;
15
+      text-transform: none;
16
+      vertical-align: -0.125em;
17
+      text-rendering: optimizeLegibility;
18
+      -webkit-font-smoothing: antialiased;
19
+      -moz-osx-font-smoothing: grayscale;
20
+      position: absolute;
21
+      top: 50%;
22
+      left: 16px;
23
+      display: inline-block;
24
+      font-size: 12px;
25
+      transform: translateY(-50%);
26
+      transition: all 0.2s;
27
+      &.app-collapse-panel-arrow-down {
28
+        transform: translateY(-50%) rotate(90deg);
29
+      }
30
+    }
31
+  }
32
+  .app-collapse-panel-box {
33
+    overflow: hidden;
34
+    color: rgba(0, 0, 0, 0.65);
35
+    background-color: #fff;
36
+    border-top: 1px solid #d9d9d9;
37
+    transition: height 0.2s;
38
+    &.app-collapse-panel-box--hidden {
39
+      height: 0px;
40
+      border-top-width: 0px;
41
+    }
42
+    .app-collapse-panel-boxItem {
43
+      padding: 16px;
44
+    }
45
+  }
46
+}

+ 14 - 0
src/app/share/collapse-panel/collapse-panel.component.ts

@@ -0,0 +1,14 @@
1
+import { Component, OnInit, Input } from "@angular/core";
2
+
3
+@Component({
4
+  selector: "app-collapse-panel",
5
+  templateUrl: "./collapse-panel.component.html",
6
+  styleUrls: ["./collapse-panel.component.less"],
7
+})
8
+export class CollapsePanelComponent implements OnInit {
9
+  @Input() nzHeader: string = "";
10
+  @Input() nzActive: boolean = false;
11
+  constructor() {}
12
+
13
+  ngOnInit() {}
14
+}

+ 4 - 0
src/app/share/collapse/collapse.component.html

@@ -0,0 +1,4 @@
1
+<div class="app-collapse">
2
+  <ng-content></ng-content>
3
+  <!-- 210812665501 -->
4
+</div>

+ 15 - 0
src/app/share/collapse/collapse.component.less

@@ -0,0 +1,15 @@
1
+.app-collapse {
2
+  box-sizing: border-box;
3
+  margin: 0;
4
+  padding: 0;
5
+  color: rgba(0, 0, 0, 0.65);
6
+  font-size: 14px;
7
+  font-variant: tabular-nums;
8
+  line-height: 1.5;
9
+  list-style: none;
10
+  font-feature-settings: "tnum";
11
+  background-color: #fafafa;
12
+  border: 1px solid #d9d9d9;
13
+  border-bottom: 0;
14
+  border-radius: 4px;
15
+}

+ 15 - 0
src/app/share/collapse/collapse.component.ts

@@ -0,0 +1,15 @@
1
+import { Component, OnInit } from '@angular/core';
2
+
3
+@Component({
4
+  selector: 'app-collapse',
5
+  templateUrl: './collapse.component.html',
6
+  styleUrls: ['./collapse.component.less']
7
+})
8
+export class CollapseComponent implements OnInit {
9
+
10
+  constructor() { }
11
+
12
+  ngOnInit() {
13
+  }
14
+
15
+}

+ 6 - 0
src/app/share/share.module.ts

@@ -24,6 +24,8 @@ import { DialogDeleteComponent } from './dialog-delete/dialog-delete.component';
24 24
 import { MaskComponent } from './mask/mask.component';
25 25
 import { GenerateFloorComponent } from './generate-floor/generate-floor.component';
26 26
 import { BatchOrdersComponent } from './batch-orders/batch-orders.component';
27
+import { CollapseComponent } from './collapse/collapse.component';
28
+import { CollapsePanelComponent } from './collapse-panel/collapse-panel.component';
27 29
 
28 30
 @NgModule({
29 31
   declarations: [
@@ -46,6 +48,8 @@ import { BatchOrdersComponent } from './batch-orders/batch-orders.component';
46 48
     MaskComponent,
47 49
     GenerateFloorComponent,
48 50
     BatchOrdersComponent,
51
+    CollapseComponent,
52
+    CollapsePanelComponent,
49 53
   ],
50 54
   imports: [
51 55
     CommonModule,
@@ -83,6 +87,8 @@ import { BatchOrdersComponent } from './batch-orders/batch-orders.component';
83 87
     MaskComponent,
84 88
     GenerateFloorComponent,
85 89
     BatchOrdersComponent,
90
+    CollapseComponent,
91
+    CollapsePanelComponent,
86 92
   ]
87 93
 })
88 94
 export class ShareModule { }

+ 5 - 4
src/app/views/info-search/info-search.component.html

@@ -25,8 +25,9 @@
25 25
       </div>
26 26
     </div>
27 27
     <ng-container *ngIf="!loading1">
28
-      <nz-collapse>
29
-        <nz-collapse-panel *ngFor="let panel of panels" [nzHeader]="panel.name" [nzActive]="panel.active">
28
+      <app-collapse>
29
+        <app-collapse-panel *ngFor="let panel of panels" [nzHeader]="panel.name" [nzActive]="panel.active"
30
+          (click)="panel.active = !panel.active">
30 31
           <ng-container [ngSwitch]="panel.extra">
31 32
             <!-- 检查列表 -->
32 33
             <div *ngSwitchCase="'inspectList'" class="list-template__bottom">
@@ -556,8 +557,8 @@
556 557
               </nz-table>
557 558
             </div>
558 559
           </ng-container>
559
-        </nz-collapse-panel>
560
-      </nz-collapse>
560
+        </app-collapse-panel>
561
+      </app-collapse>
561 562
     </ng-container>
562 563
     <div class="modal display_flex justify-content_flex-center align-items_center list-template__bottom"
563 564
       *ngIf="loading1">

+ 1 - 0
src/app/views/info-search/info-search.component.less

@@ -170,4 +170,5 @@
170 170
 }
171 171
 .list-template__bottom {
172 172
   padding-bottom: 0 !important;
173
+  overflow: auto !important;
173 174
 }