Pārlūkot izejas kodu

病理封面打印开发

maotao 3 mēneši atpakaļ
vecāks
revīzija
2b9fe33aa2

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

@@ -154,6 +154,7 @@
154 154
 			<button class="btn btn-right" nz-button nzType="primary" (click)="temporary('submit')" [nzLoading]="zcLoading">保存</button>
155 155
 		  <button class="btn btn-right" nz-button nzType="primary" (click)="superaddition()" [nzLoading]="zjLoading">追加打印</button>
156 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 158
 			<button class="btn cancel" nz-button nzType="default" (click)="hideModal()">取消</button>
158 159
 		</div>
159 160
 	</div>
@@ -438,7 +439,7 @@
438 439
 			</div> -->
439 440
 			
440 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 443
 				<div *ngFor="let data of printData.specimenList; let index=index;">
443 444
 				 <div>
444 445
 					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;position: relative;">
@@ -491,7 +492,7 @@
491 492
 			</div>
492 493
 			
493 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 496
 				<div *ngFor="let data of printData.specimenList; let index=index;">
496 497
 					<div style="width: 100%;display: flex;margin-top: 5px;padding: 0 7px;">
497 498
 					 <div style="width: 35%;">
@@ -520,5 +521,41 @@
520 521
 				 <div style="height: 18px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
521 522
 				</div>
522 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 560
 		</div>
524 561
   </div>

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

@@ -943,6 +943,7 @@ export class PathologyAddComponent implements OnInit {
943 943
 			delete data.pathologyForm.fixationTime
944 944
 			delete data.pathologyForm.specimenFixingLiquid
945 945
 		}
946
+		this.coverType = 0
946 947
 		this.printLoading = true;
947 948
 		this.mainService
948 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 1291
 	printFun(data){
1292
+		this.coverType = 0
1270 1293
 		this.mainService
1271 1294
 		  .pathologyPrint(data)
1272 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 581
 					this.multiModal = true
582 582
 					this.codeMultiData = res.data[0].pathologySpecimenDTOList
583 583
 					localStorage.setItem("scanCodeData",JSON.stringify(res))
584
+					if(this.muArr.length === this.codeMultiData.length){
585
+						this.submitMultiForm()
586
+					}
584 587
 				}else{
585 588
 					this.notification.create('success','提示',res.msg);
586 589
 					this.activeIndex = 0
@@ -640,6 +643,9 @@ export class PathologyCheckComponent implements OnInit, OnDestroy {
640 643
 					this.multiModal = true
641 644
 					localStorage.setItem("scanCodeData",JSON.stringify(res))
642 645
 					this.errorMultiMsg = null
646
+					if(this.muArr.length === this.codeMultiData.length){
647
+						this.submitMultiForm()
648
+					}
643 649
 				}else{
644 650
 					this.errorMultiMsg = res.msg
645 651
 				}

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

@@ -175,6 +175,7 @@
175 175
 					<button *ngIf="statusValue==1" class="btn btn-right" nz-button nzType="primary" (click)="submitForm('print')" [nzLoading]="btnLoading">标本打印</button>
176 176
 					<button *ngIf="statusValue==2 || statusValue==3 || statusValue==4" class="btn btn-right" nz-button nzType="primary" (click)="superaddition()" [nzLoading]="zjLoading">追加打印</button>
177 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 179
 				</div>
179 180
 			</div>
180 181
 			
@@ -563,7 +564,7 @@
563 564
 <div id="report" style="display: none;">
564 565
 	<div class="monad">
565 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 568
 			<div *ngFor="let data of printData.specimenList; let index=index;">
568 569
 			 <div>
569 570
 				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;position: relative;">
@@ -616,7 +617,7 @@
616 617
 		</div>
617 618
 		
618 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 621
 			<div *ngFor="let data of printData.specimenList; let index=index;">
621 622
 				<div style="width: 100%;display: flex;margin-top: 5px;padding: 0 7px;">
622 623
 				 <div style="width: 35%;">
@@ -645,6 +646,42 @@
645 646
 			 <div style="height: 18px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
646 647
 			</div>
647 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 685
 	</div>
649 686
 </div>
650 687
 	

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

@@ -761,6 +761,9 @@
761 761
 					.btn-right{
762 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 609
 			delete data.pathologyForm.specimenFixingLiquid
610 610
 		}
611 611
 		this.printLoading = true;
612
+		this.coverType = 0;
612 613
 		this.mainService
613 614
 		  .pathologyPrint(data)
614 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 1484
 	printFun(data){
1485
+		this.coverType = 0;
1464 1486
 		this.mainService
1465 1487
 			.pathologyPrint(data)
1466 1488
 			.subscribe((res:any) => {

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

@@ -9,10 +9,10 @@
9 9
     <div class="pharmacy-name">
10 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 16
 			</div>
17 17
       <div class="pharmacy-name__total">
18 18
 				<nz-input-group nzSize="large">

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

@@ -91,6 +91,7 @@
91 91
 			justify-content: center;
92 92
 			.mar-ri-30{
93 93
 				margin-right: 30px;
94
+				font-size: 16px;
94 95
 			}
95 96
 			.weight{
96 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 656
 			this.getPharmacyList(this.pharmacyIdx, 'leavedDept', this.pharmacySearchKey);
657 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 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
 	}