Przeglądaj źródła

病理封面打印开发

maotao 6 miesięcy temu
rodzic
commit
2b9fe33aa2

+ 39 - 2
src/app/share/pathology-add/pathology-add.component.html

@@ -154,6 +154,7 @@
154
 			<button class="btn btn-right" nz-button nzType="primary" (click)="temporary('submit')" [nzLoading]="zcLoading">保存</button>
154
 			<button class="btn btn-right" nz-button nzType="primary" (click)="temporary('submit')" [nzLoading]="zcLoading">保存</button>
155
 		  <button class="btn btn-right" nz-button nzType="primary" (click)="superaddition()" [nzLoading]="zjLoading">追加打印</button>
155
 		  <button class="btn btn-right" nz-button nzType="primary" (click)="superaddition()" [nzLoading]="zjLoading">追加打印</button>
156
 			<button class="btn btn-right" nz-button nzType="primary" (click)="submitForm('all')" [nzLoading]="btnLoading">全量打印</button>
156
 			<button class="btn btn-right" nz-button nzType="primary" (click)="submitForm('all')" [nzLoading]="btnLoading">全量打印</button>
157
+			<button class="btn btn-right" *ngIf="specimenList.length>1" nz-button nzType="primary" (click)="coverSubmitForm()">封面打印</button>
157
 			<button class="btn cancel" nz-button nzType="default" (click)="hideModal()">取消</button>
158
 			<button class="btn cancel" nz-button nzType="default" (click)="hideModal()">取消</button>
158
 		</div>
159
 		</div>
159
 	</div>
160
 	</div>
@@ -438,7 +439,7 @@
438
 			</div> -->
439
 			</div> -->
439
 			
440
 			
440
 			<!-- 12.11新版打印样式 -->
441
 			<!-- 12.11新版打印样式 -->
441
-			<div style="font-size: 12px;" *ngIf="surgeryPathologyLabelSize==1 && printData && printData.specimenList && printData.specimenList.length>0">
442
+			<div style="font-size: 12px;" *ngIf="surgeryPathologyLabelSize==1 && printData && printData.specimenList && printData.specimenList.length>0 && coverType==0">
442
 				<div *ngFor="let data of printData.specimenList; let index=index;">
443
 				<div *ngFor="let data of printData.specimenList; let index=index;">
443
 				 <div>
444
 				 <div>
444
 					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;position: relative;">
445
 					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;position: relative;">
@@ -491,7 +492,7 @@
491
 			</div>
492
 			</div>
492
 			
493
 			
493
 			<!-- 小尺寸 20*30-->
494
 			<!-- 小尺寸 20*30-->
494
-			<div style="font-size: 12px;" *ngIf="surgeryPathologyLabelSize==2 && printData && printData.specimenList && printData.specimenList.length>0">
495
+			<div style="font-size: 12px;" *ngIf="surgeryPathologyLabelSize==2 && printData && printData.specimenList && printData.specimenList.length>0 && coverType==0">
495
 				<div *ngFor="let data of printData.specimenList; let index=index;">
496
 				<div *ngFor="let data of printData.specimenList; let index=index;">
496
 					<div style="width: 100%;display: flex;margin-top: 5px;padding: 0 7px;">
497
 					<div style="width: 100%;display: flex;margin-top: 5px;padding: 0 7px;">
497
 					 <div style="width: 35%;">
498
 					 <div style="width: 35%;">
@@ -520,5 +521,41 @@
520
 				 <div style="height: 18px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
521
 				 <div style="height: 18px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
521
 				</div>
522
 				</div>
522
 			</div>
523
 			</div>
524
+			
525
+			<!-- 封面打印 -->
526
+			<div style="font-size: 14px;" *ngIf="coverType==1">
527
+			 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;position: relative;">
528
+				 <div style="width: 40%;">
529
+					<div style="height: 60px;width: 100%;text-align: center;">
530
+					 <img style="max-width: 100%;max-height: 100%;" [src]="detailsData.barCode" alt="">
531
+					 <div>{{detailsData.applyCode}}</div>
532
+					</div>
533
+				 </div>
534
+				 <div style="width: 60%;height: 100%;text-align: center;display: flex;align-items: center;flex-wrap: wrap;justify-content: right;">
535
+					 <img style="max-width: 70%;max-height: 100%;" [src]="tool.logoUrl" alt="">
536
+					 <div style="font-size: 18px;width: 100%;font-weight: bold;text-align: right;">病&nbsp;&nbsp;理&nbsp;&nbsp;申&nbsp;&nbsp;请&nbsp;&nbsp;单</div>
537
+				 </div>
538
+			 </div>
539
+			 <div>
540
+				<div style="margin-top:20px;display: flex;justify-content: space-between;">
541
+					<div>患者: {{detailsData.patientDTO.patientName}}</div>
542
+					<div>性别: {{detailsData.patientDTO.gender?detailsData.patientDTO.gender.name:'-'}}</div>
543
+					<div>年龄: {{detailsData.patientDTO.age||'-'}}岁</div>
544
+				</div>
545
+				<div style="margin-top:10px;display: flex;justify-content: space-between;">
546
+					<div *ngIf="detailsData.residenceNo">住院号: {{detailsData.residenceNo}}</div>
547
+					<div *ngIf="!detailsData.residenceNo">门诊号: {{detailsData.patientDTO.patientCode}}</div>
548
+					<div>床号: {{detailsData.patientDTO.bedNum}}床</div>
549
+				</div>
550
+				<div style="margin-top:10px;display: flex;justify-content: space-between;">
551
+					<div>科室: {{detailsData.patientDTO.department.dept}}</div>
552
+					<div>标本数: {{detailsData.specimenNum}}</div>
553
+				</div>
554
+				<div style="margin-top:10px;display: flex;justify-content: space-between;">
555
+					<div>日期: {{detailsData.inVitroTime|date:'yyyy-MM-dd'}}</div>
556
+					<div style="font-weight: bold;text-align: right;">{{detailsData.pathologyFormType==1 ? '速' : '普'}}</div>
557
+				</div>
558
+			 </div>
559
+			</div>
523
 		</div>
560
 		</div>
524
   </div>
561
   </div>

+ 23 - 0
src/app/share/pathology-add/pathology-add.component.ts

@@ -943,6 +943,7 @@ export class PathologyAddComponent implements OnInit {
943
 			delete data.pathologyForm.fixationTime
943
 			delete data.pathologyForm.fixationTime
944
 			delete data.pathologyForm.specimenFixingLiquid
944
 			delete data.pathologyForm.specimenFixingLiquid
945
 		}
945
 		}
946
+		this.coverType = 0
946
 		this.printLoading = true;
947
 		this.printLoading = true;
947
 		this.mainService
948
 		this.mainService
948
 		  .pathologyPrint(data)
949
 		  .pathologyPrint(data)
@@ -1265,8 +1266,30 @@ export class PathologyAddComponent implements OnInit {
1265
 		}
1266
 		}
1266
 	}
1267
 	}
1267
 	
1268
 	
1269
+	// 封面打印
1270
+	coverType:any;
1271
+	coverSubmitForm(){
1272
+		this.coverType = 1
1273
+		if(this.detailsData.barCode){
1274
+			this.detailsData.barCode = this.sanitizer.bypassSecurityTrustResourceUrl(this.detailsData.barCode)
1275
+		}
1276
+		setTimeout(() => {
1277
+		  const printContent = document.getElementById("report");
1278
+		  const WindowPrt = window.open("", "", "width=100,height=1000");
1279
+			WindowPrt.document.body.innerHTML = printContent.innerHTML;
1280
+			setTimeout(_=>{
1281
+				WindowPrt.document.close();
1282
+				WindowPrt.focus();
1283
+				WindowPrt.print();
1284
+				WindowPrt.close();
1285
+				this.hideModal();
1286
+			},500)
1287
+		}, 500);
1288
+	}
1289
+	
1268
 	// 打印
1290
 	// 打印
1269
 	printFun(data){
1291
 	printFun(data){
1292
+		this.coverType = 0
1270
 		this.mainService
1293
 		this.mainService
1271
 		  .pathologyPrint(data)
1294
 		  .pathologyPrint(data)
1272
 		  .subscribe((res:any) => {
1295
 		  .subscribe((res:any) => {

+ 6 - 0
src/app/views/pathology-check/pathology-check.component.ts

@@ -581,6 +581,9 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
581
 					this.multiModal = true
581
 					this.multiModal = true
582
 					this.codeMultiData = res.data[0].pathologySpecimenDTOList
582
 					this.codeMultiData = res.data[0].pathologySpecimenDTOList
583
 					localStorage.setItem("scanCodeData",JSON.stringify(res))
583
 					localStorage.setItem("scanCodeData",JSON.stringify(res))
584
+					if(this.muArr.length === this.codeMultiData.length){
585
+						this.submitMultiForm()
586
+					}
584
 				}else{
587
 				}else{
585
 					this.notification.create('success','提示',res.msg);
588
 					this.notification.create('success','提示',res.msg);
586
 					this.activeIndex = 0
589
 					this.activeIndex = 0
@@ -640,6 +643,9 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
640
 					this.multiModal = true
643
 					this.multiModal = true
641
 					localStorage.setItem("scanCodeData",JSON.stringify(res))
644
 					localStorage.setItem("scanCodeData",JSON.stringify(res))
642
 					this.errorMultiMsg = null
645
 					this.errorMultiMsg = null
646
+					if(this.muArr.length === this.codeMultiData.length){
647
+						this.submitMultiForm()
648
+					}
643
 				}else{
649
 				}else{
644
 					this.errorMultiMsg = res.msg
650
 					this.errorMultiMsg = res.msg
645
 				}
651
 				}

+ 39 - 2
src/app/views/pathology-sample/pathology-sample.component.html

@@ -175,6 +175,7 @@
175
 					<button *ngIf="statusValue==1" class="btn btn-right" nz-button nzType="primary" (click)="submitForm('print')" [nzLoading]="btnLoading">标本打印</button>
175
 					<button *ngIf="statusValue==1" class="btn btn-right" nz-button nzType="primary" (click)="submitForm('print')" [nzLoading]="btnLoading">标本打印</button>
176
 					<button *ngIf="statusValue==2 || statusValue==3 || statusValue==4" class="btn btn-right" nz-button nzType="primary" (click)="superaddition()" [nzLoading]="zjLoading">追加打印</button>
176
 					<button *ngIf="statusValue==2 || statusValue==3 || statusValue==4" class="btn btn-right" nz-button nzType="primary" (click)="superaddition()" [nzLoading]="zjLoading">追加打印</button>
177
 					<button *ngIf="statusValue==2 || statusValue==3 || statusValue==4" class="btn" nz-button nzType="primary" nzGhost (click)="submitForm('all')" [nzLoading]="btnLoading">全量打印</button>
177
 					<button *ngIf="statusValue==2 || statusValue==3 || statusValue==4" class="btn" nz-button nzType="primary" nzGhost (click)="submitForm('all')" [nzLoading]="btnLoading">全量打印</button>
178
+					<button class="btn btn-left" *ngIf="(statusValue==2 || statusValue==3 || statusValue==4) && specimenList.length>1" nz-button nzType="primary" (click)="coverSubmitForm()">封面打印</button>
178
 				</div>
179
 				</div>
179
 			</div>
180
 			</div>
180
 			
181
 			
@@ -563,7 +564,7 @@
563
 <div id="report" style="display: none;">
564
 <div id="report" style="display: none;">
564
 	<div class="monad">
565
 	<div class="monad">
565
 		<!-- 大尺寸 80*60-->
566
 		<!-- 大尺寸 80*60-->
566
-		<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==1 && printData && printData.specimenList && printData.specimenList.length>0">
567
+		<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==1 && printData && printData.specimenList && printData.specimenList.length>0 && coverType==0">
567
 			<div *ngFor="let data of printData.specimenList; let index=index;">
568
 			<div *ngFor="let data of printData.specimenList; let index=index;">
568
 			 <div>
569
 			 <div>
569
 				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;position: relative;">
570
 				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;position: relative;">
@@ -616,7 +617,7 @@
616
 		</div>
617
 		</div>
617
 		
618
 		
618
 		<!-- 小尺寸 20*30-->
619
 		<!-- 小尺寸 20*30-->
619
-		<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==2 && printData && printData.specimenList && printData.specimenList.length>0">
620
+		<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==2 && printData && printData.specimenList && printData.specimenList.length>0 && coverType==0">
620
 			<div *ngFor="let data of printData.specimenList; let index=index;">
621
 			<div *ngFor="let data of printData.specimenList; let index=index;">
621
 				<div style="width: 100%;display: flex;margin-top: 5px;padding: 0 7px;">
622
 				<div style="width: 100%;display: flex;margin-top: 5px;padding: 0 7px;">
622
 				 <div style="width: 35%;">
623
 				 <div style="width: 35%;">
@@ -645,6 +646,42 @@
645
 			 <div style="height: 18px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
646
 			 <div style="height: 18px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
646
 			</div>
647
 			</div>
647
 		</div>
648
 		</div>
649
+		
650
+		<!-- 封面打印 -->
651
+		<div style="font-size: 14px;" *ngIf="coverType==1">
652
+		 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;position: relative;">
653
+			 <div style="width: 40%;">
654
+				<div style="height: 60px;width: 100%;text-align: center;">
655
+				 <img style="max-width: 100%;max-height: 100%;" [src]="detailsData.barCode" alt="">
656
+				 <div>{{detailsData.applyCode}}</div>
657
+				</div>
658
+			 </div>
659
+			 <div style="width: 60%;height: 100%;text-align: center;display: flex;align-items: center;flex-wrap: wrap;justify-content: right;">
660
+				 <img style="max-width: 70%;max-height: 100%;" [src]="tool.logoUrl" alt="">
661
+				 <div style="font-size: 18px;width: 100%;font-weight: bold;text-align: right;">病&nbsp;&nbsp;理&nbsp;&nbsp;申&nbsp;&nbsp;请&nbsp;&nbsp;单</div>
662
+			 </div>
663
+		 </div>
664
+		 <div>
665
+			<div style="margin-top:20px;display: flex;justify-content: space-between;">
666
+				<div>患者: {{detailsData.patientDTO.patientName}}</div>
667
+				<div>性别: {{detailsData.patientDTO.gender?detailsData.patientDTO.gender.name:'-'}}</div>
668
+				<div>年龄: {{detailsData.patientDTO.age||'-'}}岁</div>
669
+			</div>
670
+			<div style="margin-top:10px;display: flex;justify-content: space-between;">
671
+				<div *ngIf="detailsData.residenceNo">住院号: {{detailsData.residenceNo}}</div>
672
+				<div *ngIf="!detailsData.residenceNo">门诊号: {{detailsData.patientDTO.patientCode}}</div>
673
+				<div>床号: {{detailsData.patientDTO.bedNum}}床</div>
674
+			</div>
675
+			<div style="margin-top:10px;display: flex;justify-content: space-between;">
676
+				<div>科室: {{detailsData.patientDTO.department.dept}}</div>
677
+				<div>标本数: {{detailsData.specimenNum}}</div>
678
+			</div>
679
+			<div style="margin-top:10px;display: flex;justify-content: space-between;">
680
+				<div>日期: {{detailsData.inVitroTime|date:'yyyy-MM-dd'}}</div>
681
+				<div style="font-weight: bold;text-align: right;">{{detailsData.pathologyFormType==1 ? '速' : '普'}}</div>
682
+			</div>
683
+		 </div>
684
+		</div>
648
 	</div>
685
 	</div>
649
 </div>
686
 </div>
650
 	
687
 	

+ 3 - 0
src/app/views/pathology-sample/pathology-sample.component.less

@@ -761,6 +761,9 @@
761
 					.btn-right{
761
 					.btn-right{
762
 						margin-right: 10px;
762
 						margin-right: 10px;
763
 					}
763
 					}
764
+					.btn-left{
765
+						margin-left: 10px;
766
+					}
764
 				}
767
 				}
765
 			}
768
 			}
766
 		}
769
 		}

+ 22 - 0
src/app/views/pathology-sample/pathology-sample.component.ts

@@ -609,6 +609,7 @@ export class PathologySampleComponent implements OnInit {
609
 			delete data.pathologyForm.specimenFixingLiquid
609
 			delete data.pathologyForm.specimenFixingLiquid
610
 		}
610
 		}
611
 		this.printLoading = true;
611
 		this.printLoading = true;
612
+		this.coverType = 0;
612
 		this.mainService
613
 		this.mainService
613
 		  .pathologyPrint(data)
614
 		  .pathologyPrint(data)
614
 		  .subscribe((res:any) => {
615
 		  .subscribe((res:any) => {
@@ -1459,8 +1460,29 @@ export class PathologySampleComponent implements OnInit {
1459
 		}
1460
 		}
1460
 	}
1461
 	}
1461
 	
1462
 	
1463
+	// 封面打印
1464
+	coverType:any;
1465
+	coverSubmitForm(){
1466
+		this.coverType = 1
1467
+		if(this.detailsData.barCode){
1468
+			this.detailsData.barCode = this.sanitizer.bypassSecurityTrustResourceUrl(this.detailsData.barCode)
1469
+		}
1470
+		setTimeout(() => {
1471
+		  const printContent = document.getElementById("report");
1472
+		  const WindowPrt = window.open("", "", "width=100,height=1000");
1473
+			WindowPrt.document.body.innerHTML = printContent.innerHTML;
1474
+			setTimeout(_=>{
1475
+				WindowPrt.document.close();
1476
+				WindowPrt.focus();
1477
+				WindowPrt.print();
1478
+				WindowPrt.close();
1479
+			},500)
1480
+		}, 500);
1481
+	}
1482
+	
1462
 	// 打印
1483
 	// 打印
1463
 	printFun(data){
1484
 	printFun(data){
1485
+		this.coverType = 0;
1464
 		this.mainService
1486
 		this.mainService
1465
 			.pathologyPrint(data)
1487
 			.pathologyPrint(data)
1466
 			.subscribe((res:any) => {
1488
 			.subscribe((res:any) => {

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

@@ -9,10 +9,10 @@
9
     <div class="pharmacy-name">
9
     <div class="pharmacy-name">
10
 			<div class="mar-ri-30" *ngIf="toDayData">
10
 			<div class="mar-ri-30" *ngIf="toDayData">
11
 				今日接收:
11
 				今日接收:
12
-				申请单 <span class="weight">{{toDayData.pathologyFormNum}}</span> &nbsp;
13
-				标本 <span class="weight">{{toDayData.specimenNum}}</span>&nbsp;
14
-				速冻 <span class="weight">{{toDayData.rapidityNum}}</span>&nbsp;
15
-				送出申请单 <span class="weight">{{toDayData.sendOut}}</span>&nbsp;
12
+				申请单 <span class="weight">{{toDayData.pathologyFormNum || 0}}</span> &nbsp;
13
+				标本 <span class="weight">{{toDayData.specimenNum  || 0}}</span>&nbsp;
14
+				速冻 <span class="weight">{{toDayData.rapidityNum  || 0}}</span>&nbsp;
15
+				送出申请单 <span class="weight">{{toDayData.sendOut  || 0}}</span>&nbsp;
16
 			</div>
16
 			</div>
17
       <div class="pharmacy-name__total">
17
       <div class="pharmacy-name__total">
18
 				<nz-input-group nzSize="large">
18
 				<nz-input-group nzSize="large">

+ 1 - 0
src/app/views/pathology/pathology.component.less

@@ -91,6 +91,7 @@
91
 			justify-content: center;
91
 			justify-content: center;
92
 			.mar-ri-30{
92
 			.mar-ri-30{
93
 				margin-right: 30px;
93
 				margin-right: 30px;
94
+				font-size: 16px;
94
 			}
95
 			}
95
 			.weight{
96
 			.weight{
96
 				font-weight: bold;
97
 				font-weight: bold;

+ 9 - 2
src/app/views/specimen-room-view/specimen-room-view.component.ts

@@ -655,9 +655,16 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
655
 			// 今日离科标本列表
655
 			// 今日离科标本列表
656
 			this.getPharmacyList(this.pharmacyIdx, 'leavedDept', this.pharmacySearchKey);
656
 			this.getPharmacyList(this.pharmacyIdx, 'leavedDept', this.pharmacySearchKey);
657
 			if (res.status == 200) {
657
 			if (res.status == 200) {
658
-				this.showPromptModal("操作", true, "");
658
+				this.message.success('操作成功')
659
+				setTimeout(_=>{
660
+					this.verificationMoadl = false
661
+					this.fixationModal = false
662
+					document.getElementById('Binput').focus();
663
+				},200)
664
+				// this.showPromptModal("操作", true, "");
659
 			} else {
665
 			} else {
660
-				this.showPromptModal("操作", false, res.msg);
666
+				this.message.error(res.msg)
667
+				// this.showPromptModal("操作", false, res.msg);
661
 			}
668
 			}
662
 		});
669
 		});
663
 	}
670
 	}