浏览代码

数据核对

seimin 3 年之前
父节点
当前提交
5e6e87dbec

+ 6 - 0
src/app/services/main.service.ts

@@ -512,4 +512,10 @@ export class MainService {
512 512
       }
513 513
     );
514 514
   }
515
+  //数据核对
516
+  infoSearch(type, id) {
517
+    return this.http.get(host.host + "/testData/view/" + type + "/" + id, {
518
+      headers: this.headers,
519
+    });
520
+  }
515 521
 }

+ 11 - 0
src/app/views/info-search/info-search-routing.module.ts

@@ -0,0 +1,11 @@
1
+import { NgModule } from "@angular/core";
2
+import { Routes, RouterModule } from "@angular/router";
3
+import { InfoSearchComponent } from "./info-search.component";
4
+
5
+const routes: Routes = [{ path: "", component: InfoSearchComponent }];
6
+
7
+@NgModule({
8
+  imports: [RouterModule.forChild(routes)],
9
+  exports: [RouterModule],
10
+})
11
+export class InfoSearchRoutingModule {}

+ 570 - 0
src/app/views/info-search/info-search.component.html

@@ -0,0 +1,570 @@
1
+<div class="list-template">
2
+  <div class="list-template__content">
3
+    <div class="list-template__top" nz-row>
4
+      <div nz-col nzXl='16' class="list-template__searchBox">
5
+        <div class="list-template__searchItem">
6
+          <span class="label">编码:</span>
7
+          <input nz-input class="formItem" placeholder="请输入编码" [(ngModel)]="searchCriteria.id" />
8
+        </div>
9
+        <div class="list-template__searchItem">
10
+          <span class="label">类型:</span>
11
+          <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzPlaceHolder="请选择类型"
12
+            [(ngModel)]="searchCriteria.target">
13
+            <ng-container *ngFor="let data of typeList">
14
+              <nz-option *ngIf="!isLoading" nzLabel="{{data.name}}" nzValue="{{data.type}}"></nz-option>
15
+            </ng-container>
16
+            <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
17
+              <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
18
+            </nz-option>
19
+          </nz-select>
20
+        </div>
21
+      </div>
22
+      <div nz-col nzXl="8" class="list-template__btns">
23
+        <button nz-button class="btn default" (click)='reset()'>重置</button>
24
+        <button nz-button class="btn default ml8" (click)='getList()'>搜索</button>
25
+      </div>
26
+    </div>
27
+    <ng-container *ngIf="!loading1">
28
+      <nz-collapse>
29
+        <nz-collapse-panel *ngFor="let panel of panels" [nzHeader]="panel.name" [nzActive]="panel.active">
30
+          <ng-container [ngSwitch]="panel.extra">
31
+            <!-- 检查列表 -->
32
+            <div *ngSwitchCase="'inspectList'" class="list-template__bottom">
33
+              <nz-table class="list-template__nzTable" #inspectListTpl [nzData]="panel.list" nzSize="middle"
34
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
35
+                <thead>
36
+                  <tr class="thead">
37
+                    <th nzWidth="130px">序号</th>
38
+                    <th nzWidth="130px">标本编码</th>
39
+                    <th nzWidth="130px">院区</th>
40
+                    <th nzWidth="130px">检查类型</th>
41
+                    <th nzWidth="130px">检查状态</th>
42
+                    <th nzWidth="130px">申请科室</th>
43
+                    <th nzWidth="130px">执行科室</th>
44
+                    <th nzWidth="130px">检查ID</th>
45
+                    <th nzWidth="130px">版本</th>
46
+                    <th nzWidth="130px">患者编码</th>
47
+                    <th nzWidth="130px">患者名称</th>
48
+                    <th nzWidth="130px">患者腕带码</th>
49
+                    <th nzWidth="130px">院区编码</th>
50
+                    <th nzWidth="130px">院区名称</th>
51
+                    <th nzWidth="130px">检查类型编码</th>
52
+                    <th nzWidth="130px">检查类型</th>
53
+                    <th nzWidth="130px">检查状态ID</th>
54
+                    <th nzWidth="130px">检查编码</th>
55
+                    <th nzWidth="130px">检查类型名称</th>
56
+                    <th nzWidth="130px">医师编码</th>
57
+                    <th nzWidth="130px">医师名称</th>
58
+                    <th nzWidth="130px">申请时间
59
+                      <!--20-->
60
+                    </th>
61
+                    <th nzWidth="130px">申请科室ID</th>
62
+                    <th nzWidth="130px">检查部位编码</th>
63
+                    <th nzWidth="130px">检查部位名称</th>
64
+                    <th nzWidth="130px">紧急度</th>
65
+                    <th nzWidth="130px">执行科室ID</th>
66
+                    <th nzWidth="130px">预约时间
67
+                      <!--26-->
68
+                    </th>
69
+                    <th nzWidth="130px">床号</th>
70
+                    <th nzWidth="130px">修改时间
71
+                      <!--28-->
72
+                    </th>
73
+                    <th nzWidth="130px">工单ID</th>
74
+                    <th nzWidth="130px">检查时间
75
+                      <!--30-->
76
+                    </th>
77
+                    <th nzWidth="130px">检查人</th>
78
+                    <th nzWidth="130px">预约号码</th>
79
+                    <th nzWidth="130px">送达时间
80
+                      <!--33-->
81
+                    </th>
82
+                    <th nzWidth="130px">创建时间
83
+                      <!--34-->
84
+                    </th>
85
+                    <th nzWidth="130px">院区ID</th>
86
+                  </tr>
87
+                </thead>
88
+                <tbody>
89
+                  <tr *ngFor="let data of inspectListTpl.data;let i = index">
90
+                    <td>{{i+1}}</td>
91
+                    <td *ngFor="let item of [].constructor(data.length);let index=index">
92
+                      <ng-container
93
+                        *ngIf="(index===20||index===26||index===28||index===30||index===33||index===34); else inspectListBlock">
94
+                        {{data[index]|date:'yyyy-MM-dd HH:mm'}}
95
+                      </ng-container>
96
+                      <ng-template #inspectListBlock>
97
+                        {{data[index]}}
98
+                      </ng-template>
99
+                    </td>
100
+                  </tr>
101
+                </tbody>
102
+              </nz-table>
103
+            </div>
104
+            <!-- 工单信息 -->
105
+            <div *ngSwitchCase="'order'" class="list-template__bottom">
106
+              <nz-table class="list-template__nzTable" #orderTpl [nzData]="panel.list" nzSize="middle"
107
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
108
+                <thead>
109
+                  <tr class="thead">
110
+                    <th nzWidth="130px">序号</th>
111
+                    <th nzWidth="130px">ID</th>
112
+                    <th nzWidth="130px">院区</th>
113
+                    <th nzWidth="130px">支助人员</th>
114
+                    <th nzWidth="130px">创建人</th>
115
+                    <th nzWidth="130px">工单状态</th>
116
+                    <th nzWidth="130px">患者姓名</th>
117
+                    <th nzWidth="130px">任务类型</th>
118
+                    <th nzWidth="130px">业务类型</th>
119
+                    <th nzWidth="130px">工作组</th>
120
+                    <th nzWidth="130px">是否加急</th>
121
+                    <th nzWidth="130px">起点科室</th>
122
+                    <th nzWidth="130px">创建科室</th>
123
+                    <th nzWidth="130px">工单编码</th>
124
+                    <th nzWidth="130px">建单时间
125
+                      <!-- 13 -->
126
+                    </th>
127
+                    <th nzWidth="130px">院区ID</th>
128
+                    <th nzWidth="130px">支助人员ID</th>
129
+                    <th nzWidth="130px">创建人ID</th>
130
+                    <th nzWidth="130px">工单状态ID</th>
131
+                    <th nzWidth="130px">患者ID</th>
132
+                    <th nzWidth="130px">任务类型ID</th>
133
+                    <th nzWidth="130px">业务类型ID</th>
134
+                    <th nzWidth="130px">工作组ID</th>
135
+                    <th nzWidth="130px">加急ID</th>
136
+                    <th nzWidth="130px">起点科室ID</th>
137
+                    <th nzWidth="130px">创建科室ID</th>
138
+                    <th nzWidth="130px">终点科室IDS</th>
139
+                    <th nzWidth="130px">中间科室IDS</th>
140
+                    <th nzWidth="130px">下个科室IDS</th>
141
+                    <th nzWidth="130px">检查列表IDS</th>
142
+                    <th nzWidth="130px">删除标识</th>
143
+                    <th nzWidth="130px">建单来源</th>
144
+                    <th nzWidth="130px">异常状态</th>
145
+                    <th nzWidth="130px">是否护士陪同</th>
146
+                    <th nzWidth="130px">是否送回</th>
147
+                    <th nzWidth="130px">携带物品IDS</th>
148
+                    <th nzWidth="130px">预约建单时间
149
+                      <!-- 35 -->
150
+                    </th>
151
+                    <th nzWidth="130px">派单时间
152
+                      <!-- 36 -->
153
+                    </th>
154
+                    <th nzWidth="130px">接单时间
155
+                      <!-- 37 -->
156
+                    </th>
157
+                    <th nzWidth="130px">到达时间
158
+                      <!-- 38 -->
159
+                    </th>
160
+                    <th nzWidth="130px">完成时间
161
+                      <!-- 39 -->
162
+                    </th>
163
+                    <th nzWidth="130px">关单时间
164
+                      <!-- 40 -->
165
+                    </th>
166
+                    <th nzWidth="130px">逾期时间
167
+                      <!-- 41 -->
168
+                    </th>
169
+                    <th nzWidth="130px">预计响应时间
170
+                      <!-- 42 -->
171
+                    </th>
172
+                    <th nzWidth="130px">预计到达时间
173
+                      <!-- 43 -->
174
+                    </th>
175
+                    <th nzWidth="130px">预计完成时间
176
+                      <!-- 44 -->
177
+                    </th>
178
+                    <th nzWidth="130px">标本送达数量</th>
179
+                    <th nzWidth="130px">标本实际接收数量</th>
180
+                    <th nzWidth="130px">预计接收数量</th>
181
+                    <th nzWidth="130px">响应时长</th>
182
+                    <th nzWidth="130px">到达时长</th>
183
+                    <th nzWidth="130px">执行时长</th>
184
+                    <th nzWidth="130px">总时长</th>
185
+                    <th nzWidth="130px">特殊关闭原因</th>
186
+                    <th nzWidth="130px">工单备注</th>
187
+                    <th nzWidth="130px">工单来电号码</th>
188
+                  </tr>
189
+                </thead>
190
+                <tbody>
191
+                  <tr *ngFor="let data of orderTpl.data;let i = index">
192
+                    <td>{{i+1}}</td>
193
+                    <td *ngFor="let item of [].constructor(data.length);let index=index">
194
+                      <ng-container
195
+                        *ngIf="(index===13||index===35||index===36||index===37||index===38||index===39||index===40||index===41||index===42||index===43||index===44); else orderBlock">
196
+                        {{data[index]|date:'yyyy-MM-dd HH:mm'}}
197
+                      </ng-container>
198
+                      <ng-template #orderBlock>
199
+                        {{data[index]}}
200
+                      </ng-template>
201
+                    </td>
202
+                  </tr>
203
+                </tbody>
204
+              </nz-table>
205
+            </div>
206
+            <!-- 工单日志 -->
207
+            <div *ngSwitchCase="'orderLogs'" class="list-template__bottom">
208
+              <nz-table class="list-template__nzTable" #orderLogsTpl [nzData]="panel.list" nzSize="middle"
209
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
210
+                <thead>
211
+                  <tr class="thead">
212
+                    <th nzWidth="130px">序号</th>
213
+                    <th nzWidth="130px">操作人</th>
214
+                    <th nzWidth="130px">操作时间</th>
215
+                    <th nzWidth="130px">操作</th>
216
+                    <th nzWidth="130px">科室</th>
217
+                  </tr>
218
+                </thead>
219
+                <tbody>
220
+                  <tr *ngFor="let data of orderLogsTpl.data;let i = index">
221
+                    <td>{{i+1}}</td>
222
+                    <td>{{data[0]}}</td>
223
+                    <td>{{data[1]|date:'yyyy-MM-dd HH:mm'}}</td>
224
+                    <td>{{data[2]}}</td>
225
+                    <td>{{data[3]}}</td>
226
+                  </tr>
227
+                </tbody>
228
+              </nz-table>
229
+            </div>
230
+            <!-- 检查日志 -->
231
+            <div *ngSwitchCase="'inspectLogs'" class="list-template__bottom">
232
+              <nz-table class="list-template__nzTable" #inspectLogsTpl [nzData]="panel.list" nzSize="middle"
233
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
234
+                <thead>
235
+                  <tr class="thead">
236
+                    <th nzWidth="130px">序号</th>
237
+                    <th nzWidth="130px">ID</th>
238
+                    <th nzWidth="130px">创建时间</th>
239
+                    <th nzWidth="130px">JSON数据</th>
240
+                  </tr>
241
+                </thead>
242
+                <tbody>
243
+                  <tr *ngFor="let data of inspectLogsTpl.data;let i = index">
244
+                    <td>{{i+1}}</td>
245
+                    <td>{{data[0]}}</td>
246
+                    <td>{{data[1]|date:'yyyy-MM-dd HH:mm'}}</td>
247
+                    <td (click)="toJson(data[2])">{{data[2]}}</td>
248
+                  </tr>
249
+                </tbody>
250
+              </nz-table>
251
+            </div>
252
+            <!-- 标本列表 -->
253
+            <div *ngSwitchCase="'specimenList'" class="list-template__bottom">
254
+              <nz-table class="list-template__nzTable" #specimenListTpl [nzData]="panel.list" nzSize="middle"
255
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
256
+                <thead>
257
+                  <tr class="thead">
258
+                    <th nzWidth="130px">序号</th>
259
+                    <th nzWidth="130px">订单号</th>
260
+                    <th nzWidth="130px">院区</th>
261
+                    <th nzWidth="130px">标本类型</th>
262
+                    <th nzWidth="130px">标本状态</th>
263
+                    <th nzWidth="130px">起点科室</th>
264
+                    <th nzWidth="130px">目标科室</th>
265
+                    <th nzWidth="130px">中转科室</th>
266
+                    <th nzWidth="130px">ID</th>
267
+                    <th nzWidth="130px">版本</th>
268
+                    <th nzWidth="130px">工单ID</th>
269
+                    <th nzWidth="130px">标本类型ID</th>
270
+                    <th nzWidth="130px">标本编码</th>
271
+                    <th nzWidth="130px">患者名称</th>
272
+                    <th nzWidth="130px">起点科室ID</th>
273
+                    <th nzWidth="130px">房间号</th>
274
+                    <th nzWidth="130px">床号</th>
275
+                    <th nzWidth="130px">目标科室ID</th>
276
+                    <th nzWidth="130px">标本状态ID</th>
277
+                    <th nzWidth="130px">标本备注</th>
278
+                    <th nzWidth="130px">residence_no</th>
279
+                    <th nzWidth="130px">采集时间
280
+                      <!-- 20 -->
281
+                    </th>
282
+                    <th nzWidth="130px">患者编号</th>
283
+                    <th nzWidth="130px">是否加急</th>
284
+                    <th nzWidth="130px">扫描时间
285
+                      <!-- 23 -->
286
+                    </th>
287
+                    <th nzWidth="130px">送达时间
288
+                      <!-- 24 -->
289
+                    </th>
290
+                    <th nzWidth="130px">医生申请时间
291
+                      <!-- 25 -->
292
+                    </th>
293
+                    <th nzWidth="130px">护士贴码时间
294
+                      <!-- 26 -->
295
+                    </th>
296
+                    <th nzWidth="130px">医生ID</th>
297
+                    <th nzWidth="130px">贴码护士ID</th>
298
+                    <th nzWidth="130px">采集护士ID</th>
299
+                    <th nzWidth="130px">检验人员ID</th>
300
+                    <th nzWidth="130px">检验时间
301
+                      <!-- 31 -->
302
+                    </th>
303
+                    <th nzWidth="130px">中转科室ID</th>
304
+                    <th nzWidth="130px">送达工单ID</th>
305
+                    <th nzWidth="130px">院区编码</th>
306
+                    <th nzWidth="130px">院区ID</th>
307
+                    <th nzWidth="130px">订单号</th>
308
+                    <th nzWidth="130px">sys_arrive_time
309
+                      <!-- 37 -->
310
+                    </th>
311
+                  </tr>
312
+                </thead>
313
+                <tbody>
314
+                  <tr *ngFor="let data of specimenListTpl.data;let i = index">
315
+                    <td>{{i+1}}</td>
316
+                    <td *ngFor="let item of [].constructor(data.length);let index=index">
317
+                      <ng-container
318
+                        *ngIf="(index===20||index===23||index===24||index===25||index===26||index===31||index===37); else specimenListBlock">
319
+                        {{data[index]|date:'yyyy-MM-dd HH:mm'}}
320
+                      </ng-container>
321
+                      <ng-template #specimenListBlock>
322
+                        {{data[index]}}
323
+                      </ng-template>
324
+                    </td>
325
+                  </tr>
326
+                </tbody>
327
+              </nz-table>
328
+            </div>
329
+            <!-- 标本日志 -->
330
+            <div *ngSwitchCase="'specimenLogs'" class="list-template__bottom">
331
+              <nz-table class="list-template__nzTable" #specimenLogsTpl [nzData]="panel.list" nzSize="middle"
332
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
333
+                <thead>
334
+                  <tr class="thead">
335
+                    <th nzWidth="130px">序号</th>
336
+                    <th nzWidth="130px">ID</th>
337
+                    <th nzWidth="130px">创建时间</th>
338
+                    <th nzWidth="130px">JSON数据</th>
339
+                  </tr>
340
+                </thead>
341
+                <tbody>
342
+                  <tr *ngFor="let data of specimenLogsTpl.data;let i = index">
343
+                    <td>{{i+1}}</td>
344
+                    <td>{{data[0]}}</td>
345
+                    <td>{{data[1]|date:'yyyy-MM-dd HH:mm'}}</td>
346
+                    <td (click)="toJson(data[2])">{{data[2]}}</td>
347
+                  </tr>
348
+                </tbody>
349
+              </nz-table>
350
+            </div>
351
+            <!-- 药品列表 -->
352
+            <div *ngSwitchCase="'drugsBagList'" class="list-template__bottom">
353
+              <nz-table class="list-template__nzTable" #drugsBagListTpl [nzData]="panel.list" nzSize="middle"
354
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
355
+                <thead>
356
+                  <tr class="thead">
357
+                    <th nzWidth="130px">序号</th>
358
+                    <th nzWidth="130px">药包编码</th>
359
+                    <th nzWidth="130px">药包ID</th>
360
+                    <th nzWidth="130px">院区</th>
361
+                    <th nzWidth="130px">药包状态</th>
362
+                    <th nzWidth="130px">发药科室</th>
363
+                    <th nzWidth="130px">申请科室</th>
364
+                    <th nzWidth="130px">配送人员</th>
365
+                    <th nzWidth="130px">ID</th>
366
+                    <th nzWidth="130px">版本</th>
367
+                    <th nzWidth="130px">药包编码</th>
368
+                    <th nzWidth="130px">签收时间
369
+                      <!-- 10 -->
370
+                    </th>
371
+                    <th nzWidth="130px">签收人</th>
372
+                    <th nzWidth="130px">申请科室ID</th>
373
+                    <th nzWidth="130px">bagtime
374
+                      <!-- 13 -->
375
+                    </th>
376
+                    <th nzWidth="130px">发药科室ID</th>
377
+                    <th nzWidth="130px">创建时间
378
+                      <!-- 15 -->
379
+                    </th>
380
+                    <th nzWidth="130px">药包状态ID</th>
381
+                    <th nzWidth="130px">打包人</th>
382
+                    <th nzWidth="130px">打包时间
383
+                      <!-- 18 -->
384
+                    </th>
385
+                    <th nzWidth="130px">核对时间
386
+                      <!-- 19 -->
387
+                    </th>
388
+                    <th nzWidth="130px">开始配药时间
389
+                      <!-- 20 -->
390
+                    </th>
391
+                    <th nzWidth="130px">二维码</th>
392
+                    <th nzWidth="130px">配送人员ID</th>
393
+                    <th nzWidth="130px">批次号</th>
394
+                    <th nzWidth="130px">院区ID</th>
395
+                    <th nzWidth="130px">患者编码</th>
396
+                    <th nzWidth="130px">患者名称</th>
397
+                    <th nzWidth="130px">药品信息</th>
398
+                    <th nzWidth="130px">药品数量</th>
399
+                    <th nzWidth="130px">药包ID</th>
400
+                    <th nzWidth="130px">床号</th>
401
+                  </tr>
402
+                </thead>
403
+                <tbody>
404
+                  <tr *ngFor="let data of drugsBagListTpl.data;let i = index">
405
+                    <td>{{i+1}}</td>
406
+                    <td *ngFor="let item of [].constructor(data.length);let index=index">
407
+                      <ng-container
408
+                        *ngIf="(index===10||index===13||index===15||index===18||index===19||index===20); else drugsBagListBlock">
409
+                        {{data[index]|date:'yyyy-MM-dd HH:mm'}}
410
+                      </ng-container>
411
+                      <ng-template #drugsBagListBlock>
412
+                        {{data[index]}}
413
+                      </ng-template>
414
+                    </td>
415
+                  </tr>
416
+                </tbody>
417
+              </nz-table>
418
+            </div>
419
+            <!-- 药包日志 -->
420
+            <div *ngSwitchCase="'drugsBagLogs'" class="list-template__bottom">
421
+              <nz-table class="list-template__nzTable" #drugsBagLogsTpl [nzData]="panel.list" nzSize="middle"
422
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
423
+                <thead>
424
+                  <tr class="thead">
425
+                    <th nzWidth="130px">序号</th>
426
+                    <th nzWidth="130px">ID</th>
427
+                    <th nzWidth="130px">创建时间</th>
428
+                    <th nzWidth="130px">JSON数据</th>
429
+                  </tr>
430
+                </thead>
431
+                <tbody>
432
+                  <tr *ngFor="let data of drugsBagLogsTpl.data;let i = index">
433
+                    <td>{{i+1}}</td>
434
+                    <td>{{data[0]}}</td>
435
+                    <td>{{data[1]|date:'yyyy-MM-dd HH:mm'}}</td>
436
+                    <td (click)="toJson(data[2])">{{data[2]}}</td>
437
+                  </tr>
438
+                </tbody>
439
+              </nz-table>
440
+            </div>
441
+            <!-- 药品日志 -->
442
+            <div *ngSwitchCase="'drugsLogs'" class="list-template__bottom">
443
+              <nz-table class="list-template__nzTable" #drugsLogsTpl [nzData]="panel.list" nzSize="middle"
444
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
445
+                <thead>
446
+                  <tr class="thead">
447
+                    <th nzWidth="130px">序号</th>
448
+                    <th nzWidth="130px">ID</th>
449
+                    <th nzWidth="130px">创建时间</th>
450
+                    <th nzWidth="130px">JSON数据</th>
451
+                  </tr>
452
+                </thead>
453
+                <tbody>
454
+                  <tr *ngFor="let data of drugsLogsTpl.data;let i = index">
455
+                    <td>{{i+1}}</td>
456
+                    <td>{{data[0]}}</td>
457
+                    <td>{{data[1]|date:'yyyy-MM-dd HH:mm'}}</td>
458
+                    <td (click)="toJson(data[2])">{{data[2]}}</td>
459
+                  </tr>
460
+                </tbody>
461
+              </nz-table>
462
+            </div>
463
+            <!-- 静配包列表 -->
464
+            <div *ngSwitchCase="'jpBagList'" class="list-template__bottom">
465
+              <nz-table class="list-template__nzTable" #jpBagListTpl [nzData]="panel.list" nzSize="middle"
466
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
467
+                <thead>
468
+                  <tr class="thead">
469
+                    <th nzWidth="130px">序号</th>
470
+                    <th nzWidth="130px">静配编码</th>
471
+                    <th nzWidth="130px">静配ID</th>
472
+                    <th nzWidth="130px">院区</th>
473
+                    <th nzWidth="130px">静配状态</th>
474
+                    <th nzWidth="130px">发药科室</th>
475
+                    <th nzWidth="130px">申请科室</th>
476
+                    <th nzWidth="130px">ID</th>
477
+                    <th nzWidth="130px">版本</th>
478
+                    <th nzWidth="130px">静配编码</th>
479
+                    <th nzWidth="130px">签收时间
480
+                      <!-- 9 -->
481
+                    </th>
482
+                    <th nzWidth="130px">签收人</th>
483
+                    <th nzWidth="130px">申请科室ID</th>
484
+                    <th nzWidth="130px">创建时间
485
+                      <!-- 12 -->
486
+                    </th>
487
+                    <th nzWidth="130px">发药科室ID</th>
488
+                    <th nzWidth="130px">静配状态ID</th>
489
+                    <th nzWidth="130px">院区ID</th>
490
+                    <th nzWidth="130px">真·静配编码</th>
491
+                    <th nzWidth="130px">患者编码</th>
492
+                    <th nzWidth="130px">患者名称</th>
493
+                    <th nzWidth="130px">静配信息</th>
494
+                    <th nzWidth="130px">静配数量</th>
495
+                    <th nzWidth="130px">静配ID</th>
496
+                    <th nzWidth="130px">床号</th>
497
+                  </tr>
498
+                </thead>
499
+                <tbody>
500
+                  <tr *ngFor="let data of jpBagListTpl.data;let i = index">
501
+                    <td>{{i+1}}</td>
502
+                    <td *ngFor="let item of [].constructor(data.length);let index=index">
503
+                      <ng-container *ngIf="(index===9||index===12); else jpBagListBlock">
504
+                        {{data[index]|date:'yyyy-MM-dd HH:mm'}}
505
+                      </ng-container>
506
+                      <ng-template #jpBagListBlock>
507
+                        {{data[index]}}
508
+                      </ng-template>
509
+                    </td>
510
+                  </tr>
511
+                </tbody>
512
+              </nz-table>
513
+            </div>
514
+            <!-- 静配包日志 -->
515
+            <div *ngSwitchCase="'jpBagLogs'" class="list-template__bottom">
516
+              <nz-table class="list-template__nzTable" #jpBagLogsTpl [nzData]="panel.list" nzSize="middle"
517
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
518
+                <thead>
519
+                  <tr class="thead">
520
+                    <th nzWidth="130px">序号</th>
521
+                    <th nzWidth="130px">ID</th>
522
+                    <th nzWidth="130px">创建时间</th>
523
+                    <th nzWidth="130px">JSON数据</th>
524
+                  </tr>
525
+                </thead>
526
+                <tbody>
527
+                  <tr *ngFor="let data of jpBagLogsTpl.data;let i = index">
528
+                    <td>{{i+1}}</td>
529
+                    <td>{{data[0]}}</td>
530
+                    <td>{{data[1]|date:'yyyy-MM-dd HH:mm'}}</td>
531
+                    <td (click)="toJson(data[2])">{{data[2]}}</td>
532
+                  </tr>
533
+                </tbody>
534
+              </nz-table>
535
+            </div>
536
+            <!-- 静配日志 -->
537
+            <div *ngSwitchCase="'jpLogs'" class="list-template__bottom">
538
+              <nz-table class="list-template__nzTable" #jpLogsTpl [nzData]="panel.list" nzSize="middle"
539
+                [nzShowPagination]="false" [nzLoading]="loading1" [ngStyle]="{width:panel.list[0].length*130+292+'px'}">
540
+                <thead>
541
+                  <tr class="thead">
542
+                    <th nzWidth="130px">序号</th>
543
+                    <th nzWidth="130px">ID</th>
544
+                    <th nzWidth="130px">创建时间</th>
545
+                    <th nzWidth="130px">JSON数据</th>
546
+                  </tr>
547
+                </thead>
548
+                <tbody>
549
+                  <tr *ngFor="let data of jpLogsTpl.data;let i = index">
550
+                    <td>{{i+1}}</td>
551
+                    <td>{{data[0]}}</td>
552
+                    <td>{{data[1]|date:'yyyy-MM-dd HH:mm'}}</td>
553
+                    <td (click)="toJson(data[2])">{{data[2]}}</td>
554
+                  </tr>
555
+                </tbody>
556
+              </nz-table>
557
+            </div>
558
+          </ng-container>
559
+        </nz-collapse-panel>
560
+      </nz-collapse>
561
+    </ng-container>
562
+    <div class="modal display_flex justify-content_flex-center align-items_center list-template__bottom"
563
+      *ngIf="loading1">
564
+      <div class="txtC" style="text-align: center;">
565
+        <img src="../../../assets/images/loading.gif" alt="">
566
+        <div>加载中...</div>
567
+      </div>
568
+    </div>
569
+  </div>
570
+</div>

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

@@ -0,0 +1,173 @@
1
+@import "../../../../src/theme.less";
2
+
3
+.save {
4
+  position: fixed;
5
+  left: 0;
6
+  top: 0;
7
+  width: 100%;
8
+  height: 100%;
9
+  background: rgba(0, 0, 0, 0.4);
10
+  z-index: 99;
11
+
12
+  .modalBody {
13
+    width: 350px;
14
+    height: 220px;
15
+    background: #fff;
16
+    border-radius: 5px;
17
+    padding: 10px 20px;
18
+    color: #333;
19
+
20
+    .title {
21
+      width: 100%;
22
+      text-align: center;
23
+      font-size: 18px;
24
+      position: relative;
25
+
26
+      i {
27
+        position: absolute;
28
+        right: 0;
29
+        top: 0;
30
+        font-size: 20px;
31
+        color: #666;
32
+        cursor: pointer;
33
+        padding: 0 5px;
34
+      }
35
+    }
36
+
37
+    .content {
38
+      width: 310px;
39
+      height: 117px;
40
+      background: #f9fafb;
41
+      border: 1px solid #e5e9ed;
42
+      border-radius: 5px;
43
+      overflow: hidden;
44
+      margin-top: 12px;
45
+
46
+      & > div {
47
+        text-align: center;
48
+        margin: 0;
49
+
50
+        &.icon {
51
+          margin-top: 17px;
52
+
53
+          i {
54
+            color: #34b349;
55
+            font-size: 30px !important;
56
+
57
+            &.transport-wenhao {
58
+              color: #f5a523;
59
+            }
60
+
61
+            &.transport-shibai {
62
+              color: #ff3a52;
63
+            }
64
+          }
65
+        }
66
+
67
+        &.defeat {
68
+          color: #333;
69
+          font-size: 18px;
70
+        }
71
+
72
+        &:nth-child(3) {
73
+          font-size: 14px;
74
+          color: #666;
75
+        }
76
+      }
77
+      .roundRobinTips {
78
+        font-size: 12px;
79
+      }
80
+    }
81
+
82
+    button {
83
+      margin-top: 10px;
84
+
85
+      &.btn {
86
+        margin-left: 8px;
87
+      }
88
+    }
89
+  }
90
+
91
+  // 新增
92
+  &.add {
93
+    .modalBody {
94
+      width: 480px;
95
+      height: auto;
96
+
97
+      .content {
98
+        width: 100%;
99
+        height: auto;
100
+        padding: 18px 14px 0 14px;
101
+        max-height: 497px;
102
+        overflow-y: auto;
103
+
104
+        .addForm {
105
+          .ant-form-item {
106
+            margin-bottom: 15px;
107
+
108
+            .ant-form-item-label {
109
+              line-height: 14px;
110
+              text-align: left;
111
+            }
112
+
113
+            .desc {
114
+              margin-top: 5px;
115
+            }
116
+          }
117
+
118
+          .datesControl {
119
+            margin-top: -16px;
120
+
121
+            .ant-form-item-label {
122
+              line-height: 40px;
123
+            }
124
+          }
125
+
126
+          .timer {
127
+            .ant-form-item-label {
128
+              width: 100%;
129
+              text-align: left;
130
+            }
131
+
132
+            .numInp {
133
+              margin-right: 5px;
134
+            }
135
+
136
+            .line {
137
+              margin-right: 5px;
138
+            }
139
+          }
140
+
141
+          .timer2 {
142
+            .ant-form-item-label {
143
+              line-height: 20px;
144
+            }
145
+          }
146
+        }
147
+
148
+        .editForm {
149
+          .ant-form-item {
150
+            margin-bottom: 15px;
151
+
152
+            .ant-form-item-label {
153
+              line-height: 14px;
154
+              text-align: left;
155
+            }
156
+          }
157
+        }
158
+      }
159
+
160
+      button {
161
+        &:nth-child(1) {
162
+          margin-right: 20px;
163
+        }
164
+      }
165
+    }
166
+  }
167
+}
168
+.modal {
169
+  height: calc(100vh - 178px) !important;
170
+}
171
+.list-template__bottom {
172
+  padding-bottom: 0 !important;
173
+}

+ 178 - 0
src/app/views/info-search/info-search.component.ts

@@ -0,0 +1,178 @@
1
+import { Component, OnInit } from "@angular/core";
2
+import { MainService } from "src/app/services/main.service";
3
+import { ToolService } from "src/app/services/tool.service";
4
+import { NzModalService } from "ng-zorro-antd";
5
+
6
+@Component({
7
+  selector: "app-info-search",
8
+  templateUrl: "./info-search.component.html",
9
+  styleUrls: ["./info-search.component.less"],
10
+})
11
+export class InfoSearchComponent implements OnInit {
12
+  constructor(
13
+    private mainService: MainService,
14
+    private tool: ToolService,
15
+    private modalService: NzModalService
16
+  ) {}
17
+
18
+  searchCriteria = {
19
+    //搜索条件
20
+    id: "", //编码
21
+    target: "order", //类型
22
+  };
23
+  typeList = [
24
+    {
25
+      type: "order",
26
+      name: "工单",
27
+    },
28
+    {
29
+      type: "specimen",
30
+      name: "标本",
31
+    },
32
+    {
33
+      type: "inspect",
34
+      name: "检查",
35
+    },
36
+    {
37
+      type: "drugsBag",
38
+      name: "药包",
39
+    },
40
+    {
41
+      type: "jpBag",
42
+      name: "静配",
43
+    },
44
+  ]; // 类型列表
45
+  hosId;
46
+  ngOnInit() {
47
+    this.getHospital();
48
+  }
49
+  // 重置
50
+  reset() {
51
+    this.searchCriteria = {
52
+      //搜索条件
53
+      id: "",
54
+      target: "order",
55
+    };
56
+    this.getList();
57
+  }
58
+
59
+  // 获取所有院区
60
+  getHospital() {
61
+    this.hosId = this.tool.getCurrentHospital().id;
62
+    this.getList();
63
+  }
64
+  // 查看标本历史记录
65
+  historyPromptModalShow = false; //标本历史记录弹窗开关
66
+  scode = ""; //查看历史记录携带
67
+  viewSpecimenHistory(data) {
68
+    this.scode = data.scode;
69
+    this.historyPromptModalShow = true;
70
+  }
71
+  // 关闭标本历史记录弹窗
72
+  closeModelHistory(e) {
73
+    this.historyPromptModalShow = JSON.parse(e).show;
74
+  }
75
+  isLoading = false;
76
+  // 表格数据
77
+  loading1 = false;
78
+  panels: any = [];
79
+  panelsClone: any = [
80
+    {
81
+      active: true,
82
+      name: "检查列表",
83
+      extra: "inspectList",
84
+      list: [],
85
+    },
86
+    {
87
+      active: true,
88
+      name: "工单信息",
89
+      extra: "order",
90
+      list: [],
91
+    },
92
+    {
93
+      active: true,
94
+      name: "工单日志",
95
+      extra: "orderLogs",
96
+      list: [],
97
+    },
98
+    {
99
+      active: true,
100
+      name: "检查日志",
101
+      extra: "inspectLogs",
102
+      list: [],
103
+    },
104
+    {
105
+      active: true,
106
+      name: "标本列表",
107
+      extra: "specimenList",
108
+      list: [],
109
+    },
110
+    {
111
+      active: true,
112
+      name: "标本日志",
113
+      extra: "specimenLogs",
114
+      list: [],
115
+    },
116
+    {
117
+      active: true,
118
+      name: "药品列表",
119
+      extra: "drugsBagList",
120
+      list: [],
121
+    },
122
+    {
123
+      active: true,
124
+      name: "药包日志",
125
+      extra: "drugsBagLogs",
126
+      list: [],
127
+    },
128
+    {
129
+      active: true,
130
+      name: "药品日志",
131
+      extra: "drugsLogs",
132
+      list: [],
133
+    },
134
+    {
135
+      active: true,
136
+      name: "静配包列表",
137
+      extra: "jpBagList",
138
+      list: [],
139
+    },
140
+    {
141
+      active: true,
142
+      name: "静配包日志",
143
+      extra: "jpBagLogs",
144
+      list: [],
145
+    },
146
+    {
147
+      active: true,
148
+      name: "静配日志",
149
+      extra: "jpLogs",
150
+      list: [],
151
+    },
152
+  ];
153
+  // 获取数据
154
+  getList() {
155
+    this.loading1 = true;
156
+    let id = this.searchCriteria.id || "dsadmin";
157
+    console.log(id);
158
+    this.mainService
159
+      .infoSearch(this.searchCriteria.target, id)
160
+      .subscribe((result) => {
161
+        this.panels = this.panelsClone;
162
+        this.loading1 = false;
163
+        this.panels.forEach((item) => {
164
+          item.list = result[item.extra] || [];
165
+        });
166
+        this.panels = this.panels.filter((item) => item.list.length > 0);
167
+      });
168
+  }
169
+  // json弹窗
170
+  toJson(json) {
171
+    this.modalService.info({
172
+      nzTitle: "JSON格式化",
173
+      nzContent: "<pre>" + JSON.stringify(JSON.parse(json), null, 4) + "</pre>",
174
+      nzWidth: 600,
175
+      nzMaskClosable: true,
176
+    });
177
+  }
178
+}

+ 12 - 0
src/app/views/info-search/info-search.module.ts

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

+ 8 - 0
src/app/views/main/main-routing.module.ts

@@ -264,6 +264,14 @@ const routes: Routes = [
264 264
           import("../jp-search/jp-search.module").then((m) => m.JpSearchModule),
265 265
       },
266 266
       {
267
+        // 数据核对
268
+        path: "infoSearch",
269
+        loadChildren: () =>
270
+          import("../info-search/info-search.module").then(
271
+            (m) => m.InfoSearchModule
272
+          ),
273
+      },
274
+      {
267 275
         // 院区系统配置
268 276
         path: "hospitalConfig",
269 277
         loadChildren: () =>