浏览代码

门诊病理优化

maotao 4 月之前
父节点
当前提交
c77c5b6cc9

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

@@ -456,7 +456,7 @@
456
 					 </div>
456
 					 </div>
457
 					 <div style="width: 2%;"></div>
457
 					 <div style="width: 2%;"></div>
458
 					 <div style="width: 58%;">
458
 					 <div style="width: 58%;">
459
-						<div style="display: flex;flex-wrap: nowrap;">住院号: {{data.patientNo}}</div>
459
+						<div style="display: flex;flex-wrap: nowrap;">住院号: {{data.residenceNo}}</div>
460
 						<div style="margin-top:9px;">患者: {{data.patientName}}</div>
460
 						<div style="margin-top:9px;">患者: {{data.patientName}}</div>
461
 						<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
461
 						<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
462
 					 </div>
462
 					 </div>

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

@@ -280,7 +280,7 @@
280
 					 </div>
280
 					 </div>
281
 					 <div style="width: 2%;"></div>
281
 					 <div style="width: 2%;"></div>
282
 					 <div style="width: 58%;">
282
 					 <div style="width: 58%;">
283
-						<div style="display: flex;flex-wrap: nowrap;">住院号: {{data.patientNo}}</div>
283
+						<div style="display: flex;flex-wrap: nowrap;">住院号: {{data.residenceNo}}</div>
284
 						<div style="margin-top:9px;">患者: {{data.patientName}}</div>
284
 						<div style="margin-top:9px;">患者: {{data.patientName}}</div>
285
 						<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
285
 						<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
286
 					 </div>
286
 					 </div>

+ 17 - 6
src/app/views/pathology-sample/pathology-sample.component.html

@@ -43,7 +43,10 @@
43
 				<div class="content" *ngFor="let item of adviceList.pathologyAdviceDTOS;let index=index;" (click)="listClick(item,index)" [ngClass]="{'activeLeftClass': index == leftIndex}">
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">
44
 					<div class="list list-df">
45
 						<div class="code">{{item.adviceId ? item.adviceId : '无'}}</div>
45
 						<div class="code">{{item.adviceId ? item.adviceId : '无'}}</div>
46
-						<div class="form-title">{{item.adviceType ? item.adviceType.name : '无'}}</div>
46
+						<div class="form-title">{{item.adviceType ? item.adviceType.name : ''}}</div>
47
+						<div class="del-class">
48
+							<i (click)="delItem($event,item)" class="icon_transport transport-lajitong specimen-icon"></i>
49
+						</div>
47
 					</div>
50
 					</div>
48
 					<div class="list">项目:{{item.inspectType?item.inspectType.name:'无'}}</div>
51
 					<div class="list">项目:{{item.inspectType?item.inspectType.name:'无'}}</div>
49
 					<div class="list">部位:{{item.inspectPart ? item.inspectPart : '无'}}</div>
52
 					<div class="list">部位:{{item.inspectPart ? item.inspectPart : '无'}}</div>
@@ -56,7 +59,7 @@
56
 				<button nz-button nzType="primary" class="btn txtC mr8" (click)="addPathology(0)">新增病理申请单</button>
59
 				<button nz-button nzType="primary" class="btn txtC mr8" (click)="addPathology(0)">新增病理申请单</button>
57
 			</div>
60
 			</div>
58
 		</div>
61
 		</div>
59
-		<div class="center" *ngIf="detailsData && viewType!='add'">
62
+		<div class="center" *ngIf="adviceList && adviceList.pathologyAdviceDTOS.length>0 && detailsData && viewType!='add'">
60
 			<div class="pathology-content" *ngIf="viewType=='edit'">
63
 			<div class="pathology-content" *ngIf="viewType=='edit'">
61
 				<div class="title">病理检查申请单</div>
64
 				<div class="title">病理检查申请单</div>
62
 				<div class="content">
65
 				<div class="content">
@@ -100,7 +103,7 @@
100
 								</nz-form-control>
103
 								</nz-form-control>
101
 							</nz-form-item>
104
 							</nz-form-item>
102
 							
105
 							
103
-							<nz-form-item class="form-item">
106
+							<nz-form-item class="form-item" *ngIf="syncFlag==0">
104
 								<nz-form-label nzRequired nzFor="project" [nzSm]="4" [nzXs]="24">检验项目</nz-form-label>
107
 								<nz-form-label nzRequired nzFor="project" [nzSm]="4" [nzXs]="24">检验项目</nz-form-label>
105
 								<nz-form-control nzErrorTip="请选择检验项目!" [nzSm]="20" [nzXs]="24">
108
 								<nz-form-control nzErrorTip="请选择检验项目!" [nzSm]="20" [nzXs]="24">
106
 									<nz-input-group>
109
 									<nz-input-group>
@@ -113,6 +116,10 @@
113
 								</nz-form-control>
116
 								</nz-form-control>
114
 							</nz-form-item>
117
 							</nz-form-item>
115
 							
118
 							
119
+							<div class="form-list" *ngIf="syncFlag==1">
120
+								<div class="form-title"><span class="font-weight-500">检验项目:</span>{{project||'无'}}</div>
121
+							</div>
122
+							
116
 							<div class="df-sb">
123
 							<div class="df-sb">
117
 								<nz-form-item class="form-item">
124
 								<nz-form-item class="form-item">
118
 									<nz-form-label nzRequired nzFor="specimenGenre">标本类型</nz-form-label>
125
 									<nz-form-label nzRequired nzFor="specimenGenre">标本类型</nz-form-label>
@@ -236,7 +243,7 @@
236
 				</div>
243
 				</div>
237
 			</div>
244
 			</div>
238
 		
245
 		
239
-		<div class="content-item-right" *ngIf="pathologyLogs.length && (viewType=='view' || viewType=='edit')">
246
+		<div class="content-item-right" *ngIf="adviceList && adviceList.pathologyAdviceDTOS.length>0 && pathologyLogs.length && (viewType=='view' || viewType=='edit')">
240
 			<div class="step-title">病理闭环</div>
247
 			<div class="step-title">病理闭环</div>
241
 			<nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
248
 			<nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
242
 				<ng-container *ngFor="let item of pathologyLogs; let index = index">
249
 				<ng-container *ngFor="let item of pathologyLogs; let index = index">
@@ -410,6 +417,10 @@
410
 <!-- 删除模态框 -->
417
 <!-- 删除模态框 -->
411
 <app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading"
418
 <app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading"
412
 	(confirmDelEvent)="confirmDel()" content="您确认要删除标本吗?"></app-dialog-delete>
419
 	(confirmDelEvent)="confirmDel()" content="您确认要删除标本吗?"></app-dialog-delete>
420
+
421
+<!-- 删除医嘱 -->
422
+<app-dialog-delete [delModal]="delAdviceModal" (hideDelModalEvent)="hideAdviceModal()" [btnLoading]="btnLoading"
423
+	(confirmDelEvent)="confirmAdvice()" content="您确认要删除医嘱吗?"></app-dialog-delete>
413
 		
424
 		
414
 <!-- 查看标本 -->
425
 <!-- 查看标本 -->
415
 <div class="look">
426
 <div class="look">
@@ -544,7 +555,7 @@
544
 							<div>性别: {{data.patientGender}}</div>
555
 							<div>性别: {{data.patientGender}}</div>
545
 						</div>
556
 						</div>
546
 						<div style="margin-top:10px;">
557
 						<div style="margin-top:10px;">
547
-							<div>住院号: {{data.patientNo}}</div>
558
+							<div>门诊号: {{data.patientNo}}</div>
548
 						</div>
559
 						</div>
549
 						<div style="margin-top:10px;">
560
 						<div style="margin-top:10px;">
550
 							<div>科室: {{data.patientDept}}</div>
561
 							<div>科室: {{data.patientDept}}</div>
@@ -590,7 +601,7 @@
590
 				 </div>
601
 				 </div>
591
 				 <div style="width: 2%;"></div>
602
 				 <div style="width: 2%;"></div>
592
 				 <div style="width: 58%;">
603
 				 <div style="width: 58%;">
593
-					<div style="display: flex;flex-wrap: nowrap;">住院号: {{data.patientNo}}</div>
604
+					<div style="display: flex;flex-wrap: nowrap;">门诊号: {{data.patientNo}}</div>
594
 					<div style="margin-top:9px;">患者: {{data.patientName}}</div>
605
 					<div style="margin-top:9px;">患者: {{data.patientName}}</div>
595
 					<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
606
 					<div style="margin-top:9px;margin-left: 20px;">性别: {{data.patientGender}}</div>
596
 				 </div>
607
 				 </div>

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

@@ -451,6 +451,12 @@
451
 						overflow: hidden;
451
 						overflow: hidden;
452
 						text-overflow: ellipsis;
452
 						text-overflow: ellipsis;
453
 						white-space: nowrap;
453
 						white-space: nowrap;
454
+						position: relative;
455
+						.del-class{
456
+							position: absolute;
457
+							right: 0;
458
+							color: #49b856;
459
+						}
454
 						.code{
460
 						.code{
455
 							margin-right: 10px;
461
 							margin-right: 10px;
456
 						}
462
 						}

+ 66 - 10
src/app/views/pathology-sample/pathology-sample.component.ts

@@ -144,6 +144,9 @@ export class PathologySampleComponent implements OnInit {
144
 		.subscribe((data) => {
144
 		.subscribe((data) => {
145
 			this.addLoading = false
145
 			this.addLoading = false
146
 			this.viewType = 'edit';
146
 			this.viewType = 'edit';
147
+			if(this.leftIndex == null){
148
+				this.leftIndex = 0
149
+			}
147
 			this.fetchDataList(data.data.id);
150
 			this.fetchDataList(data.data.id);
148
 			this.searchSpecimen(this.adviceList.patientNo,'add');
151
 			this.searchSpecimen(this.adviceList.patientNo,'add');
149
 		});
152
 		});
@@ -194,6 +197,43 @@ export class PathologySampleComponent implements OnInit {
194
 	    });
197
 	    });
195
 	}
198
 	}
196
 	
199
 	
200
+	// 病理医嘱删除
201
+	itemData:any;
202
+	delAdviceModal:any = false;
203
+	itemDataType:any = 2;
204
+	delItem(e,data){
205
+		e.stopPropagation();
206
+		this.itemDataType = 1
207
+		this.itemData = data
208
+		this.delAdviceModal = true
209
+	}
210
+	
211
+	// 确定删除
212
+	confirmAdvice(){
213
+		this.btnLoading = true;
214
+		this.mainService
215
+		  .coopTypeConfig(
216
+		    "rmvData",
217
+		    "pathologyAdvice",
218
+		     [this.itemData.id]
219
+		  )
220
+		  .subscribe((data) => {
221
+		    this.btnLoading = false;
222
+		    this.delAdviceModal = false;
223
+				this.searchSpecimen(this.adviceList.patientNo,'load');
224
+				// this.fetchDataList(this.itemData.pathologyFormId);
225
+		    if (data.status==200) {
226
+		      this.showSpecimenModal("删除", true, "");
227
+		    } else {
228
+		      this.showSpecimenModal("删除", false, data.data[0].msg);
229
+		    }
230
+		  });
231
+	}
232
+	// 确定删除
233
+	hideAdviceModal() {
234
+	  this.delAdviceModal = false;
235
+	}
236
+	
197
 	// 病理点击
237
 	// 病理点击
198
 	leftIndex:any = null;
238
 	leftIndex:any = null;
199
 	adviceItem:any;
239
 	adviceItem:any;
@@ -215,8 +255,7 @@ export class PathologySampleComponent implements OnInit {
215
 	// 标本条码搜索
255
 	// 标本条码搜索
216
 	adviceList:any = null;
256
 	adviceList:any = null;
217
 	searchSpecimen(e,type){
257
 	searchSpecimen(e,type){
218
-		console.log(7777,this.route.snapshot.params.param)
219
-		if(type!='add'){
258
+		if(type!='add' && type!='load'){
220
 			if(!this.barCode){
259
 			if(!this.barCode){
221
 				return
260
 				return
222
 			}
261
 			}
@@ -239,21 +278,22 @@ export class PathologySampleComponent implements OnInit {
239
 				this.barCode = null
278
 				this.barCode = null
240
 				this.searchMsg = null
279
 				this.searchMsg = null
241
 				this.isShowMove = true
280
 				this.isShowMove = true
242
-				if(type=='search'){
281
+				if(type=='search' || type=='load'){
243
 					this.leftIndex = null
282
 					this.leftIndex = null
244
 					this.detailsData = null
283
 					this.detailsData = null
245
 					this.statusValue = 1
284
 					this.statusValue = 1
246
 					this.pathologyLogs = []
285
 					this.pathologyLogs = []
286
+					this.adviceList = null
247
 					this.stepLength = 0
287
 					this.stepLength = 0
248
 					this.viewType = 'no';
288
 					this.viewType = 'no';
249
 				}
289
 				}
250
 				if(res.list.length>0){
290
 				if(res.list.length>0){
251
 					this.adviceList = res.list[0]
291
 					this.adviceList = res.list[0]
292
+					this.patientId = this.adviceList.patientId
252
 				}else{
293
 				}else{
253
-					this.adviceList = []
294
+					this.adviceList = null
254
 					this.viewType = 'no';
295
 					this.viewType = 'no';
255
 				}
296
 				}
256
-				this.patientId = this.adviceList.patientId
257
 			}else{
297
 			}else{
258
 				this.barCode = null
298
 				this.barCode = null
259
 				this.searchMsg = res.msg
299
 				this.searchMsg = res.msg
@@ -379,6 +419,7 @@ export class PathologySampleComponent implements OnInit {
379
 					}
419
 					}
380
 					that.printLoading = false;
420
 					that.printLoading = false;
381
 					that.printData = arr;
421
 					that.printData = arr;
422
+					this.searchSpecimen(this.adviceList.patientNo,'load');
382
 					setTimeout(() => {
423
 					setTimeout(() => {
383
 					  const printContent = document.getElementById("report");
424
 					  const printContent = document.getElementById("report");
384
 					  const WindowPrt = window.open("", "", "width=100,height=1000");
425
 					  const WindowPrt = window.open("", "", "width=100,height=1000");
@@ -412,12 +453,14 @@ export class PathologySampleComponent implements OnInit {
412
 	}
453
 	}
413
 	
454
 	
414
 	medicalRecordsLength:any = 0;
455
 	medicalRecordsLength:any = 0;
456
+	syncFlag: any = 0;
415
 	fetchDataList(id){
457
 	fetchDataList(id){
416
 		this.isSpinning = true;
458
 		this.isSpinning = true;
417
 		this.mainService.getFetchData("data", "pathologyForm", id)
459
 		this.mainService.getFetchData("data", "pathologyForm", id)
418
 		.subscribe((data) => {
460
 		.subscribe((data) => {
419
 			this.isSpinning = false;
461
 			this.isSpinning = false;
420
 			this.detailsData = data.data;
462
 			this.detailsData = data.data;
463
+			this.syncFlag = data.data.syncFlag;
421
 			this.surgeryId = data.data.surgeryId;
464
 			this.surgeryId = data.data.surgeryId;
422
 			if(this.detailsData.status && this.detailsData.status.value==5){
465
 			if(this.detailsData.status && this.detailsData.status.value==5){
423
 				this.viewType = 'view'
466
 				this.viewType = 'view'
@@ -454,10 +497,19 @@ export class PathologySampleComponent implements OnInit {
454
 			}else{
497
 			}else{
455
 				let str = null
498
 				let str = null
456
 				if(this.detailsData.pathologyInspectDTOS){
499
 				if(this.detailsData.pathologyInspectDTOS){
457
-					str = this.detailsData.pathologyInspectDTOS[0].inspectProject.id
458
-					this.validateForm.controls.project.setValue(str);
500
+					if(this.syncFlag==1){
501
+						str = this.detailsData.pathologyInspectDTOS[0].inspectProject.name
502
+						this.project = str
503
+					}else{
504
+						str = this.detailsData.pathologyInspectDTOS[0].inspectProject.id
505
+						this.validateForm.controls.project.setValue(str);
506
+					}
459
 				}else{
507
 				}else{
460
-					this.validateForm.controls.project.setValue(str);
508
+					if(this.syncFlag==1){
509
+						this.project = ''
510
+					}else{
511
+						this.validateForm.controls.project.setValue(str);
512
+					}
461
 				}
513
 				}
462
 			}
514
 			}
463
 
515
 
@@ -491,7 +543,7 @@ export class PathologySampleComponent implements OnInit {
491
 	
543
 	
492
 	// 获取检验项目
544
 	// 获取检验项目
493
 	getProDicData(){
545
 	getProDicData(){
494
-		this.mainService.getDictionary("list", "outpatient_pathology_inspect_type").subscribe((res) => {
546
+		this.mainService.getDictionary("list", "pathology_inspect_type").subscribe((res) => {
495
 			this.projectData = res
547
 			this.projectData = res
496
 		});
548
 		});
497
 	}
549
 	}
@@ -631,6 +683,7 @@ export class PathologySampleComponent implements OnInit {
631
 	coopId:any;
683
 	coopId:any;
632
 	specimenDel(e,item,index){
684
 	specimenDel(e,item,index){
633
 		this.delModal = true
685
 		this.delModal = true
686
+		this.itemDataType = 2
634
 		this.coopId = item.id
687
 		this.coopId = item.id
635
 	}
688
 	}
636
 	
689
 	
@@ -974,7 +1027,9 @@ export class PathologySampleComponent implements OnInit {
974
 	
1027
 	
975
 	specimenModal:any = false;
1028
 	specimenModal:any = false;
976
 	hideSpecimenModal(){
1029
 	hideSpecimenModal(){
977
-		this.getSampleData('')
1030
+		if(this.itemDataType==2){
1031
+			this.getSampleData('')
1032
+		}
978
 		this.specimenModal = false
1033
 		this.specimenModal = false
979
 	}
1034
 	}
980
 	
1035
 	
@@ -1227,6 +1282,7 @@ export class PathologySampleComponent implements OnInit {
1227
 					}
1282
 					}
1228
 					this.btnLoading = false;
1283
 					this.btnLoading = false;
1229
 					this.printData = arr;
1284
 					this.printData = arr;
1285
+					this.searchSpecimen(this.adviceList.patientNo,'load');
1230
 					setTimeout(() => {
1286
 					setTimeout(() => {
1231
 						const printContent = document.getElementById("report");
1287
 						const printContent = document.getElementById("report");
1232
 						const WindowPrt = window.open("", "", "width=100,height=1000");
1288
 						const WindowPrt = window.open("", "", "width=100,height=1000");