Browse Source

门诊病理添加小标本打印

maotao 4 months ago
parent
commit
9a678f761a

+ 24 - 0
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.html

@@ -126,6 +126,30 @@
126 126
 										<label nz-radio [nzValue]="2">二维码</label>
127 127
 									</nz-radio-group>
128 128
 								</div>
129
+								<!--是否支持门诊新增申请单 -->
130
+								<div class="display_flex align-items_center mb8">
131
+									<nz-form-label class="label">是否支持门诊新增申请单</nz-form-label>
132
+									<nz-checkbox-group [(ngModel)]="outpatientCreatePathologyForm"></nz-checkbox-group>
133
+								</div>
134
+								<!-- 门诊病理标签样式 -->
135
+								<div class="display_flex align-items_center mb8">
136
+									<nz-form-label class="label">门诊病理标签样式</nz-form-label>
137
+									<nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzAllowClear nzPlaceHolder="请选择门诊病理标签样式" [(ngModel)]="outpatientPathologyLabelSize">
138
+										<ng-container *ngFor="let option of labelData">
139
+											<nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
140
+										</ng-container>
141
+									</nz-select>
142
+								</div>
143
+								
144
+								<!-- 手术病理标签样式 -->
145
+								<div class="display_flex align-items_center mb8">
146
+									<nz-form-label class="label">手术病理标签样式</nz-form-label>
147
+									<nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzAllowClear nzPlaceHolder="请选择手术病理标签样式" [(ngModel)]="surgeryPathologyLabelSize">
148
+										<ng-container *ngFor="let option of labelData">
149
+											<nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
150
+										</ng-container>
151
+									</nz-select>
152
+								</div>
129 153
 							</div>
130 154
 							<div class="bottom">
131 155
 								<button class="login-form-button" nzType="primary" [nzLoading]="btnLoading" nz-button (click)="submitPathologyForm()">保存</button>

+ 5 - 1
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.less

@@ -325,7 +325,11 @@
325 325
         nz-form-label {
326 326
           margin-left: 0px !important;
327 327
         }
328
-
328
+				
329
+				.ant-select{
330
+					width: 200px;
331
+				}
332
+				
329 333
         & > div {
330 334
           background: #f9fafb;
331 335
           border: 1px solid #e5e9ed;

+ 25 - 0
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.ts

@@ -31,6 +31,12 @@ export class ConfigurationSpecimenComponent implements OnInit {
31 31
 	  {label:'是否开启',value: 0}
32 32
 	];
33 33
 	
34
+	// 是否是否支持门诊新增申请单
35
+	outpatientCreatePathologyForm:any[] = [
36
+	  {label:'是否开启',value: 0}
37
+	];
38
+	outpatientPathologyLabelSize:any; //门诊病理标签样式
39
+	surgeryPathologyLabelSize:any //手术病理标签样式
34 40
 	// 门诊支持离体并固定
35 41
 	outpatientInVitroFixation:any[] = [
36 42
 	  {label:'是否开启',value: 0}
@@ -109,6 +115,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
109 115
 			this.getDeptList();
110 116
 			this.getTaskType();
111 117
 		}else{
118
+			this.getLabelDic()
112 119
 			this.getTaskTypesId()
113 120
 		}
114 121
 	}
@@ -178,8 +185,15 @@ export class ConfigurationSpecimenComponent implements OnInit {
178 185
 		  taskType: this.taskTypeData.id,
179 186
 		  hosId: this.hosId,
180 187
 		  autoCreate: this.autoCreate[0].checked ? 1 : 0,
188
+			outpatientCreatePathologyForm: this.outpatientCreatePathologyForm[0].checked ? 1 : 0,
181 189
 			outpatientInVitroFixation: this.outpatientInVitroFixation[0].checked ? 1 : 0,
182 190
 			pathologyBarCode : this.pathologyBarCode,
191
+			outpatientPathologyLabelSize:{
192
+				id:this.outpatientPathologyLabelSize
193
+			},
194
+			surgeryPathologyLabelSize:{
195
+				id:this.surgeryPathologyLabelSize
196
+			}, 
183 197
 		};
184 198
 		this.btnLoading = true;
185 199
 		this.mainService
@@ -228,6 +242,14 @@ export class ConfigurationSpecimenComponent implements OnInit {
228 242
       });
229 243
   }
230 244
 	
245
+	// 获取标本字典
246
+	labelData:any = [];
247
+	getLabelDic(){
248
+		this.mainService.getDictionary("list", "pathology_label_size").subscribe((data) => {
249
+			this.labelData = data
250
+		});
251
+	}
252
+	
231 253
 	// 获取任务类型(病理标本)
232 254
 	taskTypeData:any;
233 255
 	getTaskTypesId() {
@@ -301,8 +323,11 @@ export class ConfigurationSpecimenComponent implements OnInit {
301 323
           this.configs = result.list[0] || {};
302 324
 					// 病理标本
303 325
 					this.autoCreate[0].checked = this.configs.autoCreate == 1;
326
+					this.outpatientCreatePathologyForm[0].checked = this.configs.outpatientCreatePathologyForm == 1;
304 327
 					this.outpatientInVitroFixation[0].checked = this.configs.outpatientInVitroFixation == 1;
305 328
 					this.pathologyBarCode = this.configs.pathologyBarCode;
329
+					this.outpatientPathologyLabelSize = this.configs.outpatientPathologyLabelSize.id; //门诊病理标签样式
330
+					this.surgeryPathologyLabelSize = this.configs.surgeryPathologyLabelSize.id //手术病理标签样式
306 331
 					// 检查标本
307 332
           this.deptNotAlert[0].checked = this.configs.deptNotAlert == 1;
308 333
           this.arriveScanCode[0].checked = this.configs.arriveScanCode == 1;

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

@@ -391,7 +391,7 @@
391 391
 			</div> -->
392 392
 			
393 393
 			<!-- 12.11新版打印样式 -->
394
-			<div style="font-size: 12px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>0">
394
+			<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==1 && printData && printData.specimenList && printData.specimenList.length>0">
395 395
 				<div *ngFor="let data of printData.specimenList; let index=index;">
396 396
 				 <div>
397 397
 					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;">
@@ -440,5 +440,32 @@
440 440
 				 <div style="height: 26px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
441 441
 				</div>
442 442
 			</div>
443
+			
444
+			<!-- 小尺寸 20*30-->
445
+			<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==2 && printData && printData.specimenList && printData.specimenList.length>0">
446
+				<div *ngFor="let data of printData.specimenList; let index=index;">
447
+					<div style="width: 100%;display: flex;margin-top: 5px;">
448
+					 <div style="width: 40%;">
449
+						 <div style="display: flex;justify-content: center;">
450
+							 <div style="width: 50px;height: 50px;">
451
+							 		<img style="max-width: 100%;max-height: 100%;position: relative;left: -2px;" [src]="data.barCode" alt="">
452
+							 </div>
453
+							 <div style="width: 12px;">申请单</div>
454
+						 </div>
455
+						 <div style="text-align: left;">{{printData.applyCode}}</div>
456
+					 </div>
457
+					 <div style="width: 2%;"></div>
458
+					 <div style="width: 58%;">
459
+						<div style="display: flex;flex-wrap: nowrap;">住院号: {{data.patientNo}}</div>
460
+						<div style="margin-top:9px;">患者: {{data.patientName}}</div>
461
+						<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
462
+					 </div>
463
+					</div>
464
+					<div style="margin-top:10px;">
465
+						<div style="width: 100%;height: 32px;overflow: hidden;">部位: {{data.partSource}}{{data.organ}}{{data.specimenName}}</div>
466
+					</div>
467
+				 <div style="height: 15px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
468
+				</div>
469
+			</div>
443 470
 		</div>
444 471
   </div>

+ 5 - 1
src/app/share/pathology-add/pathology-add.component.ts

@@ -82,6 +82,7 @@ export class PathologyAddComponent implements OnInit {
82 82
 	
83 83
 	// 获取标本配置
84 84
 	pathologyBarCode:any = 1;
85
+	outpatientPathologyLabelSizeType:any = 1;
85 86
 	getPathologySys(){
86 87
 		let postData = {
87 88
 			  idx: 0,
@@ -97,7 +98,10 @@ export class PathologyAddComponent implements OnInit {
97 98
 		  .subscribe((result) => {
98 99
 		    if (result.status == 200) {
99 100
 					this.pathologyBarCode = result.list[0].pathologyBarCode?result.list[0].pathologyBarCode:1;
100
-		    }
101
+					if(result.list[0].outpatientPathologyLabelSize){
102
+						this.outpatientPathologyLabelSizeType = result.list[0].outpatientPathologyLabelSize.value;
103
+					}
104
+				}
101 105
 		  });
102 106
 	}
103 107
 	

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

@@ -215,7 +215,7 @@
215 215
 				</div>
216 216
 			</div> -->
217 217
 			<!-- 12.11新版打印样式 -->
218
-			<div style="font-size: 12px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>0">
218
+			<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==1 && printData && printData.specimenList && printData.specimenList.length>0">
219 219
 				<div *ngFor="let data of printData.specimenList; let index=index;">
220 220
 				 <div>
221 221
 					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;">
@@ -264,6 +264,33 @@
264 264
 				 <div style="height: 26px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
265 265
 				</div>
266 266
 			</div>
267
+			
268
+			<!-- 小尺寸 20*30-->
269
+			<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==2 && printData && printData.specimenList && printData.specimenList.length>0">
270
+				<div *ngFor="let data of printData.specimenList; let index=index;">
271
+					<div style="width: 100%;display: flex;margin-top: 5px;">
272
+					 <div style="width: 40%;">
273
+						 <div style="display: flex;justify-content: center;">
274
+							 <div style="width: 50px;height: 50px;">
275
+							 		<img style="max-width: 100%;max-height: 100%;position: relative;left: -2px;" [src]="data.barCode" alt="">
276
+							 </div>
277
+							 <div style="width: 12px;">申请单</div>
278
+						 </div>
279
+						 <div style="text-align: left;">{{printData.applyCode}}</div>
280
+					 </div>
281
+					 <div style="width: 2%;"></div>
282
+					 <div style="width: 58%;">
283
+						<div style="display: flex;flex-wrap: nowrap;">住院号: {{data.patientNo}}</div>
284
+						<div style="margin-top:9px;">患者: {{data.patientName}}</div>
285
+						<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
286
+					 </div>
287
+					</div>
288
+					<div style="margin-top:10px;">
289
+						<div style="width: 100%;height: 32px;overflow: hidden;">部位: {{data.partSource}}{{data.organ}}{{data.specimenName}}</div>
290
+					</div>
291
+				 <div style="height: 15px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
292
+				</div>
293
+			</div>
267 294
 		</div>
268 295
   </div>
269 296
 	

+ 5 - 1
src/app/share/pathology-detail/pathology-detail.component.ts

@@ -151,6 +151,7 @@ export class PathologyDetailComponent implements OnInit {
151 151
 	
152 152
 	// 获取标本配置
153 153
 	pathologyBarCode:any = 1;
154
+	outpatientPathologyLabelSizeType:any = 1;
154 155
 	getPathologySys(){
155 156
 		let postData = {
156 157
 			  idx: 0,
@@ -166,7 +167,10 @@ export class PathologyDetailComponent implements OnInit {
166 167
 		  .subscribe((result) => {
167 168
 		    if (result.status == 200) {
168 169
 					this.pathologyBarCode = result.list[0].pathologyBarCode?result.list[0].pathologyBarCode:1;
169
-		    }
170
+					if(result.list[0].outpatientPathologyLabelSize){
171
+						this.outpatientPathologyLabelSizeType = result.list[0].outpatientPathologyLabelSize.value;
172
+					}
173
+				}
170 174
 		  });
171 175
 	}
172 176
 	

+ 82 - 100
src/app/views/pathology-sample/pathology-sample.component.html

@@ -39,16 +39,21 @@
39 39
 				<div>{{adviceList.patientName}} {{adviceList.patientGender?adviceList.patientGender.name:'-'}} ({{adviceList.patientAge||'-'}}岁)</div>
40 40
 				<div class="border">{{adviceList.patientNo}}</div>
41 41
 			</div>
42
-			<div class="content" *ngFor="let item of adviceList.pathologyAdviceDTOS;let index=index;" (click)="listClick(item,index)" [ngClass]="{'activeLeftClass': index == leftIndex}">
43
-				<div class="list list-df">
44
-					<div class="code">{{item.adviceId}}</div>
45
-					<div class="form-title">{{item.adviceType.name}}</div>
42
+			<div class="left-content" [ngClass]="{'noAddAppClass': !ifAddapplication, 'beAddAppClass': ifAddapplication}">
43
+				<div class="content" *ngFor="let item of adviceList.pathologyAdviceDTOS;let index=index;" (click)="listClick(item,index)" [ngClass]="{'activeLeftClass': index == leftIndex}">
44
+					<div class="list list-df">
45
+						<div class="code">{{item.adviceId ? item.adviceId : '无'}}</div>
46
+						<div class="form-title">{{item.adviceType ? item.adviceType.name : '无'}}</div>
47
+					</div>
48
+					<div class="list">项目:{{item.inspectType?item.inspectType.name:'无'}}</div>
49
+					<div class="list">部位:{{item.inspectPart ? item.inspectPart : '无'}}</div>
50
+					<div class="list">诊断:{{item.diagnosis ? item.diagnosis : '无'}}</div>
51
+					<div class="list">开单时间:{{item.orderTime | date:'yyyy-MM-dd HH:mm:ss'}}</div>
52
+					<!-- <div class="list">状态:{{item.orderStatusName}}</div> -->
46 53
 				</div>
47
-				<div class="list">项目:{{item.inspectType.name}}</div>
48
-				<div class="list">部位:{{item.inspectPart}}</div>
49
-				<div class="list">诊断:{{item.diagnosis}}</div>
50
-				<div class="list">开单时间:{{item.orderTime | date:'yyyy-MM-dd HH:mm:ss'}}</div>
51
-				<!-- <div class="list">状态:{{item.orderStatusName}}</div> -->
54
+			</div>
55
+			<div *ngIf="ifAddapplication && adviceList" class="center-box">
56
+				<button nz-button nzType="primary" class="btn txtC mr8" (click)="addPathology(0)">新增病理申请单</button>
52 57
 			</div>
53 58
 		</div>
54 59
 		<div class="center" *ngIf="detailsData && viewType!='add'">
@@ -253,7 +258,7 @@
253 258
 			</nz-steps>
254 259
 		</div>
255 260
 		<div class="pathology-content-btn" *ngIf="viewType=='add'">
256
-			<button class="btn" nz-button nzType="primary" (click)="addPathology()" [nzLoading]="addLoading">新增病理申请单</button>
261
+			<button class="btn" nz-button nzType="primary" (click)="addPathology(1)" [nzLoading]="addLoading">新增病理申请单</button>
257 262
 		</div>
258 263
   </div>
259 264
 </div>
@@ -318,6 +323,9 @@
318 323
 <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
319 324
   [info]="promptInfo" (closeModel)="closeModel()"></app-prompt-modal>
320 325
 
326
+<!-- 病理申请单 -->
327
+<!-- <app-pathology-add *ngIf="pathologyModal" [surgeryId]="surgeryDataId" [patientId]="patientId" [detailId]="detailId" [applicationType]="applicationType" (pathologyCancel)="pathologyCancel($event)"></app-pathology-add> -->
328
+
321 329
 <!-- 选择标本 -->
322 330
 <div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="specimenModal">
323 331
 	<div class="modalBody">
@@ -516,107 +524,81 @@
516 524
 <!-- 打印 -->
517 525
 <div id="report" style="display: none;">
518 526
 	<div class="monad">
519
-		<div *ngIf="printData && printData.specimenList && printData.specimenList.length" style="border: 1px solid #AAAAAA;
520
-			border-radius: 5px;font-size: 12px;">
521
-			 <div *ngIf="pathologyBarCode==1" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
522
-				 <div style="width: 60%;height: 70px;text-align: center;">
523
-					 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
524
-					 <div>{{printData.applyCode}}</div>
525
-				 </div>
526
-				 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
527
-					 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
528
-				 </div>
529
-			 </div>
530
-			 <div *ngIf="pathologyBarCode==2" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
531
-				 <div style="width: 40%;height: 70px;text-align: center;">
532
-					 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
533
-					 <div>{{printData.applyCode}}</div>
534
-				 </div>
535
-				 <div style="width: 60%;height: 100%;text-align: center;display: flex;align-items: center;position: relative;top: -6px;">
536
-					 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
537
-				 </div>
538
-			 </div>
539
-			
540
-			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
541
-				<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
542
-				<div style="width:50%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{printData.patientName}}</div>
543
-				<div style="width:14%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">性别</div>
544
-				<div style="width:16%;padding:1px;border-top: 1px solid #aaa;">{{printData.specimenList[0].patientGender}}</div>
545
-			</div>
546
-			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
547
-				<div style="width:20%;border-right: 1px solid #AAAAAA;padding:1px;">门诊号</div>
548
-				<div style="width:50%;border-right: 1px solid #AAAAAA;padding:1px;">{{printData.residenceNo?printData.residenceNo:printData.patientNo}}</div>
549
-				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
550
-				<div style="width:16%;padding:1px;"> {{printData.patientAge}}岁</div>
551
-			</div>
552
-			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
553
-				<div style="width:20%;border-right: 1px solid #AAAAAA;padding:1px;">科室 </div>
554
-				<div style="width:50%;border-right: 1px solid #AAAAAA;
555
-				padding:1px;overflow: hidden;white-space: nowrap">{{printData.patientDept}}</div>
556
-				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">床号</div>
557
-				<div style="width:16%;padding:1px;">{{printData.patientBedNum}}床</div>
558
-			</div>
559
-			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
560
-				<div style="width:20%;border-right: 1px solid #AAAAAA;padding:1px;">部位 </div>
561
-				<div style="width:50%;border-right: 1px solid #AAAAAA;
562
-				padding:1px;overflow: hidden;white-space: nowrap">{{printData.takePart}}</div>
563
-				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">标本数</div>
564
-				<div style="width:16%;padding:1px;">{{printData.specimenNum}}</div>
565
-			</div>
566
-			<div style="display: flex;">
567
-				<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">日期</div>
568
-				<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;">{{printData.specimenList[0].inVitroTime|date:'yyyy-MM-dd'}}</div>
569
-			</div>
570
-		</div>
571
-		
572
-		<div style="height: 70px;" *ngIf="printData && printData.specimenList && printData.specimenList.length==1"></div>
573
-		<div style="height: 20px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1"></div>
574
-		<div style="font-size: 12px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>0">
527
+		<!-- 大尺寸 80*60-->
528
+		<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==1 && printData && printData.specimenList && printData.specimenList.length>0">
575 529
 			<div *ngFor="let data of printData.specimenList; let index=index;">
576
-			 <div style="height: 50px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1"></div>
577
-			 <div style="border: 1px solid #AAAAAA;border-radius: 5px;">
578
-				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
530
+			 <div>
531
+				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 70px;padding: 0 1px;">
579 532
 					 <div style="width: 60%;height: 70px;text-align: center;">
580 533
 						 <img style="max-width: 90%;height: 80%;" [src]="data.barCode" alt="">
581
-						 <div>{{data.specimenCode}}</div>
534
+						 <div>标本号:{{data.specimenCode}}</div>
582 535
 					 </div>
583 536
 					 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
584 537
 						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
585 538
 					 </div>
586 539
 				 </div>
587
-				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
588
-					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
589
-					<div style="width:50%;box-sizing: border-box;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{data.patientName}}</div>
590
-					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">性别</div>
591
-					<div style="width:16%;box-sizing: border-box;padding:1px;border-top: 1px solid #aaa;">{{data.patientGender}}</div>
592
-				 </div>
593
-				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
594
-					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">门诊号</div>
595
-					<div style="width:50%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">{{data.residenceNo?data.residenceNo:data.patientNo}}</div>
596
-					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
597
-					<div style="width:16%;box-sizing: border-box;padding:1px;"> {{data.patientAge}}岁</div>
598
-				 </div>
599
-				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
600
-					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">科室 </div>
601
-					<div style="width:50%;box-sizing: border-box;border-right: 1px solid #AAAAAA;
602
-					padding:1px;overflow: hidden;white-space: nowrap">{{data.patientDept}}</div>
603
-					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">床号</div>
604
-					<div style="width:16%;box-sizing: border-box;padding:1px;">{{data.patientBedNum}}床</div>
605
-				 </div>
606
-				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
607
-					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">标本名称</div>
608
-					<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;
609
-					padding:1px;overflow: hidden;white-space: nowrap">({{index+1}}/{{printData.specimenList.length}}){{data.partSource?data.partSource:''}}{{data.organ}}{{data.specimenName}}</div>
540
+				 <div style="display: flex;justify-content: space-between;">
541
+					 <div style="width: 70%;margin-right:15px;">
542
+					 	<div style="display: flex; justify-content: space-between; margin-top:10px;">
543
+							<div>患者: {{data.patientName}}</div>
544
+							<div>性别: {{data.patientGender}}</div>
545
+						</div>
546
+						<div style="margin-top:10px;">
547
+							<div>住院号: {{data.patientNo}}</div>
548
+						</div>
549
+						<div style="margin-top:10px;">
550
+							<div>科室: {{data.patientDept}}</div>
551
+						</div>
552
+						<div style="margin-top:10px;">
553
+							<div>日期: {{data.inVitroTime|date:'yyyy-MM-dd'}}</div>
554
+						</div>
555
+						<div style="margin-top:10px;">
556
+							<div style="width: 100%;height: 32px;overflow: hidden;">部位: {{data.partSource}}{{data.organ}}{{data.specimenName}}</div>
557
+						</div>
558
+					 </div>
559
+					 <div style="width: 30%;">
560
+						<div style="margin-top:10px;">年龄: {{data.patientAge}}岁</div>
561
+						<div style="margin-top:10px;">床号: {{data.patientBedNum}}床</div>
562
+						<div style="margin-top:10px;" *ngIf="operation == 'addPrint'">标本数: {{index+1}}/{{printData.specimenNum}}</div>
563
+						<div style="margin-top:10px;" *ngIf="operation != 'addPrint'">标本数: {{index+1}}/{{printData.specimenList.length}}</div>
564
+						<div style="width: 100%;height: 60px;display: flex;margin-top: 5px;">
565
+						 <div style="height: 50px;width: 50px;">
566
+							 <img style="max-width: 100%;max-height: 100%;position: relative;left: -2px;" [src]="printData.applyBarCode" alt="">
567
+							 <div style="position: relative;left: -18px;">{{printData.applyCode}}</div>
568
+						 </div>
569
+						 <div style="width: 12px;position: relative; top: 2px;">申请单</div>
570
+						</div>
571
+					 </div>
610 572
 				 </div>
611
-				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
612
-					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">申请单号</div>
613
-					<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;">{{data.applyCode }}</div>
573
+			 </div>
574
+			 <div style="height: 26px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
575
+			</div>
576
+		</div>
577
+		
578
+		<!-- 小尺寸 20*30-->
579
+		<div style="font-size: 12px;" *ngIf="outpatientPathologyLabelSizeType==2 && printData && printData.specimenList && printData.specimenList.length>0">
580
+			<div *ngFor="let data of printData.specimenList; let index=index;">
581
+				<div style="width: 100%;display: flex;margin-top: 5px;">
582
+				 <div style="width: 40%;">
583
+					 <div style="display: flex;justify-content: center;">
584
+						 <div style="width: 50px;height: 50px;">
585
+						 		<img style="max-width: 100%;max-height: 100%;position: relative;left: -2px;" [src]="data.barCode" alt="">
586
+						 </div>
587
+						 <div style="width: 12px;">申请单</div>
588
+					 </div>
589
+					 <div style="text-align: left;">{{printData.applyCode}}</div>
614 590
 				 </div>
615
-				 <div style="display: flex;">
616
-					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">日期</div>
617
-					<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;">{{data.inVitroTime|date:'yyyy-MM-dd'}}</div>
591
+				 <div style="width: 2%;"></div>
592
+				 <div style="width: 58%;">
593
+					<div style="display: flex;flex-wrap: nowrap;">住院号: {{data.patientNo}}</div>
594
+					<div style="margin-top:9px;">患者: {{data.patientName}}</div>
595
+					<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
618 596
 				 </div>
619
-			 </div>
597
+				</div>
598
+				<div style="margin-top:10px;">
599
+					<div style="width: 100%;height: 32px;overflow: hidden;">部位: {{data.partSource}}{{data.organ}}{{data.specimenName}}</div>
600
+				</div>
601
+			 <div style="height: 15px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && index+1 < printData.specimenList.length"></div>
620 602
 			</div>
621 603
 		</div>
622 604
 	</div>

+ 37 - 19
src/app/views/pathology-sample/pathology-sample.component.less

@@ -413,8 +413,17 @@
413 413
 			width: 20%;
414 414
 			box-shadow: 0px 3px 6px 1px rgba(0,0,0,0.16);
415 415
 			z-index: 999;
416
-			overflow-y: auto;
417 416
 			font-weight: 500;
417
+			position: relative;
418
+			.center-box{
419
+				text-align: center;
420
+				position: absolute;
421
+				bottom: 0;
422
+				width: 100%;
423
+				background: #fff;
424
+				padding: 10px 0;
425
+				border-top: 1px solid #ccc;
426
+			}
418 427
 			.top{
419 428
 				padding: 10px 40px;
420 429
 				text-align: center;
@@ -423,29 +432,38 @@
423 432
 					border-bottom: 1px solid #ccc;
424 433
 				}
425 434
 			}
426
-			.content{
427
-				padding: 8px 8px 0 8px;
428
-				font-size: 14px;
429
-				border: 1px solid #CCCCCC;
430
-				margin-bottom: 10px;
431
-				cursor: pointer;
432
-				.list{
435
+			.noAddAppClass{
436
+				height: calc(100vh - 116px);
437
+			}
438
+			.beAddAppClass{
439
+				height: calc(100vh - 169px);
440
+			}
441
+			.left-content{
442
+				overflow-y: auto;
443
+				.content{
444
+					padding: 8px 8px 0 8px;
445
+					font-size: 14px;
446
+					border: 1px solid #CCCCCC;
433 447
 					margin-bottom: 10px;
434
-					overflow: hidden;
435
-					text-overflow: ellipsis;
436
-					white-space: nowrap;
437
-					.code{
438
-						margin-right: 10px;
448
+					cursor: pointer;
449
+					.list{
450
+						margin-bottom: 10px;
451
+						overflow: hidden;
452
+						text-overflow: ellipsis;
453
+						white-space: nowrap;
454
+						.code{
455
+							margin-right: 10px;
456
+						}
457
+					}
458
+					.list-df{
459
+						display: flex;
439 460
 					}
440 461
 				}
441
-				.list-df{
442
-					display: flex;
462
+				.activeLeftClass{
463
+					background: #F2FAF2;
464
+					border: 1px solid #64BD7B;
443 465
 				}
444 466
 			}
445
-			.activeLeftClass{
446
-				background: #F2FAF2;
447
-				border: 1px solid #64BD7B;
448
-			}
449 467
 		}
450 468
 		.center {
451 469
 			width: 60%;

+ 35 - 14
src/app/views/pathology-sample/pathology-sample.component.ts

@@ -123,16 +123,21 @@ export class PathologySampleComponent implements OnInit {
123 123
 	// 新增申请单
124 124
 	applicationType:any;
125 125
 	addLoading:any = false;
126
-	addPathology(){
126
+	addPathology(type){
127 127
 		let data = {
128 128
 			idx: 0,
129 129
 			sum: 9999,
130
-			pathologyAdviceId: this.adviceItem.id || "",
130
+			pathologyAdviceId: "",
131 131
 			patientId: this.patientId || "",
132 132
 			hosId: this.hosId || "" ,
133 133
 			operationType: 'outpatientPathologyForm',
134 134
 			pathologyFormType: 0
135 135
 		};
136
+		if(type==0){
137
+			delete data.pathologyAdviceId
138
+		}else{
139
+			data.pathologyAdviceId = this.adviceItem.id
140
+		}
136 141
 		this.addLoading = true
137 142
 		this.mainService
138 143
 		.simplePost("addData", "pathologyForm", data)
@@ -156,6 +161,8 @@ export class PathologySampleComponent implements OnInit {
156 161
 	// 获取配置
157 162
 	pathologyBarCode:any = 1;
158 163
 	ifImmobilization:any = false;
164
+	ifAddapplication:any = false;
165
+	outpatientPathologyLabelSizeType:any = 1; //1:大标本打印 2:小标本打印
159 166
 	getConfig() {
160 167
 		let postData = {
161 168
 			idx: 0,
@@ -174,6 +181,14 @@ export class PathologySampleComponent implements OnInit {
174 181
 					}else{
175 182
 						this.ifImmobilization = false
176 183
 					}
184
+					if(result.list[0].outpatientCreatePathologyForm && result.list[0].outpatientCreatePathologyForm==1){
185
+						this.ifAddapplication = true
186
+					}else{
187
+						this.ifAddapplication = false
188
+					}
189
+					if(result.list[0].outpatientPathologyLabelSize){
190
+						this.outpatientPathologyLabelSizeType = result.list[0].outpatientPathologyLabelSize.value;
191
+					}
177 192
 					this.pathologyBarCode = result.list[0].pathologyBarCode?result.list[0].pathologyBarCode:1;
178 193
 	      }
179 194
 	    });
@@ -1003,6 +1018,8 @@ export class PathologySampleComponent implements OnInit {
1003 1018
 						jobNumber: [null, [Validators.required]],
1004 1019
 						name:[null, [Validators.required]],
1005 1020
 					});
1021
+					let item = this.fixativeData.find(i=>i.value==1)
1022
+					this.validatePrintForm.controls.fixative.setValue(item.id);
1006 1023
 					this.validatePrintForm.controls.fixationDate.setValue(inVitroDate);
1007 1024
 					this.validatePrintForm.controls.fixationTimes.setValue(date);
1008 1025
 					this.fixationData = inVitroDate;
@@ -1019,10 +1036,10 @@ export class PathologySampleComponent implements OnInit {
1019 1036
 				this.validatePrintForm.controls.inVitroTimes.setValue(date);
1020 1037
 				this.inVitroData = inVitroDate;
1021 1038
 				this.inVitroTimeSelect = format(date, 'HH:mm');
1022
-				if(this.detailsData.surgeryDoctorDTO){
1023
-					this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1024
-					this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1025
-				}
1039
+				// if(this.detailsData.surgeryDoctorDTO){
1040
+				// 	this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1041
+				// 	this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1042
+				// }
1026 1043
 			}else{
1027 1044
 				this.message.info('无新标本需要打印')
1028 1045
 			}
@@ -1070,6 +1087,8 @@ export class PathologySampleComponent implements OnInit {
1070 1087
 							jobNumber: [null, [Validators.required]],
1071 1088
 							name:[null, [Validators.required]],
1072 1089
 						});
1090
+						let item = this.fixativeData.find(i=>i.value==1)
1091
+						this.validatePrintForm.controls.fixative.setValue(item.id);
1073 1092
 						this.validatePrintForm.controls.fixationDate.setValue(inVitroDate);
1074 1093
 						this.validatePrintForm.controls.fixationTimes.setValue(date);
1075 1094
 						this.fixationData = inVitroDate;
@@ -1086,10 +1105,10 @@ export class PathologySampleComponent implements OnInit {
1086 1105
 					this.validatePrintForm.controls.inVitroTimes.setValue(date);
1087 1106
 					this.inVitroData = inVitroDate;
1088 1107
 					this.inVitroTimeSelect = format(date, 'HH:mm');
1089
-					if(this.detailsData.surgeryDoctorDTO){
1090
-						this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1091
-						this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1092
-					}
1108
+					// if(this.detailsData.surgeryDoctorDTO){
1109
+					// 	this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1110
+					// 	this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1111
+					// }
1093 1112
 				}else{
1094 1113
 					let data: any = {
1095 1114
 						pathologyForm:{
@@ -1144,6 +1163,8 @@ export class PathologySampleComponent implements OnInit {
1144 1163
 							jobNumber: [null, [Validators.required]],
1145 1164
 							name:[null, [Validators.required]],
1146 1165
 						});
1166
+						let item = this.fixativeData.find(i=>i.value==1)
1167
+						this.validatePrintForm.controls.fixative.setValue(item.id);
1147 1168
 						this.validatePrintForm.controls.fixationDate.setValue(inVitroDate);
1148 1169
 						this.validatePrintForm.controls.fixationTimes.setValue(date);
1149 1170
 						this.fixationData = inVitroDate;
@@ -1160,10 +1181,10 @@ export class PathologySampleComponent implements OnInit {
1160 1181
 					this.validatePrintForm.controls.inVitroTimes.setValue(date);
1161 1182
 					this.inVitroData = inVitroDate;
1162 1183
 					this.inVitroTimeSelect = format(date, 'HH:mm');
1163
-					if(this.detailsData.surgeryDoctorDTO){
1164
-						this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1165
-						this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1166
-					}
1184
+					// if(this.detailsData.surgeryDoctorDTO){
1185
+					// 	this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1186
+					// 	this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1187
+					// }
1167 1188
 				})
1168 1189
 				return
1169 1190
 			}

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

@@ -477,21 +477,21 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
477 477
 		};
478 478
 		this.mainService.changeHospital(postData).subscribe((result) => {
479 479
 		  if (result.status == 200) {
480
-		    let dataObj = {
481
-		      user: {
482
-		        dept: {
483
-		          id: this.validateForm.value.specimen,
484
-		        },
485
-		        id: JSON.parse(localStorage.getItem("user")).user.id,
486
-		      },
487
-		    };
488
-		    this.mainService
489
-		      .coopData("updData", "user", dataObj)
490
-		      .subscribe((data) => {
491
-		        if (data.status == 200) {
492
-		          this.getCurrentUserNow();
493
-		        }
494
-		      });
480
+				this.getCurrentUserNow();
481
+		    // let dataObj = {
482
+		    //   user: {
483
+		    //     dept: {
484
+		    //       id: this.validateForm.value.specimen,
485
+		    //     },
486
+		    //     id: JSON.parse(localStorage.getItem("user")).user.id,
487
+		    //   },
488
+		    // };
489
+		    // this.mainService
490
+		    //   .coopData("updData", "user", dataObj)
491
+		    //   .subscribe((data) => {
492
+		    //     if (data.status == 200) {
493
+		    //     }
494
+		    //   });
495 495
 		  }
496 496
 		});
497 497
 	}