seimin 3 年之前
父節點
當前提交
ff8402fab6

+ 24 - 0
src/app/views/inspect-active-detail/inspect-active-detail-routing.module.ts

@@ -0,0 +1,24 @@
1
+import { NgModule } from "@angular/core";
2
+import { Routes, RouterModule } from "@angular/router";
3
+import { InspectActiveDetailComponent } from "./inspect-active-detail.component";
4
+import { OrderDetailComponent } from "src/app/share/order-detail/order-detail.component";
5
+
6
+const routes: Routes = [
7
+  {
8
+    path: "",
9
+    component: InspectActiveDetailComponent,
10
+    children: [
11
+      {
12
+        // 查看详情
13
+        path: "orderDetail/:id/:type",
14
+        component: OrderDetailComponent,
15
+      },
16
+    ],
17
+  },
18
+];
19
+
20
+@NgModule({
21
+  imports: [RouterModule.forChild(routes)],
22
+  exports: [RouterModule],
23
+})
24
+export class InspectActiveDetailRoutingModule {}

+ 53 - 0
src/app/views/inspect-active-detail/inspect-active-detail.component.html

@@ -0,0 +1,53 @@
1
+<div class="detail">
2
+  <div class="title">
3
+    工单详情
4
+    <i class="icon_transport transport-guanbi" (click)="close()"></i>
5
+  </div>
6
+  <div class="box">
7
+    <nz-table class="hospitalTable" [nzData]="listOfData" nzSize="middle" [nzShowPagination]="false"
8
+      [nzLoading]="loading1" [nzScroll]="{y:'350px'}">
9
+      <thead>
10
+        <tr class="thead">
11
+          <th nzWidth="5%">序号</th>
12
+          <th nzWidth="10%">工单单号</th>
13
+          <th nzWidth="15%">申请科室</th>
14
+          <th nzWidth="10%">工单类型</th>
15
+          <th nzWidth="15%">任务类型</th>
16
+          <th nzWidth="10%">发起时间</th>
17
+          <th nzWidth="10%">执行时长</th>
18
+          <th nzWidth="5%">积分</th>
19
+          <th nzWidth="10%">是否特殊关闭</th>
20
+          <th nzWidth="10%">操作</th>
21
+        </tr>
22
+      </thead>
23
+      <tbody>
24
+        <tr *ngFor="let data of listOfData;let index=index;">
25
+          <td>{{index+(pageIndex-1)*10+1}}</td>
26
+          <td>{{ data.gdcode }}</td>
27
+          <td>{{ data.createDeptDTO?data.createDeptDTO.dept:'' }}</td>
28
+          <td>{{ data.taskType.associationType.name }}</td>
29
+          <td>{{ data.taskType.taskName }}</td>
30
+          <td>{{data.startTime|date:'yyyy-MM-dd HH:mm'}}</td>
31
+          <td>{{ data.showTimeNum }}</td>
32
+          <td>{{data.grade?data.grade.gradeTotal:'-'}}</td>
33
+          <td>{{data.specialCloseReason?'是':'否'}}</td>
34
+          <td>
35
+            <div class="coop">
36
+              <span (click)="integralDetail(data)">查看</span>
37
+            </div>
38
+          </td>
39
+        </tr>
40
+      </tbody>
41
+    </nz-table>
42
+    <div class="pagination">
43
+      <nz-pagination [(nzPageIndex)]="pageIndex" [(nzTotal)]="listLength" nzShowSizeChanger [(nzPageSize)]="pageSize"
44
+        (nzPageIndexChange)="getOrdersByPerson(hosId,currentPersonId)"
45
+        (nzPageSizeChange)="getOrdersByPerson(hosId,currentPersonId)">
46
+      </nz-pagination>
47
+    </div>
48
+  </div>
49
+  <div class="btns">
50
+    <button class=" btn cancel" nz-button nzType="default" (click)="close()">关闭</button>
51
+  </div>
52
+</div>
53
+<router-outlet></router-outlet>

+ 591 - 0
src/app/views/inspect-active-detail/inspect-active-detail.component.less

@@ -0,0 +1,591 @@
1
+@import "../../../../src/theme.less";
2
+:host {
3
+  width: 100%;
4
+  height: 100%;
5
+  position: fixed;
6
+  left: 0;
7
+  top: 0;
8
+  background: rgba(0, 0, 0, 0.4);
9
+  z-index: 99;
10
+
11
+  display: flex;
12
+  justify-content: center;
13
+  align-items: center;
14
+}
15
+
16
+.detail {
17
+  width: 1200px;
18
+  height: 580px;
19
+  border-radius: 5px;
20
+  background: #fff;
21
+  color: #333;
22
+  font-size: 14px;
23
+  padding: 12px 20px;
24
+  position: relative;
25
+  padding-bottom: 70px;
26
+
27
+  .title {
28
+    font-size: 18px;
29
+    text-align: center;
30
+    line-height: 24px;
31
+    margin: 0;
32
+    margin-bottom: 12px;
33
+    position: relative;
34
+
35
+    i {
36
+      position: absolute;
37
+      right: 0;
38
+      top: 0;
39
+      font-size: 20px;
40
+      color: #666;
41
+      cursor: pointer;
42
+      padding: 0 5px;
43
+    }
44
+  }
45
+
46
+  & > .box {
47
+    border: 1px solid #e5e9ed;
48
+    border-radius: 5px;
49
+    overflow: hidden;
50
+
51
+    .tab {
52
+      width: 100%;
53
+      height: 60px;
54
+      border-bottom: 1px solid #e5e9ed;
55
+
56
+      .item {
57
+        text-align: center;
58
+        line-height: 60px;
59
+        height: 100%;
60
+        border-right: 1px solid #e5e9ed;
61
+
62
+        &:nth-last-child(1) {
63
+          border: none;
64
+        }
65
+
66
+        &.checked {
67
+          background: #f9fafb;
68
+        }
69
+      }
70
+    }
71
+
72
+    .content {
73
+      width: 100%;
74
+      min-height: 453px;
75
+      max-height: 500px;
76
+
77
+      &.orders {
78
+        background: #f9fafb;
79
+      }
80
+
81
+      & > .top {
82
+        padding: 10px 32px;
83
+        border-bottom: 1px solid #e5e9ed;
84
+        overflow: hidden;
85
+        background: #fff;
86
+
87
+        .num {
88
+          font-size: 16px;
89
+          overflow: hidden;
90
+          margin-bottom: 6px;
91
+
92
+          .left {
93
+            float: left;
94
+            font-weight: 600;
95
+          }
96
+
97
+          .right {
98
+            float: right;
99
+          }
100
+        }
101
+
102
+        .info {
103
+          color: #666;
104
+
105
+          & > div {
106
+            margin: 4px 0;
107
+          }
108
+
109
+          .jiaji {
110
+            margin: 0;
111
+            margin-top: 8px;
112
+          }
113
+        }
114
+      }
115
+
116
+      & > .center {
117
+        padding: 27px 0 17px 0;
118
+        border-bottom: 1px solid #e5e9ed;
119
+        font-size: 12px;
120
+        background: #fff;
121
+
122
+        .box {
123
+          display: flex;
124
+          justify-content: center;
125
+
126
+          .steps {
127
+            &:nth-last-child(1) {
128
+              .line {
129
+                display: none !important;
130
+              }
131
+            }
132
+
133
+            .step {
134
+              .info {
135
+                width: 90px;
136
+                text-align: center;
137
+                display: inline-block;
138
+                vertical-align: top;
139
+
140
+                i {
141
+                  color: #e5e9ed;
142
+
143
+                  &.green {
144
+                    color: #bee1a7;
145
+                  }
146
+                }
147
+              }
148
+
149
+              p {
150
+                margin: 0;
151
+              }
152
+
153
+              .line {
154
+                display: inline-block;
155
+                width: 60px;
156
+                height: 2px;
157
+                background: #e5e9ed;
158
+              }
159
+            }
160
+          }
161
+        }
162
+      }
163
+
164
+      & > .bottom {
165
+        padding: 25px 32px;
166
+        background: #f9fafb;
167
+
168
+        .urgent {
169
+          input {
170
+            width: 600px;
171
+          }
172
+
173
+          .candelBtn {
174
+            margin-left: 20px;
175
+          }
176
+        }
177
+
178
+        .table {
179
+          width: 100%;
180
+          height: 100%;
181
+          min-height: 160px;
182
+          background: #fff;
183
+          border-radius: 5px;
184
+
185
+          .thead {
186
+            background-image: repeating-linear-gradient(
187
+              to right,
188
+              @bg-start,
189
+              @bg-end 100%
190
+            ) !important;
191
+
192
+            th {
193
+              color: #fff !important;
194
+              text-align: center;
195
+              font-size: 12px;
196
+              border: none;
197
+            }
198
+          }
199
+
200
+          .detailDrugTable {
201
+            .thead {
202
+              background-image: repeating-linear-gradient(
203
+                to right,
204
+                @bg-start,
205
+                @bg-end 50%
206
+              ) !important;
207
+            }
208
+          }
209
+
210
+          .ant-table-tbody {
211
+            tr {
212
+              text-align: center;
213
+              font-size: 12px;
214
+              border: none;
215
+
216
+              td {
217
+                border: none;
218
+              }
219
+            }
220
+
221
+            tr:nth-child(2n) {
222
+              background: #f9fafb;
223
+            }
224
+          }
225
+        }
226
+
227
+        .info {
228
+          width: 100%;
229
+          height: 100%;
230
+          background: #fff;
231
+          border-radius: 5px;
232
+          border: 1px solid #e5e9ed;
233
+          padding: 24px 28px 14px 28px;
234
+          margin-bottom: 8px;
235
+
236
+          .top {
237
+            .left {
238
+              border-right: 1px dashed #e5e9ed;
239
+
240
+              p {
241
+                padding: 0 70px 0 102px;
242
+                overflow: hidden;
243
+
244
+                & > span:nth-child(1) {
245
+                  float: left;
246
+                }
247
+
248
+                & > span:nth-child(2) {
249
+                  float: right;
250
+                  color: #666;
251
+                  text-align: right;
252
+                  max-width: 175px;
253
+                }
254
+              }
255
+            }
256
+
257
+            .right {
258
+              p {
259
+                padding: 0 102px 0 70px;
260
+                overflow: hidden;
261
+
262
+                span:nth-child(1) {
263
+                  float: left;
264
+                }
265
+
266
+                span:nth-child(2) {
267
+                  float: right;
268
+                  color: #666;
269
+                  text-align: right;
270
+                }
271
+              }
272
+            }
273
+          }
274
+
275
+          .wait {
276
+            text-align: center;
277
+            margin-top: 7px;
278
+
279
+            i {
280
+              font-size: 24px;
281
+              color: #62c26d;
282
+            }
283
+
284
+            span {
285
+              color: #62c26d;
286
+            }
287
+          }
288
+        }
289
+      }
290
+
291
+      &.pingjia {
292
+        .msg {
293
+          width: 100%;
294
+          height: 50px;
295
+          line-height: 50px;
296
+          padding-left: 32px;
297
+          border-bottom: 1px solid #e5e9ed;
298
+
299
+          div {
300
+            display: inline-block;
301
+            margin-right: 100px;
302
+          }
303
+        }
304
+
305
+        .con {
306
+          padding: 16px 32px;
307
+          min-height: 360px;
308
+        }
309
+      }
310
+
311
+      & > .form {
312
+        .ant-form-item {
313
+          padding: 0 32px 13px 32px;
314
+          margin-bottom: 0;
315
+          border-bottom: 1px solid #e5e9ed;
316
+
317
+          &:nth-last-child(1) {
318
+            border: none;
319
+          }
320
+        }
321
+
322
+        .ant-form-item-label {
323
+          line-height: 34px;
324
+          text-align: left;
325
+        }
326
+      }
327
+
328
+      & > .mediation {
329
+        padding: 16px 32px;
330
+
331
+        .item {
332
+          border-bottom: 1px solid #e5e9ed;
333
+          padding-top: 10px;
334
+
335
+          .label {
336
+            line-height: 28px;
337
+            margin-top: 10px;
338
+          }
339
+
340
+          .info {
341
+            line-height: 28px;
342
+            color: #999;
343
+            padding-bottom: 20px;
344
+          }
345
+        }
346
+      }
347
+
348
+      &.jifen {
349
+        padding: 32px;
350
+
351
+        & > .table {
352
+          width: 100%;
353
+          height: 100%;
354
+          min-height: 160px;
355
+          padding: 6px;
356
+          background: #fff;
357
+          border: 1px solid #e5e9ed;
358
+          border-radius: 5px;
359
+          overflow: hidden;
360
+
361
+          .thead {
362
+            background-image: repeating-linear-gradient(
363
+              to right,
364
+              @bg-start,
365
+              @bg-end 100%
366
+            ) !important;
367
+
368
+            th {
369
+              color: #fff !important;
370
+              text-align: center;
371
+              font-size: 12px;
372
+              border: none;
373
+              background: transparent;
374
+            }
375
+          }
376
+
377
+          .ant-table-tbody {
378
+            tr {
379
+              text-align: center;
380
+              font-size: 12px;
381
+              border: none;
382
+
383
+              td {
384
+                border: none;
385
+              }
386
+            }
387
+
388
+            tr:nth-child(2n) {
389
+              background: #f9fafb;
390
+            }
391
+          }
392
+        }
393
+      }
394
+    }
395
+  }
396
+
397
+  .btns {
398
+    display: flex;
399
+    justify-content: center;
400
+    align-items: center;
401
+    width: 60%;
402
+    margin: 48px auto 0;
403
+
404
+    .btn {
405
+      margin: 9px;
406
+      margin-bottom: 0;
407
+    }
408
+  }
409
+
410
+  .ant-table {
411
+    border: none !important;
412
+  }
413
+}
414
+
415
+// 撤回工单
416
+.recallOrder {
417
+  position: fixed;
418
+  left: 0;
419
+  top: 0;
420
+  width: 100%;
421
+  height: 100%;
422
+
423
+  display: flex;
424
+  justify-content: center;
425
+  align-items: center;
426
+  background: rgba(0, 0, 0, 0.4);
427
+  z-index: 99;
428
+
429
+  .modalBody {
430
+    width: 350px;
431
+    height: 220px;
432
+    background: #fff;
433
+    border-radius: 5px;
434
+    padding: 10px 20px;
435
+    color: #333;
436
+
437
+    .title {
438
+      width: 100%;
439
+      text-align: center;
440
+      font-size: 18px;
441
+      position: relative;
442
+
443
+      i {
444
+        position: absolute;
445
+        right: 0;
446
+        top: 0;
447
+        font-size: 20px;
448
+        color: #666;
449
+        cursor: pointer;
450
+        padding: 0 5px;
451
+      }
452
+    }
453
+
454
+    .content {
455
+      width: 310px;
456
+      height: 117px;
457
+      background: #f9fafb;
458
+      border: 1px solid #e5e9ed;
459
+      border-radius: 5px;
460
+      overflow: hidden;
461
+      margin-top: 12px;
462
+
463
+      div {
464
+        text-align: center;
465
+        margin: 0;
466
+
467
+        &.icon {
468
+          margin-top: 17px;
469
+
470
+          i {
471
+            color: #ff3b53;
472
+            font-size: 30px !important;
473
+
474
+            &.transport-wenhao {
475
+              color: #f5a523;
476
+            }
477
+          }
478
+        }
479
+
480
+        &.defeat {
481
+          color: #333;
482
+          font-size: 18px;
483
+        }
484
+
485
+        &:nth-child(3) {
486
+          font-size: 14px;
487
+          color: #666;
488
+        }
489
+      }
490
+
491
+      .conditions {
492
+        padding: 16px 20px;
493
+
494
+        div {
495
+          text-align: left;
496
+        }
497
+      }
498
+    }
499
+
500
+    button {
501
+      margin-top: 10px;
502
+
503
+      &.btn {
504
+        margin-left: 8px;
505
+      }
506
+    }
507
+  }
508
+}
509
+
510
+.txtC {
511
+  text-align: center;
512
+}
513
+.ji {
514
+  position: absolute;
515
+  right: 0px;
516
+  top: -3px;
517
+  width: 30px;
518
+}
519
+.hospitalTable {
520
+  padding: 21px 12px;
521
+  padding-bottom: 0;
522
+
523
+  .thead {
524
+    background-image: linear-gradient(to right, @bg-start, @bg-end);
525
+
526
+    th {
527
+      background: transparent;
528
+      color: #fff;
529
+      text-align: center;
530
+      font-size: 14px;
531
+    }
532
+  }
533
+
534
+  .ant-table-body {
535
+    border-bottom: 1px solid #e5e9ed;
536
+  }
537
+
538
+  .ant-table-tbody {
539
+    tr {
540
+      text-align: center;
541
+      font-size: 14px;
542
+      border: none;
543
+      color: #333;
544
+
545
+      td {
546
+        border: none;
547
+
548
+        .coop {
549
+          span {
550
+            display: inline-block;
551
+            width: 60px;
552
+            cursor: pointer;
553
+
554
+            &::after {
555
+              content: "|";
556
+              float: right;
557
+            }
558
+
559
+            &:hover {
560
+              color: @primary-color;
561
+            }
562
+
563
+            &:active {
564
+              color: @primary-color;
565
+            }
566
+
567
+            &:nth-last-child(1) {
568
+              &::after {
569
+                content: "";
570
+              }
571
+            }
572
+          }
573
+        }
574
+      }
575
+    }
576
+
577
+    tr:nth-child(2n-1) {
578
+      background: #f9fafb;
579
+    }
580
+  }
581
+}
582
+.pagination {
583
+  margin-top: 14px;
584
+  position: absolute;
585
+  right: 5px;
586
+}
587
+.filters {
588
+  position: absolute;
589
+  left: 0;
590
+  top: 0;
591
+}

+ 77 - 0
src/app/views/inspect-active-detail/inspect-active-detail.component.ts

@@ -0,0 +1,77 @@
1
+import { Component, OnInit } from "@angular/core";
2
+import { ActivatedRoute, Router } from "@angular/router";
3
+import { NzMessageService } from "ng-zorro-antd";
4
+import { MainService } from "src/app/services/main.service";
5
+import { ToolService } from "src/app/services/tool.service";
6
+
7
+@Component({
8
+  selector: "app-inspect-active-detail",
9
+  templateUrl: "./inspect-active-detail.component.html",
10
+  styleUrls: ["./inspect-active-detail.component.less"],
11
+})
12
+export class InspectActiveDetailComponent implements OnInit {
13
+  loading1 = false; //获取选中支助人员的工单列表loading
14
+  hosId; //当前院区id
15
+  currentPersonId; //当前支助人员id
16
+  startTime; //当前开始时间
17
+  endTime; //当前结束时间
18
+  groupId; //当前组ID
19
+  listOfData = []; //获取选中支助人员的工单列表
20
+  pageIndex: number = 1; //页码
21
+  listLength: number = 0; //总数据条目数
22
+  pageSize: number = 10; //每页条数
23
+  constructor(
24
+    private mainService: MainService,
25
+    private tool: ToolService,
26
+    private message: NzMessageService,
27
+    private route: ActivatedRoute,
28
+    private router: Router
29
+  ) {}
30
+
31
+  ngOnInit() {
32
+    this.hosId = this.tool.getCurrentHospital().id;
33
+    this.currentPersonId = this.route.snapshot.params.workerId;
34
+    this.startTime = this.route.snapshot.params.startTime;
35
+    this.endTime = this.route.snapshot.params.endTime;
36
+    this.groupId = this.route.snapshot.params.groupId;
37
+    this.getOrdersByPerson(this.hosId, this.currentPersonId);
38
+  }
39
+  //获取选中支助人员的工单列表
40
+  getOrdersByPerson(hosId: number, currentPersonId: number) {
41
+    this.loading1 = true;
42
+    let postData = {
43
+      idx: this.pageIndex - 1,
44
+      sum: this.pageSize,
45
+      startTime: this.startTime,
46
+      endTime: this.endTime,
47
+      hosId,
48
+      groupId: this.groupId == "null" ? "" : this.groupId,
49
+      worker: currentPersonId,
50
+    };
51
+    this.mainService.postCustom("report", "userDetails", postData).subscribe(
52
+      (result) => {
53
+        this.loading1 = false;
54
+        if (result.status == 200) {
55
+          this.listOfData = result.list;
56
+          this.listLength = result.totalNum;
57
+        } else {
58
+          this.message.error("获取数据失败");
59
+        }
60
+      },
61
+      (err) => {
62
+        this.loading1 = false;
63
+        this.message.error("获取数据失败");
64
+      }
65
+    );
66
+  }
67
+  //查看积分详情
68
+  integralDetail(obj) {
69
+    this.router.navigateByUrl(
70
+      `/main/workerStatistics/workerStatisticsDetail/${this.currentPersonId}/${this.startTime}/${this.endTime}/${this.groupId}/orderDetail/${obj.id}/3`
71
+    );
72
+  }
73
+  //关闭
74
+  close() {
75
+    this.router.navigateByUrl("/main/workerStatistics");
76
+  }
77
+}

+ 12 - 0
src/app/views/inspect-active-detail/inspect-active-detail.module.ts

@@ -0,0 +1,12 @@
1
+import { NgModule } from "@angular/core";
2
+import { CommonModule } from "@angular/common";
3
+
4
+import { InspectActiveDetailRoutingModule } from "./inspect-active-detail-routing.module";
5
+import { ShareModule } from "src/app/share/share.module";
6
+import { InspectActiveDetailComponent } from "./inspect-active-detail.component";
7
+
8
+@NgModule({
9
+  declarations: [InspectActiveDetailComponent],
10
+  imports: [CommonModule, InspectActiveDetailRoutingModule, ShareModule],
11
+})
12
+export class InspectActiveDetailModule {}

+ 5 - 5
src/app/views/inspect-active/inspect-active-routing.module.ts

@@ -1,6 +1,6 @@
1 1
 import { NgModule } from "@angular/core";
2 2
 import { Routes, RouterModule } from "@angular/router";
3
-import { InspectActiveComponent } from './inspect-active.component';
3
+import { InspectActiveComponent } from "./inspect-active.component";
4 4
 
5 5
 const routes: Routes = [
6 6
   {
@@ -8,11 +8,11 @@ const routes: Routes = [
8 8
     component: InspectActiveComponent,
9 9
     children: [
10 10
       {
11
-        path: "workerStatisticsDetail/:workerId/:startTime/:endTime/:groupId", //id是workid,startTime是开始时间,endTime是结束时间,groupId是组ID
11
+        path: "inspectActiveDetail/:workerId/:startTime/:endTime/:groupId", //id是workid,startTime是开始时间,endTime是结束时间,groupId是组ID
12 12
         loadChildren: () =>
13
-          import(
14
-            "../worker-statistics-detail/worker-statistics-detail.module"
15
-          ).then((m) => m.WorkerStatisticsDetailModule),
13
+          import("../inspect-active-detail/inspect-active-detail.module").then(
14
+            (m) => m.InspectActiveDetailModule
15
+          ),
16 16
       },
17 17
     ],
18 18
   },

+ 13 - 17
src/app/views/inspect-active/inspect-active.component.html

@@ -9,23 +9,17 @@
9 9
           <br />
10 10
         </div>
11 11
         <div class="list-template__searchItem ml8">
12
-          <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" [nzShowSearch]="false" nzAllowClear
13
-            nzPlaceHolder="请选择时间" [(ngModel)]="defRange" (ngModelChange)="changeDateRange($event)">
12
+          <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" [nzShowSearch]="false" nzPlaceHolder="请选择时间"
13
+            [(ngModel)]="defRange" (ngModelChange)="changeDateRange($event)">
14 14
             <nz-option nzLabel="{{data.label}}" nzValue="{{data.id}}" *ngFor="let data of defRanges"></nz-option>
15 15
           </nz-select>
16 16
         </div>
17
-        <!-- <div class="list-template__searchItem">
18
-          <span class="label">支助人员</span>:
19
-          <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" [nzShowSearch]="false" nzAllowClear
20
-            nzPlaceHolder="请选择支助人员" [ngModel]="group" (ngModelChange)="searchGroup($event)">
21
-            <nz-option nzLabel="全部" nzValue="0"></nz-option>
22
-            <nz-option nzLabel="{{data.groupName}}" nzValue="{{data.id}}" *ngFor="let data of workerList"></nz-option>
23
-          </nz-select>
24
-        </div> -->
25 17
         <div class="list-template__searchItem">
26 18
           <span class="label">支助人员</span>:
27 19
           <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch
28
-            (nzOnSearch)="changeUser($event)" nzAllowClear nzPlaceHolder="请选择支助人员" [(ngModel)]="worker">
20
+            (nzOnSearch)="changeUser($event)" nzPlaceHolder="请选择支助人员" [(ngModel)]="worker"
21
+            (ngModelChange)="searchWorker($event)">
22
+            <nz-option *ngIf="!isLoading" nzLabel="全部" [nzValue]="0"></nz-option>
29 23
             <ng-container *ngFor="let option of allWorker">
30 24
               <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
31 25
             </ng-container>
@@ -48,13 +42,14 @@
48 42
           <tr class="thead">
49 43
             <th nzWidth="5%">序号</th>
50 44
             <th nzWidth="10%">支助人员名称</th>
51
-            <th nzWidth="10%">工单总量</th>
52
-            <th nzWidth="10%">积分</th>
53
-            <th nzWidth="10%">好评数量</th>
45
+            <th nzWidth="10%">预约检查总数</th>
46
+            <th nzWidth="12%">系统自动建单数</th>
47
+            <th nzWidth="8%">主动建单数</th>
48
+            <th nzWidth="8%">科室派单数</th>
49
+            <th nzWidth="7%">未建单</th>
54 50
             <th nzWidth="10%">特殊关闭数量</th>
55
-            <th nzWidth="15%">按时完成达标率</th>
56
-            <th nzWidth="10%">平均到达时间</th>
57
-            <th nzWidth="10%">平均完成时间</th>
51
+            <th nzWidth="10%">主动服务占比</th>
52
+            <th nzWidth="10%">科室服务占比</th>
58 53
             <th nzWidth="10%">操作</th>
59 54
           </tr>
60 55
         </thead>
@@ -68,6 +63,7 @@
68 63
             <td>{{data.specialCloseNum}}</td>
69 64
             <td>{{data.avePer+'%'}}</td>
70 65
             <td>{{data.arriveTime}}</td>
66
+            <td>{{data.arriveTime}}</td>
71 67
             <td>{{data.completeTime}}</td>
72 68
             <td>
73 69
               <div class="coop">

+ 9 - 10
src/app/views/inspect-active/inspect-active.component.ts

@@ -109,7 +109,7 @@ export class InspectActiveComponent implements OnInit {
109 109
       hosId: that.hospital,
110 110
       startTime: this.startDate + " " + "00:00:00",
111 111
       endTime: this.endDate + " " + "23:59:59",
112
-      groupId: that.group || "",
112
+      groupId: that.worker || "",
113 113
     };
114 114
     this.loading2 = true;
115 115
     that.mainService.exportReport("user", postData).subscribe(
@@ -137,7 +137,7 @@ export class InspectActiveComponent implements OnInit {
137 137
   // 重置
138 138
   reset() {
139 139
     this.changeDateRange("1");
140
-    this.group = null;
140
+    this.worker = 0;
141 141
     this.search();
142 142
   }
143 143
   // 表格数据
@@ -152,7 +152,7 @@ export class InspectActiveComponent implements OnInit {
152 152
       startTime: this.searchData.dateRange.start,
153 153
       endTime: this.searchData.dateRange.end,
154 154
       hosId: this.searchData.hosId,
155
-      groupId: this.group || "",
155
+      groupId: this.worker || "",
156 156
     };
157 157
     this.loading1 = true;
158 158
     this.mainService
@@ -165,7 +165,6 @@ export class InspectActiveComponent implements OnInit {
165 165
   }
166 166
   // 获取院区/分组
167 167
   hospital: string; //选中院区
168
-  group: string; //选中组
169 168
   allWorker: any = []; //支助人员列表
170 169
   getAllHos() {
171 170
     this.hospital = this.tool.getCurrentHospital().id + "";
@@ -177,7 +176,7 @@ export class InspectActiveComponent implements OnInit {
177 176
     this.searchTimerSubject.next(e);
178 177
   }
179 178
   // 获取支助人员列表
180
-  worker: number; //选中的支助人员
179
+  worker: number = 0; //选中的支助人员
181 180
   isLoading = false;
182 181
   getAllWorker(e: any = "") {
183 182
     let postData = {
@@ -227,9 +226,9 @@ export class InspectActiveComponent implements OnInit {
227 226
       result[1].getDate();
228 227
     this.search();
229 228
   }
230
-  // 修改搜素条件工作组
231
-  searchGroup(e) {
232
-    this.group = e;
229
+  // 修改搜索条件支助人员
230
+  searchWorker(e) {
231
+    this.worker = e;
233 232
     this.search();
234 233
   }
235 234
   // 日期选择 快速修改时间区间
@@ -301,9 +300,9 @@ export class InspectActiveComponent implements OnInit {
301 300
   personDetail(workerId) {
302 301
     let startDate = this.startDate + " " + "00:00:00";
303 302
     let endDate = this.endDate + " " + "23:59:59";
304
-    let group = this.group || "null";
303
+    let worker = this.worker || "null";
305 304
     this.router.navigateByUrl(
306
-      `/main/workerStatistics/workerStatisticsDetail/${workerId}/${startDate}/${endDate}/${group}`
305
+      `/main/inspectActive/inspectActiveDetail/${workerId}/${startDate}/${endDate}/${worker}`
307 306
     );
308 307
   }
309 308
 }