ソースを参照

病理交接本开发

maotao 6 ヶ月 前
コミット
96672088c5

+ 52 - 1
src/app/share/pathology-add/pathology-add.component.html

@@ -287,7 +287,7 @@
287
   <!-- 打印 -->
287
   <!-- 打印 -->
288
   <div id="report" style="display: none;">
288
   <div id="report" style="display: none;">
289
 		<div class="monad">
289
 		<div class="monad">
290
-			<div *ngIf="printData && printData.specimenList && printData.specimenList.length" style="border: 1px solid #AAAAAA;
290
+<!-- 			<div *ngIf="printData && printData.specimenList && printData.specimenList.length" style="border: 1px solid #AAAAAA;
291
 				border-radius: 5px;font-size: 12px;">
291
 				border-radius: 5px;font-size: 12px;">
292
 				 <div *ngIf="pathologyBarCode==1" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
292
 				 <div *ngIf="pathologyBarCode==1" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
293
 					 <div style="width: 60%;height: 70px;text-align: center;">
293
 					 <div style="width: 60%;height: 70px;text-align: center;">
@@ -388,6 +388,57 @@
388
 					 </div>
388
 					 </div>
389
 				 </div>
389
 				 </div>
390
 				</div>
390
 				</div>
391
+			</div> -->
392
+			
393
+			<!-- 12.11新版打印样式 -->
394
+			<div style="font-size: 12px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>0">
395
+				<div *ngFor="let data of printData.specimenList; let index=index;">
396
+				 <div>
397
+					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;">
398
+						 <div style="width: 60%;height: 70px;text-align: center;">
399
+							 <img style="max-width: 90%;height: 80%;" [src]="data.barCode" alt="">
400
+							 <div>标本号:{{data.specimenCode}}</div>
401
+						 </div>
402
+						 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
403
+							 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
404
+						 </div>
405
+					 </div>
406
+					 <div style="display: flex;justify-content: space-between;">
407
+						 <div style="width: 70%;margin-right:15px;">
408
+						 	<div style="display: flex; justify-content: space-between; margin-top:11px;">
409
+								<div>患者: {{data.patientName}}</div>
410
+								<div>性别: {{data.patientGender}}</div>
411
+							</div>
412
+							<div style="margin-top:11px;">
413
+								<div>住院号: {{data.residenceNo}}</div>
414
+							</div>
415
+							<div style="margin-top:11px;">
416
+								<div>科室: {{data.patientDept}}</div>
417
+							</div>
418
+							<div style="margin-top:11px;">
419
+								<div>日期: {{data.inVitroTime|date:'yyyy-MM-dd'}}</div>
420
+							</div>
421
+							<div style="margin-top:11px;">
422
+								<div style="width: 100%;height: 32px;overflow: hidden;">部位: {{data.partSource}}{{data.organ}}{{data.specimenName}}</div>
423
+							</div>
424
+						 </div>
425
+						 <div style="width: 30%;">
426
+							<div style="margin-top:11px;">年龄: {{data.patientAge}}岁</div>
427
+							<div style="margin-top:11px;">床号: {{data.patientBedNum}}床</div>
428
+							<div style="margin-top:11px;" *ngIf="operation == 'addPrint'">标本数: {{index+1}}/{{printData.specimenNum}}</div>
429
+							<div style="margin-top:11px;" *ngIf="operation != 'addPrint'">标本数: {{index+1}}/{{printData.specimenList.length}}</div>
430
+							<div style="width: 100%;height: 65px;display: flex;margin-top: 5px;">
431
+							 <div style="height: 55px;width: 55px;">
432
+								 <img style="max-width: 100%;max-height: 100%;position: relative;left: -2px;" [src]="printData.applyBarCode" alt="">
433
+								 <div style="position: relative;left: -18px;">{{printData.applyCode}}</div>
434
+							 </div>
435
+							 <div style="width: 12px;position: relative; top: 5px;">申请单</div>
436
+							</div>
437
+						 </div>
438
+					 </div>
439
+				 </div>
440
+				 <div style="height: 26px;"></div>
441
+				</div>
391
 			</div>
442
 			</div>
392
 		</div>
443
 		</div>
393
   </div>
444
   </div>

+ 32 - 19
src/app/share/pathology-add/pathology-add.component.ts

@@ -279,23 +279,30 @@ export class PathologyAddComponent implements OnInit {
279
 			this.mainService.getFetchDataList("simple/data", "dictionaryTree", postData).subscribe((res) => {
279
 			this.mainService.getFetchDataList("simple/data", "dictionaryTree", postData).subscribe((res) => {
280
 				this.specimenNameList = res.list;
280
 				this.specimenNameList = res.list;
281
 				if(type=='edit'){
281
 				if(type=='edit'){
282
+					this.validateSpecimenForm = this.fb.group({
283
+					  remark: [null, []],
284
+						specimenName: [null, [Validators.required]]
285
+					});
282
 					if(item.sample){
286
 					if(item.sample){
283
-						this.validateSpecimenForm = this.fb.group({
284
-						  remark: [null, []],
285
-							specimenName: [null, [Validators.required]]
286
-						});
287
 						setTimeout(_=>{
287
 						setTimeout(_=>{
288
 							let index4 = this.specimenNameList.findIndex(i=>i.id==item.sample.id)
288
 							let index4 = this.specimenNameList.findIndex(i=>i.id==item.sample.id)
289
 							this.specimenNameIndex = index4
289
 							this.specimenNameIndex = index4
290
 							this.specimenNameName = item.sample.name
290
 							this.specimenNameName = item.sample.name
291
 							this.specimenNameId = Number(item.sample.id);
291
 							this.specimenNameId = Number(item.sample.id);
292
 							this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
292
 							this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
293
-						},100)
293
+							this.validateSpecimenForm.controls.remark.setValue(item.remark);
294
+							this.specimenModal = true
295
+						},50)
296
+					}else{
297
+						setTimeout(_=>{
298
+							this.specimenNameIndex = null
299
+							this.specimenNameName = ''
300
+							this.specimenNameId = null
301
+							this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
302
+							this.validateSpecimenForm.controls.remark.setValue(item.remark);
303
+							this.specimenModal = true
304
+						},50)
294
 					}
305
 					}
295
-					setTimeout(_=>{
296
-						this.validateSpecimenForm.controls.remark.setValue(item.remark);
297
-						this.specimenModal = true
298
-					},50)
299
 				}
306
 				}
300
 			});
307
 			});
301
 		}else{
308
 		}else{
@@ -307,27 +314,33 @@ export class PathologyAddComponent implements OnInit {
307
 			  .subscribe((data) => {
314
 			  .subscribe((data) => {
308
 			    this.specimenNameList = data.list;
315
 			    this.specimenNameList = data.list;
309
 					if(type=='edit'){
316
 					if(type=='edit'){
317
+						this.validateSpecimenForm = this.fb.group({
318
+						  remark: [null, []],
319
+							specimenName: [null, [Validators.required]]
320
+						});
310
 						if(item.sample){
321
 						if(item.sample){
311
-							this.validateSpecimenForm = this.fb.group({
312
-							  remark: [null, []],
313
-								specimenName: [null, [Validators.required]]
314
-							});
315
 							setTimeout(_=>{
322
 							setTimeout(_=>{
316
 								let index4 = this.specimenNameList.findIndex(i=>i.id==item.sample.id)
323
 								let index4 = this.specimenNameList.findIndex(i=>i.id==item.sample.id)
317
 								this.specimenNameIndex = index4
324
 								this.specimenNameIndex = index4
318
 								this.specimenNameName = item.sample.name
325
 								this.specimenNameName = item.sample.name
319
 								this.specimenNameId = Number(item.sample.id);
326
 								this.specimenNameId = Number(item.sample.id);
320
 								this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
327
 								this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
321
-							},100)
328
+								this.validateSpecimenForm.controls.remark.setValue(item.remark);
329
+								this.specimenModal = true
330
+							},50)
331
+						}else{
332
+							setTimeout(_=>{
333
+								this.specimenNameIndex = null
334
+								this.specimenNameName = ''
335
+								this.specimenNameId = null
336
+								this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
337
+								this.validateSpecimenForm.controls.remark.setValue(item.remark);
338
+								this.specimenModal = true
339
+							},50)
322
 						}
340
 						}
323
-						setTimeout(_=>{
324
-							this.validateSpecimenForm.controls.remark.setValue(item.remark);
325
-							this.specimenModal = true
326
-						},50)
327
 					}
341
 					}
328
 			  });
342
 			  });
329
 		}
343
 		}
330
-
331
 	}
344
 	}
332
 	
345
 	
333
 	// 删除标本
346
 	// 删除标本

+ 51 - 1
src/app/share/pathology-detail/pathology-detail.component.html

@@ -112,7 +112,7 @@
112
 <!-- 打印 -->
112
 <!-- 打印 -->
113
   <div id="report" style="display: none;">
113
   <div id="report" style="display: none;">
114
 		<div class="monad">
114
 		<div class="monad">
115
-			<div *ngIf="printData && printData.specimenList && printData.specimenList.length>1" style="border: 1px solid #AAAAAA;
115
+			<!-- <div *ngIf="printData && printData.specimenList && printData.specimenList.length>1" style="border: 1px solid #AAAAAA;
116
 				border-radius: 5px;font-size: 12px;">
116
 				border-radius: 5px;font-size: 12px;">
117
 				 <div *ngIf="pathologyBarCode==1" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
117
 				 <div *ngIf="pathologyBarCode==1" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
118
 					 <div style="width: 60%;height: 70px;text-align: center;">
118
 					 <div style="width: 60%;height: 70px;text-align: center;">
@@ -213,6 +213,56 @@
213
 					 </div>
213
 					 </div>
214
 				 </div>
214
 				 </div>
215
 				</div>
215
 				</div>
216
+			</div> -->
217
+			<!-- 12.11新版打印样式 -->
218
+			<div style="font-size: 12px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>0">
219
+				<div *ngFor="let data of printData.specimenList; let index=index;">
220
+				 <div>
221
+					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;">
222
+						 <div style="width: 60%;height: 70px;text-align: center;">
223
+							 <img style="max-width: 90%;height: 80%;" [src]="data.barCode" alt="">
224
+							 <div>标本号:{{data.specimenCode}}</div>
225
+						 </div>
226
+						 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
227
+							 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
228
+						 </div>
229
+					 </div>
230
+					 <div style="display: flex;justify-content: space-between;">
231
+						 <div style="width: 70%;margin-right:15px;">
232
+						 	<div style="display: flex; justify-content: space-between; margin-top:11px;">
233
+								<div>患者: {{data.patientName}}</div>
234
+								<div>性别: {{data.patientGender}}</div>
235
+							</div>
236
+							<div style="margin-top:11px;">
237
+								<div>住院号: {{data.residenceNo}}</div>
238
+							</div>
239
+							<div style="margin-top:11px;">
240
+								<div>科室: {{data.patientDept}}</div>
241
+							</div>
242
+							<div style="margin-top:11px;">
243
+								<div>日期: {{data.inVitroTime|date:'yyyy-MM-dd'}}</div>
244
+							</div>
245
+							<div style="margin-top:11px;">
246
+								<div style="width: 100%;height: 32px;overflow: hidden;">部位: {{data.partSource}}{{data.organ}}{{data.specimenName}}</div>
247
+							</div>
248
+						 </div>
249
+						 <div style="width: 30%;">
250
+							<div style="margin-top:11px;">年龄: {{data.patientAge}}岁</div>
251
+							<div style="margin-top:11px;">床号: {{data.patientBedNum}}床</div>
252
+							<div style="margin-top:11px;" *ngIf="operation == 'addPrint'">标本数: {{index+1}}/{{printData.specimenNum}}</div>
253
+							<div style="margin-top:11px;" *ngIf="operation != 'addPrint'">标本数: {{index+1}}/{{printData.specimenList.length}}</div>
254
+							<div style="width: 100%;height: 65px;display: flex;margin-top: 5px;">
255
+							 <div style="height: 55px;width: 55px;">
256
+								 <img style="max-width: 100%;max-height: 100%;position: relative;left: -2px;" [src]="printData.applyBarCode" alt="">
257
+								 <div style="position: relative;left: -18px;">{{printData.applyCode}}</div>
258
+							 </div>
259
+							 <div style="width: 12px;position: relative; top: 5px;">申请单</div>
260
+							</div>
261
+						 </div>
262
+					 </div>
263
+				 </div>
264
+				 <div style="height: 26px;"></div>
265
+				</div>
216
 			</div>
266
 			</div>
217
 		</div>
267
 		</div>
218
   </div>
268
   </div>

+ 19 - 0
src/app/views/hushijiandan/hushijiandan.component.html

@@ -2603,6 +2603,7 @@
2603
 							<th>申请时间</th>
2603
 							<th>申请时间</th>
2604
 							<th>申请科室</th>
2604
 							<th>申请科室</th>
2605
 							<th>状态</th>
2605
 							<th>状态</th>
2606
+							<th>操作</th>
2606
 						</tr>
2607
 						</tr>
2607
 					</thead>
2608
 					</thead>
2608
 					<tbody>
2609
 					<tbody>
@@ -2616,6 +2617,13 @@
2616
 							<td>{{ data.createTime | date:'yyyy-MM-dd HH:mm'}}</td>
2617
 							<td>{{ data.createTime | date:'yyyy-MM-dd HH:mm'}}</td>
2617
 							<td>{{ data.patientDTO.department? data.patientDTO.department.dept:'-'}}</td>
2618
 							<td>{{ data.patientDTO.department? data.patientDTO.department.dept:'-'}}</td>
2618
 							<td>{{ data.status?data.status.name:'-'}}</td>
2619
 							<td>{{ data.status?data.status.name:'-'}}</td>
2620
+							<td>
2621
+							  <div class="coop">
2622
+							    <span *ngIf="data.status.value==1 || data.status.value==2 
2623
+									|| data.status.value==3 || data.status.value==4 || 
2624
+									data.status.value==5" (click)="cancellation(data)">作废</span>
2625
+							  </div>
2626
+							</td>
2619
 						</tr>
2627
 						</tr>
2620
 					</tbody>
2628
 					</tbody>
2621
 				</nz-table>
2629
 				</nz-table>
@@ -2632,6 +2640,17 @@
2632
 	<nz-spin nzSimple class="spin-style"></nz-spin>
2640
 	<nz-spin nzSimple class="spin-style"></nz-spin>
2633
 </div>
2641
 </div>
2634
 
2642
 
2643
+<!-- 作废模态框 -->
2644
+<app-dialog-delete [delModal]="cancellationModal" (hideDelModalEvent)="cancelCancellation()" [btnLoading]="cancellationLoading" 
2645
+  (confirmDelEvent)="confirmCancellation()" (cancelDelEvent)="cancelCancellation()" content="是否作废申请单?" confirmTxt="是" cancelTxt="否">
2646
+</app-dialog-delete>
2647
+
2648
+<!-- 新增申请单提示 -->
2649
+<nz-modal [(nzVisible)]="isPathologyVisible" nzTitle="提示" (nzOnCancel)="handlePathologyCancel()" (nzOnOk)="handlePathologyOk()">
2650
+	<p><span class="red" *ngIf="viewData.length>0">{{viewData[0].patientDTO.patientName}}({{viewData[0].patientDTO.patientCode}})</span>患者已有申请单,如需<span class="red">追加新标本</span>可在<span class="red">原有</span>申请单中<span class="red">添加</span>;您确认要添加新的申请单吗?</p>
2651
+	<p>注意:<span class="red">一个申请单出一个报告,请谨慎添加申请单;</span></p>
2652
+</nz-modal>
2653
+		
2635
 <!-- 修改密码 -->
2654
 <!-- 修改密码 -->
2636
 <nz-modal [(nzVisible)]="isPwdVisible" nzTitle="修改密码" (nzOnCancel)="pwdHandleCancel()" (nzOnOk)="pwdHandleOk()" [nzOkLoading]="pwdIsOkLoading" (nzAfterOpen)="pwdAfterOpen()">
2655
 <nz-modal [(nzVisible)]="isPwdVisible" nzTitle="修改密码" (nzOnCancel)="pwdHandleCancel()" (nzOnOk)="pwdHandleOk()" [nzOkLoading]="pwdIsOkLoading" (nzAfterOpen)="pwdAfterOpen()">
2637
   <div>
2656
   <div>

+ 97 - 7
src/app/views/hushijiandan/hushijiandan.component.ts

@@ -336,10 +336,32 @@ export class HushijiandanComponent implements OnInit {
336
 		    }
336
 		    }
337
 		  });
337
 		  });
338
 	}
338
 	}
339
-
339
+	
340
 	// 新增申请单自选类型
340
 	// 新增申请单自选类型
341
 	applicationType:any;
341
 	applicationType:any;
342
+	isPathologyVisible:any = false;
342
 	addPathologyType(type){
343
 	addPathologyType(type){
344
+		this.applicationType = type
345
+		if(this.viewData.length>0){
346
+			this.isPathologyVisible = true
347
+		}else{
348
+			this.submitPathlogyForm()
349
+		}
350
+	}
351
+	
352
+	// 取消新增申请单自选类型
353
+	handlePathologyCancel(){
354
+		this.applicationType = null
355
+		this.isPathologyVisible = false
356
+	}
357
+	
358
+	// 确定新增申请单自选类型
359
+	handlePathologyOk(){
360
+		this.submitPathlogyForm()
361
+	}
362
+	
363
+	// 新增申请单自选类型
364
+	submitPathlogyForm(){
343
 		if(this.openType=='btn'){
365
 		if(this.openType=='btn'){
344
 			this.surgeryDataId = this.surgeryWKOMsg.id
366
 			this.surgeryDataId = this.surgeryWKOMsg.id
345
 			this.patientDataId = this.surgeryWKOMsg.patientDTO.id
367
 			this.patientDataId = this.surgeryWKOMsg.patientDTO.id
@@ -347,7 +369,6 @@ export class HushijiandanComponent implements OnInit {
347
 			this.surgeryDataId = this.scheduleItem.id
369
 			this.surgeryDataId = this.scheduleItem.id
348
 			this.patientDataId = this.scheduleItem.patientDTO.id
370
 			this.patientDataId = this.scheduleItem.patientDTO.id
349
 		}
371
 		}
350
-		this.applicationType = type
351
 		let data = {
372
 		let data = {
352
 			idx: 0,
373
 			idx: 0,
353
 			sum: 9999,
374
 			sum: 9999,
@@ -355,17 +376,18 @@ export class HushijiandanComponent implements OnInit {
355
 			patientId: this.patientDataId || "",
376
 			patientId: this.patientDataId || "",
356
 			hosId: this.currentHospital.id || "" ,
377
 			hosId: this.currentHospital.id || "" ,
357
 			operationType: 'pathologyForm',
378
 			operationType: 'pathologyForm',
358
-			pathologyFormType: type
379
+			pathologyFormType: this.applicationType
359
 		};
380
 		};
360
 		this.mainService
381
 		this.mainService
361
 		.simplePost("addData", "pathologyForm", data)
382
 		.simplePost("addData", "pathologyForm", data)
362
 		.subscribe((data) => {
383
 		.subscribe((data) => {
363
 			this.detailId = data.data.id
384
 			this.detailId = data.data.id
385
+			this.isPathologyVisible = false
364
 			this.multiDialog = false
386
 			this.multiDialog = false
365
 			this.pathologyModal = true
387
 			this.pathologyModal = true
366
 		});
388
 		});
367
 	}
389
 	}
368
-
390
+	
369
 	// 手术排程-病理申请单
391
 	// 手术排程-病理申请单
370
 	openType:any;
392
 	openType:any;
371
 	scheduleItem:any;
393
 	scheduleItem:any;
@@ -491,7 +513,43 @@ export class HushijiandanComponent implements OnInit {
491
 			}
513
 			}
492
 		});
514
 		});
493
 	}
515
 	}
494
-
516
+	
517
+	// 获取病理申请单最新数据
518
+	getPathologyData(){
519
+		if(this.openType=='btn'){
520
+			this.surgeryDataId = this.surgeryWKOMsg.id
521
+			this.patientDataId = this.surgeryWKOMsg.patientDTO.id
522
+		}else{
523
+			this.surgeryDataId = this.scheduleItem.id
524
+			this.patientDataId = this.scheduleItem.patientDTO.id
525
+		}
526
+		let data = {
527
+			idx: 0,
528
+			sum: 9999,
529
+			pathologyForm: {
530
+				patientId: this.patientDataId || "",
531
+				hosId: this.currentHospital.id || "" ,
532
+				operationType: 'pathologyForm',
533
+				order:'createTime desc'
534
+			},
535
+		};
536
+		this.isSpinning = true
537
+		this.mainService
538
+		.getFetchDataList("data", "pathologyForm", data)
539
+		.subscribe((data) => {
540
+			this.isSpinning = false
541
+			this.viewData = data.list
542
+			for(let i of this.viewData){
543
+				if(i.pathologyInspectDTOS){
544
+					i.arr = []
545
+					for(let x of i.pathologyInspectDTOS){
546
+						i.arr.push(x.inspectProject.name)
547
+					}
548
+				}
549
+			}
550
+		})
551
+	}
552
+	
495
 	// 申请单号点击
553
 	// 申请单号点击
496
 	itemClick(item){
554
 	itemClick(item){
497
 		this.detailId = item.id
555
 		this.detailId = item.id
@@ -509,7 +567,36 @@ export class HushijiandanComponent implements OnInit {
509
 			}
567
 			}
510
 		},200)
568
 		},200)
511
 	}
569
 	}
512
-
570
+	
571
+	// 申请单作废
572
+	cancellationLoading:any = false;
573
+	cancellationModal:any = false;
574
+	cancellation(data){
575
+		this.coopId = data.id
576
+		this.cancellationModal = true
577
+	}
578
+	
579
+	// 确定作废
580
+	confirmCancellation(){
581
+		this.cancellationLoading = true;
582
+		this.mainService
583
+		.coopTypeConfig('rmvData', 'pathologyForm', [this.coopId])
584
+		.subscribe((data) => {
585
+			this.cancellationLoading = false;
586
+			this.cancelCancellation();
587
+			if (data["status"] == 200) {
588
+				this.showPromptModal("作废", true, "", "application");
589
+			} else {
590
+				this.showPromptModal("作废", false, data["msg"]);
591
+			}
592
+		});
593
+	}
594
+	
595
+	// 取消作废
596
+	cancelCancellation(){
597
+		this.cancellationModal = false
598
+	}
599
+	
513
 	hideModal(){
600
 	hideModal(){
514
 		this.multiDialog = false
601
 		this.multiDialog = false
515
 	}
602
 	}
@@ -1030,8 +1117,11 @@ export class HushijiandanComponent implements OnInit {
1030
     } else if (e === "bb") {
1117
     } else if (e === "bb") {
1031
       this.getOrderList();
1118
       this.getOrderList();
1032
       this.getSpecimenWorkOrderMsg();
1119
       this.getSpecimenWorkOrderMsg();
1033
-    }
1120
+    } else if (e === "application"){
1121
+			this.getPathologyData()
1122
+		}
1034
   }
1123
   }
1124
+
1035
   // 其他建单
1125
   // 其他建单
1036
   selectOtherId; //选中的id
1126
   selectOtherId; //选中的id
1037
   otherSearch = ""; //搜索的关键词
1127
   otherSearch = ""; //搜索的关键词

+ 2 - 0
src/app/views/login/login.component.ts

@@ -237,6 +237,8 @@ export class LoginComponent implements OnInit {
237
       }
237
       }
238
       canLogin = true;
238
       canLogin = true;
239
     });
239
     });
240
+		localStorage.setItem("bookBatchNo",'')
241
+		localStorage.setItem("specimenBatchNo",'')
240
 		if(this.paramsData.toPage1 && this.paramsData.cardNO1){
242
 		if(this.paramsData.toPage1 && this.paramsData.cardNO1){
241
 			this.msg.success("登录成功!", {
243
 			this.msg.success("登录成功!", {
242
 			  nzDuration: 1000,
244
 			  nzDuration: 1000,

+ 4 - 4
src/app/views/pathology-check/pathology-check.component.html

@@ -11,8 +11,8 @@
11
 						<div>
11
 						<div>
12
 							应送申请单: <span class="weight">{{otherData.pathologyFormNum}}</span> &nbsp;
12
 							应送申请单: <span class="weight">{{otherData.pathologyFormNum}}</span> &nbsp;
13
 							标本: <span class="weight">{{otherData.specimenNum}}</span>&nbsp;
13
 							标本: <span class="weight">{{otherData.specimenNum}}</span>&nbsp;
14
-							已扫描: <span class="weight">{{otherData.scanPathologyFormNum}}</span>&nbsp;
15
-							申请单标本: <span class="weight">{{otherData.scanSpecimenNum}}</span>&nbsp;
14
+							已扫描申请单: <span class="weight">{{otherData.scanPathologyFormNum}}</span>&nbsp;
15
+							标本: <span class="weight">{{otherData.scanSpecimenNum}}</span>&nbsp;
16
 						</div>
16
 						</div>
17
 					</div>
17
 					</div>
18
 					
18
 					
@@ -72,7 +72,7 @@
72
 			</div>
72
 			</div>
73
 		</div>
73
 		</div>
74
 		<div class="display_flex justify-content_flex-center bottom-btn">
74
 		<div class="display_flex justify-content_flex-center bottom-btn">
75
-			<button class="btn btn-right" [disabled]="codeData.length==0" nz-button nzType="primary" (click)="submitFixationForm()" [nzLoading]="btnLoading">核对完成</button>
75
+			<button class="btn btn-right" [disabled]="alreadyData.length==0" nz-button nzType="primary" (click)="submitFixationForm()" [nzLoading]="btnLoading">核对完成</button>
76
 			<!-- <button class="btn btn-right" *ngIf="dataType?dataType=='pack' : businessType == 'packaging'" [disabled]="codeData.length==0" nz-button nzType="primary" (click)="submitScanForm()" [nzLoading]="btnLoading">核对完成</button> -->
76
 			<!-- <button class="btn btn-right" *ngIf="dataType?dataType=='pack' : businessType == 'packaging'" [disabled]="codeData.length==0" nz-button nzType="primary" (click)="submitScanForm()" [nzLoading]="btnLoading">核对完成</button> -->
77
 			<!-- <button class="btn btn-right" *ngIf="dataType=='pathologyPack'" nz-button nzType="primary" [disabled]="codeData.length==0" (click)="connectAccomplish()" [nzLoading]="btnMultiLoading">核对完成</button> -->
77
 			<!-- <button class="btn btn-right" *ngIf="dataType=='pathologyPack'" nz-button nzType="primary" [disabled]="codeData.length==0" (click)="connectAccomplish()" [nzLoading]="btnMultiLoading">核对完成</button> -->
78
 			<button class="btn cancel" nz-button nzType="default" (click)="hideSpecimenModal()">取消</button>
78
 			<button class="btn cancel" nz-button nzType="default" (click)="hideSpecimenModal()">取消</button>
@@ -93,7 +93,7 @@
93
 				<div class="center">提示:{{scanCodeData.patientName}}的申请单含<span>{{codeMultiData.length}}</span>支标本,您已扫描<span>{{muArr.length}}</span>支</div>
93
 				<div class="center">提示:{{scanCodeData.patientName}}的申请单含<span>{{codeMultiData.length}}</span>支标本,您已扫描<span>{{muArr.length}}</span>支</div>
94
 				<div class="disp-fl df-center">
94
 				<div class="disp-fl df-center">
95
 					<div>
95
 					<div>
96
-						<input nz-input id="multiSpecimen" placeholder="可扫描物理标本条码及包码" [(ngModel)]="specimenMultiCode" (ngModelChange)="codeMultiChange($event)"/>
96
+						<input nz-input id="multiSpecimen" placeholder="可扫描物理标本条码及申请单" [(ngModel)]="specimenMultiCode" (ngModelChange)="codeMultiChange($event)"/>
97
 					</div>
97
 					</div>
98
 					<div class="error-class">{{errorMultiMsg}}</div>
98
 					<div class="error-class">{{errorMultiMsg}}</div>
99
 				</div>
99
 				</div>

+ 19 - 4
src/app/views/pathology-check/pathology-check.component.ts

@@ -193,7 +193,7 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
193
 		if(this.placeholderType==1){
193
 		if(this.placeholderType==1){
194
 			this.placeholder = '可扫描物理标本条码'
194
 			this.placeholder = '可扫描物理标本条码'
195
 		}else{
195
 		}else{
196
-			this.placeholder = '可扫描物理标本条码及包码'
196
+			this.placeholder = '可扫描物理标本条码及申请单'
197
 		}
197
 		}
198
 		let scanData = localStorage.getItem("scanCodeData")
198
 		let scanData = localStorage.getItem("scanCodeData")
199
 		this.dataType = localStorage.getItem("dataType")
199
 		this.dataType = localStorage.getItem("dataType")
@@ -259,6 +259,7 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
259
 	pageReceptionIndex:any = 1;
259
 	pageReceptionIndex:any = 1;
260
 	listReceptionLength:any = 0;
260
 	listReceptionLength:any = 0;
261
 	otherData:any=null;
261
 	otherData:any=null;
262
+	alreadyData:any = [];
262
 	getJsData(type){
263
 	getJsData(type){
263
 		let data = {
264
 		let data = {
264
 		  idx: this.pageReceptionIndex-1,
265
 		  idx: this.pageReceptionIndex-1,
@@ -287,7 +288,12 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
287
 				this.tableLoading = false;
288
 				this.tableLoading = false;
288
 				if(type==1 || type==4 || type==5){
289
 				if(type==1 || type==4 || type==5){
289
 					this.fixationModal = true
290
 					this.fixationModal = true
290
-					this.codeData = res.list;
291
+					if(this.activeIndex==0){
292
+						this.alreadyData = res.list;
293
+						this.codeData = this.alreadyData
294
+					}else{
295
+						this.codeData = res.list;
296
+					}
291
 					if(type==1){
297
 					if(type==1){
292
 						setTimeout(_=>{
298
 						setTimeout(_=>{
293
 							document.getElementById('specimen').focus();
299
 							document.getElementById('specimen').focus();
@@ -469,6 +475,11 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
469
 		  .subscribe((res:any) => {
475
 		  .subscribe((res:any) => {
470
 				this.btnConnectLoading = false
476
 				this.btnConnectLoading = false
471
 		    if (res.status == 200) {
477
 		    if (res.status == 200) {
478
+					if(this.operationType=='pathologyHandoverBook'){
479
+						localStorage.setItem("bookBatchNo",'')
480
+					}else{
481
+						localStorage.setItem("specimenBatchNo",'')
482
+					}
472
 		      this.showPromptModal("操作", true, "");
483
 		      this.showPromptModal("操作", true, "");
473
 		    } else {
484
 		    } else {
474
 		      this.showPromptModal("操作", false, res.msg);
485
 		      this.showPromptModal("操作", false, res.msg);
@@ -549,7 +560,7 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
549
 			barcode:e,
560
 			barcode:e,
550
 			deptId:this.deptId,
561
 			deptId:this.deptId,
551
 			batchNo:this.batchNo,
562
 			batchNo:this.batchNo,
552
-			platform:'pathologyHandoverBook',
563
+			platform:this.operationType,
553
 		}
564
 		}
554
 		this.tableLoading = true
565
 		this.tableLoading = true
555
 		this.mainService.pathologyScanCode(data)
566
 		this.mainService.pathologyScanCode(data)
@@ -570,6 +581,8 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
570
 					localStorage.setItem("scanCodeData",JSON.stringify(res))
581
 					localStorage.setItem("scanCodeData",JSON.stringify(res))
571
 				}else{
582
 				}else{
572
 					this.notification.create('success','提示',res.msg);
583
 					this.notification.create('success','提示',res.msg);
584
+					this.activeIndex = 0
585
+					this.codeData = []
573
 					this.getJsData(1)
586
 					this.getJsData(1)
574
 				}
587
 				}
575
 				this.errorMsg = null
588
 				this.errorMsg = null
@@ -603,7 +616,7 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
603
 			barcode:e,
616
 			barcode:e,
604
 			deptId:this.deptId,
617
 			deptId:this.deptId,
605
 			pathologyFormId:this.scanCodeData.id,
618
 			pathologyFormId:this.scanCodeData.id,
606
-			platform:'pathologyHandoverBook',
619
+			platform:this.operationType,
607
 		}
620
 		}
608
 		setTimeout(_=>{
621
 		setTimeout(_=>{
609
 			this.tableLoading = true
622
 			this.tableLoading = true
@@ -679,7 +692,9 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
679
 		.subscribe((res) => {
692
 		.subscribe((res) => {
680
 			this.message.success('操作成功')
693
 			this.message.success('操作成功')
681
 			setTimeout(_=>{
694
 			setTimeout(_=>{
695
+				this.activeIndex = 0
682
 				this.btnMultiLoading = false;
696
 				this.btnMultiLoading = false;
697
+				this.codeData = []
683
 				this.hideMultiModal()
698
 				this.hideMultiModal()
684
 			},500)
699
 			},500)
685
 		});
700
 		});

+ 6 - 26
src/app/views/pathology-communication-book/pathology-communication-book.component.html

@@ -8,7 +8,7 @@
8
 			<div class="pharmacy-title">标本交接本</div>
8
 			<div class="pharmacy-title">标本交接本</div>
9
       <div class="pharmacy-name__total">
9
       <div class="pharmacy-name__total">
10
 				<nz-input-group nzSize="large">
10
 				<nz-input-group nzSize="large">
11
-					<input type="text" id="Binput" (ngModelChange)="specimenCodeChange($event)" [(ngModel)]="barCode" nz-input placeholder="可扫描物理标本条码及包码" />
11
+					<input type="text" id="Binput" (ngModelChange)="specimenCodeChange($event)" [(ngModel)]="barCode" nz-input placeholder="可扫描物理标本条码及申请单" />
12
 				</nz-input-group>
12
 				</nz-input-group>
13
 				<!-- <ng-template #suffixButton>
13
 				<!-- <ng-template #suffixButton>
14
 					<button nz-button nzType="primary" nzSize="large" nzSearch (click)="searchSpecimen()">搜索</button>
14
 					<button nz-button nzType="primary" nzSize="large" nzSearch (click)="searchSpecimen()">搜索</button>
@@ -91,7 +91,7 @@
91
 						</div>
91
 						</div>
92
 						<div class="list-template__searchItem">
92
 						<div class="list-template__searchItem">
93
 						  <span class="label">术中快速:</span>
93
 						  <span class="label">术中快速:</span>
94
-							<nz-radio-group [(ngModel)]="intraoperativeRapidity">
94
+							<nz-radio-group [(ngModel)]="pathologyFormType">
95
 								<label nz-radio nzValue="1">是</label>
95
 								<label nz-radio nzValue="1">是</label>
96
 								<label nz-radio nzValue="0">否</label>
96
 								<label nz-radio nzValue="0">否</label>
97
 							</nz-radio-group>
97
 							</nz-radio-group>
@@ -111,7 +111,7 @@
111
 								<th>状态</th>
111
 								<th>状态</th>
112
 			          <th>患者姓名</th>
112
 			          <th>患者姓名</th>
113
 			          <th>住院号</th>
113
 			          <th>住院号</th>
114
-			          <th>部位</th>
114
+			          <th nzWidth="100px">部位</th>
115
 			          <th>标本数</th>
115
 			          <th>标本数</th>
116
 			          <th>申请科室</th>
116
 			          <th>申请科室</th>
117
 								<th>离体时间</th>
117
 								<th>离体时间</th>
@@ -123,7 +123,7 @@
123
 			      </thead>
123
 			      </thead>
124
 			      <tbody>
124
 			      <tbody>
125
 			        <tr *ngFor="let data of listOneData">
125
 			        <tr *ngFor="let data of listOneData">
126
-			          <td><span *ngIf="data.intraoperativeRapidity==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
126
+			          <td><span *ngIf="data.pathologyFormType==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
127
 								<td>{{ data.status?data.status.name : '-' }}</td>
127
 								<td>{{ data.status?data.status.name : '-' }}</td>
128
 								<td>{{ data.patientDTO.patientName}}</td>
128
 								<td>{{ data.patientDTO.patientName}}</td>
129
 			          <td>{{ data.patientDTO.residenceNo}}</td>
129
 			          <td>{{ data.patientDTO.residenceNo}}</td>
@@ -172,7 +172,7 @@
172
       	      </thead>
172
       	      </thead>
173
       	      <tbody>
173
       	      <tbody>
174
       	        <tr *ngFor="let data of listTwoData">
174
       	        <tr *ngFor="let data of listTwoData">
175
-      	         <td><span *ngIf="data.intraoperativeRapidity==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
175
+      	         <td><span *ngIf="data.pathologyFormType==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
176
       	         <td>{{ data.patientDTO?data.patientDTO.patientName : '-' }}</td>
176
       	         <td>{{ data.patientDTO?data.patientDTO.patientName : '-' }}</td>
177
       	         <td>{{ data.patientDTO.patientCode}}</td>
177
       	         <td>{{ data.patientDTO.patientCode}}</td>
178
       	         <td>{{ data.takePart}}</td>
178
       	         <td>{{ data.takePart}}</td>
@@ -258,26 +258,6 @@
258
   <!-- <router-outlet></router-outlet> -->
258
   <!-- <router-outlet></router-outlet> -->
259
 </div>
259
 </div>
260
 
260
 
261
-<!-- 科室二维码模态框 -->
262
-<!-- 在模态框所在的 div 添加属性 [appDrag] -->
263
-<div appDrag class="modal" *ngIf="isShowNurseCode">
264
-  <div class="header drag-title">
265
-    <h2>签到二维码</h2>
266
-    <i
267
-      class="icon-close icon_transport transport-guanbi1"
268
-      (click)="closeNurseCode()"
269
-    ></i>
270
-  </div>
271
-  <div class="dialog-center">
272
-    <div class="dialog-code">
273
-      <img [src]="nurseCodeImg" alt="" />
274
-    </div>
275
-  </div>
276
-  <div class="dialog-operate">
277
-    <strong class="dialog-refresh" (click)="showNurseCode()">刷新</strong>
278
-    <span>{{ refreshQRCodeTime }}s</span>
279
-  </div>
280
-</div>
281
 <!-- 科室切换提示框 -->
261
 <!-- 科室切换提示框 -->
282
 <app-hs-prompt-modal
262
 <app-hs-prompt-modal
283
   [changeShow]="changeShow"
263
   [changeShow]="changeShow"
@@ -342,7 +322,7 @@
342
 		<div class="content border">
322
 		<div class="content border">
343
 			<div class="content-item boder-right">
323
 			<div class="content-item boder-right">
344
 				<div class="form-title-box">
324
 				<div class="form-title-box">
345
-					<div class="form-title"><span class="font-weight-500">是否术中快速:</span>{{detailsData.intraoperativeRapidity==1?'是':'否'}}</div>
325
+					<div class="form-title"><span class="font-weight-500">是否术中快速:</span>{{detailsData.pathologyFormType==1?'是':'否'}}</div>
346
 					<div class="form-title"><span class="font-weight-500">申请单编号:</span>{{detailsData.applyCode}}</div>
326
 					<div class="form-title"><span class="font-weight-500">申请单编号:</span>{{detailsData.applyCode}}</div>
347
 					<div class="form-title"><span class="font-weight-500">状态:</span>{{detailsData.status.name}}</div>
327
 					<div class="form-title"><span class="font-weight-500">状态:</span>{{detailsData.status.name}}</div>
348
 					<div class="form-title"><span class="font-weight-500">科室名称:</span>{{detailsData.patientDTO.department.dept}}</div>
328
 					<div class="form-title"><span class="font-weight-500">科室名称:</span>{{detailsData.patientDTO.department.dept}}</div>

+ 2 - 1
src/app/views/pathology-communication-book/pathology-communication-book.component.less

@@ -115,9 +115,10 @@
115
   			width: 270px;
115
   			width: 270px;
116
       }
116
       }
117
 			.error-box{
117
 			.error-box{
118
-				width:280px;
118
+				
119
 				.error-class{
119
 				.error-class{
120
 					color: red;
120
 					color: red;
121
+					// width:280px;
121
 				}
122
 				}
122
 			}
123
 			}
123
     }
124
     }

+ 65 - 34
src/app/views/pathology-communication-book/pathology-communication-book.component.ts

@@ -145,7 +145,7 @@ export class PathologyCommunicationBookComponent implements OnInit, OnDestroy {
145
 	changeInpSubjectUser = new Subject(); //防抖
145
 	changeInpSubjectUser = new Subject(); //防抖
146
 	changeInpSubjectSpecimen = new Subject(); //防抖
146
 	changeInpSubjectSpecimen = new Subject(); //防抖
147
 	changeInpSubjectDepartment = new Subject(); //防抖
147
 	changeInpSubjectDepartment = new Subject(); //防抖
148
-	intraoperativeRapidity:any = null; //术中快速
148
+	pathologyFormType:any = null; //术中快速
149
 	status:any; //状态
149
 	status:any; //状态
150
 	deliveryUser:any //配送人
150
 	deliveryUser:any //配送人
151
 	userData:any = []; //患者数据
151
 	userData:any = []; //患者数据
@@ -168,6 +168,7 @@ export class PathologyCommunicationBookComponent implements OnInit, OnDestroy {
168
 	toDayData:any = null;
168
 	toDayData:any = null;
169
 	toDayTime:any = null;
169
 	toDayTime:any = null;
170
 	backType:any = 'list';
170
 	backType:any = 'list';
171
+	mainRole:any = false;
171
 	loginUserDeptId: number = JSON.parse(localStorage.getItem("user")).user.dept
172
 	loginUserDeptId: number = JSON.parse(localStorage.getItem("user")).user.dept
172
 	  .id; //登录人所属科室
173
 	  .id; //登录人所属科室
173
   ngOnDestroy() {
174
   ngOnDestroy() {
@@ -265,11 +266,8 @@ export class PathologyCommunicationBookComponent implements OnInit, OnDestroy {
265
 	// 重置
266
 	// 重置
266
 	reset() {
267
 	reset() {
267
 	  this.pageOneIndex = 1;
268
 	  this.pageOneIndex = 1;
268
-	  this.startDate = null;
269
-		this.endDate = null;
270
-		this.acceptTime = [];
271
 		this.status = null;
269
 		this.status = null;
272
-		this.intraoperativeRapidity = null;
270
+		this.pathologyFormType = null;
273
 		this.deliveryUser = null;
271
 		this.deliveryUser = null;
274
 	  this.getConnectList();
272
 	  this.getConnectList();
275
 	}
273
 	}
@@ -288,7 +286,7 @@ export class PathologyCommunicationBookComponent implements OnInit, OnDestroy {
288
 				status:{
286
 				status:{
289
 					id:this.status
287
 					id:this.status
290
 				},
288
 				},
291
-				intraoperativeRapidity:this.intraoperativeRapidity
289
+				pathologyFormType:this.pathologyFormType
292
 	    },
290
 	    },
293
 	  };
291
 	  };
294
 	  this.loading1 = true;
292
 	  this.loading1 = true;
@@ -325,13 +323,21 @@ export class PathologyCommunicationBookComponent implements OnInit, OnDestroy {
325
 
323
 
326
 	// 配送清点
324
 	// 配送清点
327
 	distributionTab(){
325
 	distributionTab(){
328
-		this.mainService.generateBatchNumber()
329
-		.subscribe((res:any) =>{
330
-			this.batchNo = res.data
326
+		this.batchNo = localStorage.getItem("bookBatchNo")
327
+		if(this.batchNo){
331
 			localStorage.setItem("scanCodeData",'')
328
 			localStorage.setItem("scanCodeData",'')
332
 			localStorage.setItem("checkType",'pathologyHandoverBook')
329
 			localStorage.setItem("checkType",'pathologyHandoverBook')
333
 			this.router.navigateByUrl(`/pathologyCheck?batchNo=${this.batchNo}`);
330
 			this.router.navigateByUrl(`/pathologyCheck?batchNo=${this.batchNo}`);
334
-		})
331
+		}else{
332
+			this.mainService.generateBatchNumber()
333
+			.subscribe((res:any) =>{
334
+				this.batchNo = res.data
335
+				localStorage.setItem("bookBatchNo",res.data)
336
+				localStorage.setItem("scanCodeData",'')
337
+				localStorage.setItem("checkType",'pathologyHandoverBook')
338
+				this.router.navigateByUrl(`/pathologyCheck?batchNo=${this.batchNo}`);
339
+			})
340
+		}
335
 	}
341
 	}
336
 	
342
 	
337
 	// 关闭查看标本
343
 	// 关闭查看标本
@@ -428,32 +434,57 @@ export class PathologyCommunicationBookComponent implements OnInit, OnDestroy {
428
 			return
434
 			return
429
 		}
435
 		}
430
 		this.isSpinning = true
436
 		this.isSpinning = true
431
-		this.mainService.generateBatchNumber()
432
-		.subscribe((res1:any) => {
433
-			if(res1.status==200){
434
-				this.batchNo = res1.data
435
-				let data={
436
-					barcode:e,
437
-					deptId:this.deptId,
438
-					batchNo:this.batchNo,
439
-					platform:'pathologyHandoverBook',
437
+		this.batchNo = localStorage.getItem("bookBatchNo")
438
+		if(this.batchNo){
439
+			let data={
440
+				barcode:e,
441
+				deptId:this.deptId,
442
+				batchNo:this.batchNo,
443
+				platform:'pathologyHandoverBook',
444
+			}
445
+			this.mainService.pathologyScanCode(data)
446
+			.subscribe((res:any) => {
447
+				this.isSpinning = false
448
+				if(res.status==200){
449
+					localStorage.setItem("scanCodeData",JSON.stringify(res))
450
+					localStorage.setItem("dataType",res.dataType)
451
+					localStorage.setItem("checkType",'pathologyHandoverBook')
452
+					this.router.navigateByUrl(`/pathologyCheck?batchNo=${this.batchNo}&businessType=connect`);
453
+					this.searchMsg = null
454
+				}else{
455
+					this.barCode = null
456
+					this.searchMsg = res.msg
440
 				}
457
 				}
441
-				this.mainService.pathologyScanCode(data)
442
-				.subscribe((res:any) => {
443
-					this.isSpinning = false
444
-					if(res.status==200){
445
-						localStorage.setItem("scanCodeData",JSON.stringify(res))
446
-						localStorage.setItem("dataType",res.dataType)
447
-						localStorage.setItem("checkType",'pathologyHandoverBook')
448
-						this.router.navigateByUrl(`/pathologyCheck?batchNo=${this.batchNo}&businessType=connect`);
449
-						this.searchMsg = null
450
-					}else{
451
-						this.barCode = null
452
-						this.searchMsg = res.msg
458
+			})
459
+		}else{
460
+			this.mainService.generateBatchNumber()
461
+			.subscribe((res1:any) => {
462
+				if(res1.status==200){
463
+					this.batchNo = res1.data
464
+					localStorage.setItem("bookBatchNo",res1.data)
465
+					let data={
466
+						barcode:e,
467
+						deptId:this.deptId,
468
+						batchNo:this.batchNo,
469
+						platform:'pathologyHandoverBook',
453
 					}
470
 					}
454
-				})
455
-			}
456
-		})
471
+					this.mainService.pathologyScanCode(data)
472
+					.subscribe((res:any) => {
473
+						this.isSpinning = false
474
+						if(res.status==200){
475
+							localStorage.setItem("scanCodeData",JSON.stringify(res))
476
+							localStorage.setItem("dataType",res.dataType)
477
+							localStorage.setItem("checkType",'pathologyHandoverBook')
478
+							this.router.navigateByUrl(`/pathologyCheck?batchNo=${this.batchNo}&businessType=connect`);
479
+							this.searchMsg = null
480
+						}else{
481
+							this.barCode = null
482
+							this.searchMsg = res.msg
483
+						}
484
+					})
485
+				}
486
+			})
487
+		}
457
 	}
488
 	}
458
 	
489
 	
459
 	// 获取标本接收数据
490
 	// 获取标本接收数据

+ 4 - 4
src/app/views/pathology/pathology.component.html

@@ -76,7 +76,7 @@
76
 						</div>
76
 						</div>
77
 						<div class="list-template__searchItem">
77
 						<div class="list-template__searchItem">
78
 						  <span class="label">术中快速:</span>
78
 						  <span class="label">术中快速:</span>
79
-							<nz-radio-group [(ngModel)]="intraoperativeRapidity">
79
+							<nz-radio-group [(ngModel)]="pathologyFormType">
80
 								<label nz-radio nzValue="1">是</label>
80
 								<label nz-radio nzValue="1">是</label>
81
 								<label nz-radio nzValue="0">否</label>
81
 								<label nz-radio nzValue="0">否</label>
82
 							</nz-radio-group>
82
 							</nz-radio-group>
@@ -106,7 +106,7 @@
106
 			      </thead>
106
 			      </thead>
107
 			      <tbody>
107
 			      <tbody>
108
 			        <tr *ngFor="let data of listOneData">
108
 			        <tr *ngFor="let data of listOneData">
109
-			          <td><span *ngIf="data.intraoperativeRapidity==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
109
+			          <td><span *ngIf="data.pathologyFormType==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
110
 								<td>{{ data.patientDTO?data.patientDTO.patientName : '-' }}</td>
110
 								<td>{{ data.patientDTO?data.patientDTO.patientName : '-' }}</td>
111
 			          <td>{{ data.patientDTO.patientCode}}</td>
111
 			          <td>{{ data.patientDTO.patientCode}}</td>
112
 			          <td>{{ data.takePart}}</td>
112
 			          <td>{{ data.takePart}}</td>
@@ -153,7 +153,7 @@
153
       	      </thead>
153
       	      </thead>
154
       	      <tbody>
154
       	      <tbody>
155
       	        <tr *ngFor="let data of listTwoData">
155
       	        <tr *ngFor="let data of listTwoData">
156
-      	         <td><span *ngIf="data.intraoperativeRapidity==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
156
+      	         <td><span *ngIf="data.pathologyFormType==1" style="color: red;">速</span>{{ data.applyCode || '-' }}</td>
157
       	         <td>{{ data.patientDTO?data.patientDTO.patientName : '-' }}</td>
157
       	         <td>{{ data.patientDTO?data.patientDTO.patientName : '-' }}</td>
158
       	         <td>{{ data.patientDTO.patientCode}}</td>
158
       	         <td>{{ data.patientDTO.patientCode}}</td>
159
       	         <td>{{ data.takePart}}</td>
159
       	         <td>{{ data.takePart}}</td>
@@ -324,7 +324,7 @@
324
 		<div class="content border">
324
 		<div class="content border">
325
 			<div class="content-item boder-right">
325
 			<div class="content-item boder-right">
326
 				<div class="form-title-box">
326
 				<div class="form-title-box">
327
-					<div class="form-title"><span class="font-weight-500">是否术中快速:</span>{{detailsData.intraoperativeRapidity==1?'是':'否'}}</div>
327
+					<div class="form-title"><span class="font-weight-500">是否术中快速:</span>{{detailsData.pathologyFormType==1?'是':'否'}}</div>
328
 					<div class="form-title"><span class="font-weight-500">申请单编号:</span>{{detailsData.applyCode}}</div>
328
 					<div class="form-title"><span class="font-weight-500">申请单编号:</span>{{detailsData.applyCode}}</div>
329
 					<div class="form-title"><span class="font-weight-500">状态:</span>{{detailsData.status.name}}</div>
329
 					<div class="form-title"><span class="font-weight-500">状态:</span>{{detailsData.status.name}}</div>
330
 					<div class="form-title"><span class="font-weight-500">科室名称:</span>{{detailsData.patientDTO.department.dept}}</div>
330
 					<div class="form-title"><span class="font-weight-500">科室名称:</span>{{detailsData.patientDTO.department.dept}}</div>

+ 5 - 5
src/app/views/pathology/pathology.component.ts

@@ -144,7 +144,7 @@ export class PathologyComponent implements OnInit, OnDestroy {
144
 	changeInpSubjectUser = new Subject(); //防抖
144
 	changeInpSubjectUser = new Subject(); //防抖
145
 	changeInpSubjectSpecimen = new Subject(); //防抖
145
 	changeInpSubjectSpecimen = new Subject(); //防抖
146
 	changeInpSubjectDepartment = new Subject(); //防抖
146
 	changeInpSubjectDepartment = new Subject(); //防抖
147
-	intraoperativeRapidity:any = null; //术中快速
147
+	pathologyFormType:any = null; //术中快速
148
 	deliveryUser:any //配送人
148
 	deliveryUser:any //配送人
149
 	acceptTime:any; //接收时间
149
 	acceptTime:any; //接收时间
150
 	userData:any = []; //配送人数据
150
 	userData:any = []; //配送人数据
@@ -313,7 +313,7 @@ export class PathologyComponent implements OnInit, OnDestroy {
313
 	  this.startDate = null;
313
 	  this.startDate = null;
314
 		this.endDate = null;
314
 		this.endDate = null;
315
 		this.acceptTime = [];
315
 		this.acceptTime = [];
316
-		this.intraoperativeRapidity = null;
316
+		this.pathologyFormType = null;
317
 		this.deliveryUser = null;
317
 		this.deliveryUser = null;
318
 	  this.getConnectList();
318
 	  this.getConnectList();
319
 	}
319
 	}
@@ -328,7 +328,7 @@ export class PathologyComponent implements OnInit, OnDestroy {
328
 	  		endTime: this.endDate,
328
 	  		endTime: this.endDate,
329
 				receiveDept:this.deptId,
329
 				receiveDept:this.deptId,
330
 				deliveryUser:this.deliveryUser,
330
 				deliveryUser:this.deliveryUser,
331
-				intraoperativeRapidity:this.intraoperativeRapidity
331
+				pathologyFormType:this.pathologyFormType
332
 	    },
332
 	    },
333
 	  };
333
 	  };
334
 	  this.loading1 = true;
334
 	  this.loading1 = true;
@@ -349,8 +349,8 @@ export class PathologyComponent implements OnInit, OnDestroy {
349
 		  sum: that.pageSize,
349
 		  sum: that.pageSize,
350
 		  pathologyForm: {
350
 		  pathologyForm: {
351
 				executiveDept:this.deptId,
351
 				executiveDept:this.deptId,
352
-				intraoperativeRapidity:1,
353
-				operationType:'intraoperativeRapidity'
352
+				pathologyFormType:1,
353
+				operationType:'pathologyFormType'
354
 		  },
354
 		  },
355
 		};
355
 		};
356
 		this.loading2 = true;
356
 		this.loading2 = true;

+ 19 - 6
src/app/views/specimen-room-view/specimen-room-view.component.html

@@ -26,7 +26,7 @@
26
 			<div>
26
 			<div>
27
 				<div class="error-class">{{searchMsg}}</div>
27
 				<div class="error-class">{{searchMsg}}</div>
28
 			</div>
28
 			</div>
29
-			<button class="right-btn" nz-button nzType="primary" nzSize="large" (click)="specimenCheck()">标本核对</button>
29
+			<button class="right-btn" nz-button nzType="primary" (click)="specimenCheck()">标本核对</button>
30
     </div>
30
     </div>
31
     <div class="userInfo">
31
     <div class="userInfo">
32
       <div class="wel">欢迎您:</div>
32
       <div class="wel">欢迎您:</div>
@@ -80,7 +80,8 @@
80
             <div class="pharmacy-main__selectionInfo">
80
             <div class="pharmacy-main__selectionInfo">
81
               <div class="pharmacy-main__selectionItem">
81
               <div class="pharmacy-main__selectionItem">
82
                 <span title="住院号" class="weight">
82
                 <span title="住院号" class="weight">
83
-									<span class="sign-red" *ngIf="item.intraoperativeRapidity==1">速冻</span>
83
+									<span class="sign-red" *ngIf="item.pathologyFormType==1">速</span>
84
+									<span *ngIf="item.pathologyFormType==0">普</span>
84
 									{{item.applyCode || '无'}}
85
 									{{item.applyCode || '无'}}
85
 								</span>
86
 								</span>
86
                 <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
87
                 <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
@@ -170,8 +171,9 @@
170
             <div class="pharmacy-main__selectionInfo">
171
             <div class="pharmacy-main__selectionInfo">
171
               <div class="pharmacy-main__selectionItem">
172
               <div class="pharmacy-main__selectionItem">
172
                 <span title="住院号" class="weight">
173
                 <span title="住院号" class="weight">
173
-            			<span class="sign-red" *ngIf="item.intraoperativeRapidity==1">速冻</span>
174
-            			{{item.applyCode || '无'}}
174
+									<span class="sign-red" *ngIf="item.pathologyFormType==1">速</span>
175
+									<span *ngIf="item.pathologyFormType==0">普</span>
176
+									{{item.applyCode || '无'}}
175
             		</span>
177
             		</span>
176
                 <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
178
                 <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
177
               </div>
179
               </div>
@@ -260,8 +262,9 @@
260
             <div class="pharmacy-main__selectionInfo">
262
             <div class="pharmacy-main__selectionInfo">
261
               <div class="pharmacy-main__selectionItem">
263
               <div class="pharmacy-main__selectionItem">
262
                 <span title="住院号" class="weight">
264
                 <span title="住院号" class="weight">
263
-            			<span class="sign-red" *ngIf="item.intraoperativeRapidity==1">速冻</span>
264
-            			{{item.applyCode || '无'}}
265
+            			<span class="sign-red" *ngIf="item.pathologyFormType==1">速</span>
266
+            			<span *ngIf="item.pathologyFormType==0">普</span>
267
+									{{item.applyCode || '无'}}
265
             		</span>
268
             		</span>
266
                 <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
269
                 <span title="姓名" class="weight text-right">{{item.patientDTO.patientName || '无'}}</span>
267
               </div>
270
               </div>
@@ -446,6 +449,16 @@
446
 					</nz-radio-group>
449
 					</nz-radio-group>
447
 				</nz-form-control>
450
 				</nz-form-control>
448
 			</nz-form-item>
451
 			</nz-form-item>
452
+			
453
+			<nz-form-item>
454
+				<nz-form-label nzRequired nzFor="showFrozen">标本是否显示速冻</nz-form-label>
455
+				<nz-form-control nzErrorTip="请选择!">
456
+					<nz-radio-group formControlName="showFrozen">
457
+						<label nz-radio [nzValue]="1">是</label>
458
+						<label nz-radio [nzValue]="0">否</label>
459
+					</nz-radio-group>
460
+				</nz-form-control>
461
+			</nz-form-item>
449
 		 </form>
462
 		 </form>
450
 		</overlay-scrollbars>
463
 		</overlay-scrollbars>
451
 		<div class="display_flex justify-content_flex-center">
464
 		<div class="display_flex justify-content_flex-center">

+ 0 - 1
src/app/views/specimen-room-view/specimen-room-view.component.less

@@ -350,7 +350,6 @@
350
 								font-weight: 500;
350
 								font-weight: 500;
351
 								.sign-red{
351
 								.sign-red{
352
 									color: red;
352
 									color: red;
353
-									margin-right: 10px;
354
 								}
353
 								}
355
 							}
354
 							}
356
               .moreContent{
355
               .moreContent{

+ 18 - 5
src/app/views/specimen-room-view/specimen-room-view.component.ts

@@ -163,12 +163,20 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
163
   }
163
   }
164
 	
164
 	
165
 	// 标本核对
165
 	// 标本核对
166
+	batchNo:any = null;
166
 	specimenCheck(){
167
 	specimenCheck(){
167
-		this.mainService.generateBatchNumber()
168
-		.subscribe((res:any) =>{
168
+		this.batchNo = localStorage.getItem("specimenBatchNo")
169
+		if(this.batchNo){
169
 			localStorage.setItem("checkType",'specimenDept')
170
 			localStorage.setItem("checkType",'specimenDept')
170
-			this.router.navigateByUrl(`/pathologyCheck?batchNo=${res.data}`);
171
-		})
171
+			this.router.navigateByUrl(`/pathologyCheck?batchNo=${this.batchNo}`);
172
+		}else{
173
+			this.mainService.generateBatchNumber()
174
+			.subscribe((res:any) =>{
175
+				localStorage.setItem("specimenBatchNo",res.data)
176
+				localStorage.setItem("checkType",'specimenDept')
177
+				this.router.navigateByUrl(`/pathologyCheck?batchNo=${res.data}`);
178
+			})
179
+		}
172
 	}
180
 	}
173
 	
181
 	
174
 	// 标本条码搜索
182
 	// 标本条码搜索
@@ -190,7 +198,6 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
190
 			if(res.status==200){
198
 			if(res.status==200){
191
 				this.codeData = res.data[0]
199
 				this.codeData = res.data[0]
192
 				let item = this.codeData.pathologySpecimenDTOList.find(i=>i.specimenCode == e)
200
 				let item = this.codeData.pathologySpecimenDTOList.find(i=>i.specimenCode == e)
193
-				console.log(7,item)
194
 				if(!item.fixationTime && this.codeData.pathologyFormType==0){
201
 				if(!item.fixationTime && this.codeData.pathologyFormType==0){
195
 					if(this.codeData.status.value==2 || this.codeData.status.value==3 ||
202
 					if(this.codeData.status.value==2 || this.codeData.status.value==3 ||
196
 						this.codeData.status.value==4){
203
 						this.codeData.status.value==4){
@@ -274,6 +281,8 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
274
 		this.btnLoading = true
281
 		this.btnLoading = true
275
 		this.mainService.getDictionary("list", "fixing_liquid_type").subscribe((res) => {
282
 		this.mainService.getDictionary("list", "fixing_liquid_type").subscribe((res) => {
276
 			this.fixativeData = res
283
 			this.fixativeData = res
284
+			let item = this.fixativeData.find(i=>i.value==1)
285
+			this.validateVerificationForm.controls.fixative.setValue(item.id);
277
 			this.btnLoading = false
286
 			this.btnLoading = false
278
 			this.verificationMoadl = true
287
 			this.verificationMoadl = true
279
 		});
288
 		});
@@ -393,6 +402,7 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
393
 					this.validateForm.controls.operation.setValue(deptArr);
402
 					this.validateForm.controls.operation.setValue(deptArr);
394
 				}
403
 				}
395
 				this.validateForm.controls.specimen.setValue(data.dept.id);
404
 				this.validateForm.controls.specimen.setValue(data.dept.id);
405
+				this.validateForm.controls.showFrozen.setValue(data.showFrozen);
396
 				if(data.autoCreateOrder){
406
 				if(data.autoCreateOrder){
397
 					this.validateForm.controls.generate.setValue(data.autoCreateOrder);
407
 					this.validateForm.controls.generate.setValue(data.autoCreateOrder);
398
 				}
408
 				}
@@ -406,12 +416,14 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
406
 			  specimen: [this.validateForm.value.specimen, [Validators.required]],
416
 			  specimen: [this.validateForm.value.specimen, [Validators.required]],
407
 				operation: [this.validateForm.value.operation, [Validators.required]],
417
 				operation: [this.validateForm.value.operation, [Validators.required]],
408
 				generate:[this.validateForm.value.generate, [Validators.required]],
418
 				generate:[this.validateForm.value.generate, [Validators.required]],
419
+				showFrozen:[this.validateForm.value.showFrozen, [Validators.required]],
409
 			});
420
 			});
410
 		}else{
421
 		}else{
411
 			this.validateForm = this.fb.group({
422
 			this.validateForm = this.fb.group({
412
 			  specimen: [null, [Validators.required]],
423
 			  specimen: [null, [Validators.required]],
413
 				operation: [null, [Validators.required]],
424
 				operation: [null, [Validators.required]],
414
 				generate:[1, [Validators.required]],
425
 				generate:[1, [Validators.required]],
426
+				showFrozen:[0, [Validators.required]],
415
 			});
427
 			});
416
 		}
428
 		}
417
 		this.relevanceModal = true
429
 		this.relevanceModal = true
@@ -429,6 +441,7 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
429
 		let data = {
441
 		let data = {
430
 		  user: {
442
 		  user: {
431
 		    autoCreateOrder: this.validateForm.value.generate,
443
 		    autoCreateOrder: this.validateForm.value.generate,
444
+				showFrozen: this.validateForm.value.showFrozen,
432
 				dept:{
445
 				dept:{
433
 					id:this.validateForm.value.specimen
446
 					id:this.validateForm.value.specimen
434
 				},
447
 				},