Bladeren bron

合并代码

seimin 4 maanden geleden
bovenliggende
commit
02e5cd31e8

+ 5 - 0
src/app/app-routing.module.ts

@@ -96,6 +96,11 @@ const routes: Routes = [
96 96
 	  path: 'pathologyScan',
97 97
 	  loadChildren: () => import('./views/pathologyScan/pathologyScan.module').then(m => m.PathologyScanModule),
98 98
 	},
99
+	// 门诊病理采样端
100
+	{
101
+		path: 'pathologySample',
102
+		loadChildren: () => import('./views/pathology-sample/pathology-sample.module').then(m => m.PathologySampleModule),
103
+	},
99 104
   // 全局业务查看
100 105
   {
101 106
     path: 'disinfectionSupply',

+ 27 - 12
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.html

@@ -107,22 +107,37 @@
107 107
 				<div class="TaskTypeManagement" *ngIf="activeDictionaryKey=='pathology'">
108 108
 					<div class="taskTypeInfo">
109 109
 						<div class="list">
110
-							<!--是否支持根据手术新建申请单 -->
111
-							<div class="display_flex align-items_center mb8">
112
-								<nz-form-label class="label">是否支持根据手术新建申请单</nz-form-label>
113
-								<nz-checkbox-group [(ngModel)]="autoCreate"></nz-checkbox-group>
110
+							<div>
111
+								<!--是否支持根据手术新建申请单 -->
112
+								<div class="display_flex align-items_center mb8">
113
+									<nz-form-label class="label">是否支持根据手术新建申请单</nz-form-label>
114
+									<nz-checkbox-group [(ngModel)]="autoCreate"></nz-checkbox-group>
115
+								</div>
116
+								<!--门诊支持离体并固定 -->
117
+								<div class="display_flex align-items_center mb8">
118
+									<nz-form-label class="label">门诊支持离体并固定</nz-form-label>
119
+									<nz-checkbox-group [(ngModel)]="outpatientInVitroFixation"></nz-checkbox-group>
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>
114 129
 							</div>
115 130
 							<div class="bottom">
116 131
 								<button class="login-form-button" nzType="primary" [nzLoading]="btnLoading" nz-button (click)="submitPathologyForm()">保存</button>
117 132
 							</div>
118
-							<div class="list" *ngIf="loading">
119
-							  <div class="loadingFull display_flex justify-content_flex-center align-items_center">
120
-							    <div class="loadingFullInner">
121
-							      <img src="../../../assets/images/loading.gif" alt="">
122
-							      <div>加载中...</div>
123
-							    </div>
124
-							  </div>
125
-							</div>
133
+						</div>
134
+						<div class="list" *ngIf="loading">
135
+						  <div class="loadingFull display_flex justify-content_flex-center align-items_center">
136
+						    <div class="loadingFullInner">
137
+						      <img src="../../../assets/images/loading.gif" alt="">
138
+						      <div>加载中...</div>
139
+						    </div>
140
+						  </div>
126 141
 						</div>
127 142
 					</div>
128 143
 				</div>

+ 14 - 2
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.ts

@@ -26,11 +26,16 @@ export class ConfigurationSpecimenComponent implements OnInit {
26 26
 		}
27 27
 	];
28 28
 	
29
-	// 扫描时指定科室不提醒勾选项
29
+	// 是否支持根据手术新建申请单
30 30
 	autoCreate:any[] = [
31 31
 	  {label:'是否开启',value: 0}
32 32
 	];
33 33
 	
34
+	// 门诊支持离体并固定
35
+	outpatientInVitroFixation:any[] = [
36
+	  {label:'是否开启',value: 0}
37
+	];
38
+	
34 39
   // 扫描时指定科室不提醒勾选项
35 40
   deptNotAlert:any[] = [
36 41
     {label:'是否开启',value: 0}
@@ -75,7 +80,10 @@ export class ConfigurationSpecimenComponent implements OnInit {
75 80
   defaultScanSpe:any[] = [
76 81
     {label:'是否开启',value: 0}
77 82
   ];
78
-
83
+	
84
+	//申请单条码设置
85
+	pathologyBarCode:any;
86
+	
79 87
   // 配置
80 88
   configs:any = {};
81 89
   // 任务类型
@@ -170,6 +178,8 @@ export class ConfigurationSpecimenComponent implements OnInit {
170 178
 		  taskType: this.taskTypeData.id,
171 179
 		  hosId: this.hosId,
172 180
 		  autoCreate: this.autoCreate[0].checked ? 1 : 0,
181
+			outpatientInVitroFixation: this.outpatientInVitroFixation[0].checked ? 1 : 0,
182
+			pathologyBarCode : this.pathologyBarCode,
173 183
 		};
174 184
 		this.btnLoading = true;
175 185
 		this.mainService
@@ -291,6 +301,8 @@ export class ConfigurationSpecimenComponent implements OnInit {
291 301
           this.configs = result.list[0] || {};
292 302
 					// 病理标本
293 303
 					this.autoCreate[0].checked = this.configs.autoCreate == 1;
304
+					this.outpatientInVitroFixation[0].checked = this.configs.outpatientInVitroFixation == 1;
305
+					this.pathologyBarCode = this.configs.pathologyBarCode;
294 306
 					// 检查标本
295 307
           this.deptNotAlert[0].checked = this.configs.deptNotAlert == 1;
296 308
           this.arriveScanCode[0].checked = this.configs.arriveScanCode == 1;

+ 6 - 0
src/app/services/main.service.ts

@@ -1043,5 +1043,11 @@ export class MainService {
1043 1043
 	  return this.http.post(host.host + `/user/data/findPhoneDept`, data, {
1044 1044
 	    headers: this.headers,
1045 1045
 	  });
1046
+	}	// 获取细胞学标本
1047
+	getCellDictionary(data) {
1048
+	  return this.http.post(host.host + `/common/common/getDictionary`,data, {
1049
+	    headers: this.headers,
1050
+	  });
1046 1051
 	}
1052
+
1047 1053
 }

+ 24 - 10
src/app/share/pathology-add/pathology-add.component.html

@@ -122,8 +122,7 @@
122 122
 					<div class="specimen-list">
123 123
 						<div *ngFor="let item of specimenList;let index=index;" class="specimen-item">
124 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 126
 							</div>
128 127
 							<span class="icon_transport transport-lajitong specimen-icon" (click)="specimenDel($event,item,index)"></span>
129 128
 						</div>
@@ -156,7 +155,7 @@
156 155
 		</div>
157 156
 		<div class="content">
158 157
 			<form nz-form [formGroup]="validateSpecimenForm" class="addForm" (ngSubmit)="submitSpecimen()">
159
-				<nz-form-item class="form-item">
158
+				<nz-form-item class="form-item" *ngIf="!selectType">
160 159
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">位置来源</nz-form-label>
161 160
 					<div class="specimen-list">
162 161
 						<div>
@@ -166,7 +165,7 @@
166 165
 					</div>
167 166
 				</nz-form-item>
168 167
 				
169
-				<nz-form-item class="form-item">
168
+				<nz-form-item class="form-item" *ngIf="!selectType">
170 169
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">系统</nz-form-label>
171 170
 					<div class="specimen-list">
172 171
 						<div *ngFor="let item of systemList;let index=index;" class="select-item"
@@ -176,7 +175,7 @@
176 175
 					</div>
177 176
 				</nz-form-item>
178 177
 				
179
-				<nz-form-item class="form-item">
178
+				<nz-form-item class="form-item" *ngIf="!selectType">
180 179
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">器官</nz-form-label>
181 180
 					<div class="specimen-list">
182 181
 						<div *ngFor="let item of apparatusList;let index=index;" class="select-item"
@@ -247,14 +246,21 @@
247 246
 			<div class="content-title">本次需要记录离体标本<span class="reds">{{specimenNum}}</span>份,本申请单共<span class="reds">{{totalNum}}</span>份标本</div>
248 247
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
249 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 251
 				    <nz-input-group>
253 252
 							<nz-date-picker formControlName="inVitroTime" 
254 253
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
255 254
 							(ngModelChange)="formChangeDate($event)"></nz-date-picker>
256 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 264
 				</nz-form-item>
259 265
 				<nz-form-item>
260 266
 				  <nz-form-label nzRequired [nzSpan]="5" nzFor="jobNumber">工号</nz-form-label>
@@ -283,7 +289,7 @@
283 289
 		<div class="monad">
284 290
 			<div *ngIf="printData && printData.specimenList && printData.specimenList.length" style="border: 1px solid #AAAAAA;
285 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 293
 					 <div style="width: 60%;height: 70px;text-align: center;">
288 294
 						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
289 295
 						 <div>{{printData.applyCode}}</div>
@@ -292,7 +298,15 @@
292 298
 						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
293 299
 					 </div>
294 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 310
 				<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
297 311
 					<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
298 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 239
 				.ant-form-item {
240 240
 				  margin-bottom: 14px;
241 241
 					display: flex;
242
-					flex-wrap: wrap;
242
+					// flex-wrap: wrap;
243 243
 					position: relative;
244 244
 				  .ant-form-item-label {
245 245
 				    text-align: left;
@@ -292,6 +292,6 @@
292 292
 			}
293 293
 	  }
294 294
 		.no-width{
295
-			width: 30% !important;
295
+			width: 33% !important;
296 296
 		}
297 297
 	}

+ 173 - 99
src/app/share/pathology-add/pathology-add.component.ts

@@ -67,9 +67,40 @@ export class PathologyAddComponent implements OnInit {
67 67
   ngOnInit() {
68 68
 		this.hosId = this.tool.getCurrentHospital().id;
69 69
 		this.initForm()
70
+		this.getTaskTypesId()
70 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 104
 	radioChange(data){
74 105
 		let arr = [];
75 106
 		let item = null
@@ -100,15 +131,15 @@ export class PathologyAddComponent implements OnInit {
100 131
 	
101 132
 	statusValue:any = 1;
102 133
 	fetchDataList(){
103
-		let data = {
104
-		  idx: 0,
105
-		  sum: 9999,
106
-		  pathologyForm: {
107
-				surgeryId: "",
108
-		    patientId: this.patientId || "",
109
-		    hosId: this.hosId || "" ,
110
-		  },
111
-		};
134
+		// let data = {
135
+		//   idx: 0,
136
+		//   sum: 9999,
137
+		//   pathologyForm: {
138
+		// 		surgeryId: "",
139
+		//     patientId: this.patientId || "",
140
+		//     hosId: this.hosId || "" ,
141
+		//   },
142
+		// };
112 143
 		this.isSpinning = true;
113 144
 		// this.mainService
114 145
 		//   .getFetchDataList("data", "pathologyForm", data)
@@ -116,6 +147,8 @@ export class PathologyAddComponent implements OnInit {
116 147
 		  .subscribe((data) => {
117 148
 		    this.isSpinning = false;
118 149
 		    this.detailsData = data.data;
150
+				this.patientId = data.data.patientId;
151
+				this.surgeryId = data.data.surgeryId;
119 152
 				if(this.detailsData.status){
120 153
 					this.statusValue = this.detailsData.status.value
121 154
 				}
@@ -225,6 +258,7 @@ export class PathologyAddComponent implements OnInit {
225 258
 	
226 259
 	// 获取标本-标本名称
227 260
 	getSpNameData(id,item,type){
261
+		this.selectItem = this.specimenData.find(i=>i.id == this.validateForm.value.specimenGenre)
228 262
 		let postData: any = {
229 263
 		  idx: 0,
230 264
 		  sum: 9999,
@@ -233,16 +267,17 @@ export class PathologyAddComponent implements OnInit {
233 267
 				parent:id,
234 268
 		    key: 'pathology_specimen',
235 269
 		    deleted: 0,
270
+				extra1:'',
236 271
 		  },
237 272
 		};
238
-		this.mainService
239
-		  .getFetchDataList("simple/data", "dictionaryTree", postData)
240
-		  .subscribe((data) => {
241
-		    this.specimenNameList = data.list;
242
-				// this.specimenNameList.push({
243
-				// 	name:'其他',
244
-				// 	id:'qita'
245
-				// })
273
+		
274
+		if(this.selectType){
275
+			postData.dictionaryTree.key = 'cell_specimen'
276
+			postData.dictionaryTree.extra1 = this.selectItem.value
277
+			delete postData.dictionaryTree.parent
278
+			delete postData.dictionaryTree.level
279
+			this.mainService.getFetchDataList("simple/data", "dictionaryTree", postData).subscribe((res) => {
280
+				this.specimenNameList = res.list;
246 281
 				if(type=='edit'){
247 282
 					if(item.sample){
248 283
 						this.validateSpecimenForm = this.fb.group({
@@ -256,21 +291,43 @@ export class PathologyAddComponent implements OnInit {
256 291
 							this.specimenNameId = Number(item.sample.id);
257 292
 							this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
258 293
 						},100)
259
-					}else{
260
-						// this.validateSpecimenForm = this.fb.group({
261
-						//   remark: [null, []],
262
-						// 	specimenName: [null, [Validators.required]]
263
-						// });
264
-						// this.specimenNameIndex = this.specimenNameList.length-1
265
-						// // this.specimenNameName = 'qita'
266
-						// this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
267 294
 					}
268 295
 					setTimeout(_=>{
269 296
 						this.validateSpecimenForm.controls.remark.setValue(item.remark);
270 297
 						this.specimenModal = true
271 298
 					},50)
272 299
 				}
273
-		  });
300
+			});
301
+		}else{
302
+			postData.dictionaryTree.key = 'pathology_specimen'
303
+			postData.dictionaryTree.parent = id
304
+			postData.dictionaryTree.level = 3
305
+			delete postData.dictionaryTree.extra1
306
+			this.mainService.getFetchDataList("simple/data", "dictionaryTree", postData)
307
+			  .subscribe((data) => {
308
+			    this.specimenNameList = data.list;
309
+					if(type=='edit'){
310
+						if(item.sample){
311
+							this.validateSpecimenForm = this.fb.group({
312
+							  remark: [null, []],
313
+								specimenName: [null, [Validators.required]]
314
+							});
315
+							setTimeout(_=>{
316
+								let index4 = this.specimenNameList.findIndex(i=>i.id==item.sample.id)
317
+								this.specimenNameIndex = index4
318
+								this.specimenNameName = item.sample.name
319
+								this.specimenNameId = Number(item.sample.id);
320
+								this.validateSpecimenForm.controls.specimenName.setValue(item.specimenName);
321
+							},100)
322
+						}
323
+						setTimeout(_=>{
324
+							this.validateSpecimenForm.controls.remark.setValue(item.remark);
325
+							this.specimenModal = true
326
+						},50)
327
+					}
328
+			  });
329
+		}
330
+
274 331
 	}
275 332
 	
276 333
 	// 删除标本
@@ -309,18 +366,28 @@ export class PathologyAddComponent implements OnInit {
309 366
 	specimenDetailId:any = null;
310 367
 	specimenEdit(e,item,index){
311 368
 		this.specimenDetailId = item.id
312
-		let index1 = this.placeList.findIndex(i=>i.id==item.partSource.id)
313
-		this.placeIndex = index1
314
-		this.placeId = Number(item.partSource.id)
315
-		let index2 = this.systemList.findIndex(i=>i.id==item.system.id)
316
-		this.systemIndex = index2
317
-		this.systemId = Number(item.system.id)
318
-		this.getApparatusData(item.system.id,item,'edit')
319
-		this.getSpNameData(item.organ.id,item,'edit')
369
+		if(item.system && item.organ){
370
+			this.selectType = false
371
+			let index1 = this.placeList.findIndex(i=>i.id==item.partSource.id)
372
+			this.placeIndex = index1
373
+			this.placeId = Number(item.partSource.id)
374
+			let index2 = this.systemList.findIndex(i=>i.id==item.system.id)
375
+			this.systemIndex = index2
376
+			this.systemId = Number(item.system.id)
377
+			this.getApparatusData(item.system.id,item,'edit')
378
+			this.getSpNameData(item.organ.id,item,'edit')
379
+		}else{
380
+			this.selectType = true
381
+			this.getSpNameData(item.specimenId,item,'edit')
382
+		}
320 383
 	}
321 384
 	
322 385
 	// 选择标本
386
+	selectItem:any;
387
+	selectType:any = false;
323 388
 	openSpecimen(){
389
+		this.selectItem = this.specimenData.find(i=>i.id == this.validateForm.value.specimenGenre)
390
+		console.log(this.selectItem.value) //20 21 22 24 60 80
324 391
 		this.validateSpecimenForm = this.fb.group({
325 392
 		  remark: [null, []],
326 393
 			specimenName:[null, [Validators.required]],
@@ -338,10 +405,19 @@ export class PathologyAddComponent implements OnInit {
338 405
 		this.systemList=[]; //系统数据
339 406
 		this.apparatusList=[]; //器官数据
340 407
 		this.specimenNameList=[]; //标本名称数据
341
-		this.specimenNameName = null;
342
-		this.getSourceData()
343
-		this.getSysData()
408
+		this.specimenNameName = null
344 409
 		this.specimenModal = true
410
+		if(this.selectItem.value==20 || this.selectItem.value==21 ||
411
+		this.selectItem.value==22 || this.selectItem.value==23 ||
412
+		this.selectItem.value==24 || this.selectItem.value==60 || 
413
+		this.selectItem.value==70 || this.selectItem.value==80){
414
+			this.selectType = true
415
+			this.getSpNameData('',{},'select')
416
+		}else{
417
+			this.selectType = false
418
+			this.getSourceData()
419
+			this.getSysData()
420
+		}
345 421
 	}
346 422
 	
347 423
 	// 选择位置来源
@@ -391,17 +467,6 @@ export class PathologyAddComponent implements OnInit {
391 467
 	specimenNameClick(e,item,index){
392 468
 		this.specimenNameIndex = index
393 469
 		let remark = this.validateSpecimenForm.value.remark
394
-		// if(item.id == 'qita'){
395
-		// 	this.validateSpecimenForm = this.fb.group({
396
-		// 	  remark: [remark?remark:null, []],
397
-		// 		specimenName: [null, [Validators.required]]
398
-		// 	});
399
-		// 	this.specimenNameId = 'null'
400
-		// 	this.specimenNameName = 'qita'
401
-		// }else{
402
-			// this.validateSpecimenForm = this.fb.group({
403
-			//   remark: [remark?remark:null, []],
404
-			// });
405 470
 			this.specimenNameId = item.id
406 471
 			this.specimenNameName = item.name
407 472
 			if(this.validateSpecimenForm.value.specimenName && this.validateSpecimenForm.value.specimenName.length){
@@ -411,10 +476,6 @@ export class PathologyAddComponent implements OnInit {
411 476
 				}
412 477
 			}
413 478
 			
414
-			// if(this.validateSpecimenForm.value.specimenName && this.validateSpecimenForm.value.specimenName.length>15){
415
-			// 	this.message.error('字符长度不能超过15个')
416
-			// 	return
417
-			// }
418 479
 			let namn = null
419 480
 			if(this.validateSpecimenForm.value.specimenName){
420 481
 				namn = this.validateSpecimenForm.value.specimenName + '、'+ item.name
@@ -422,7 +483,6 @@ export class PathologyAddComponent implements OnInit {
422 483
 				namn = item.name
423 484
 			}
424 485
 			this.validateSpecimenForm.controls.specimenName.setValue(namn);
425
-		// }
426 486
 	}
427 487
 	
428 488
 	// 保存标本
@@ -430,19 +490,22 @@ export class PathologyAddComponent implements OnInit {
430 490
 	addSpLoading:boolean = false;
431 491
 	addMadal:boolean = false;
432 492
 	submitSpecimen(type){
433
-		if(this.placeIndex==null){
434
-			this.message.error('请选择位置来源')
435
-			return
436
-		}
437
-		if(this.systemIndex==null){
438
-			this.message.error('请选择系统')
439
-			return
440
-		}
441
-		if(this.apparatusIndex==null){
442
-			this.message.error('请选择器官')
443
-			return
493
+		if(!this.selectType){
494
+			if(this.placeIndex==null){
495
+				this.message.error('请选择位置来源')
496
+				return
497
+			}
498
+			if(this.systemIndex==null){
499
+				this.message.error('请选择系统')
500
+				return
501
+			}
502
+			if(this.apparatusIndex==null){
503
+				this.message.error('请选择器官')
504
+				return
505
+			}
444 506
 		}
445
-		if(this.specimenNameIndex==null){
507
+		
508
+		if(this.specimenNameIndex==null && this.validateSpecimenForm.value.specimenName == ''){
446 509
 			this.message.error('请选择标本名称')
447 510
 			return
448 511
 		}
@@ -478,12 +541,6 @@ export class PathologyAddComponent implements OnInit {
478 541
 			id:'',
479 542
 			remark:this.validateSpecimenForm.value.remark
480 543
 		};
481
-		// if(this.specimenNameName == 'qita'){
482
-		// 	delete data.sample
483
-		// 	data.specimenName = this.validateSpecimenForm.value.specimenName
484
-		// }else{
485
-			// data.specimenName = this.specimenNameName
486
-		// }
487 544
 		let queryType = null
488 545
 		if(this.specimenDetailId){
489 546
 			queryType = 'updData'
@@ -502,10 +559,8 @@ export class PathologyAddComponent implements OnInit {
502 559
 					setTimeout(_=>{
503 560
 						this.closeSpecimenModel()
504 561
 					},200)
505
-		      // this.showSpecimenModal("操作", true, "");
506 562
 		    } else {
507 563
 					this.message.error(res.msg)
508
-		      // this.showSpecimenModal("操作", false, res.msg);
509 564
 		    }
510 565
 		  });
511 566
 	}
@@ -532,12 +587,6 @@ export class PathologyAddComponent implements OnInit {
532 587
 			id:'',
533 588
 			remark:this.validateSpecimenForm.value.remark
534 589
 		};
535
-		// if(this.specimenNameName == 'qita'){
536
-		// 	delete data.sample
537
-		// 	data.specimenName = this.validateSpecimenForm.value.specimenName
538
-		// }else{
539
-		// 	data.specimenName = this.specimenNameName
540
-		// }
541 590
 		let queryType = null
542 591
 		if(this.specimenDetailId){
543 592
 			queryType = 'updData'
@@ -546,11 +595,9 @@ export class PathologyAddComponent implements OnInit {
546 595
 			queryType = 'addData'
547 596
 			delete data.id
548 597
 		}
549
-		// this.btnSpLoading = true;
550 598
 		this.mainService
551 599
 		  .simplePost(queryType, "pathologySpecimen", data)
552 600
 		  .subscribe((res) => {
553
-		    // this.btnSpLoading = false;
554 601
 		    if (res.status == 200) {
555 602
 					this.message.success('操作成功')
556 603
 					this.validateSpecimenForm = this.fb.group({
@@ -563,10 +610,6 @@ export class PathologyAddComponent implements OnInit {
563 610
 					
564 611
 					this.placeIndex = null;
565 612
 					this.placeId = null;
566
-					
567
-					// this.specimenNameList=[]; //标本名称数据
568
-					// this.specimenNameName = null;
569
-					
570 613
 					this.addSpLoading = false;
571 614
 					this.addMadal = false;
572 615
 					
@@ -613,11 +656,22 @@ export class PathologyAddComponent implements OnInit {
613 656
 					let str = []
614 657
 					if(res.list.length>0){
615 658
 						for(let i of res.list){
616
-							str.push(i.system.name + '-' + i.organ.name)
659
+							if(i.system && i.organ){
660
+								str.push(i.system.name + '-' + i.organ.name)
661
+							}else{
662
+								str.push(i.specimenName)
663
+							}
617 664
 						}
618 665
 						const newStr = new Set(str);
619 666
 						const newData = Array.from(newStr);
620 667
 						this.validateForm.controls.takePart.setValue(newData.join('、'));
668
+						// if(this.selectType){
669
+						// 	this.validateForm.controls.takePart.setValue(
670
+						// 	this.validateSpecimenForm.controls.specimenName
671
+						// 	)
672
+						// }else{
673
+							
674
+						// }
621 675
 					}
622 676
 				}
623 677
 				this.validateForm.controls.specimenNum.setValue(this.specimenList.length);
@@ -633,9 +687,17 @@ export class PathologyAddComponent implements OnInit {
633 687
 		this.notModal = false
634 688
 	}
635 689
 	
636
-	// 日期选择
637
-	formChangeDate(result?): void {
638
-	  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)
639 701
 	}
640 702
 	
641 703
 	//未打印提交
@@ -652,7 +714,7 @@ export class PathologyAddComponent implements OnInit {
652 714
 			pathologyForm:{
653 715
 				...this.detailsData,
654 716
 				...this.validateForm.value,
655
-				inVitroTime:this.startDate,
717
+				inVitroTime:this.inVitroData + ' ' + this.inVitroTimeSelect+':00',
656 718
 				surgeryId: this.surgeryId || "",
657 719
 				patientId: this.patientId || "",
658 720
 				hosId: this.hosId || "" ,
@@ -808,13 +870,17 @@ export class PathologyAddComponent implements OnInit {
808 870
 				this.specimenNum = res.specimenNum
809 871
 				this.pathologySpecimenIds = res.ids
810 872
 				this.validatePrintForm = this.fb.group({
811
-				  inVitroTime: [null, [Validators.required]],
873
+				  inVitroTimes: [null, [Validators.required]],
874
+				  inVitroDate: [null, [Validators.required]],
812 875
 					jobNumber: [null, [Validators.required]],
813 876
 					name:[null, [Validators.required]],
814 877
 				});
815 878
 				let date = new Date();
816
-				this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
817
-				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');
818 884
 			}else{
819 885
 				this.message.info('无新标本需要打印')
820 886
 			}
@@ -845,13 +911,17 @@ export class PathologyAddComponent implements OnInit {
845 911
 					this.specimenNum = res.specimenNum
846 912
 					this.pathologySpecimenIds = res.ids
847 913
 					this.validatePrintForm = this.fb.group({
848
-					  inVitroTime: [null, [Validators.required]],
914
+					  inVitroTimes: [null, [Validators.required]],
915
+					  inVitroDate: [null, [Validators.required]],
849 916
 						jobNumber: [null, [Validators.required]],
850 917
 						name:[null, [Validators.required]],
851 918
 					});
852 919
 					let date = new Date();
853
-					this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
854
-					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');
855 925
 				}else{
856 926
 					let data: any = {
857 927
 						pathologyForm:{
@@ -893,13 +963,17 @@ export class PathologyAddComponent implements OnInit {
893 963
 					this.totalNum = res.totalNum
894 964
 					this.specimenNum = res.specimenNum
895 965
 					this.validatePrintForm = this.fb.group({
896
-						inVitroTime: [null, [Validators.required]],
966
+					  inVitroTimes: [null, [Validators.required]],
967
+					  inVitroDate: [null, [Validators.required]],
897 968
 						jobNumber: [null, [Validators.required]],
898 969
 						name:[null, [Validators.required]],
899 970
 					});
900 971
 					let date = new Date();
901
-					this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
902
-					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');
903 977
 				})
904 978
 				return
905 979
 			}

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

@@ -62,8 +62,7 @@
62 62
 						<div class="form-title font-weight-500">标本:</div>
63 63
 						<div class="form-title-box">
64 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 66
 							</div>
68 67
 						</div>
69 68
 					</div>
@@ -78,12 +77,12 @@
78 77
 								</nz-step>
79 78
 								<ng-template #tpl>
80 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 82
 									</div>
84 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 86
 									</div>
88 87
 								</ng-template>
89 88
 							</ng-container>
@@ -115,7 +114,7 @@
115 114
 		<div class="monad">
116 115
 			<div *ngIf="printData && printData.specimenList && printData.specimenList.length>1" style="border: 1px solid #AAAAAA;
117 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 118
 					 <div style="width: 60%;height: 70px;text-align: center;">
120 119
 						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
121 120
 						 <div>{{printData.applyCode}}</div>
@@ -124,6 +123,15 @@
124 123
 						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
125 124
 					 </div>
126 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 135
 				<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
128 136
 					<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
129 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 82
   ngOnInit() {
83 83
 		this.hosId = this.tool.getCurrentHospital().id;
84 84
 		// this.initForm()
85
+		this.getTaskTypesId()
85 86
 		this.fetchDataList()
86 87
   }
87 88
 	
@@ -139,6 +140,36 @@ export class PathologyDetailComponent implements OnInit {
139 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 174
 	statusValue:any;
144 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 64
   singleSignOn() {
64 65
     let url = location.href;
65 66
     let paramsStr = url.split("?")[1];
@@ -68,6 +69,8 @@ export class LoginComponent implements OnInit {
68 69
       let arr = item.split("=");
69 70
       paramsObj[arr[0] + 1] = arr[1];
70 71
     });
72
+		this.paramsData = paramsObj;
73
+		console.log(99999,paramsObj)
71 74
     this.singleSignOnLogin(paramsObj);
72 75
   }
73 76
   // 单点登录
@@ -203,8 +206,7 @@ export class LoginComponent implements OnInit {
203 206
           this.tool.setFavicon(faviconUrl);
204 207
           this.titleService.setTitle(this.tool.logoTitle);
205 208
           (document.querySelector('#favicon') as any).href = this.tool.faviconUrl;
206
-
207
-          this.toRoute2(data);
209
+					this.toRoute2(data);
208 210
           this.initMenu(data.user.menu);
209 211
         })
210 212
       } else {
@@ -235,6 +237,15 @@ export class LoginComponent implements OnInit {
235 237
       }
236 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 249
     if (fwt) {
239 250
       // 护士角色跳护士端
240 251
       if (successLoginMsg) {

+ 3 - 2
src/app/views/main/main.component.html

@@ -35,7 +35,7 @@
35 35
           <i class="icon_transport transport-peizhi1 green" *ngIf="incidentConfigRole || otherConfigRole || pageConfigRole || nurseConfigRole" (click)="toConfigurationCenter()" nz-tooltip nzTooltipTitle="配置中心"></i>
36 36
           <i class="icon_transport transport-shangban green" *ngIf='PCCommutesToWork && userInfo.user && !userInfo.user.online' (click)="GoWork()" nz-tooltip nzTooltipTitle="我要上班"></i>
37 37
           <i class="icon_transport transport-shangban green" *ngIf='PCCommutesToWork && userInfo.user && userInfo.user.online' (click)="GoWork()" nz-tooltip nzTooltipTitle="我要下班"></i>
38
-          <div class="dropdown" *ngIf="pharmacyRole || largeScreenRole || largeScreenRole2 || specimenViewRole || specimenViewRole2 || specimenRoomView || pathology || disinfectionSupplyRole">
38
+          <div class="dropdown" *ngIf="pharmacyRole || largeScreenRole || largeScreenRole2 || specimenViewRole || specimenViewRole2 || specimenRoomView || pathology || disinfectionSupplyRole || sampling">
39 39
             <i class="icon_transport transport-gengduoda-copy" (mouseenter)="showDropdown1 = true" (mouseleave)="showDropdown1 = false"></i>
40 40
             <div class="dropdown-content ct" [hidden]="!showDropdown1" (mouseenter)="showDropdown1 = true" (mouseleave)="showDropdown1 = false">
41 41
               <div class="dropdownItem" *ngIf="pharmacyRole" (click)="toPharmacy()">药房端</div>
@@ -46,7 +46,8 @@
46 46
               <div class="dropdownItem" *ngIf="specimenViewRole2" (click)="toSpecimenView2()">标本视图</div>
47 47
               <div class="dropdownItem" *ngIf="specimenRoomView" (click)="toSpecimenRoomView()">标本间端</div>
48 48
               <div class="dropdownItem" *ngIf="pathology" (click)="toPathology()">病理科端</div>
49
-              <div class="dropdownItem" *ngIf="disinfectionSupplyRole" (click)="toDisinfectionSupply()">全局业务查看</div>
49
+							<div class="dropdownItem" *ngIf="sampling" (click)="toSampling()">门诊病理采样端</div>
50
+							<div class="dropdownItem" *ngIf="disinfectionSupplyRole" (click)="toDisinfectionSupply()">全局业务查看</div>
50 51
             </div>
51 52
           </div>
52 53
         </div>

+ 9 - 0
src/app/views/main/main.component.ts

@@ -31,6 +31,7 @@ export class MainComponent implements OnInit {
31 31
   specimenViewRole2: boolean = false; //标本视图权限
32 32
 	specimenRoomView: boolean = false; //标本间权限
33 33
 	pathology: boolean = false; //病理科权限
34
+	sampling: boolean = false; //门诊病理采样端权限
34 35
   disinfectionSupplyRole: boolean = false; //全局业务查看权限
35 36
   incidentConfigRole: boolean = false; //事件配置权限
36 37
   otherConfigRole: boolean = false; //三方配置权限
@@ -302,6 +303,10 @@ export class MainComponent implements OnInit {
302 303
 			  this.pathology = true;
303 304
 			  console.log("病理科权限");
304 305
 			}
306
+			if (e.link == "pathologySample") {
307
+			  this.sampling = true;
308
+			  console.log("门诊病理采样端权限");
309
+			}
305 310
       if (e.link == "disinfectionSupply") {
306 311
         this.disinfectionSupplyRole = true;
307 312
         console.log("全局业务查看权限");
@@ -441,6 +446,10 @@ export class MainComponent implements OnInit {
441 446
 	toPathology(): void {
442 447
 	  this.router.navigateByUrl("pathology");
443 448
 	}
449
+	// 门诊病理采样端
450
+	toSampling(): void {
451
+	  this.router.navigateByUrl("pathologySample");
452
+	}
444 453
   // 全局业务查看
445 454
   toDisinfectionSupply(): void {
446 455
     this.router.navigateByUrl("disinfectionSupply");

+ 24 - 0
src/app/views/pathology-sample/pathology-sample-routing.module.ts

@@ -0,0 +1,24 @@
1
+import { NgModule } from "@angular/core";
2
+import { Routes, RouterModule } from "@angular/router";
3
+import { PathologySampleComponent } from "./pathology-sample.component";
4
+import { DetailSampleComponent } from 'src/app/share/detail-sample/detail-sample.component';
5
+
6
+const routes: Routes = [
7
+  {
8
+    path: "",
9
+    component: PathologySampleComponent,
10
+    // children: [
11
+    //   {
12
+    //     // 工单详情-标本
13
+    //     path: "detailSample/:id",
14
+    //     component: DetailSampleComponent,
15
+    //   },
16
+    // ],
17
+  },
18
+];
19
+
20
+@NgModule({
21
+  imports: [RouterModule.forChild(routes)],
22
+  exports: [RouterModule],
23
+})
24
+export class PathologySampleRoutingModule {}

+ 627 - 0
src/app/views/pathology-sample/pathology-sample.component.html

@@ -0,0 +1,627 @@
1
+<div class="pharmacy">
2
+  <!-- 头部 start -->
3
+  <div class="pharmacy-header">
4
+   <div class="pharmacy-logo">
5
+			<div class="pharmacy-name__title">一站式服务管理平台</div>
6
+    </div>
7
+    <div class="pharmacy-name">
8
+			<div class="pharmacy-title">门诊病理采样端</div>
9
+      <div class="pharmacy-name__total">
10
+				<nz-input-group nzSize="large">
11
+					<input type="text" id="Binput" (ngModelChange)="specimenCodeChange($event)" [(ngModel)]="barCode" nz-input placeholder="请输入患者信息" />
12
+				</nz-input-group>
13
+				<!-- <ng-template #suffixButton>
14
+					<button nz-button nzType="primary" nzSize="large" nzSearch (click)="searchSpecimen()">搜索</button>
15
+				</ng-template> -->
16
+      </div>
17
+			<div>
18
+				<div class="error-class">{{searchMsg}}</div>
19
+			</div>
20
+    </div>
21
+    <div class="right">
22
+      <div class="userInfo dropdown">
23
+        <div class="user" (mouseenter)="showDropdown = true" (mouseleave)="showDropdown = false">
24
+          <img src="../../assets/images/icon_keshi.png" alt="">
25
+          <span><ng-container *ngIf="loginUser.dept">{{deptDisplay == 2 ? loginUser.dept.deptalias : loginUser.dept.dept}}-</ng-container>{{loginUser.name}}</span>
26
+          <i class="icon_transport transport-xiala1 ml8"></i>
27
+        </div>
28
+        <div class="dropdown-content r8" [hidden]="!showDropdown" (mouseenter)="showDropdown = true" (mouseleave)="showDropdown = false">
29
+          <div class="dropdownItem" (click)="changeKsNow()">切换科室</div>
30
+					<div class="dropdownItem" (click)="toMain()">回到系统管理</div>
31
+          <div class="dropdownItem" (click)="logOut()">退出</div>
32
+        </div>
33
+      </div>
34
+    </div>
35
+  </div>
36
+  <div class="pharmacy-main">
37
+		<div class="left" *ngIf="adviceList">
38
+			<div class="top" *ngIf="adviceList.patientNo">
39
+				<div>{{adviceList.patientName}} {{adviceList.patientGender?adviceList.patientGender.name:'-'}} ({{adviceList.patientAge||'-'}}岁)</div>
40
+				<div class="border">{{adviceList.patientNo}}</div>
41
+			</div>
42
+			<div class="content" *ngFor="let item of adviceList.pathologyAdviceDTOS;let index=index;" (click)="listClick(item,index)" [ngClass]="{'activeLeftClass': index == leftIndex}">
43
+				<div class="list list-df">
44
+					<div class="code">{{item.adviceId}}</div>
45
+					<div class="form-title">{{item.adviceType.name}}</div>
46
+				</div>
47
+				<div class="list">项目:{{item.inspectType.name}}</div>
48
+				<div class="list">部位:{{item.inspectPart}}</div>
49
+				<div class="list">诊断:{{item.diagnosis}}</div>
50
+				<div class="list">开单时间:{{item.orderTime | date:'yyyy-MM-dd HH:mm:ss'}}</div>
51
+				<!-- <div class="list">状态:{{item.orderStatusName}}</div> -->
52
+			</div>
53
+		</div>
54
+		<div class="center" *ngIf="detailsData && viewType!='add'">
55
+			<div class="pathology-content" *ngIf="viewType=='edit'">
56
+				<div class="title">病理检查申请单</div>
57
+				<div class="content">
58
+					<form nz-form [formGroup]="validateForm" class="addForm">
59
+						<div class="content-item">
60
+							<nz-form-item class="form-title-box">
61
+								<div class="form-title"><span class="font-weight-500">申请单号:</span>{{detailsData.applyCode}}</div>
62
+								<div class="form-title" *ngIf="detailsData.pathologyFormType==null">申请单类型:无</div>
63
+								<div class="form-title" *ngIf="detailsData.pathologyFormType==1">申请单类型:术中快速病理检查申请单</div>
64
+								<div class="form-title" *ngIf="detailsData.pathologyFormType==0">申请单类型:病理检查申请单</div>
65
+								<div class="form-title"><span class="font-weight-500">状态:</span>{{detailsData.status?detailsData.status.name:'-'}}</div>
66
+							</nz-form-item>
67
+							
68
+							<nz-form-item>
69
+								<div class="form-title width-100 font-weight-500">诊断:</div>
70
+								<div>
71
+									{{detailsData.diagnose||'无'}}
72
+								</div>
73
+							</nz-form-item>
74
+							
75
+							<nz-form-item>
76
+								<div class="form-title width-100 font-weight-500">病历摘要:</div>
77
+								<div class="indent" [ngClass]="{'height-200': isShowMove, 'height-100': !isShowMove && detailsData.medicalRecords}">{{detailsData.medicalRecords||'无'}}</div>
78
+								<div (click)="showLook()" class="cursor" *ngIf="medicalRecordsLength>10">
79
+									<i *ngIf="isShowMove" nz-icon nzType="caret-down" nzTheme="outline"></i>
80
+									<i *ngIf="!isShowMove" nz-icon nzType="caret-up" nzTheme="outline"></i>
81
+								</div>
82
+							</nz-form-item>
83
+							
84
+							<nz-form-item class="form-item">
85
+								<nz-form-label nzFor="surgicalPlan" [nzSm]="24" [nzXs]="24">手术方案</nz-form-label>
86
+								<nz-form-control nzErrorTip="请输入手术方案" [nzSm]="24" [nzXs]="24">
87
+									<input nz-input formControlName="surgicalPlan" placeholder="请输入手术方案"/>
88
+								</nz-form-control>
89
+							</nz-form-item>
90
+							
91
+							<nz-form-item class="form-item">
92
+								<nz-form-label nzFor="intraoperativeFindings" [nzSm]="24" [nzXs]="24">术中所见</nz-form-label>
93
+								<nz-form-control nzErrorTip="请输入术中所见" [nzSm]="24" [nzXs]="24">
94
+									<input nz-input formControlName="intraoperativeFindings" placeholder="请输入术中所见"/>
95
+								</nz-form-control>
96
+							</nz-form-item>
97
+							
98
+							<nz-form-item class="form-item">
99
+								<nz-form-label nzRequired nzFor="project" [nzSm]="4" [nzXs]="24">检验项目</nz-form-label>
100
+								<nz-form-control nzErrorTip="请选择检验项目!" [nzSm]="20" [nzXs]="24">
101
+									<nz-input-group>
102
+										<nz-select nzSearch nzShowSearch nzPlaceHolder="请选择检验项目" formControlName="project">
103
+											<ng-container *ngFor="let option of projectData">
104
+												<nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
105
+											</ng-container>
106
+										</nz-select>
107
+									</nz-input-group>
108
+								</nz-form-control>
109
+							</nz-form-item>
110
+							
111
+							<div class="df-sb">
112
+								<nz-form-item class="form-item">
113
+									<nz-form-label nzRequired nzFor="specimenGenre">标本类型</nz-form-label>
114
+									<nz-form-control nzErrorTip="请选择标本类型!">
115
+										<nz-input-group>
116
+											<nz-select nzSearch nzShowSearch nzPlaceHolder="请选择标本类型" formControlName="specimenGenre">
117
+												<ng-container *ngFor="let option of specimenData">
118
+													<nz-option *ngIf="!isDeptLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
119
+												</ng-container>
120
+												<nz-option *ngIf="isDeptLoading" nzDisabled nzCustomContent>
121
+													<i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
122
+												</nz-option>
123
+											</nz-select>
124
+										</nz-input-group>
125
+									</nz-form-control>
126
+								</nz-form-item>
127
+								
128
+								<nz-form-item class="form-item-right">
129
+									<nz-form-label nzRequired nzFor="specimenNum">标本数量</nz-form-label>
130
+									<nz-form-control nzErrorTip="请输入标本数量!">
131
+										<input nz-input formControlName="specimenNum" disabled placeholder="请输入标本数量" nzSize="default" />
132
+									</nz-form-control>
133
+								</nz-form-item>
134
+							</div>
135
+							
136
+							
137
+							<nz-form-item class="form-item">
138
+								<nz-form-label nzRequired nzFor="takePart" [nzSm]="4" [nzXs]="24">采取部位</nz-form-label>
139
+								<nz-form-control nzErrorTip="请输入采取部位!" [nzSm]="20" [nzXs]="24">
140
+									<input nz-input formControlName="takePart"  placeholder="请输入采取部位" nzSize="default" />
141
+								</nz-form-control>
142
+							</nz-form-item>
143
+							
144
+							<nz-form-item class="form-item">
145
+								<nz-form-label nzRequired [nzSm]="3" [nzXs]="24">标本</nz-form-label>
146
+								<div class="add-icon-class" (click)='openSpecimen()'>
147
+									<span class="icon_transport transport-tag27fuben form-icon"></span>
148
+								</div>
149
+							</nz-form-item>
150
+							
151
+							<div class="specimen-list">
152
+								<div *ngFor="let item of specimenList;let index=index;" class="specimen-item">
153
+									<div class="specimen-name" (click)="specimenEdit($event,item,index)">
154
+										<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}({{item.specimenCode}})
155
+									</div>
156
+									<span class="icon_transport transport-lajitong specimen-icon" (click)="specimenDel($event,item,index)"></span>
157
+								</div>
158
+							</div>
159
+						</div>
160
+					</form>
161
+				</div>
162
+				<div class="display_flex justify-content_flex-center bottom-btn">
163
+					<button *ngIf="statusValue==1" class="btn btn-right" nz-button nzType="primary" (click)="submitForm('print')" [nzLoading]="btnLoading">标本打印</button>
164
+					<button *ngIf="statusValue==2 || statusValue==3" class="btn btn-right" nz-button nzType="primary" (click)="superaddition()" [nzLoading]="zjLoading">追加打印</button>
165
+					<button *ngIf="statusValue==2 || statusValue==3" class="btn" nz-button nzType="primary" nzGhost (click)="submitForm('all')" [nzLoading]="btnLoading">全量打印</button>
166
+				</div>
167
+			</div>
168
+			
169
+			<div class="pathology-content" *ngIf="detailsData && viewType=='view'">
170
+				<div class="title">病理检查申请单</div>
171
+				<div class="content">
172
+					<div class="viewForm">
173
+						<div class="content-item">
174
+							<div class="form-list form-title-box">
175
+								<div class="form-title"><span class="font-weight-500">申请单号:</span>{{detailsData.applyCode}}</div>
176
+								<div class="form-title" *ngIf="detailsData.pathologyFormType==null">申请单类型:无</div>
177
+								<div class="form-title" *ngIf="detailsData.pathologyFormType==1">申请单类型:术中快速病理检查申请单</div>
178
+								<div class="form-title" *ngIf="detailsData.pathologyFormType==0">申请单类型:病理检查申请单</div>
179
+								<div class="form-title"><span class="font-weight-500">状态:</span>{{detailsData.status?detailsData.status.name:'-'}}</div>
180
+							</div>
181
+							
182
+							<div class="form-list">
183
+								<div class="form-title font-weight-500">诊断:</div>
184
+								<div class="indent">
185
+									{{detailsData.diagnose||'无'}}
186
+								</div>
187
+							</div>
188
+							
189
+							<div class="form-list">
190
+								<div class="form-title width-100 font-weight-500">病历摘要:</div>
191
+								<div class="indent" [ngClass]="{'height-200': isShowMove, 'height-100': !isShowMove && detailsData.medicalRecords}">{{detailsData.medicalRecords||'无'}}</div>
192
+								<div (click)="showLook()" class="cursor" *ngIf="medicalRecordsLength>10">
193
+									<i *ngIf="isShowMove" nz-icon nzType="caret-down" nzTheme="outline"></i>
194
+									<i *ngIf="!isShowMove" nz-icon nzType="caret-up" nzTheme="outline"></i>
195
+								</div>
196
+							</div>
197
+							
198
+								<div class="form-list">
199
+									<div class="form-title font-weight-500">手术方案:</div>
200
+									<div class="indent">{{detailsData.surgicalPlan||'无'}}</div>
201
+								</div>
202
+								<div class="form-list">
203
+									<div class="form-title font-weight-500">术中所见:</div>
204
+									<div class="indent">{{detailsData.intraoperativeFindings||'无'}}</div>
205
+								</div>
206
+							
207
+								<div class="form-list">
208
+									<div class="form-title"><span class="font-weight-500">检验项目:</span>{{project||'无'}}</div>
209
+								</div>
210
+								
211
+								<div class="form-list">
212
+									<div class="form-title"><span class="font-weight-500">标本类型:</span>{{detailsData.specimenType.name||'无'}}</div>
213
+								</div>
214
+								
215
+								<div class="form-list form-title-box">
216
+									<div class="form-title"><span class="font-weight-500">采取部位:</span>{{detailsData.takePart||'无'}}</div>
217
+									<div class="form-title"><span class="font-weight-500">标本数量:</span>{{detailsData.specimenNum||'无'}}</div>
218
+								</div>
219
+								
220
+								<div class="form-list">
221
+									<div class="form-title font-weight-500">标本:</div>
222
+									<div class="form-title-box-detail">
223
+										<div class="form-title cursors" *ngFor="let item of specimenList" (click)="specimenView(item)">
224
+											<span *ngIf="item.partSource && item.partSource.value!=1">{{item.partSource?item.partSource.name:''}}</span>{{item.organ?item.organ.name:''}}{{item.specimenName}}({{item.specimenCode}})
225
+										</div>
226
+									</div>
227
+								</div>
228
+							</div>
229
+						</div>
230
+					</div>
231
+				</div>
232
+			</div>
233
+		
234
+		<div class="content-item-right" *ngIf="pathologyLogs.length && (viewType=='view' || viewType=='edit')">
235
+			<div class="step-title">病理闭环</div>
236
+			<nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
237
+				<ng-container *ngFor="let item of pathologyLogs; let index = index">
238
+						<nz-step
239
+							[nzDescription]="tpl"
240
+						>
241
+						</nz-step>
242
+						<ng-template #tpl>
243
+							<div *ngIf="index==pathologyLogs.length-1" class="step-size">
244
+								<div style="color: #49B856;">{{item.operationType.name}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
245
+								<div style="color:#333;">{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
246
+							</div>
247
+							<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
248
+								<div>{{item.operationType.name}}  {{item.handoverUserDto?item.handoverUserDto.name:''}}</div>
249
+								<div>{{item.createTime|date:'yyyy-MM-dd HH:mm:ss'}} {{item.operationUserDto?item.operationUserDto.name:''}}</div>
250
+							</div>
251
+						</ng-template>
252
+					</ng-container>
253
+			</nz-steps>
254
+		</div>
255
+		<div class="pathology-content-btn" *ngIf="viewType=='add'">
256
+			<button class="btn" nz-button nzType="primary" (click)="addPathology()" [nzLoading]="addLoading">新增病理申请单</button>
257
+		</div>
258
+  </div>
259
+</div>
260
+
261
+<!-- 科室切换提示框 -->
262
+<app-hs-prompt-modal
263
+  [changeShow]="changeShow"
264
+  [closeTime]="closeTime"
265
+  [closeTimeFlag]="closeTimeFlag"
266
+  [show]="hsPromptModalShow"
267
+  (closeModelHs)="closeModelHs($event)"
268
+  (clearModelHs)="clearModelHs($event)"
269
+  deptType="nurse"
270
+> 
271
+  <!-- 返回系统按钮 -->
272
+  <!-- 右侧悬浮框 -->
273
+   <div id="fixedMenu" class="fixed" *ngIf="mainRole">
274
+    <div class="right">
275
+      <div class="fixedMenu hujiaozhongxin">
276
+        <div class="menuItems">
277
+          <div class="item">快捷菜单</div>
278
+        </div>
279
+      </div>
280
+      <div class="fixedMenu">
281
+        <div class="menuItems">
282
+          <div
283
+            class="others"
284
+            [ngStyle]="{
285
+              height: showLastItems
286
+                ? mainRole
287
+                  ? 35 * 2 + 'px'
288
+                  : 35 * 1 + 'px'
289
+                : 0
290
+            }"
291
+          >
292
+            <div
293
+              [ngClass]="{ item: true, checked: fixedTab == 'back' }"
294
+              *ngIf="mainRole"
295
+              (click)="checkFixedTab('toSystem')"
296
+            >
297
+              返回系统
298
+            </div>
299
+          </div>
300
+        </div>
301
+        <div class="arrow" *ngIf="!showLastItems" (click)="fixedMenuXiala()">
302
+          <i class="icon_transport transport-xiala2-01"></i>
303
+        </div>
304
+        <div class="arrow" *ngIf="showLastItems" (click)="fixedMenuShangla()">
305
+          <i class="icon_transport transport-shangla-"></i>
306
+        </div>
307
+      </div>
308
+    </div>
309
+    <div
310
+      *ngIf="showLastItems && fixedTab != ''"
311
+      (click)="fixedMenuShangla()"
312
+      class="fixedMark"
313
+    ></div>
314
+  </div>
315
+</app-hs-prompt-modal>
316
+
317
+<!-- 操作成功/失败提示框 -->
318
+<app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
319
+  [info]="promptInfo" (closeModel)="closeModel()"></app-prompt-modal>
320
+
321
+<!-- 选择标本 -->
322
+<div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="specimenModal">
323
+	<div class="modalBody">
324
+		<div class="title">新增病理标本<i class="icon_transport transport-guanbi" (click)="hideSpecimenModal()"></i>
325
+		</div>
326
+		<div class="content">
327
+			<form nz-form [formGroup]="validateSpecimenForm" class="addForm" (ngSubmit)="submitSpecimen()">
328
+				<nz-form-item class="form-item" *ngIf="!selectType">
329
+					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">位置来源</nz-form-label>
330
+					<div class="specimen-list">
331
+						<div>
332
+							<div *ngFor="let item of placeList;let index=index;" class="select-item"
333
+							[ngClass]="{'activeClass': index == placeIndex}" (click)="placeClick($event,item,index)" class="select-item">{{item.name}}</div>
334
+						</div>
335
+					</div>
336
+				</nz-form-item>
337
+				
338
+				<nz-form-item class="form-item" *ngIf="!selectType">
339
+					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">系统</nz-form-label>
340
+					<div class="specimen-list">
341
+						<div *ngFor="let item of systemList;let index=index;" class="select-item"
342
+							[ngClass]="{'activeClass': index == systemIndex}" (click)="systemClick($event,item,index)">
343
+							{{item.name}}
344
+						</div>
345
+					</div>
346
+				</nz-form-item>
347
+				
348
+				<nz-form-item class="form-item" *ngIf="!selectType">
349
+					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">器官</nz-form-label>
350
+					<div class="specimen-list">
351
+						<div *ngFor="let item of apparatusList;let index=index;" class="select-item"
352
+							[ngClass]="{'activeClass': index == apparatusIndex}" (click)="apparatusClick($event,item,index)">
353
+							{{item.name}}
354
+						</div>
355
+					</div>
356
+				</nz-form-item>
357
+				
358
+				<nz-form-item class="form-item">
359
+					<nz-form-label [nzSm]="4" [nzXs]="24">标本名称快捷选择</nz-form-label>
360
+					<div class="specimen-list">
361
+						<div *ngFor="let item of specimenNameList;let index=index;" class="select-item"
362
+							[ngClass]="{'activeClass': index == specimenNameIndex}" (click)="specimenNameClick($event,item,index)">
363
+							{{item.name}}
364
+						</div>
365
+					</div>
366
+				</nz-form-item>
367
+				
368
+				<nz-form-item class="form-item">
369
+					<nz-form-label nzRequired nzFor="specimenName" [nzSm]="3" [nzXs]="24">标本名称</nz-form-label>
370
+					<nz-form-control nzErrorTip="请输入标本名称" [nzSm]="21" [nzXs]="24">
371
+						<input nz-input maxlength="15" (ngModelChange)="specimenInput($event)" formControlName="specimenName" placeholder="请输入标本名称"/>
372
+					</nz-form-control>
373
+					<div class="empty-box">
374
+						<span class="name">{{specimenNameLength}}/15</span>
375
+						<span class="empty" (click)="emptData($event)">清空</span>
376
+					</div>
377
+				</nz-form-item>
378
+				
379
+				<nz-form-item class="form-item">
380
+					<nz-form-label nzFor="remark" [nzSm]="3" [nzXs]="24">备注</nz-form-label>
381
+					<nz-form-control nzErrorTip="请输入备注" [nzSm]="21" [nzXs]="24">
382
+						<textarea rows="3" nz-input formControlName="remark" placeholder="请输入备注"></textarea>
383
+					</nz-form-control>
384
+				</nz-form-item>
385
+			</form>
386
+		</div>
387
+		<div class="display_flex justify-content_flex-center bottom-btn">
388
+			<button class="btn btn-right" nz-button nzType="primary" (click)="submitSpecimen(1)" [nzLoading]="btnSpLoading">确定</button>
389
+			<button class="btn btn-right" nz-button nzType="primary" (click)="submitSpecimen(2)">新增下一个标本</button>
390
+			<button class="btn cancel" nz-button nzType="default" (click)="hideSpecimenModal()">取消</button>
391
+		</div>
392
+	</div>
393
+</div>
394
+
395
+<app-prompt-modal *ngIf="specimenModalShow" [content]="promptContent" [success]="ifSuccess" [show]="specimenModalShow"
396
+  [info]="promptInfo" (closeModel)="closeSpecimenModel()"></app-prompt-modal>
397
+
398
+ <!-- 新增下一个标本 -->
399
+<app-dialog-delete [delModal]="addMadal" (hideDelModalEvent)="hideAddModal()" [btnLoading]="addSpLoading"
400
+  (confirmDelEvent)="confirmAdd()" content="您确认要新增下一个标本吗?"></app-dialog-delete>
401
+	
402
+<!-- 删除模态框 -->
403
+<app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading"
404
+	(confirmDelEvent)="confirmDel()" content="您确认要删除标本吗?"></app-dialog-delete>
405
+		
406
+<!-- 查看标本 -->
407
+<div class="look">
408
+	<div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="specimenViewDialog">
409
+		<div class="modalBody modalBody-ga">
410
+			<div class="title">查看标本<i class="icon_transport transport-guanbi" (click)="closeSpecimenModal()"></i>
411
+			</div>
412
+			<overlay-scrollbars #osComponentRef1 class="content">
413
+				<div class="list-template__bottom">
414
+					<nz-table class="list-template__nzTable" [nzData]="viewData" nzSize="middle" [nzShowPagination]="false"
415
+						[nzLoading]="loading1">
416
+						<thead>
417
+							<tr class="thead">
418
+								<th>标本名称</th>
419
+								<th>编码</th>
420
+								<th>备注</th>
421
+								<th>离体时间</th>
422
+								<th>离体操作人</th>
423
+								<th>固定时间</th>
424
+								<th>固定操作人</th>
425
+							</tr>
426
+						</thead>
427
+						<tbody>
428
+							<tr *ngFor="let data of viewData">
429
+								<td>{{ data.specimenName }}</td>
430
+								<td>{{ data.specimenCode }}</td>
431
+								<td>{{ data.remark ? data.remark : '无' }}</td>
432
+								<td>{{ data.inVitroTime ? (data.inVitroTime|date:'yyyy-MM-dd HH:mm:ss') : '-' }}</td>
433
+								<td>{{ data.inVitroOperator ? data.inVitroOperator.name : '-' }}</td>
434
+								<td>{{ data.fixationTime ? (data.fixationTime|date:'yyyy-MM-dd HH:mm:ss') : '-' }}</td>
435
+								<td>{{ data.fixationOperator ? data.fixationOperator.name : '-' }}</td>
436
+							</tr>
437
+						</tbody>
438
+					</nz-table>
439
+				</div>
440
+			</overlay-scrollbars>
441
+			<div class="display_flex justify-content_flex-center">
442
+				<button class="btn" nz-button nzType="primary" (click)="closeSpecimenModal()">知道了</button>
443
+			</div>
444
+		</div>
445
+	</div>
446
+</div>
447
+
448
+<!-- 离体并固定 -->
449
+<div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="notModal">
450
+	<div class="modalBody no-width">
451
+		<div class="title">{{ifImmobilization?'离体并固定':'离体'}}<i class="icon_transport transport-guanbi" (click)="hideNotModal()"></i>
452
+		</div>
453
+		<div class="content">
454
+			<!-- <div class="content-title">本次需要记录离体标本<span class="reds">{{specimenNum}}</span>份,本申请单共<span class="reds">{{totalNum}}</span>份标本</div> -->
455
+			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
456
+				<nz-form-item>
457
+				  <nz-form-label nzRequired [nzSpan]="6" nzFor="inVitroTime">离体时间</nz-form-label>
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" 
461
+							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
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>
466
+						</nz-input-group>
467
+				  </nz-form-control>
468
+				</nz-form-item>
469
+				<nz-form-item *ngIf="ifImmobilization">
470
+				  <nz-form-label nzRequired [nzSpan]="6" nzFor="fixationTime">固定时间</nz-form-label>
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" 
474
+							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
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>
479
+						</nz-input-group>
480
+				  </nz-form-control>
481
+				</nz-form-item>
482
+				<nz-form-item *ngIf="ifImmobilization">
483
+				  <nz-form-label nzRequired [nzSpan]="8" nzFor="fixative">固定液类型</nz-form-label>
484
+				  <nz-form-control [nzSpan]="16" nzErrorTip="请选择固定液类型!">
485
+				    <nz-input-group>
486
+							<nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzPlaceHolder="请选择固定液类型" formControlName="fixative">
487
+							  <ng-container *ngFor="let option of fixativeData">
488
+							    <nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
489
+							  </ng-container>
490
+							</nz-select>
491
+						</nz-input-group>
492
+				  </nz-form-control>
493
+				</nz-form-item>
494
+				<nz-form-item>
495
+				  <nz-form-label nzRequired [nzSpan]="5" nzFor="jobNumber">工号</nz-form-label>
496
+					<nz-form-control [nzSpan]="19" nzErrorTip="请输入工号!">
497
+						<input nz-input (ngModelChange)="numberChange($event)" formControlName="jobNumber" placeholder="请输入工号" nzSize="default" />
498
+					</nz-form-control>
499
+				</nz-form-item>
500
+				<nz-form-item>
501
+				  <nz-form-label nzRequired [nzSpan]="5" nzFor="name">姓名</nz-form-label>
502
+					<nz-form-control [nzSpan]="19" nzErrorTip="请输入姓名!">
503
+						<input nz-input disabled formControlName="name" placeholder="请输入姓名" nzSize="default" />
504
+					</nz-form-control>
505
+				</nz-form-item>
506
+			</form>
507
+		</div>
508
+		<div class="display_flex justify-content_flex-center bottom-btn">
509
+			<button class="btn btn-right" nz-button nzType="primary" (click)="submitVerificationForm()" [nzLoading]="printLoading">确定</button>
510
+			<button class="btn cancel" nz-button nzType="default" (click)="hideNotModal()">取消</button>
511
+		</div>
512
+	</div>
513
+</div>
514
+
515
+
516
+<!-- 打印 -->
517
+<div id="report" style="display: none;">
518
+	<div class="monad">
519
+		<div *ngIf="printData && printData.specimenList && printData.specimenList.length" style="border: 1px solid #AAAAAA;
520
+			border-radius: 5px;font-size: 12px;">
521
+			 <div *ngIf="pathologyBarCode==1" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
522
+				 <div style="width: 60%;height: 70px;text-align: center;">
523
+					 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
524
+					 <div>{{printData.applyCode}}</div>
525
+				 </div>
526
+				 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
527
+					 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
528
+				 </div>
529
+			 </div>
530
+			 <div *ngIf="pathologyBarCode==2" style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
531
+				 <div style="width: 40%;height: 70px;text-align: center;">
532
+					 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
533
+					 <div>{{printData.applyCode}}</div>
534
+				 </div>
535
+				 <div style="width: 60%;height: 100%;text-align: center;display: flex;align-items: center;position: relative;top: -6px;">
536
+					 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
537
+				 </div>
538
+			 </div>
539
+			
540
+			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
541
+				<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
542
+				<div style="width:50%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{printData.patientName}}</div>
543
+				<div style="width:14%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">性别</div>
544
+				<div style="width:16%;padding:1px;border-top: 1px solid #aaa;">{{printData.specimenList[0].patientGender}}</div>
545
+			</div>
546
+			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
547
+				<div style="width:20%;border-right: 1px solid #AAAAAA;padding:1px;">门诊号</div>
548
+				<div style="width:50%;border-right: 1px solid #AAAAAA;padding:1px;">{{printData.residenceNo?printData.residenceNo:printData.patientNo}}</div>
549
+				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
550
+				<div style="width:16%;padding:1px;"> {{printData.patientAge}}岁</div>
551
+			</div>
552
+			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
553
+				<div style="width:20%;border-right: 1px solid #AAAAAA;padding:1px;">科室 </div>
554
+				<div style="width:50%;border-right: 1px solid #AAAAAA;
555
+				padding:1px;overflow: hidden;white-space: nowrap">{{printData.patientDept}}</div>
556
+				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">床号</div>
557
+				<div style="width:16%;padding:1px;">{{printData.patientBedNum}}床</div>
558
+			</div>
559
+			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
560
+				<div style="width:20%;border-right: 1px solid #AAAAAA;padding:1px;">部位 </div>
561
+				<div style="width:50%;border-right: 1px solid #AAAAAA;
562
+				padding:1px;overflow: hidden;white-space: nowrap">{{printData.takePart}}</div>
563
+				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">标本数</div>
564
+				<div style="width:16%;padding:1px;">{{printData.specimenNum}}</div>
565
+			</div>
566
+			<div style="display: flex;">
567
+				<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">日期</div>
568
+				<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;">{{printData.specimenList[0].inVitroTime|date:'yyyy-MM-dd'}}</div>
569
+			</div>
570
+		</div>
571
+		
572
+		<div style="height: 70px;" *ngIf="printData && printData.specimenList && printData.specimenList.length==1"></div>
573
+		<div style="height: 20px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1"></div>
574
+		<div style="font-size: 12px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>0">
575
+			<div *ngFor="let data of printData.specimenList; let index=index;">
576
+			 <div style="height: 50px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1"></div>
577
+			 <div style="border: 1px solid #AAAAAA;border-radius: 5px;">
578
+				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
579
+					 <div style="width: 60%;height: 70px;text-align: center;">
580
+						 <img style="max-width: 90%;height: 80%;" [src]="data.barCode" alt="">
581
+						 <div>{{data.specimenCode}}</div>
582
+					 </div>
583
+					 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
584
+						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
585
+					 </div>
586
+				 </div>
587
+				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
588
+					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
589
+					<div style="width:50%;box-sizing: border-box;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{data.patientName}}</div>
590
+					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">性别</div>
591
+					<div style="width:16%;box-sizing: border-box;padding:1px;border-top: 1px solid #aaa;">{{data.patientGender}}</div>
592
+				 </div>
593
+				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
594
+					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">门诊号</div>
595
+					<div style="width:50%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">{{data.residenceNo?data.residenceNo:data.patientNo}}</div>
596
+					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
597
+					<div style="width:16%;box-sizing: border-box;padding:1px;"> {{data.patientAge}}岁</div>
598
+				 </div>
599
+				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
600
+					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">科室 </div>
601
+					<div style="width:50%;box-sizing: border-box;border-right: 1px solid #AAAAAA;
602
+					padding:1px;overflow: hidden;white-space: nowrap">{{data.patientDept}}</div>
603
+					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">床号</div>
604
+					<div style="width:16%;box-sizing: border-box;padding:1px;">{{data.patientBedNum}}床</div>
605
+				 </div>
606
+				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
607
+					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">标本名称</div>
608
+					<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;
609
+					padding:1px;overflow: hidden;white-space: nowrap">({{index+1}}/{{printData.specimenList.length}}){{data.partSource?data.partSource:''}}{{data.organ}}{{data.specimenName}}</div>
610
+				 </div>
611
+				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
612
+					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">申请单号</div>
613
+					<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;">{{data.applyCode }}</div>
614
+				 </div>
615
+				 <div style="display: flex;">
616
+					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">日期</div>
617
+					<div style="width:80%;box-sizing: border-box;padding:1px;border-right: 1px solid #fff;">{{data.inVitroTime|date:'yyyy-MM-dd'}}</div>
618
+				 </div>
619
+			 </div>
620
+			</div>
621
+		</div>
622
+	</div>
623
+</div>
624
+	
625
+<div class="mask-style" *ngIf="isSpinning">
626
+	<nz-spin nzSimple class="spin-style"></nz-spin>
627
+</div>

File diff suppressed because it is too large
+ 1159 - 0
src/app/views/pathology-sample/pathology-sample.component.less


File diff suppressed because it is too large
+ 1514 - 0
src/app/views/pathology-sample/pathology-sample.component.ts


+ 17 - 0
src/app/views/pathology-sample/pathology-sample.module.ts

@@ -0,0 +1,17 @@
1
+import { NgModule } from '@angular/core';
2
+import { CommonModule } from '@angular/common';
3
+
4
+import { PathologySampleRoutingModule } from './pathology-sample-routing.module';
5
+import { ShareModule } from 'src/app/share/share.module';
6
+import { PathologySampleComponent } from './pathology-sample.component';
7
+
8
+
9
+@NgModule({
10
+  declarations: [PathologySampleComponent],
11
+  imports: [
12
+    CommonModule,
13
+    PathologySampleRoutingModule,
14
+    ShareModule
15
+  ]
16
+})
17
+export class PathologySampleModule { }

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

@@ -371,7 +371,7 @@
371 371
 					<div class="form-title font-weight-500">标本:</div>
372 372
 					<div class="form-title specimen-list">
373 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 375
 						</div>
376 376
 					</div>
377 377
 				</div>
@@ -389,11 +389,11 @@
389 389
 							<ng-template #tpl>
390 390
 								<div *ngIf="index==pathologyLogs.length-1" class="step-size">
391 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 393
 								</div>
394 394
 								<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
395 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 397
 								</div>
398 398
 							</ng-template>
399 399
 						</ng-container>

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

@@ -53,7 +53,7 @@
53 53
 										<td>{{ data.takePart}}</td>
54 54
 										<td>
55 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 57
 											</div>
58 58
 										</td>
59 59
 									</tr>
@@ -114,7 +114,7 @@
114 114
 										<td>{{index+1}}</td>
115 115
 										<td>{{ data.specimenCode}}</td>
116 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 118
 										</td>
119 119
 										<td *ngIf="dataType=='receive'">
120 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 534
 										<td>{{index+1}}</td>
535 535
 										<td>{{ data.specimenCode}}</td>
536 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 538
 										</td>
539 539
 									</tr>
540 540
 								</tbody>
@@ -565,13 +565,20 @@
565 565
 			<form nz-form [formGroup]="validateVerificationForm" class="addForm" (ngSubmit)="submitVerificationForm()">
566 566
 				<nz-form-item>
567 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 569
 				    <nz-input-group>
570 570
 							<nz-date-picker formControlName="fixationTime" 
571 571
 							[nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" nzFormat="yyyy-MM-dd HH:mm:ss"
572 572
 							(ngModelChange)="formChangeDate($event)"></nz-date-picker>
573 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 582
 				</nz-form-item>
576 583
 				<nz-form-item>
577 584
 				  <nz-form-label nzRequired [nzSpan]="6" nzFor="jobNumber">工号</nz-form-label>
@@ -586,10 +593,10 @@
586 593
 					</nz-form-control>
587 594
 				</nz-form-item>
588 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 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 600
 							  <ng-container *ngFor="let option of fixativeData">
594 601
 							    <nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
595 602
 							  </ng-container>
@@ -671,8 +678,7 @@
671 678
 					<div class="form-title font-weight-500">标本:</div>
672 679
 					<div class="form-title specimen-list">
673 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 682
 						</div>
677 683
 					</div>
678 684
 				</div>
@@ -689,12 +695,12 @@
689 695
 							</nz-step>
690 696
 							<ng-template #tpl>
691 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 700
 								</div>
695 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 704
 								</div>
699 705
 							</ng-template>
700 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 250
 	startDate:any;
243 251
 	submitFixationForm(){
244 252
 		this.validateVerificationForm = this.fb.group({
245
-		  fixationTime: [null, [Validators.required]],
253
+		  fixationTimes: [null, [Validators.required]],
254
+		  fixationDate: [null, [Validators.required]],
246 255
 			jobNumber: [null, [Validators.required]],
247 256
 			name:[null, [Validators.required]],
248 257
 			fixative:[null, [Validators.required]],
249 258
 		});
250 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 265
 		this.btnLoading = true
254 266
 		this.mainService.getDictionary("list", "fixing_liquid_type").subscribe((res) => {
255 267
 			this.fixativeData = res
@@ -516,7 +528,7 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
516 528
 				id:this.validateVerificationForm.value.fixative
517 529
 			},
518 530
 			specimenCodes:str.join(','),
519
-			fixationTime:this.startDate,
531
+			fixationTime:this.fixationData + ' ' + this.fixationTimeSelect+':00',
520 532
 			hosId: this.hosId || "" ,
521 533
 			handoverUserId:this.handoverUserId
522 534
 		};