Browse Source

门诊病理采样端开发

maotao 4 months ago
parent
commit
3c6a2fc4a1

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

@@ -118,6 +118,14 @@
118
 									<nz-form-label class="label">门诊支持离体并固定</nz-form-label>
118
 									<nz-form-label class="label">门诊支持离体并固定</nz-form-label>
119
 									<nz-checkbox-group [(ngModel)]="outpatientInVitroFixation"></nz-checkbox-group>
119
 									<nz-checkbox-group [(ngModel)]="outpatientInVitroFixation"></nz-checkbox-group>
120
 								</div>
120
 								</div>
121
+								<!--申请单条码设置 -->
122
+								<div class="display_flex align-items_center mb8">
123
+									<nz-form-label class="label">申请单条码设置</nz-form-label>
124
+									<nz-radio-group type="active" [(ngModel)]="pathologyBarCode">
125
+										<label nz-radio [nzValue]="1">条形码</label>
126
+										<label nz-radio [nzValue]="2">二维码</label>
127
+									</nz-radio-group>
128
+								</div>
121
 							</div>
129
 							</div>
122
 							<div class="bottom">
130
 							<div class="bottom">
123
 								<button class="login-form-button" nzType="primary" [nzLoading]="btnLoading" nz-button (click)="submitPathologyForm()">保存</button>
131
 								<button class="login-form-button" nzType="primary" [nzLoading]="btnLoading" nz-button (click)="submitPathologyForm()">保存</button>

+ 6 - 1
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.ts

@@ -80,7 +80,10 @@ export class ConfigurationSpecimenComponent implements OnInit {
80
   defaultScanSpe:any[] = [
80
   defaultScanSpe:any[] = [
81
     {label:'是否开启',value: 0}
81
     {label:'是否开启',value: 0}
82
   ];
82
   ];
83
-
83
+	
84
+	//申请单条码设置
85
+	pathologyBarCode:any;
86
+	
84
   // 配置
87
   // 配置
85
   configs:any = {};
88
   configs:any = {};
86
   // 任务类型
89
   // 任务类型
@@ -176,6 +179,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
176
 		  hosId: this.hosId,
179
 		  hosId: this.hosId,
177
 		  autoCreate: this.autoCreate[0].checked ? 1 : 0,
180
 		  autoCreate: this.autoCreate[0].checked ? 1 : 0,
178
 			outpatientInVitroFixation: this.outpatientInVitroFixation[0].checked ? 1 : 0,
181
 			outpatientInVitroFixation: this.outpatientInVitroFixation[0].checked ? 1 : 0,
182
+			pathologyBarCode : this.pathologyBarCode,
179
 		};
183
 		};
180
 		this.btnLoading = true;
184
 		this.btnLoading = true;
181
 		this.mainService
185
 		this.mainService
@@ -298,6 +302,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
298
 					// 病理标本
302
 					// 病理标本
299
 					this.autoCreate[0].checked = this.configs.autoCreate == 1;
303
 					this.autoCreate[0].checked = this.configs.autoCreate == 1;
300
 					this.outpatientInVitroFixation[0].checked = this.configs.outpatientInVitroFixation == 1;
304
 					this.outpatientInVitroFixation[0].checked = this.configs.outpatientInVitroFixation == 1;
305
+					this.pathologyBarCode = this.configs.pathologyBarCode;
301
 					// 检查标本
306
 					// 检查标本
302
           this.deptNotAlert[0].checked = this.configs.deptNotAlert == 1;
307
           this.deptNotAlert[0].checked = this.configs.deptNotAlert == 1;
303
           this.arriveScanCode[0].checked = this.configs.arriveScanCode == 1;
308
           this.arriveScanCode[0].checked = this.configs.arriveScanCode == 1;

+ 21 - 7
src/app/share/pathology-add/pathology-add.component.html

@@ -122,8 +122,7 @@
122
 					<div class="specimen-list">
122
 					<div class="specimen-list">
123
 						<div *ngFor="let item of specimenList;let index=index;" class="specimen-item">
123
 						<div *ngFor="let item of specimenList;let index=index;" class="specimen-item">
124
 							<div class="specimen-name" (click)="specimenEdit($event,item,index)">
124
 							<div class="specimen-name" (click)="specimenEdit($event,item,index)">
125
-							{{item.partSource?item.partSource.name:''}}{{item.organ?item.organ.name:''}}{{item.specimenName}}
126
-							({{item.specimenCode}})
125
+								<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}({{item.specimenCode}})
127
 							</div>
126
 							</div>
128
 							<span class="icon_transport transport-lajitong specimen-icon" (click)="specimenDel($event,item,index)"></span>
127
 							<span class="icon_transport transport-lajitong specimen-icon" (click)="specimenDel($event,item,index)"></span>
129
 						</div>
128
 						</div>
@@ -247,14 +246,21 @@
247
 			<div class="content-title">本次需要记录离体标本<span class="reds">{{specimenNum}}</span>份,本申请单共<span class="reds">{{totalNum}}</span>份标本</div>
246
 			<div class="content-title">本次需要记录离体标本<span class="reds">{{specimenNum}}</span>份,本申请单共<span class="reds">{{totalNum}}</span>份标本</div>
248
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
247
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
249
 				<nz-form-item>
248
 				<nz-form-item>
250
-				  <nz-form-label nzRequired [nzSpan]="8" nzFor="inVitroTime">标本离体时间</nz-form-label>
251
-				  <nz-form-control [nzSpan]="16" nzErrorTip="请选择标本离体时间!">
249
+				  <nz-form-label nzRequired [nzSpan]="6" nzFor="inVitroTime">离体时间</nz-form-label>
250
+		<!-- 		  <nz-form-control [nzSpan]="16" nzErrorTip="请选择标本离体时间!">
252
 				    <nz-input-group>
251
 				    <nz-input-group>
253
 							<nz-date-picker formControlName="inVitroTime" 
252
 							<nz-date-picker formControlName="inVitroTime" 
254
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
253
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
255
 							(ngModelChange)="formChangeDate($event)"></nz-date-picker>
254
 							(ngModelChange)="formChangeDate($event)"></nz-date-picker>
256
 						</nz-input-group>
255
 						</nz-input-group>
257
-				  </nz-form-control>
256
+				  </nz-form-control> -->
257
+					<nz-form-control style="display: flex;align-items: center;" [nzSpan]="18" nzErrorTip="请选择离体时间!">
258
+					  <nz-input-group style="display: flex;gap: 10px">
259
+							<nz-date-picker formControlName="inVitroDate" (ngModelChange)="inVitroDateChange($event)"></nz-date-picker>
260
+							
261
+							<nz-time-picker formControlName="inVitroTimes" nzFormat="HH:mm" (ngModelChange)="inVitroTimeChange($event)"></nz-time-picker>
262
+						</nz-input-group>
263
+					</nz-form-control>
258
 				</nz-form-item>
264
 				</nz-form-item>
259
 				<nz-form-item>
265
 				<nz-form-item>
260
 				  <nz-form-label nzRequired [nzSpan]="5" nzFor="jobNumber">工号</nz-form-label>
266
 				  <nz-form-label nzRequired [nzSpan]="5" nzFor="jobNumber">工号</nz-form-label>
@@ -283,7 +289,7 @@
283
 		<div class="monad">
289
 		<div class="monad">
284
 			<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;
285
 				border-radius: 5px;font-size: 12px;">
291
 				border-radius: 5px;font-size: 12px;">
286
-				 <div 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;">
287
 					 <div style="width: 60%;height: 70px;text-align: center;">
293
 					 <div style="width: 60%;height: 70px;text-align: center;">
288
 						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
294
 						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
289
 						 <div>{{printData.applyCode}}</div>
295
 						 <div>{{printData.applyCode}}</div>
@@ -292,7 +298,15 @@
292
 						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
298
 						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
293
 					 </div>
299
 					 </div>
294
 				 </div>
300
 				 </div>
295
-				
301
+				 <div *ngIf="pathologyBarCode==2" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
302
+					 <div style="width: 40%;height: 70px;text-align: center;">
303
+						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
304
+						 <div>{{printData.applyCode}}</div>
305
+					 </div>
306
+					 <div style="width: 60%;height: 100%;text-align: center;display: flex;align-items: center;position: relative;top: -6px;">
307
+						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
308
+					 </div>
309
+				 </div>
296
 				<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
310
 				<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
297
 					<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
311
 					<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
298
 					<div style="width:50%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{printData.patientName}}</div>
312
 					<div style="width:50%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{printData.patientName}}</div>

+ 2 - 2
src/app/share/pathology-add/pathology-add.component.less

@@ -239,7 +239,7 @@
239
 				.ant-form-item {
239
 				.ant-form-item {
240
 				  margin-bottom: 14px;
240
 				  margin-bottom: 14px;
241
 					display: flex;
241
 					display: flex;
242
-					flex-wrap: wrap;
242
+					// flex-wrap: wrap;
243
 					position: relative;
243
 					position: relative;
244
 				  .ant-form-item-label {
244
 				  .ant-form-item-label {
245
 				    text-align: left;
245
 				    text-align: left;
@@ -292,6 +292,6 @@
292
 			}
292
 			}
293
 	  }
293
 	  }
294
 		.no-width{
294
 		.no-width{
295
-			width: 30% !important;
295
+			width: 33% !important;
296
 		}
296
 		}
297
 	}
297
 	}

+ 64 - 13
src/app/share/pathology-add/pathology-add.component.ts

@@ -67,9 +67,40 @@ export class PathologyAddComponent implements OnInit {
67
   ngOnInit() {
67
   ngOnInit() {
68
 		this.hosId = this.tool.getCurrentHospital().id;
68
 		this.hosId = this.tool.getCurrentHospital().id;
69
 		this.initForm()
69
 		this.initForm()
70
+		this.getTaskTypesId()
70
 		this.fetchDataList()
71
 		this.fetchDataList()
71
   }
72
   }
72
 	
73
 	
74
+	// 获取任务类型(病理标本)
75
+	taskTypeData:any;
76
+	getTaskTypesId() {
77
+		this.mainService.getDictionary("list", "ordinary_field").subscribe((data) => {
78
+			this.taskTypeData = data.find(i=>i.value=='pathology')
79
+			this.getPathologySys();
80
+		});
81
+	}
82
+	
83
+	// 获取标本配置
84
+	pathologyBarCode:any = 1;
85
+	getPathologySys(){
86
+		let postData = {
87
+			  idx: 0,
88
+			  sum: 10,
89
+			  taskTypeConfig: {
90
+					hosId:this.hosId,
91
+					taskType:this.taskTypeData.id
92
+			  }
93
+		}
94
+	
95
+		this.mainService
96
+		  .getFetchDataList("simple/data", "taskTypeConfig", postData)
97
+		  .subscribe((result) => {
98
+		    if (result.status == 200) {
99
+					this.pathologyBarCode = result.list[0].pathologyBarCode?result.list[0].pathologyBarCode:1;
100
+		    }
101
+		  });
102
+	}
103
+	
73
 	radioChange(data){
104
 	radioChange(data){
74
 		let arr = [];
105
 		let arr = [];
75
 		let item = null
106
 		let item = null
@@ -656,9 +687,17 @@ export class PathologyAddComponent implements OnInit {
656
 		this.notModal = false
687
 		this.notModal = false
657
 	}
688
 	}
658
 	
689
 	
659
-	// 日期选择
660
-	formChangeDate(result?): void {
661
-	  this.startDate = format(result, 'yyyy-MM-dd HH:mm:ss');
690
+	// 选择离体时间
691
+	inVitroTime:any;
692
+	inVitroData:any;
693
+	inVitroDateChange(result){
694
+		this.inVitroData = format(result, 'yyyy-MM-dd');
695
+		console.log(this.inVitroData)
696
+	}
697
+	inVitroTimeSelect:any;
698
+	inVitroTimeChange(result){
699
+		this.inVitroTimeSelect = format(result, 'HH:mm');
700
+		console.log(this.inVitroData + ' ' + this.inVitroTimeSelect)
662
 	}
701
 	}
663
 	
702
 	
664
 	//未打印提交
703
 	//未打印提交
@@ -675,7 +714,7 @@ export class PathologyAddComponent implements OnInit {
675
 			pathologyForm:{
714
 			pathologyForm:{
676
 				...this.detailsData,
715
 				...this.detailsData,
677
 				...this.validateForm.value,
716
 				...this.validateForm.value,
678
-				inVitroTime:this.startDate,
717
+				inVitroTime:this.inVitroData + ' ' + this.inVitroTimeSelect+':00',
679
 				surgeryId: this.surgeryId || "",
718
 				surgeryId: this.surgeryId || "",
680
 				patientId: this.patientId || "",
719
 				patientId: this.patientId || "",
681
 				hosId: this.hosId || "" ,
720
 				hosId: this.hosId || "" ,
@@ -831,13 +870,17 @@ export class PathologyAddComponent implements OnInit {
831
 				this.specimenNum = res.specimenNum
870
 				this.specimenNum = res.specimenNum
832
 				this.pathologySpecimenIds = res.ids
871
 				this.pathologySpecimenIds = res.ids
833
 				this.validatePrintForm = this.fb.group({
872
 				this.validatePrintForm = this.fb.group({
834
-				  inVitroTime: [null, [Validators.required]],
873
+				  inVitroTimes: [null, [Validators.required]],
874
+				  inVitroDate: [null, [Validators.required]],
835
 					jobNumber: [null, [Validators.required]],
875
 					jobNumber: [null, [Validators.required]],
836
 					name:[null, [Validators.required]],
876
 					name:[null, [Validators.required]],
837
 				});
877
 				});
838
 				let date = new Date();
878
 				let date = new Date();
839
-				this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
840
-				this.validatePrintForm.controls.inVitroTime.setValue(this.startDate);
879
+				let inVitroDate = format(date, "yyyy-MM-dd")
880
+				this.validatePrintForm.controls.inVitroDate.setValue(inVitroDate);
881
+				this.validatePrintForm.controls.inVitroTimes.setValue(date);
882
+				this.inVitroData = inVitroDate;
883
+				this.inVitroTimeSelect = format(date, 'HH:mm');
841
 			}else{
884
 			}else{
842
 				this.message.info('无新标本需要打印')
885
 				this.message.info('无新标本需要打印')
843
 			}
886
 			}
@@ -868,13 +911,17 @@ export class PathologyAddComponent implements OnInit {
868
 					this.specimenNum = res.specimenNum
911
 					this.specimenNum = res.specimenNum
869
 					this.pathologySpecimenIds = res.ids
912
 					this.pathologySpecimenIds = res.ids
870
 					this.validatePrintForm = this.fb.group({
913
 					this.validatePrintForm = this.fb.group({
871
-					  inVitroTime: [null, [Validators.required]],
914
+					  inVitroTimes: [null, [Validators.required]],
915
+					  inVitroDate: [null, [Validators.required]],
872
 						jobNumber: [null, [Validators.required]],
916
 						jobNumber: [null, [Validators.required]],
873
 						name:[null, [Validators.required]],
917
 						name:[null, [Validators.required]],
874
 					});
918
 					});
875
 					let date = new Date();
919
 					let date = new Date();
876
-					this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
877
-					this.validatePrintForm.controls.inVitroTime.setValue(this.startDate);
920
+					let inVitroDate = format(date, "yyyy-MM-dd")
921
+					this.validatePrintForm.controls.inVitroDate.setValue(inVitroDate);
922
+					this.validatePrintForm.controls.inVitroTimes.setValue(date);
923
+					this.inVitroData = inVitroDate;
924
+					this.inVitroTimeSelect = format(date, 'HH:mm');
878
 				}else{
925
 				}else{
879
 					let data: any = {
926
 					let data: any = {
880
 						pathologyForm:{
927
 						pathologyForm:{
@@ -916,13 +963,17 @@ export class PathologyAddComponent implements OnInit {
916
 					this.totalNum = res.totalNum
963
 					this.totalNum = res.totalNum
917
 					this.specimenNum = res.specimenNum
964
 					this.specimenNum = res.specimenNum
918
 					this.validatePrintForm = this.fb.group({
965
 					this.validatePrintForm = this.fb.group({
919
-						inVitroTime: [null, [Validators.required]],
966
+					  inVitroTimes: [null, [Validators.required]],
967
+					  inVitroDate: [null, [Validators.required]],
920
 						jobNumber: [null, [Validators.required]],
968
 						jobNumber: [null, [Validators.required]],
921
 						name:[null, [Validators.required]],
969
 						name:[null, [Validators.required]],
922
 					});
970
 					});
923
 					let date = new Date();
971
 					let date = new Date();
924
-					this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
925
-					this.validatePrintForm.controls.inVitroTime.setValue(this.startDate);
972
+					let inVitroDate = format(date, "yyyy-MM-dd")
973
+					this.validatePrintForm.controls.inVitroDate.setValue(inVitroDate);
974
+					this.validatePrintForm.controls.inVitroTimes.setValue(date);
975
+					this.inVitroData = inVitroDate;
976
+					this.inVitroTimeSelect = format(date, 'HH:mm');
926
 				})
977
 				})
927
 				return
978
 				return
928
 			}
979
 			}

+ 15 - 7
src/app/share/pathology-detail/pathology-detail.component.html

@@ -62,8 +62,7 @@
62
 						<div class="form-title font-weight-500">标本:</div>
62
 						<div class="form-title font-weight-500">标本:</div>
63
 						<div class="form-title-box">
63
 						<div class="form-title-box">
64
 							<div class="form-title cursor" *ngFor="let item of specimenList" (click)="specimenView(item)">
64
 							<div class="form-title cursor" *ngFor="let item of specimenList" (click)="specimenView(item)">
65
-								{{item.partSource?item.partSource.name:''}}{{item.organ?item.organ.name:''}}{{item.specimenName}}
66
-								({{item.specimenCode}})
65
+								<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}({{item.specimenCode}})
67
 							</div>
66
 							</div>
68
 						</div>
67
 						</div>
69
 					</div>
68
 					</div>
@@ -78,12 +77,12 @@
78
 								</nz-step>
77
 								</nz-step>
79
 								<ng-template #tpl>
78
 								<ng-template #tpl>
80
 									<div *ngIf="index==pathologyLogs.length-1" class="step-size">
79
 									<div *ngIf="index==pathologyLogs.length-1" class="step-size">
81
-										<div style="color: #49B856;">{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
82
-										<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
80
+										<div style="color: #49B856;">{{item.operationType?item.operationType.name:''}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
81
+										<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
83
 									</div>
82
 									</div>
84
 									<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
83
 									<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
85
-										<div>{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
86
-										<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
84
+										<div>{{item.operationType?item.operationType.name:''}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
85
+										<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
87
 									</div>
86
 									</div>
88
 								</ng-template>
87
 								</ng-template>
89
 							</ng-container>
88
 							</ng-container>
@@ -115,7 +114,7 @@
115
 		<div class="monad">
114
 		<div class="monad">
116
 			<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;
117
 				border-radius: 5px;font-size: 12px;">
116
 				border-radius: 5px;font-size: 12px;">
118
-				 <div 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;">
119
 					 <div style="width: 60%;height: 70px;text-align: center;">
118
 					 <div style="width: 60%;height: 70px;text-align: center;">
120
 						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
119
 						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
121
 						 <div>{{printData.applyCode}}</div>
120
 						 <div>{{printData.applyCode}}</div>
@@ -124,6 +123,15 @@
124
 						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
123
 						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
125
 					 </div>
124
 					 </div>
126
 				 </div>
125
 				 </div>
126
+				 <div *ngIf="pathologyBarCode==2" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
127
+					 <div style="width: 40%;height: 70px;text-align: center;">
128
+						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
129
+						 <div>{{printData.applyCode}}</div>
130
+					 </div>
131
+					 <div style="width: 60%;height: 100%;text-align: center;display: flex;align-items: center;position: relative;top: -6px;">
132
+						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
133
+					 </div>
134
+				 </div>
127
 				<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
135
 				<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
128
 					<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
136
 					<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
129
 					<div style="width:50%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{printData.patientName}}</div>
137
 					<div style="width:50%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{printData.patientName}}</div>

+ 31 - 0
src/app/share/pathology-detail/pathology-detail.component.ts

@@ -82,6 +82,7 @@ export class PathologyDetailComponent implements OnInit {
82
   ngOnInit() {
82
   ngOnInit() {
83
 		this.hosId = this.tool.getCurrentHospital().id;
83
 		this.hosId = this.tool.getCurrentHospital().id;
84
 		// this.initForm()
84
 		// this.initForm()
85
+		this.getTaskTypesId()
85
 		this.fetchDataList()
86
 		this.fetchDataList()
86
   }
87
   }
87
 	
88
 	
@@ -139,6 +140,36 @@ export class PathologyDetailComponent implements OnInit {
139
 		this.pathologyCancel.emit()
140
 		this.pathologyCancel.emit()
140
 	}
141
 	}
141
 	
142
 	
143
+	// 获取任务类型(病理标本)
144
+	taskTypeData:any;
145
+	getTaskTypesId() {
146
+		this.mainService.getDictionary("list", "ordinary_field").subscribe((data) => {
147
+			this.taskTypeData = data.find(i=>i.value=='pathology')
148
+			this.getPathologySys();
149
+		});
150
+	}
151
+	
152
+	// 获取标本配置
153
+	pathologyBarCode:any = 1;
154
+	getPathologySys(){
155
+		let postData = {
156
+			  idx: 0,
157
+			  sum: 10,
158
+			  taskTypeConfig: {
159
+					hosId:this.hosId,
160
+					taskType:this.taskTypeData.id
161
+			  }
162
+		}
163
+	
164
+		this.mainService
165
+		  .getFetchDataList("simple/data", "taskTypeConfig", postData)
166
+		  .subscribe((result) => {
167
+		    if (result.status == 200) {
168
+					this.pathologyBarCode = result.list[0].pathologyBarCode?result.list[0].pathologyBarCode:1;
169
+		    }
170
+		  });
171
+	}
172
+	
142
 	// 获取详情
173
 	// 获取详情
143
 	statusValue:any;
174
 	statusValue:any;
144
 	fetchDataList(){
175
 	fetchDataList(){

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

@@ -60,6 +60,7 @@ export class LoginComponent implements OnInit {
60
     }
60
     }
61
   }
61
   }
62
   //单点登录
62
   //单点登录
63
+	paramsData:any= {};
63
   singleSignOn() {
64
   singleSignOn() {
64
     let url = location.href;
65
     let url = location.href;
65
     let paramsStr = url.split("?")[1];
66
     let paramsStr = url.split("?")[1];
@@ -68,6 +69,8 @@ export class LoginComponent implements OnInit {
68
       let arr = item.split("=");
69
       let arr = item.split("=");
69
       paramsObj[arr[0] + 1] = arr[1];
70
       paramsObj[arr[0] + 1] = arr[1];
70
     });
71
     });
72
+		this.paramsData = paramsObj;
73
+		console.log(99999,paramsObj)
71
     this.singleSignOnLogin(paramsObj);
74
     this.singleSignOnLogin(paramsObj);
72
   }
75
   }
73
   // 单点登录
76
   // 单点登录
@@ -203,8 +206,7 @@ export class LoginComponent implements OnInit {
203
           this.tool.setFavicon(faviconUrl);
206
           this.tool.setFavicon(faviconUrl);
204
           this.titleService.setTitle(this.tool.logoTitle);
207
           this.titleService.setTitle(this.tool.logoTitle);
205
           (document.querySelector('#favicon') as any).href = this.tool.faviconUrl;
208
           (document.querySelector('#favicon') as any).href = this.tool.faviconUrl;
206
-
207
-          this.toRoute2(data);
209
+					this.toRoute2(data);
208
           this.initMenu(data.user.menu);
210
           this.initMenu(data.user.menu);
209
         })
211
         })
210
       } else {
212
       } else {
@@ -235,6 +237,15 @@ export class LoginComponent implements OnInit {
235
       }
237
       }
236
       canLogin = true;
238
       canLogin = true;
237
     });
239
     });
240
+		if(this.paramsData.toPage1 && this.paramsData.cardNO1){
241
+			this.msg.success("登录成功!", {
242
+			  nzDuration: 1000,
243
+			});
244
+			successLoginMsg = false;
245
+			localStorage.setItem("user", JSON.stringify(data.user));
246
+			this.router.navigate([`/${this.paramsData.toPage1}`, { param: this.paramsData.cardNO1 }])
247
+			return
248
+		}
238
     if (fwt) {
249
     if (fwt) {
239
       // 护士角色跳护士端
250
       // 护士角色跳护士端
240
       if (successLoginMsg) {
251
       if (successLoginMsg) {

+ 42 - 29
src/app/views/pathology-sample/pathology-sample.component.html

@@ -35,20 +35,20 @@
35
   </div>
35
   </div>
36
   <div class="pharmacy-main">
36
   <div class="pharmacy-main">
37
 		<div class="left" *ngIf="adviceList">
37
 		<div class="left" *ngIf="adviceList">
38
-			<div class="top">
38
+			<div class="top" *ngIf="adviceList.patientNo">
39
 				<div>{{adviceList.patientName}} {{adviceList.patientGender?adviceList.patientGender.name:'-'}} ({{adviceList.patientAge||'-'}}岁)</div>
39
 				<div>{{adviceList.patientName}} {{adviceList.patientGender?adviceList.patientGender.name:'-'}} ({{adviceList.patientAge||'-'}}岁)</div>
40
 				<div class="border">{{adviceList.patientNo}}</div>
40
 				<div class="border">{{adviceList.patientNo}}</div>
41
 			</div>
41
 			</div>
42
 			<div class="content" *ngFor="let item of adviceList.pathologyAdviceDTOS;let index=index;" (click)="listClick(item,index)" [ngClass]="{'activeLeftClass': index == leftIndex}">
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">
43
 				<div class="list list-df">
44
-					<div class="code">{{item.diagnosisCode}}</div>
44
+					<div class="code">{{item.adviceId}}</div>
45
 					<div class="form-title">{{item.adviceType.name}}</div>
45
 					<div class="form-title">{{item.adviceType.name}}</div>
46
 				</div>
46
 				</div>
47
 				<div class="list">项目:{{item.inspectType.name}}</div>
47
 				<div class="list">项目:{{item.inspectType.name}}</div>
48
 				<div class="list">部位:{{item.inspectPart}}</div>
48
 				<div class="list">部位:{{item.inspectPart}}</div>
49
 				<div class="list">诊断:{{item.diagnosis}}</div>
49
 				<div class="list">诊断:{{item.diagnosis}}</div>
50
-				<div class="list">开单时间:{{item.orderTime}}</div>
51
-				<div class="list">状态:{{item.orderStatus.name}}</div>
50
+				<div class="list">开单时间:{{item.orderTime | date:'yyyy-MM-dd HH:mm:ss'}}</div>
51
+				<!-- <div class="list">状态:{{item.orderStatusName}}</div> -->
52
 			</div>
52
 			</div>
53
 		</div>
53
 		</div>
54
 		<div class="center" *ngIf="detailsData && viewType!='add'">
54
 		<div class="center" *ngIf="detailsData && viewType!='add'">
@@ -99,7 +99,7 @@
99
 								<nz-form-label nzRequired nzFor="project" [nzSm]="4" [nzXs]="24">检验项目</nz-form-label>
99
 								<nz-form-label nzRequired nzFor="project" [nzSm]="4" [nzXs]="24">检验项目</nz-form-label>
100
 								<nz-form-control nzErrorTip="请选择检验项目!" [nzSm]="20" [nzXs]="24">
100
 								<nz-form-control nzErrorTip="请选择检验项目!" [nzSm]="20" [nzXs]="24">
101
 									<nz-input-group>
101
 									<nz-input-group>
102
-										<nz-select nzSearch nzMode="multiple" nzShowSearch nzPlaceHolder="请选择检验项目" formControlName="project">
102
+										<nz-select nzSearch nzShowSearch nzPlaceHolder="请选择检验项目" formControlName="project">
103
 											<ng-container *ngFor="let option of projectData">
103
 											<ng-container *ngFor="let option of projectData">
104
 												<nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
104
 												<nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
105
 											</ng-container>
105
 											</ng-container>
@@ -151,8 +151,7 @@
151
 							<div class="specimen-list">
151
 							<div class="specimen-list">
152
 								<div *ngFor="let item of specimenList;let index=index;" class="specimen-item">
152
 								<div *ngFor="let item of specimenList;let index=index;" class="specimen-item">
153
 									<div class="specimen-name" (click)="specimenEdit($event,item,index)">
153
 									<div class="specimen-name" (click)="specimenEdit($event,item,index)">
154
-									{{item.partSource?item.partSource.name:''}}{{item.organ?item.organ.name:''}}{{item.specimenName}}
155
-									({{item.specimenCode}})
154
+										<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}({{item.specimenCode}})
156
 									</div>
155
 									</div>
157
 									<span class="icon_transport transport-lajitong specimen-icon" (click)="specimenDel($event,item,index)"></span>
156
 									<span class="icon_transport transport-lajitong specimen-icon" (click)="specimenDel($event,item,index)"></span>
158
 								</div>
157
 								</div>
@@ -222,8 +221,7 @@
222
 									<div class="form-title font-weight-500">标本:</div>
221
 									<div class="form-title font-weight-500">标本:</div>
223
 									<div class="form-title-box-detail">
222
 									<div class="form-title-box-detail">
224
 										<div class="form-title cursors" *ngFor="let item of specimenList" (click)="specimenView(item)">
223
 										<div class="form-title cursors" *ngFor="let item of specimenList" (click)="specimenView(item)">
225
-											{{item.partSource?item.partSource.name:''}}{{item.organ?item.organ.name:''}}{{item.specimenName}}
226
-											({{item.specimenCode}})
224
+											<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}({{item.specimenCode}})
227
 										</div>
225
 										</div>
228
 									</div>
226
 									</div>
229
 								</div>
227
 								</div>
@@ -233,7 +231,7 @@
233
 				</div>
231
 				</div>
234
 			</div>
232
 			</div>
235
 		
233
 		
236
-		<div class="content-item-right" *ngIf="viewType=='view' || viewType=='edit'">
234
+		<div class="content-item-right" *ngIf="pathologyLogs.length && (viewType=='view' || viewType=='edit')">
237
 			<div class="step-title">病理闭环</div>
235
 			<div class="step-title">病理闭环</div>
238
 			<nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
236
 			<nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
239
 				<ng-container *ngFor="let item of pathologyLogs; let index = index">
237
 				<ng-container *ngFor="let item of pathologyLogs; let index = index">
@@ -244,11 +242,11 @@
244
 						<ng-template #tpl>
242
 						<ng-template #tpl>
245
 							<div *ngIf="index==pathologyLogs.length-1" class="step-size">
243
 							<div *ngIf="index==pathologyLogs.length-1" class="step-size">
246
 								<div style="color: #49B856;">{{item.operationType.name}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
244
 								<div style="color: #49B856;">{{item.operationType.name}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
247
-								<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
245
+								<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
248
 							</div>
246
 							</div>
249
 							<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
247
 							<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
250
 								<div>{{item.operationType.name}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
248
 								<div>{{item.operationType.name}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
251
-								<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
249
+								<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
252
 							</div>
250
 							</div>
253
 						</ng-template>
251
 						</ng-template>
254
 					</ng-container>
252
 					</ng-container>
@@ -327,7 +325,7 @@
327
 		</div>
325
 		</div>
328
 		<div class="content">
326
 		<div class="content">
329
 			<form nz-form [formGroup]="validateSpecimenForm" class="addForm" (ngSubmit)="submitSpecimen()">
327
 			<form nz-form [formGroup]="validateSpecimenForm" class="addForm" (ngSubmit)="submitSpecimen()">
330
-				<nz-form-item class="form-item">
328
+				<nz-form-item class="form-item" *ngIf="!selectType">
331
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">位置来源</nz-form-label>
329
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">位置来源</nz-form-label>
332
 					<div class="specimen-list">
330
 					<div class="specimen-list">
333
 						<div>
331
 						<div>
@@ -337,7 +335,7 @@
337
 					</div>
335
 					</div>
338
 				</nz-form-item>
336
 				</nz-form-item>
339
 				
337
 				
340
-				<nz-form-item class="form-item">
338
+				<nz-form-item class="form-item" *ngIf="!selectType">
341
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">系统</nz-form-label>
339
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">系统</nz-form-label>
342
 					<div class="specimen-list">
340
 					<div class="specimen-list">
343
 						<div *ngFor="let item of systemList;let index=index;" class="select-item"
341
 						<div *ngFor="let item of systemList;let index=index;" class="select-item"
@@ -347,7 +345,7 @@
347
 					</div>
345
 					</div>
348
 				</nz-form-item>
346
 				</nz-form-item>
349
 				
347
 				
350
-				<nz-form-item class="form-item">
348
+				<nz-form-item class="form-item" *ngIf="!selectType">
351
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">器官</nz-form-label>
349
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">器官</nz-form-label>
352
 					<div class="specimen-list">
350
 					<div class="specimen-list">
353
 						<div *ngFor="let item of apparatusList;let index=index;" class="select-item"
351
 						<div *ngFor="let item of apparatusList;let index=index;" class="select-item"
@@ -457,21 +455,27 @@
457
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
455
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
458
 				<nz-form-item>
456
 				<nz-form-item>
459
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="inVitroTime">离体时间</nz-form-label>
457
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="inVitroTime">离体时间</nz-form-label>
460
-				  <nz-form-control [nzSpan]="18" nzErrorTip="请选择离体时间!">
461
-				    <nz-input-group>
462
-							<nz-date-picker formControlName="inVitroTime" 
458
+				  <nz-form-control style="display: flex;align-items: center;" [nzSpan]="18" nzErrorTip="请选择离体时间!">
459
+				    <nz-input-group style="display: flex;gap: 10px">
460
+							<!-- <nz-date-picker formControlName="inVitroTime" 
463
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
461
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
464
-							(ngModelChange)="inVitroTimeChange($event)"></nz-date-picker>
462
+							(ngModelChange)="inVitroTimeChange($event)"></nz-date-picker> -->
463
+							<nz-date-picker formControlName="inVitroDate" (ngModelChange)="inVitroDateChange($event)"></nz-date-picker>
464
+							
465
+							<nz-time-picker formControlName="inVitroTimes" nzFormat="HH:mm" (ngModelChange)="inVitroTimeChange($event)"></nz-time-picker>
465
 						</nz-input-group>
466
 						</nz-input-group>
466
 				  </nz-form-control>
467
 				  </nz-form-control>
467
 				</nz-form-item>
468
 				</nz-form-item>
468
 				<nz-form-item *ngIf="ifImmobilization">
469
 				<nz-form-item *ngIf="ifImmobilization">
469
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="fixationTime">固定时间</nz-form-label>
470
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="fixationTime">固定时间</nz-form-label>
470
-				  <nz-form-control [nzSpan]="18" nzErrorTip="请选择固定时间!">
471
-				    <nz-input-group>
472
-							<nz-date-picker formControlName="fixationTime" 
471
+				  <nz-form-control style="display: flex;align-items: center;" [nzSpan]="18" nzErrorTip="请选择固定时间!">
472
+				    <nz-input-group style="display: flex;gap: 10px">
473
+							<!-- <nz-date-picker formControlName="fixationTime" 
473
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
474
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
474
-							(ngModelChange)="formChangeDate($event)"></nz-date-picker>
475
+							(ngModelChange)="formChangeDate($event)"></nz-date-picker> -->
476
+							<nz-date-picker formControlName="fixationDate" (ngModelChange)="fixationDateChange($event)"></nz-date-picker>
477
+							
478
+							<nz-time-picker formControlName="fixationTimes" nzFormat="HH:mm" (ngModelChange)="fixationTimeChange($event)"></nz-time-picker>
475
 						</nz-input-group>
479
 						</nz-input-group>
476
 				  </nz-form-control>
480
 				  </nz-form-control>
477
 				</nz-form-item>
481
 				</nz-form-item>
@@ -514,7 +518,7 @@
514
 	<div class="monad">
518
 	<div class="monad">
515
 		<div *ngIf="printData && printData.specimenList && printData.specimenList.length" style="border: 1px solid #AAAAAA;
519
 		<div *ngIf="printData && printData.specimenList && printData.specimenList.length" style="border: 1px solid #AAAAAA;
516
 			border-radius: 5px;font-size: 12px;">
520
 			border-radius: 5px;font-size: 12px;">
517
-			 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
521
+			 <div *ngIf="pathologyBarCode==1" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
518
 				 <div style="width: 60%;height: 70px;text-align: center;">
522
 				 <div style="width: 60%;height: 70px;text-align: center;">
519
 					 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
523
 					 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
520
 					 <div>{{printData.applyCode}}</div>
524
 					 <div>{{printData.applyCode}}</div>
@@ -523,6 +527,15 @@
523
 					 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
527
 					 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
524
 				 </div>
528
 				 </div>
525
 			 </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>
526
 			
539
 			
527
 			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
540
 			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
528
 				<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
541
 				<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
@@ -531,8 +544,8 @@
531
 				<div style="width:16%;padding:1px;border-top: 1px solid #aaa;">{{printData.specimenList[0].patientGender}}</div>
544
 				<div style="width:16%;padding:1px;border-top: 1px solid #aaa;">{{printData.specimenList[0].patientGender}}</div>
532
 			</div>
545
 			</div>
533
 			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
546
 			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
534
-				<div style="width:20%;border-right: 1px solid #AAAAAA;padding:1px;">住院号</div>
535
-				<div style="width:50%;border-right: 1px solid #AAAAAA;padding:1px;">{{printData.residenceNo}}</div>
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>
536
 				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
549
 				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
537
 				<div style="width:16%;padding:1px;"> {{printData.patientAge}}岁</div>
550
 				<div style="width:16%;padding:1px;"> {{printData.patientAge}}岁</div>
538
 			</div>
551
 			</div>
@@ -578,8 +591,8 @@
578
 					<div style="width:16%;box-sizing: border-box;padding:1px;border-top: 1px solid #aaa;">{{data.patientGender}}</div>
591
 					<div style="width:16%;box-sizing: border-box;padding:1px;border-top: 1px solid #aaa;">{{data.patientGender}}</div>
579
 				 </div>
592
 				 </div>
580
 				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
593
 				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
581
-					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">住院号</div>
582
-					<div style="width:50%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">{{data.residenceNo}}</div>
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>
583
 					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
596
 					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
584
 					<div style="width:16%;box-sizing: border-box;padding:1px;"> {{data.patientAge}}岁</div>
597
 					<div style="width:16%;box-sizing: border-box;padding:1px;"> {{data.patientAge}}岁</div>
585
 				 </div>
598
 				 </div>
@@ -593,7 +606,7 @@
593
 				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
606
 				 <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>
607
 					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">标本名称</div>
595
 					<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;
608
 					<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;
596
-					padding:1px;overflow: hidden;white-space: nowrap">({{index+1}}/{{printData.specimenList.length}}){{data.partSource}}{{data.organ}}{{data.specimenName}}</div>
609
+					padding:1px;overflow: hidden;white-space: nowrap">({{index+1}}/{{printData.specimenList.length}}){{data.partSource?data.partSource:''}}{{data.organ}}{{data.specimenName}}</div>
597
 				 </div>
610
 				 </div>
598
 				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
611
 				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
599
 					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">申请单号</div>
612
 					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">申请单号</div>

+ 4 - 5
src/app/views/pathology-sample/pathology-sample.component.less

@@ -406,7 +406,6 @@
406
 	
406
 	
407
 	.pharmacy-main {
407
 	.pharmacy-main {
408
 	  height: calc(100vh - 48px);
408
 	  height: calc(100vh - 48px);
409
-	  // min-height: 680px;
410
 		flex: 1;
409
 		flex: 1;
411
 	  display: flex;
410
 	  display: flex;
412
 	  justify-content: space-between;
411
 	  justify-content: space-between;
@@ -493,7 +492,7 @@
493
 						
492
 						
494
 						.content-item{
493
 						.content-item{
495
 							flex: 1;
494
 							flex: 1;
496
-							height: 460px;
495
+							height: calc(100vh - 159px);
497
 							overflow-y: auto;
496
 							overflow-y: auto;
498
 							padding: 0 15px;
497
 							padding: 0 15px;
499
 							.disp-fl{
498
 							.disp-fl{
@@ -717,7 +716,7 @@
717
 									
716
 									
718
 						
717
 						
719
 						.content-item-right{
718
 						.content-item-right{
720
-							height: 460px;
719
+							// height: calc(100vh - 48px);
721
 							overflow-y: auto;
720
 							overflow-y: auto;
722
 							padding: 15px;
721
 							padding: 15px;
723
 							.step-title{
722
 							.step-title{
@@ -756,7 +755,7 @@
756
 		}
755
 		}
757
 		.content-item-right{
756
 		.content-item-right{
758
 			width: 20%;
757
 			width: 20%;
759
-			height: 570px;
758
+			// height: calc(100vh - 48px);
760
 			overflow-y: auto;
759
 			overflow-y: auto;
761
 			padding: 15px;
760
 			padding: 15px;
762
 			.step-title{
761
 			.step-title{
@@ -915,7 +914,7 @@
915
 			}
914
 			}
916
 	  }
915
 	  }
917
 		.no-width{
916
 		.no-width{
918
-			width: 30% !important;
917
+			width: 33% !important;
919
 		}
918
 		}
920
 	}
919
 	}
921
 
920
 

+ 216 - 97
src/app/views/pathology-sample/pathology-sample.component.ts

@@ -1,6 +1,6 @@
1
 import { Component, OnInit, ViewChild, OnDestroy } from "@angular/core";
1
 import { Component, OnInit, ViewChild, OnDestroy } from "@angular/core";
2
 import { MainService } from "../../services/main.service";
2
 import { MainService } from "../../services/main.service";
3
-import { Router } from "@angular/router";
3
+import { ActivatedRoute, Router } from "@angular/router";
4
 import { OverlayScrollbarsComponent } from "overlayscrollbars-ngx";
4
 import { OverlayScrollbarsComponent } from "overlayscrollbars-ngx";
5
 import { startOfDay, format, endOfDay } from "date-fns";
5
 import { startOfDay, format, endOfDay } from "date-fns";
6
 import { ToolService } from 'src/app/services/tool.service';
6
 import { ToolService } from 'src/app/services/tool.service';
@@ -24,6 +24,7 @@ export class PathologySampleComponent implements OnInit {
24
   constructor(
24
   constructor(
25
 	private mainService: MainService,
25
 	private mainService: MainService,
26
 	public router: Router,
26
 	public router: Router,
27
+	public route: ActivatedRoute,
27
 	public tool: ToolService,
28
 	public tool: ToolService,
28
 	private fb: FormBuilder,
29
 	private fb: FormBuilder,
29
 	private message: NzMessageService,
30
 	private message: NzMessageService,
@@ -81,13 +82,13 @@ export class PathologySampleComponent implements OnInit {
81
 	detailId:any = '200';
82
 	detailId:any = '200';
82
 	project:any;
83
 	project:any;
83
 	viewType:any = 'no';
84
 	viewType:any = 'no';
84
-	
85
+	mainRole:any;
85
   ngOnInit() {
86
   ngOnInit() {
86
 		this.changeInpSubject.pipe(debounceTime(500)).subscribe((v) => {
87
 		this.changeInpSubject.pipe(debounceTime(500)).subscribe((v) => {
87
 		  this.searchSpecimenData(v[0])
88
 		  this.searchSpecimenData(v[0])
88
 		});
89
 		});
89
 		this.changeInpSubjectSpecimen.pipe(debounceTime(500)).subscribe((v) => {
90
 		this.changeInpSubjectSpecimen.pipe(debounceTime(500)).subscribe((v) => {
90
-		  this.searchSpecimen(v[0])
91
+		  this.searchSpecimen(v[0],'search')
91
 		});
92
 		});
92
 		this.hosId = this.tool.getCurrentHospital().id;
93
 		this.hosId = this.tool.getCurrentHospital().id;
93
 		this.userId = this.tool.getCurrentUserId()
94
 		this.userId = this.tool.getCurrentUserId()
@@ -98,6 +99,10 @@ export class PathologySampleComponent implements OnInit {
98
 		this.getSysData()
99
 		this.getSysData()
99
 		this.getTaskTypesId();
100
 		this.getTaskTypesId();
100
 		this.getStationaryLiquid();
101
 		this.getStationaryLiquid();
102
+		if(this.route.snapshot.params && this.route.snapshot.params.param){
103
+			this.barCode = this.route.snapshot.params.param
104
+			this.searchSpecimen(this.barCode,'search')
105
+		}
101
 		setTimeout(_=>{
106
 		setTimeout(_=>{
102
 			document.getElementById('Binput').focus();
107
 			document.getElementById('Binput').focus();
103
 		},500)
108
 		},500)
@@ -135,6 +140,7 @@ export class PathologySampleComponent implements OnInit {
135
 			this.addLoading = false
140
 			this.addLoading = false
136
 			this.viewType = 'edit';
141
 			this.viewType = 'edit';
137
 			this.fetchDataList(data.data.id);
142
 			this.fetchDataList(data.data.id);
143
+			this.searchSpecimen(this.adviceList.patientNo,'add');
138
 		});
144
 		});
139
 	}
145
 	}
140
 	
146
 	
@@ -148,6 +154,7 @@ export class PathologySampleComponent implements OnInit {
148
 	}
154
 	}
149
 	
155
 	
150
 	// 获取配置
156
 	// 获取配置
157
+	pathologyBarCode:any = 1;
151
 	ifImmobilization:any = false;
158
 	ifImmobilization:any = false;
152
 	getConfig() {
159
 	getConfig() {
153
 		let postData = {
160
 		let postData = {
@@ -167,6 +174,7 @@ export class PathologySampleComponent implements OnInit {
167
 					}else{
174
 					}else{
168
 						this.ifImmobilization = false
175
 						this.ifImmobilization = false
169
 					}
176
 					}
177
+					this.pathologyBarCode = result.list[0].pathologyBarCode?result.list[0].pathologyBarCode:1;
170
 	      }
178
 	      }
171
 	    });
179
 	    });
172
 	}
180
 	}
@@ -184,25 +192,28 @@ export class PathologySampleComponent implements OnInit {
184
 		}
192
 		}
185
 	}
193
 	}
186
 	
194
 	
187
-	isShowMove:any = false
195
+	isShowMove:any = true
188
 	showLook(){
196
 	showLook(){
189
 		this.isShowMove = !this.isShowMove
197
 		this.isShowMove = !this.isShowMove
190
 	}
198
 	}
191
 	
199
 	
192
 	// 标本条码搜索
200
 	// 标本条码搜索
193
 	adviceList:any = null;
201
 	adviceList:any = null;
194
-	searchSpecimen(e){
195
-		if(!this.barCode){
196
-			return
197
-		}
198
-		if(this.barCode.length < 10) {
199
-			return
202
+	searchSpecimen(e,type){
203
+		console.log(7777,this.route.snapshot.params.param)
204
+		if(type!='add'){
205
+			if(!this.barCode){
206
+				return
207
+			}
208
+			if(this.barCode.length < 10) {
209
+				return
210
+			}
200
 		}
211
 		}
201
 		let data:any = {
212
 		let data:any = {
202
 			idx: 0,
213
 			idx: 0,
203
 			sum: 9999,
214
 			sum: 9999,
204
 			pathologyAdvice:{
215
 			pathologyAdvice:{
205
-				patientNo:this.barCode
216
+				patientNo:this.barCode?this.barCode:e
206
 			}
217
 			}
207
 		}
218
 		}
208
 		this.isSpinning = true
219
 		this.isSpinning = true
@@ -210,22 +221,24 @@ export class PathologySampleComponent implements OnInit {
210
 		.subscribe((res:any) => {
221
 		.subscribe((res:any) => {
211
 			this.isSpinning = false
222
 			this.isSpinning = false
212
 			if(res.status==200){
223
 			if(res.status==200){
213
-				this.adviceList = res.list[0]
214
-				console.log(4545,this.adviceList)
215
-				// let item = this.codeData.pathologySpecimenDTOList.find(i=>i.specimenCode == e)
216
-				// if(!item.fixationTime && this.codeData.pathologyFormType==0){
217
-				// 	this.fixationError = null
218
-				// 	this.searchMsg = null
219
-				// }else if(item.fixationTime && this.codeData.pathologyFormType==0){
220
-				// 	this.barCode = null
221
-				// 	this.fixationError = null
222
-				// 	this.searchMsg = null
223
-				// }else{
224
-				// 	this.barCode = null
225
-				// 	this.fixationError = null
226
-				// 	this.searchMsg = '该申请单类型不是病理检查申请单'
227
-				// }
228
-				
224
+				this.barCode = null
225
+				this.searchMsg = null
226
+				this.isShowMove = true
227
+				if(type=='search'){
228
+					this.leftIndex = null
229
+					this.detailsData = null
230
+					this.statusValue = 1
231
+					this.pathologyLogs = []
232
+					this.stepLength = 0
233
+					this.viewType = 'no';
234
+				}
235
+				if(res.list.length>0){
236
+					this.adviceList = res.list[0]
237
+				}else{
238
+					this.adviceList = []
239
+					this.viewType = 'no';
240
+				}
241
+				this.patientId = this.adviceList.patientId
229
 			}else{
242
 			}else{
230
 				this.barCode = null
243
 				this.barCode = null
231
 				this.searchMsg = res.msg
244
 				this.searchMsg = res.msg
@@ -259,15 +272,31 @@ export class PathologySampleComponent implements OnInit {
259
 	}
272
 	}
260
 	
273
 	
261
 	// 选择固定时间
274
 	// 选择固定时间
262
-	formChangeDate(result){
263
-	  this.startDate = format(result, 'yyyy-MM-dd HH:mm:ss');
275
+	fixationTime:any;
276
+	fixationData:any;
277
+	fixationDateChange(result){
278
+		this.fixationData = format(result, 'yyyy-MM-dd');
279
+		console.log(this.fixationData)
280
+	}
281
+	fixationTimeSelect:any;
282
+	fixationTimeChange(result){
283
+		this.fixationTimeSelect = format(result, 'HH:mm');
284
+		console.log(this.fixationData + ' ' + this.fixationTimeSelect)
264
 	}
285
 	}
265
 	
286
 	
266
 	// 选择离体时间
287
 	// 选择离体时间
267
 	inVitroTime:any;
288
 	inVitroTime:any;
289
+	inVitroData:any;
290
+	inVitroDateChange(result){
291
+		this.inVitroData = format(result, 'yyyy-MM-dd');
292
+		console.log(this.inVitroData)
293
+	}
294
+	inVitroTimeSelect:any;
268
 	inVitroTimeChange(result){
295
 	inVitroTimeChange(result){
269
-	  this.inVitroTime = format(result, 'yyyy-MM-dd HH:mm:ss');
296
+		this.inVitroTimeSelect = format(result, 'HH:mm');
297
+		console.log(this.inVitroData + ' ' + this.inVitroTimeSelect)
270
 	}
298
 	}
299
+
271
 	
300
 	
272
 	// 提交固定标本接收
301
 	// 提交固定标本接收
273
 	startDate:any;
302
 	startDate:any;
@@ -279,13 +308,13 @@ export class PathologySampleComponent implements OnInit {
279
 		  this.validatePrintForm.controls[i].updateValueAndValidity();
308
 		  this.validatePrintForm.controls[i].updateValueAndValidity();
280
 		}
309
 		}
281
 		if (this.validatePrintForm.invalid) return;
310
 		if (this.validatePrintForm.invalid) return;
282
-		let ids = this.validateForm.value.project.join(',')
311
+		let ids = this.validateForm.value.project
283
 		let data: any = {
312
 		let data: any = {
284
 			pathologyForm:{
313
 			pathologyForm:{
285
 				...this.detailsData,
314
 				...this.detailsData,
286
 				...this.validateForm.value,
315
 				...this.validateForm.value,
287
-				inVitroTime:this.inVitroTime,
288
-				fixationTime:this.startDate,
316
+				inVitroTime:this.inVitroData + ' ' + this.inVitroTimeSelect+':00',
317
+				fixationTime:this.fixationData + ' ' + this.fixationTimeSelect+':00',
289
 				specimenFixingLiquid:{
318
 				specimenFixingLiquid:{
290
 					id:this.validatePrintForm.value.fixative
319
 					id:this.validatePrintForm.value.fixative
291
 				},
320
 				},
@@ -314,7 +343,7 @@ export class PathologySampleComponent implements OnInit {
314
 			delete data.pathologySpecimenIds
343
 			delete data.pathologySpecimenIds
315
 		}
344
 		}
316
 		if(this.ifImmobilization){
345
 		if(this.ifImmobilization){
317
-			data.pathologyForm.fixationTime = this.startDate
346
+			data.pathologyForm.fixationTime = this.fixationData + ' ' + this.fixationTimeSelect +':00'
318
 			data.pathologyForm.specimenFixingLiquid.id = this.validatePrintForm.value.fixative
347
 			data.pathologyForm.specimenFixingLiquid.id = this.validatePrintForm.value.fixative
319
 		}else{
348
 		}else{
320
 			delete data.pathologyForm.fixationTime
349
 			delete data.pathologyForm.fixationTime
@@ -374,7 +403,6 @@ export class PathologySampleComponent implements OnInit {
374
 		.subscribe((data) => {
403
 		.subscribe((data) => {
375
 			this.isSpinning = false;
404
 			this.isSpinning = false;
376
 			this.detailsData = data.data;
405
 			this.detailsData = data.data;
377
-			this.patientId = data.data.patientId;
378
 			this.surgeryId = data.data.surgeryId;
406
 			this.surgeryId = data.data.surgeryId;
379
 			if(this.detailsData.status && this.detailsData.status.value==5){
407
 			if(this.detailsData.status && this.detailsData.status.value==5){
380
 				this.viewType = 'view'
408
 				this.viewType = 'view'
@@ -404,16 +432,20 @@ export class PathologySampleComponent implements OnInit {
404
 			}
432
 			}
405
 			
433
 			
406
 			// 检验项目
434
 			// 检验项目
407
-			let arr = []
408
-			if(this.detailsData.pathologyInspectDTOS){
409
-				for(let i of this.detailsData.pathologyInspectDTOS){
410
-					arr.push(i.inspectProject.id)
435
+			if(this.detailsData.status && this.detailsData.status.value==5){
436
+				if(this.detailsData.pathologyInspectDTOS&&this.detailsData.pathologyInspectDTOS.length>0){
437
+					this.project = this.detailsData.pathologyInspectDTOS[0].inspectProject.name
411
 				}
438
 				}
412
-				this.validateForm.controls.project.setValue(arr);
413
 			}else{
439
 			}else{
414
-				this.validateForm.controls.project.setValue(arr);
440
+				let str = null
441
+				if(this.detailsData.pathologyInspectDTOS){
442
+					str = this.detailsData.pathologyInspectDTOS[0].inspectProject.id
443
+					this.validateForm.controls.project.setValue(str);
444
+				}else{
445
+					this.validateForm.controls.project.setValue(str);
446
+				}
415
 			}
447
 			}
416
-			
448
+
417
 			// 标本类型
449
 			// 标本类型
418
 			if(this.detailsData.specimenType){
450
 			if(this.detailsData.specimenType){
419
 				this.validateForm.controls.specimenGenre.setValue(this.detailsData.specimenType.id);
451
 				this.validateForm.controls.specimenGenre.setValue(this.detailsData.specimenType.id);
@@ -444,7 +476,7 @@ export class PathologySampleComponent implements OnInit {
444
 	
476
 	
445
 	// 获取检验项目
477
 	// 获取检验项目
446
 	getProDicData(){
478
 	getProDicData(){
447
-		this.mainService.getDictionary("list", "pathology_inspect_type").subscribe((res) => {
479
+		this.mainService.getDictionary("list", "outpatient_pathology_inspect_type").subscribe((res) => {
448
 			this.projectData = res
480
 			this.projectData = res
449
 		});
481
 		});
450
 	}
482
 	}
@@ -507,6 +539,7 @@ export class PathologySampleComponent implements OnInit {
507
 	
539
 	
508
 	// 获取标本-标本名称
540
 	// 获取标本-标本名称
509
 	getSpNameData(id,item,type){
541
 	getSpNameData(id,item,type){
542
+		this.selectItem = this.specimenData.find(i=>i.id == this.validateForm.value.specimenGenre)
510
 		let postData: any = {
543
 		let postData: any = {
511
 		  idx: 0,
544
 		  idx: 0,
512
 		  sum: 9999,
545
 		  sum: 9999,
@@ -515,12 +548,17 @@ export class PathologySampleComponent implements OnInit {
515
 				parent:id,
548
 				parent:id,
516
 		    key: 'pathology_specimen',
549
 		    key: 'pathology_specimen',
517
 		    deleted: 0,
550
 		    deleted: 0,
551
+				extra1:'',
518
 		  },
552
 		  },
519
 		};
553
 		};
520
-		this.mainService
521
-		  .getFetchDataList("simple/data", "dictionaryTree", postData)
522
-		  .subscribe((data) => {
523
-		    this.specimenNameList = data.list;
554
+		
555
+		if(this.selectType){
556
+			postData.dictionaryTree.key = 'cell_specimen'
557
+			postData.dictionaryTree.extra1 = this.selectItem.value
558
+			delete postData.dictionaryTree.parent
559
+			delete postData.dictionaryTree.level
560
+			this.mainService.getFetchDataList("simple/data", "dictionaryTree", postData).subscribe((res) => {
561
+				this.specimenNameList = res.list;
524
 				if(type=='edit'){
562
 				if(type=='edit'){
525
 					if(item.sample){
563
 					if(item.sample){
526
 						this.validateSpecimenForm = this.fb.group({
564
 						this.validateSpecimenForm = this.fb.group({
@@ -540,7 +578,37 @@ export class PathologySampleComponent implements OnInit {
540
 						this.specimenModal = true
578
 						this.specimenModal = true
541
 					},50)
579
 					},50)
542
 				}
580
 				}
543
-		  });
581
+			});
582
+		}else{
583
+			postData.dictionaryTree.key = 'pathology_specimen'
584
+			postData.dictionaryTree.parent = id
585
+			postData.dictionaryTree.level = 3
586
+			delete postData.dictionaryTree.extra1
587
+			this.mainService.getFetchDataList("simple/data", "dictionaryTree", postData)
588
+			  .subscribe((data) => {
589
+			    this.specimenNameList = data.list;
590
+					if(type=='edit'){
591
+						if(item.sample){
592
+							this.validateSpecimenForm = this.fb.group({
593
+							  remark: [null, []],
594
+								specimenName: [null, [Validators.required]]
595
+							});
596
+							setTimeout(_=>{
597
+								let index4 = this.specimenNameList.findIndex(i=>i.id==item.sample.id)
598
+								this.specimenNameIndex = index4
599
+								this.specimenNameName = item.sample.name
600
+								this.specimenNameId = Number(item.sample.id);
601
+								this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
602
+							},100)
603
+						}
604
+						setTimeout(_=>{
605
+							this.validateSpecimenForm.controls.remark.setValue(item.remark);
606
+							this.specimenModal = true
607
+						},50)
608
+					}
609
+			  });
610
+		}
611
+
544
 	}
612
 	}
545
 	
613
 	
546
 	// 删除标本
614
 	// 删除标本
@@ -579,18 +647,28 @@ export class PathologySampleComponent implements OnInit {
579
 	specimenDetailId:any = null;
647
 	specimenDetailId:any = null;
580
 	specimenEdit(e,item,index){
648
 	specimenEdit(e,item,index){
581
 		this.specimenDetailId = item.id
649
 		this.specimenDetailId = item.id
582
-		let index1 = this.placeList.findIndex(i=>i.id==item.partSource.id)
583
-		this.placeIndex = index1
584
-		this.placeId = Number(item.partSource.id)
585
-		let index2 = this.systemList.findIndex(i=>i.id==item.system.id)
586
-		this.systemIndex = index2
587
-		this.systemId = Number(item.system.id)
588
-		this.getApparatusData(item.system.id,item,'edit')
589
-		this.getSpNameData(item.organ.id,item,'edit')
650
+		if(item.system && item.organ){
651
+			this.selectType = false
652
+			let index1 = this.placeList.findIndex(i=>i.id==item.partSource.id)
653
+			this.placeIndex = index1
654
+			this.placeId = Number(item.partSource.id)
655
+			let index2 = this.systemList.findIndex(i=>i.id==item.system.id)
656
+			this.systemIndex = index2
657
+			this.systemId = Number(item.system.id)
658
+			this.getApparatusData(item.system.id,item,'edit')
659
+			this.getSpNameData(item.organ.id,item,'edit')
660
+		}else{
661
+			this.selectType = true
662
+			this.getSpNameData(item.specimenId,item,'edit')
663
+		}
590
 	}
664
 	}
591
 	
665
 	
592
 	// 选择标本
666
 	// 选择标本
667
+	selectItem:any;
668
+	selectType:any = false;
593
 	openSpecimen(){
669
 	openSpecimen(){
670
+		this.selectItem = this.specimenData.find(i=>i.id == this.validateForm.value.specimenGenre)
671
+		console.log(this.selectItem.value) //20 21 22 24 60 80
594
 		this.validateSpecimenForm = this.fb.group({
672
 		this.validateSpecimenForm = this.fb.group({
595
 		  remark: [null, []],
673
 		  remark: [null, []],
596
 			specimenName:[null, [Validators.required]],
674
 			specimenName:[null, [Validators.required]],
@@ -608,10 +686,19 @@ export class PathologySampleComponent implements OnInit {
608
 		this.systemList=[]; //系统数据
686
 		this.systemList=[]; //系统数据
609
 		this.apparatusList=[]; //器官数据
687
 		this.apparatusList=[]; //器官数据
610
 		this.specimenNameList=[]; //标本名称数据
688
 		this.specimenNameList=[]; //标本名称数据
611
-		this.specimenNameName = null;
612
-		this.getSourceData()
613
-		this.getSysData()
689
+		this.specimenNameName = null
614
 		this.specimenModal = true
690
 		this.specimenModal = true
691
+		if(this.selectItem.value==20 || this.selectItem.value==21 ||
692
+		this.selectItem.value==22 || this.selectItem.value==23 ||
693
+		this.selectItem.value==24 || this.selectItem.value==60 || 
694
+		this.selectItem.value==70 || this.selectItem.value==80){
695
+			this.selectType = true
696
+			this.getSpNameData('',{},'select')
697
+		}else{
698
+			this.selectType = false
699
+			this.getSourceData()
700
+			this.getSysData()
701
+		}
615
 	}
702
 	}
616
 	
703
 	
617
 	// 选择位置来源
704
 	// 选择位置来源
@@ -684,19 +771,22 @@ export class PathologySampleComponent implements OnInit {
684
 	addSpLoading:boolean = false;
771
 	addSpLoading:boolean = false;
685
 	addMadal:boolean = false;
772
 	addMadal:boolean = false;
686
 	submitSpecimen(type){
773
 	submitSpecimen(type){
687
-		if(this.placeIndex==null){
688
-			this.message.error('请选择位置来源')
689
-			return
690
-		}
691
-		if(this.systemIndex==null){
692
-			this.message.error('请选择系统')
693
-			return
694
-		}
695
-		if(this.apparatusIndex==null){
696
-			this.message.error('请选择器官')
697
-			return
774
+		if(!this.selectType){
775
+			if(this.placeIndex==null){
776
+				this.message.error('请选择位置来源')
777
+				return
778
+			}
779
+			if(this.systemIndex==null){
780
+				this.message.error('请选择系统')
781
+				return
782
+			}
783
+			if(this.apparatusIndex==null){
784
+				this.message.error('请选择器官')
785
+				return
786
+			}
698
 		}
787
 		}
699
-		if(this.specimenNameIndex==null){
788
+		
789
+		if(this.specimenNameIndex==null && this.validateSpecimenForm.value.specimenName == ''){
700
 			this.message.error('请选择标本名称')
790
 			this.message.error('请选择标本名称')
701
 			return
791
 			return
702
 		}
792
 		}
@@ -847,7 +937,11 @@ export class PathologySampleComponent implements OnInit {
847
 					let str = []
937
 					let str = []
848
 					if(res.list.length>0){
938
 					if(res.list.length>0){
849
 						for(let i of res.list){
939
 						for(let i of res.list){
850
-							str.push(i.system.name + '-' + i.organ.name)
940
+							if(i.system && i.organ){
941
+								str.push(i.system.name + '-' + i.organ.name)
942
+							}else{
943
+								str.push(i.specimenName)
944
+							}
851
 						}
945
 						}
852
 						const newStr = new Set(str);
946
 						const newStr = new Set(str);
853
 						const newData = Array.from(newStr);
947
 						const newData = Array.from(newStr);
@@ -897,25 +991,34 @@ export class PathologySampleComponent implements OnInit {
897
 				this.specimenNum = res.specimenNum
991
 				this.specimenNum = res.specimenNum
898
 				this.pathologySpecimenIds = res.ids
992
 				this.pathologySpecimenIds = res.ids
899
 				let date = new Date();
993
 				let date = new Date();
900
-				this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
901
-				this.inVitroTime = format(date, "yyyy-MM-dd HH:mm:ss")
994
+				
995
+				let inVitroDate = format(date, "yyyy-MM-dd")
902
 				if(this.ifImmobilization){
996
 				if(this.ifImmobilization){
903
 					this.validatePrintForm = this.fb.group({
997
 					this.validatePrintForm = this.fb.group({
904
-						inVitroTime: [null, [Validators.required]],
905
-						fixationTime: [null, [Validators.required]],
998
+						inVitroTimes: [null, [Validators.required]],
999
+						inVitroDate: [null, [Validators.required]],
1000
+						fixationTimes: [null, [Validators.required]],
1001
+						fixationDate: [null, [Validators.required]],
906
 						fixative:[null, [Validators.required]],
1002
 						fixative:[null, [Validators.required]],
907
 						jobNumber: [null, [Validators.required]],
1003
 						jobNumber: [null, [Validators.required]],
908
 						name:[null, [Validators.required]],
1004
 						name:[null, [Validators.required]],
909
 					});
1005
 					});
910
-					this.validatePrintForm.controls.fixationTime.setValue(this.startDate);
1006
+					this.validatePrintForm.controls.fixationDate.setValue(inVitroDate);
1007
+					this.validatePrintForm.controls.fixationTimes.setValue(date);
1008
+					this.fixationData = inVitroDate;
1009
+					this.fixationTimeSelect = format(date, 'HH:mm');
911
 				}else{
1010
 				}else{
912
 					this.validatePrintForm = this.fb.group({
1011
 					this.validatePrintForm = this.fb.group({
913
-						inVitroTime: [null, [Validators.required]],
1012
+						inVitroTimes: [null, [Validators.required]],
1013
+						inVitroDate: [null, [Validators.required]],
914
 						jobNumber: [null, [Validators.required]],
1014
 						jobNumber: [null, [Validators.required]],
915
 						name:[null, [Validators.required]],
1015
 						name:[null, [Validators.required]],
916
 					});
1016
 					});
917
 				}
1017
 				}
918
-				this.validatePrintForm.controls.inVitroTime.setValue(this.inVitroTime);
1018
+				this.validatePrintForm.controls.inVitroDate.setValue(inVitroDate);
1019
+				this.validatePrintForm.controls.inVitroTimes.setValue(date);
1020
+				this.inVitroData = inVitroDate;
1021
+				this.inVitroTimeSelect = format(date, 'HH:mm');
919
 				if(this.detailsData.surgeryDoctorDTO){
1022
 				if(this.detailsData.surgeryDoctorDTO){
920
 					this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1023
 					this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
921
 					this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1024
 					this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
@@ -937,12 +1040,10 @@ export class PathologySampleComponent implements OnInit {
937
 	submitForm(type): void{
1040
 	submitForm(type): void{
938
 		var that = this;
1041
 		var that = this;
939
 		this.operation = 'wholePrint'
1042
 		this.operation = 'wholePrint'
940
-		console.log(5555,that.validateForm.controls)
941
 		for (const i in that.validateForm.controls) {
1043
 		for (const i in that.validateForm.controls) {
942
 			that.validateForm.controls[i].markAsDirty();
1044
 			that.validateForm.controls[i].markAsDirty();
943
 			that.validateForm.controls[i].updateValueAndValidity();
1045
 			that.validateForm.controls[i].updateValueAndValidity();
944
 		}
1046
 		}
945
-		console.log(444,that.validateForm.invalid)
946
 		if (that.validateForm.invalid) return;
1047
 		if (that.validateForm.invalid) return;
947
 		if(this.specimenList.length==0){
1048
 		if(this.specimenList.length==0){
948
 			this.message.error('标本不能为空')
1049
 			this.message.error('标本不能为空')
@@ -957,25 +1058,34 @@ export class PathologySampleComponent implements OnInit {
957
 					this.specimenNum = res.specimenNum
1058
 					this.specimenNum = res.specimenNum
958
 					this.pathologySpecimenIds = res.ids
1059
 					this.pathologySpecimenIds = res.ids
959
 					let date = new Date();
1060
 					let date = new Date();
960
-					this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
961
-					this.inVitroTime = format(date, "yyyy-MM-dd HH:mm:ss")
1061
+					
1062
+					let inVitroDate = format(date, "yyyy-MM-dd")
962
 					if(this.ifImmobilization){
1063
 					if(this.ifImmobilization){
963
 						this.validatePrintForm = this.fb.group({
1064
 						this.validatePrintForm = this.fb.group({
964
-							inVitroTime: [null, [Validators.required]],
965
-							fixationTime: [null, [Validators.required]],
1065
+							inVitroTimes: [null, [Validators.required]],
1066
+							inVitroDate: [null, [Validators.required]],
1067
+							fixationTimes: [null, [Validators.required]],
1068
+							fixationDate: [null, [Validators.required]],
966
 							fixative:[null, [Validators.required]],
1069
 							fixative:[null, [Validators.required]],
967
 							jobNumber: [null, [Validators.required]],
1070
 							jobNumber: [null, [Validators.required]],
968
 							name:[null, [Validators.required]],
1071
 							name:[null, [Validators.required]],
969
 						});
1072
 						});
970
-						this.validatePrintForm.controls.fixationTime.setValue(this.startDate);
1073
+						this.validatePrintForm.controls.fixationDate.setValue(inVitroDate);
1074
+						this.validatePrintForm.controls.fixationTimes.setValue(date);
1075
+						this.fixationData = inVitroDate;
1076
+						this.fixationTimeSelect = format(date, 'HH:mm');
971
 					}else{
1077
 					}else{
972
 						this.validatePrintForm = this.fb.group({
1078
 						this.validatePrintForm = this.fb.group({
973
-							inVitroTime: [null, [Validators.required]],
1079
+							inVitroTimes: [null, [Validators.required]],
1080
+							inVitroDate: [null, [Validators.required]],
974
 							jobNumber: [null, [Validators.required]],
1081
 							jobNumber: [null, [Validators.required]],
975
 							name:[null, [Validators.required]],
1082
 							name:[null, [Validators.required]],
976
 						});
1083
 						});
977
 					}
1084
 					}
978
-					this.validatePrintForm.controls.inVitroTime.setValue(this.inVitroTime);
1085
+					this.validatePrintForm.controls.inVitroDate.setValue(inVitroDate);
1086
+					this.validatePrintForm.controls.inVitroTimes.setValue(date);
1087
+					this.inVitroData = inVitroDate;
1088
+					this.inVitroTimeSelect = format(date, 'HH:mm');
979
 					if(this.detailsData.surgeryDoctorDTO){
1089
 					if(this.detailsData.surgeryDoctorDTO){
980
 						this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1090
 						this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
981
 						this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1091
 						this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
@@ -988,7 +1098,7 @@ export class PathologySampleComponent implements OnInit {
988
 							surgeryId: this.surgeryId || "",
1098
 							surgeryId: this.surgeryId || "",
989
 							patientId: this.patientId || "",
1099
 							patientId: this.patientId || "",
990
 							hosId: this.hosId || "" ,
1100
 							hosId: this.hosId || "" ,
991
-							pathologyInspectIds: this.validateForm.value.project.join(','),
1101
+							pathologyInspectIds: this.validateForm.value.project,
992
 							specimenType:{
1102
 							specimenType:{
993
 								id:this.validateForm.value.specimenGenre
1103
 								id:this.validateForm.value.specimenGenre
994
 							}
1104
 							}
@@ -1022,25 +1132,34 @@ export class PathologySampleComponent implements OnInit {
1022
 					this.totalNum = res.totalNum
1132
 					this.totalNum = res.totalNum
1023
 					this.specimenNum = res.specimenNum
1133
 					this.specimenNum = res.specimenNum
1024
 					let date = new Date();
1134
 					let date = new Date();
1025
-					this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
1026
-					this.inVitroTime = format(date, "yyyy-MM-dd HH:mm:ss")
1135
+					
1136
+					let inVitroDate = format(date, "yyyy-MM-dd")
1027
 					if(this.ifImmobilization){
1137
 					if(this.ifImmobilization){
1028
 						this.validatePrintForm = this.fb.group({
1138
 						this.validatePrintForm = this.fb.group({
1029
-							inVitroTime: [null, [Validators.required]],
1030
-							fixationTime: [null, [Validators.required]],
1139
+							inVitroTimes: [null, [Validators.required]],
1140
+							inVitroDate: [null, [Validators.required]],
1141
+							fixationTimes: [null, [Validators.required]],
1142
+							fixationDate: [null, [Validators.required]],
1031
 							fixative:[null, [Validators.required]],
1143
 							fixative:[null, [Validators.required]],
1032
 							jobNumber: [null, [Validators.required]],
1144
 							jobNumber: [null, [Validators.required]],
1033
 							name:[null, [Validators.required]],
1145
 							name:[null, [Validators.required]],
1034
 						});
1146
 						});
1035
-						this.validatePrintForm.controls.fixationTime.setValue(this.startDate);
1147
+						this.validatePrintForm.controls.fixationDate.setValue(inVitroDate);
1148
+						this.validatePrintForm.controls.fixationTimes.setValue(date);
1149
+						this.fixationData = inVitroDate;
1150
+						this.fixationTimeSelect = format(date, 'HH:mm');
1036
 					}else{
1151
 					}else{
1037
 						this.validatePrintForm = this.fb.group({
1152
 						this.validatePrintForm = this.fb.group({
1038
-							inVitroTime: [null, [Validators.required]],
1153
+							inVitroTimes: [null, [Validators.required]],
1154
+							inVitroDate: [null, [Validators.required]],
1039
 							jobNumber: [null, [Validators.required]],
1155
 							jobNumber: [null, [Validators.required]],
1040
 							name:[null, [Validators.required]],
1156
 							name:[null, [Validators.required]],
1041
 						});
1157
 						});
1042
 					}
1158
 					}
1043
-					this.validatePrintForm.controls.inVitroTime.setValue(this.inVitroTime);
1159
+					this.validatePrintForm.controls.inVitroDate.setValue(inVitroDate);
1160
+					this.validatePrintForm.controls.inVitroTimes.setValue(date);
1161
+					this.inVitroData = inVitroDate;
1162
+					this.inVitroTimeSelect = format(date, 'HH:mm');
1044
 					if(this.detailsData.surgeryDoctorDTO){
1163
 					if(this.detailsData.surgeryDoctorDTO){
1045
 						this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1164
 						this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1046
 						this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
1165
 						this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
@@ -1055,7 +1174,7 @@ export class PathologySampleComponent implements OnInit {
1055
 					surgeryId: this.surgeryId || "",
1174
 					surgeryId: this.surgeryId || "",
1056
 					patientId: this.patientId || "",
1175
 					patientId: this.patientId || "",
1057
 					hosId: this.hosId || "" ,
1176
 					hosId: this.hosId || "" ,
1058
-					pathologyInspectIds:this.validateForm.value.project.join(','),
1177
+					pathologyInspectIds:this.validateForm.value.project,
1059
 					specimenType:{
1178
 					specimenType:{
1060
 						id:this.validateForm.value.specimenGenre
1179
 						id:this.validateForm.value.specimenGenre
1061
 					}
1180
 					}

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

@@ -371,7 +371,7 @@
371
 					<div class="form-title font-weight-500">标本:</div>
371
 					<div class="form-title font-weight-500">标本:</div>
372
 					<div class="form-title specimen-list">
372
 					<div class="form-title specimen-list">
373
 						<div *ngFor="let item of specimenList" class="specimen-item-class">
373
 						<div *ngFor="let item of specimenList" class="specimen-item-class">
374
-							{{item.partSource?item.partSource.name:''}}{{item.organ?item.organ.name:''}}{{item.specimenName}}
374
+							<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}({{item.specimenCode}})
375
 						</div>
375
 						</div>
376
 					</div>
376
 					</div>
377
 				</div>
377
 				</div>
@@ -389,11 +389,11 @@
389
 							<ng-template #tpl>
389
 							<ng-template #tpl>
390
 								<div *ngIf="index==pathologyLogs.length-1" class="step-size">
390
 								<div *ngIf="index==pathologyLogs.length-1" class="step-size">
391
 									<div style="color: #49B856;">{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
391
 									<div style="color: #49B856;">{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
392
-									<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
392
+									<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
393
 								</div>
393
 								</div>
394
 								<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
394
 								<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
395
 									<div>{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
395
 									<div>{{item.operationType.name}} {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
396
-									<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
396
+									<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
397
 								</div>
397
 								</div>
398
 							</ng-template>
398
 							</ng-template>
399
 						</ng-container>
399
 						</ng-container>

+ 2 - 2
src/app/views/pathologyScan/pathologyScan.component.html

@@ -53,7 +53,7 @@
53
 										<td>{{ data.takePart}}</td>
53
 										<td>{{ data.takePart}}</td>
54
 										<td>
54
 										<td>
55
 											<div *ngFor="let item of data.pathologySpecimenDTOList">
55
 											<div *ngFor="let item of data.pathologySpecimenDTOList">
56
-												{{item.partSource?item.partSource.name:''}}{{item.organ?item.organ.name:''}}{{item.specimenName}}
56
+												<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}
57
 											</div>
57
 											</div>
58
 										</td>
58
 										</td>
59
 									</tr>
59
 									</tr>
@@ -114,7 +114,7 @@
114
 										<td>{{index+1}}</td>
114
 										<td>{{index+1}}</td>
115
 										<td>{{ data.specimenCode}}</td>
115
 										<td>{{ data.specimenCode}}</td>
116
 										<td>
116
 										<td>
117
-											{{data.partSource?data.partSource.name:''}}{{data.organ?data.organ.name:''}}{{data.specimenName}}
117
+											<span *ngIf="data.partSource && data.partSource.value!=1">{{data.partSource?data.partSource.name:''}}</span>{{data.organ?data.organ.name:''}}{{data.specimenName}}
118
 										</td>
118
 										</td>
119
 										<td *ngIf="dataType=='receive'">
119
 										<td *ngIf="dataType=='receive'">
120
 											<div *ngIf="data.isScan==1">已接收</div>
120
 											<div *ngIf="data.isScan==1">已接收</div>

+ 18 - 12
src/app/views/specimen-room-view/specimen-room-view.component.html

@@ -534,7 +534,7 @@
534
 										<td>{{index+1}}</td>
534
 										<td>{{index+1}}</td>
535
 										<td>{{ data.specimenCode}}</td>
535
 										<td>{{ data.specimenCode}}</td>
536
 										<td>
536
 										<td>
537
-											{{data.partSource?data.partSource.name:''}}{{data.organ?data.organ.name:''}}{{data.specimenName}}
537
+											<span *ngIf="data.partSource && data.partSource.value!=1">{{data.partSource?data.partSource.name:''}}</span>{{data.organ?data.organ.name:''}}{{data.specimenName}}
538
 										</td>
538
 										</td>
539
 									</tr>
539
 									</tr>
540
 								</tbody>
540
 								</tbody>
@@ -565,13 +565,20 @@
565
 			<form nz-form [formGroup]="validateVerificationForm" class="addForm" (ngSubmit)="submitVerificationForm()">
565
 			<form nz-form [formGroup]="validateVerificationForm" class="addForm" (ngSubmit)="submitVerificationForm()">
566
 				<nz-form-item>
566
 				<nz-form-item>
567
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="fixationTime">固定时间</nz-form-label>
567
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="fixationTime">固定时间</nz-form-label>
568
-				  <nz-form-control [nzSpan]="18" nzErrorTip="请选择固定时间!">
568
+				<!--  <nz-form-control [nzSpan]="18" nzErrorTip="请选择固定时间!">
569
 				    <nz-input-group>
569
 				    <nz-input-group>
570
 							<nz-date-picker formControlName="fixationTime" 
570
 							<nz-date-picker formControlName="fixationTime" 
571
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
571
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
572
 							(ngModelChange)="formChangeDate($event)"></nz-date-picker>
572
 							(ngModelChange)="formChangeDate($event)"></nz-date-picker>
573
 						</nz-input-group>
573
 						</nz-input-group>
574
-				  </nz-form-control>
574
+				  </nz-form-control> -->
575
+					<nz-form-control style="display: flex;align-items: center;" [nzSpan]="18" nzErrorTip="请选择固定时间!">
576
+					  <nz-input-group style="display: flex;gap: 10px">
577
+							<nz-date-picker formControlName="fixationDate" (ngModelChange)="fixationDateChange($event)"></nz-date-picker>
578
+							
579
+							<nz-time-picker formControlName="fixationTimes" nzFormat="HH:mm" (ngModelChange)="fixationTimeChange($event)"></nz-time-picker>
580
+						</nz-input-group>
581
+					</nz-form-control>
575
 				</nz-form-item>
582
 				</nz-form-item>
576
 				<nz-form-item>
583
 				<nz-form-item>
577
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="jobNumber">工号</nz-form-label>
584
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="jobNumber">工号</nz-form-label>
@@ -586,10 +593,10 @@
586
 					</nz-form-control>
593
 					</nz-form-control>
587
 				</nz-form-item>
594
 				</nz-form-item>
588
 				<nz-form-item>
595
 				<nz-form-item>
589
-				  <nz-form-label nzRequired [nzSpan]="8" nzFor="fixative">固液类型</nz-form-label>
590
-				  <nz-form-control [nzSpan]="16" nzErrorTip="请选择固液类型!">
596
+				  <nz-form-label nzRequired [nzSpan]="8" nzFor="fixative">固液类型</nz-form-label>
597
+				  <nz-form-control [nzSpan]="16" nzErrorTip="请选择固液类型!">
591
 				    <nz-input-group>
598
 				    <nz-input-group>
592
-							<nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzPlaceHolder="请选择固液类型" formControlName="fixative">
599
+							<nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzPlaceHolder="请选择固液类型" formControlName="fixative">
593
 							  <ng-container *ngFor="let option of fixativeData">
600
 							  <ng-container *ngFor="let option of fixativeData">
594
 							    <nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
601
 							    <nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
595
 							  </ng-container>
602
 							  </ng-container>
@@ -671,8 +678,7 @@
671
 					<div class="form-title font-weight-500">标本:</div>
678
 					<div class="form-title font-weight-500">标本:</div>
672
 					<div class="form-title specimen-list">
679
 					<div class="form-title specimen-list">
673
 						<div *ngFor="let item of specimenList" class="specimen-item-class" (click)="specimenView(item)">
680
 						<div *ngFor="let item of specimenList" class="specimen-item-class" (click)="specimenView(item)">
674
-							{{item.partSource?item.partSource.name:''}}{{item.organ?item.organ.name:''}}{{item.specimenName}}
675
-							({{item.specimenCode}})
681
+							<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}({{item.specimenCode}})
676
 						</div>
682
 						</div>
677
 					</div>
683
 					</div>
678
 				</div>
684
 				</div>
@@ -689,12 +695,12 @@
689
 							</nz-step>
695
 							</nz-step>
690
 							<ng-template #tpl>
696
 							<ng-template #tpl>
691
 								<div *ngIf="index==pathologyLogs.length-1" class="step-size">
697
 								<div *ngIf="index==pathologyLogs.length-1" class="step-size">
692
-									<div style="color: #49B856;">{{item.operationType.name}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
693
-									<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
698
+									<div style="color: #49B856;">{{item.operationType?item.operationType.name:''}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
699
+									<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
694
 								</div>
700
 								</div>
695
 								<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
701
 								<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
696
-									<div>{{item.operationType.name}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
697
-									<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto.name}}</div>
702
+									<div>{{item.operationType?item.operationType.name:''}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
703
+									<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
698
 								</div>
704
 								</div>
699
 							</ng-template>
705
 							</ng-template>
700
 						</ng-container>
706
 						</ng-container>

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

@@ -234,22 +234,34 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
234
 	}
234
 	}
235
 	
235
 	
236
 	// 选择固定时间
236
 	// 选择固定时间
237
-	formChangeDate(result){
238
-	  this.startDate = format(result, 'yyyy-MM-dd HH:mm:ss');
237
+	fixationTime:any;
238
+	fixationData:any;
239
+	fixationDateChange(result){
240
+		this.fixationData = format(result, 'yyyy-MM-dd');
241
+		console.log(this.fixationData)
242
+	}
243
+	fixationTimeSelect:any;
244
+	fixationTimeChange(result){
245
+		this.fixationTimeSelect = format(result, 'HH:mm');
246
+		console.log(this.fixationData + ' ' + this.fixationTimeSelect)
239
 	}
247
 	}
240
 
248
 
241
 	// 确定接受固定标本
249
 	// 确定接受固定标本
242
 	startDate:any;
250
 	startDate:any;
243
 	submitFixationForm(){
251
 	submitFixationForm(){
244
 		this.validateVerificationForm = this.fb.group({
252
 		this.validateVerificationForm = this.fb.group({
245
-		  fixationTime: [null, [Validators.required]],
253
+		  fixationTimes: [null, [Validators.required]],
254
+		  fixationDate: [null, [Validators.required]],
246
 			jobNumber: [null, [Validators.required]],
255
 			jobNumber: [null, [Validators.required]],
247
 			name:[null, [Validators.required]],
256
 			name:[null, [Validators.required]],
248
 			fixative:[null, [Validators.required]],
257
 			fixative:[null, [Validators.required]],
249
 		});
258
 		});
250
 		let date = new Date();
259
 		let date = new Date();
251
-		this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
252
-		this.validateVerificationForm.controls.fixationTime.setValue(this.startDate);
260
+		let inVitroDate = format(date, "yyyy-MM-dd")
261
+		this.validateVerificationForm.controls.fixationDate.setValue(inVitroDate);
262
+		this.validateVerificationForm.controls.fixationTimes.setValue(date);
263
+		this.fixationData = inVitroDate;
264
+		this.fixationTimeSelect = format(date, 'HH:mm');
253
 		this.btnLoading = true
265
 		this.btnLoading = true
254
 		this.mainService.getDictionary("list", "fixing_liquid_type").subscribe((res) => {
266
 		this.mainService.getDictionary("list", "fixing_liquid_type").subscribe((res) => {
255
 			this.fixativeData = res
267
 			this.fixativeData = res
@@ -516,7 +528,7 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
516
 				id:this.validateVerificationForm.value.fixative
528
 				id:this.validateVerificationForm.value.fixative
517
 			},
529
 			},
518
 			specimenCodes:str.join(','),
530
 			specimenCodes:str.join(','),
519
-			fixationTime:this.startDate,
531
+			fixationTime:this.fixationData + ' ' + this.fixationTimeSelect+':00',
520
 			hosId: this.hosId || "" ,
532
 			hosId: this.hosId || "" ,
521
 			handoverUserId:this.handoverUserId
533
 			handoverUserId:this.handoverUserId
522
 		};
534
 		};