Explorar o código

门诊病理采样端开发

maotao hai 4 meses
pai
achega
3c6a2fc4a1

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

@@ -118,6 +118,14 @@
118 118
 									<nz-form-label class="label">门诊支持离体并固定</nz-form-label>
119 119
 									<nz-checkbox-group [(ngModel)]="outpatientInVitroFixation"></nz-checkbox-group>
120 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 129
 							</div>
122 130
 							<div class="bottom">
123 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 80
   defaultScanSpe:any[] = [
81 81
     {label:'是否开启',value: 0}
82 82
   ];
83
-
83
+	
84
+	//申请单条码设置
85
+	pathologyBarCode:any;
86
+	
84 87
   // 配置
85 88
   configs:any = {};
86 89
   // 任务类型
@@ -176,6 +179,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
176 179
 		  hosId: this.hosId,
177 180
 		  autoCreate: this.autoCreate[0].checked ? 1 : 0,
178 181
 			outpatientInVitroFixation: this.outpatientInVitroFixation[0].checked ? 1 : 0,
182
+			pathologyBarCode : this.pathologyBarCode,
179 183
 		};
180 184
 		this.btnLoading = true;
181 185
 		this.mainService
@@ -298,6 +302,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
298 302
 					// 病理标本
299 303
 					this.autoCreate[0].checked = this.configs.autoCreate == 1;
300 304
 					this.outpatientInVitroFixation[0].checked = this.configs.outpatientInVitroFixation == 1;
305
+					this.pathologyBarCode = this.configs.pathologyBarCode;
301 306
 					// 检查标本
302 307
           this.deptNotAlert[0].checked = this.configs.deptNotAlert == 1;
303 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 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>
@@ -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
 	}

+ 64 - 13
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
@@ -656,9 +687,17 @@ export class PathologyAddComponent implements OnInit {
656 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 714
 			pathologyForm:{
676 715
 				...this.detailsData,
677 716
 				...this.validateForm.value,
678
-				inVitroTime:this.startDate,
717
+				inVitroTime:this.inVitroData + ' ' + this.inVitroTimeSelect+':00',
679 718
 				surgeryId: this.surgeryId || "",
680 719
 				patientId: this.patientId || "",
681 720
 				hosId: this.hosId || "" ,
@@ -831,13 +870,17 @@ export class PathologyAddComponent implements OnInit {
831 870
 				this.specimenNum = res.specimenNum
832 871
 				this.pathologySpecimenIds = res.ids
833 872
 				this.validatePrintForm = this.fb.group({
834
-				  inVitroTime: [null, [Validators.required]],
873
+				  inVitroTimes: [null, [Validators.required]],
874
+				  inVitroDate: [null, [Validators.required]],
835 875
 					jobNumber: [null, [Validators.required]],
836 876
 					name:[null, [Validators.required]],
837 877
 				});
838 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 884
 			}else{
842 885
 				this.message.info('无新标本需要打印')
843 886
 			}
@@ -868,13 +911,17 @@ export class PathologyAddComponent implements OnInit {
868 911
 					this.specimenNum = res.specimenNum
869 912
 					this.pathologySpecimenIds = res.ids
870 913
 					this.validatePrintForm = this.fb.group({
871
-					  inVitroTime: [null, [Validators.required]],
914
+					  inVitroTimes: [null, [Validators.required]],
915
+					  inVitroDate: [null, [Validators.required]],
872 916
 						jobNumber: [null, [Validators.required]],
873 917
 						name:[null, [Validators.required]],
874 918
 					});
875 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 925
 				}else{
879 926
 					let data: any = {
880 927
 						pathologyForm:{
@@ -916,13 +963,17 @@ export class PathologyAddComponent implements OnInit {
916 963
 					this.totalNum = res.totalNum
917 964
 					this.specimenNum = res.specimenNum
918 965
 					this.validatePrintForm = this.fb.group({
919
-						inVitroTime: [null, [Validators.required]],
966
+					  inVitroTimes: [null, [Validators.required]],
967
+					  inVitroDate: [null, [Validators.required]],
920 968
 						jobNumber: [null, [Validators.required]],
921 969
 						name:[null, [Validators.required]],
922 970
 					});
923 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 978
 				return
928 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) {

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

@@ -35,20 +35,20 @@
35 35
   </div>
36 36
   <div class="pharmacy-main">
37 37
 		<div class="left" *ngIf="adviceList">
38
-			<div class="top">
38
+			<div class="top" *ngIf="adviceList.patientNo">
39 39
 				<div>{{adviceList.patientName}} {{adviceList.patientGender?adviceList.patientGender.name:'-'}} ({{adviceList.patientAge||'-'}}岁)</div>
40 40
 				<div class="border">{{adviceList.patientNo}}</div>
41 41
 			</div>
42 42
 			<div class="content" *ngFor="let item of adviceList.pathologyAdviceDTOS;let index=index;" (click)="listClick(item,index)" [ngClass]="{'activeLeftClass': index == leftIndex}">
43 43
 				<div class="list list-df">
44
-					<div class="code">{{item.diagnosisCode}}</div>
44
+					<div class="code">{{item.adviceId}}</div>
45 45
 					<div class="form-title">{{item.adviceType.name}}</div>
46 46
 				</div>
47 47
 				<div class="list">项目:{{item.inspectType.name}}</div>
48 48
 				<div class="list">部位:{{item.inspectPart}}</div>
49 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 52
 			</div>
53 53
 		</div>
54 54
 		<div class="center" *ngIf="detailsData && viewType!='add'">
@@ -99,7 +99,7 @@
99 99
 								<nz-form-label nzRequired nzFor="project" [nzSm]="4" [nzXs]="24">检验项目</nz-form-label>
100 100
 								<nz-form-control nzErrorTip="请选择检验项目!" [nzSm]="20" [nzXs]="24">
101 101
 									<nz-input-group>
102
-										<nz-select nzSearch nzMode="multiple" nzShowSearch nzPlaceHolder="请选择检验项目" formControlName="project">
102
+										<nz-select nzSearch nzShowSearch nzPlaceHolder="请选择检验项目" formControlName="project">
103 103
 											<ng-container *ngFor="let option of projectData">
104 104
 												<nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
105 105
 											</ng-container>
@@ -151,8 +151,7 @@
151 151
 							<div class="specimen-list">
152 152
 								<div *ngFor="let item of specimenList;let index=index;" class="specimen-item">
153 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 155
 									</div>
157 156
 									<span class="icon_transport transport-lajitong specimen-icon" (click)="specimenDel($event,item,index)"></span>
158 157
 								</div>
@@ -222,8 +221,7 @@
222 221
 									<div class="form-title font-weight-500">标本:</div>
223 222
 									<div class="form-title-box-detail">
224 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 225
 										</div>
228 226
 									</div>
229 227
 								</div>
@@ -233,7 +231,7 @@
233 231
 				</div>
234 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 235
 			<div class="step-title">病理闭环</div>
238 236
 			<nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
239 237
 				<ng-container *ngFor="let item of pathologyLogs; let index = index">
@@ -244,11 +242,11 @@
244 242
 						<ng-template #tpl>
245 243
 							<div *ngIf="index==pathologyLogs.length-1" class="step-size">
246 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 246
 							</div>
249 247
 							<div *ngIf="index!=pathologyLogs.length-1" class="step-size">
250 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 250
 							</div>
253 251
 						</ng-template>
254 252
 					</ng-container>
@@ -327,7 +325,7 @@
327 325
 		</div>
328 326
 		<div class="content">
329 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 329
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">位置来源</nz-form-label>
332 330
 					<div class="specimen-list">
333 331
 						<div>
@@ -337,7 +335,7 @@
337 335
 					</div>
338 336
 				</nz-form-item>
339 337
 				
340
-				<nz-form-item class="form-item">
338
+				<nz-form-item class="form-item" *ngIf="!selectType">
341 339
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">系统</nz-form-label>
342 340
 					<div class="specimen-list">
343 341
 						<div *ngFor="let item of systemList;let index=index;" class="select-item"
@@ -347,7 +345,7 @@
347 345
 					</div>
348 346
 				</nz-form-item>
349 347
 				
350
-				<nz-form-item class="form-item">
348
+				<nz-form-item class="form-item" *ngIf="!selectType">
351 349
 					<nz-form-label nzRequired [nzSm]="2" [nzXs]="24">器官</nz-form-label>
352 350
 					<div class="specimen-list">
353 351
 						<div *ngFor="let item of apparatusList;let index=index;" class="select-item"
@@ -457,21 +455,27 @@
457 455
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
458 456
 				<nz-form-item>
459 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 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 466
 						</nz-input-group>
466 467
 				  </nz-form-control>
467 468
 				</nz-form-item>
468 469
 				<nz-form-item *ngIf="ifImmobilization">
469 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 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 479
 						</nz-input-group>
476 480
 				  </nz-form-control>
477 481
 				</nz-form-item>
@@ -514,7 +518,7 @@
514 518
 	<div class="monad">
515 519
 		<div *ngIf="printData && printData.specimenList && printData.specimenList.length" style="border: 1px solid #AAAAAA;
516 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 522
 				 <div style="width: 60%;height: 70px;text-align: center;">
519 523
 					 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
520 524
 					 <div>{{printData.applyCode}}</div>
@@ -523,6 +527,15 @@
523 527
 					 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
524 528
 				 </div>
525 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 540
 			<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
528 541
 				<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
@@ -531,8 +544,8 @@
531 544
 				<div style="width:16%;padding:1px;border-top: 1px solid #aaa;">{{printData.specimenList[0].patientGender}}</div>
532 545
 			</div>
533 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 549
 				<div style="width:14%;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
537 550
 				<div style="width:16%;padding:1px;"> {{printData.patientAge}}岁</div>
538 551
 			</div>
@@ -578,8 +591,8 @@
578 591
 					<div style="width:16%;box-sizing: border-box;padding:1px;border-top: 1px solid #aaa;">{{data.patientGender}}</div>
579 592
 				 </div>
580 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 596
 					<div style="width:14%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">年龄</div>
584 597
 					<div style="width:16%;box-sizing: border-box;padding:1px;"> {{data.patientAge}}岁</div>
585 598
 				 </div>
@@ -593,7 +606,7 @@
593 606
 				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
594 607
 					<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;padding:1px;">标本名称</div>
595 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 610
 				 </div>
598 611
 				 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
599 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 407
 	.pharmacy-main {
408 408
 	  height: calc(100vh - 48px);
409
-	  // min-height: 680px;
410 409
 		flex: 1;
411 410
 	  display: flex;
412 411
 	  justify-content: space-between;
@@ -493,7 +492,7 @@
493 492
 						
494 493
 						.content-item{
495 494
 							flex: 1;
496
-							height: 460px;
495
+							height: calc(100vh - 159px);
497 496
 							overflow-y: auto;
498 497
 							padding: 0 15px;
499 498
 							.disp-fl{
@@ -717,7 +716,7 @@
717 716
 									
718 717
 						
719 718
 						.content-item-right{
720
-							height: 460px;
719
+							// height: calc(100vh - 48px);
721 720
 							overflow-y: auto;
722 721
 							padding: 15px;
723 722
 							.step-title{
@@ -756,7 +755,7 @@
756 755
 		}
757 756
 		.content-item-right{
758 757
 			width: 20%;
759
-			height: 570px;
758
+			// height: calc(100vh - 48px);
760 759
 			overflow-y: auto;
761 760
 			padding: 15px;
762 761
 			.step-title{
@@ -915,7 +914,7 @@
915 914
 			}
916 915
 	  }
917 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 1
 import { Component, OnInit, ViewChild, OnDestroy } from "@angular/core";
2 2
 import { MainService } from "../../services/main.service";
3
-import { Router } from "@angular/router";
3
+import { ActivatedRoute, Router } from "@angular/router";
4 4
 import { OverlayScrollbarsComponent } from "overlayscrollbars-ngx";
5 5
 import { startOfDay, format, endOfDay } from "date-fns";
6 6
 import { ToolService } from 'src/app/services/tool.service';
@@ -24,6 +24,7 @@ export class PathologySampleComponent implements OnInit {
24 24
   constructor(
25 25
 	private mainService: MainService,
26 26
 	public router: Router,
27
+	public route: ActivatedRoute,
27 28
 	public tool: ToolService,
28 29
 	private fb: FormBuilder,
29 30
 	private message: NzMessageService,
@@ -81,13 +82,13 @@ export class PathologySampleComponent implements OnInit {
81 82
 	detailId:any = '200';
82 83
 	project:any;
83 84
 	viewType:any = 'no';
84
-	
85
+	mainRole:any;
85 86
   ngOnInit() {
86 87
 		this.changeInpSubject.pipe(debounceTime(500)).subscribe((v) => {
87 88
 		  this.searchSpecimenData(v[0])
88 89
 		});
89 90
 		this.changeInpSubjectSpecimen.pipe(debounceTime(500)).subscribe((v) => {
90
-		  this.searchSpecimen(v[0])
91
+		  this.searchSpecimen(v[0],'search')
91 92
 		});
92 93
 		this.hosId = this.tool.getCurrentHospital().id;
93 94
 		this.userId = this.tool.getCurrentUserId()
@@ -98,6 +99,10 @@ export class PathologySampleComponent implements OnInit {
98 99
 		this.getSysData()
99 100
 		this.getTaskTypesId();
100 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 106
 		setTimeout(_=>{
102 107
 			document.getElementById('Binput').focus();
103 108
 		},500)
@@ -135,6 +140,7 @@ export class PathologySampleComponent implements OnInit {
135 140
 			this.addLoading = false
136 141
 			this.viewType = 'edit';
137 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 158
 	ifImmobilization:any = false;
152 159
 	getConfig() {
153 160
 		let postData = {
@@ -167,6 +174,7 @@ export class PathologySampleComponent implements OnInit {
167 174
 					}else{
168 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 196
 	showLook(){
189 197
 		this.isShowMove = !this.isShowMove
190 198
 	}
191 199
 	
192 200
 	// 标本条码搜索
193 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 212
 		let data:any = {
202 213
 			idx: 0,
203 214
 			sum: 9999,
204 215
 			pathologyAdvice:{
205
-				patientNo:this.barCode
216
+				patientNo:this.barCode?this.barCode:e
206 217
 			}
207 218
 		}
208 219
 		this.isSpinning = true
@@ -210,22 +221,24 @@ export class PathologySampleComponent implements OnInit {
210 221
 		.subscribe((res:any) => {
211 222
 			this.isSpinning = false
212 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 242
 			}else{
230 243
 				this.barCode = null
231 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 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 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 302
 	startDate:any;
@@ -279,13 +308,13 @@ export class PathologySampleComponent implements OnInit {
279 308
 		  this.validatePrintForm.controls[i].updateValueAndValidity();
280 309
 		}
281 310
 		if (this.validatePrintForm.invalid) return;
282
-		let ids = this.validateForm.value.project.join(',')
311
+		let ids = this.validateForm.value.project
283 312
 		let data: any = {
284 313
 			pathologyForm:{
285 314
 				...this.detailsData,
286 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 318
 				specimenFixingLiquid:{
290 319
 					id:this.validatePrintForm.value.fixative
291 320
 				},
@@ -314,7 +343,7 @@ export class PathologySampleComponent implements OnInit {
314 343
 			delete data.pathologySpecimenIds
315 344
 		}
316 345
 		if(this.ifImmobilization){
317
-			data.pathologyForm.fixationTime = this.startDate
346
+			data.pathologyForm.fixationTime = this.fixationData + ' ' + this.fixationTimeSelect +':00'
318 347
 			data.pathologyForm.specimenFixingLiquid.id = this.validatePrintForm.value.fixative
319 348
 		}else{
320 349
 			delete data.pathologyForm.fixationTime
@@ -374,7 +403,6 @@ export class PathologySampleComponent implements OnInit {
374 403
 		.subscribe((data) => {
375 404
 			this.isSpinning = false;
376 405
 			this.detailsData = data.data;
377
-			this.patientId = data.data.patientId;
378 406
 			this.surgeryId = data.data.surgeryId;
379 407
 			if(this.detailsData.status && this.detailsData.status.value==5){
380 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 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 450
 			if(this.detailsData.specimenType){
419 451
 				this.validateForm.controls.specimenGenre.setValue(this.detailsData.specimenType.id);
@@ -444,7 +476,7 @@ export class PathologySampleComponent implements OnInit {
444 476
 	
445 477
 	// 获取检验项目
446 478
 	getProDicData(){
447
-		this.mainService.getDictionary("list", "pathology_inspect_type").subscribe((res) => {
479
+		this.mainService.getDictionary("list", "outpatient_pathology_inspect_type").subscribe((res) => {
448 480
 			this.projectData = res
449 481
 		});
450 482
 	}
@@ -507,6 +539,7 @@ export class PathologySampleComponent implements OnInit {
507 539
 	
508 540
 	// 获取标本-标本名称
509 541
 	getSpNameData(id,item,type){
542
+		this.selectItem = this.specimenData.find(i=>i.id == this.validateForm.value.specimenGenre)
510 543
 		let postData: any = {
511 544
 		  idx: 0,
512 545
 		  sum: 9999,
@@ -515,12 +548,17 @@ export class PathologySampleComponent implements OnInit {
515 548
 				parent:id,
516 549
 		    key: 'pathology_specimen',
517 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 562
 				if(type=='edit'){
525 563
 					if(item.sample){
526 564
 						this.validateSpecimenForm = this.fb.group({
@@ -540,7 +578,37 @@ export class PathologySampleComponent implements OnInit {
540 578
 						this.specimenModal = true
541 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 647
 	specimenDetailId:any = null;
580 648
 	specimenEdit(e,item,index){
581 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 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 672
 		this.validateSpecimenForm = this.fb.group({
595 673
 		  remark: [null, []],
596 674
 			specimenName:[null, [Validators.required]],
@@ -608,10 +686,19 @@ export class PathologySampleComponent implements OnInit {
608 686
 		this.systemList=[]; //系统数据
609 687
 		this.apparatusList=[]; //器官数据
610 688
 		this.specimenNameList=[]; //标本名称数据
611
-		this.specimenNameName = null;
612
-		this.getSourceData()
613
-		this.getSysData()
689
+		this.specimenNameName = null
614 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 771
 	addSpLoading:boolean = false;
685 772
 	addMadal:boolean = false;
686 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 790
 			this.message.error('请选择标本名称')
701 791
 			return
702 792
 		}
@@ -847,7 +937,11 @@ export class PathologySampleComponent implements OnInit {
847 937
 					let str = []
848 938
 					if(res.list.length>0){
849 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 946
 						const newStr = new Set(str);
853 947
 						const newData = Array.from(newStr);
@@ -897,25 +991,34 @@ export class PathologySampleComponent implements OnInit {
897 991
 				this.specimenNum = res.specimenNum
898 992
 				this.pathologySpecimenIds = res.ids
899 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 996
 				if(this.ifImmobilization){
903 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 1002
 						fixative:[null, [Validators.required]],
907 1003
 						jobNumber: [null, [Validators.required]],
908 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 1010
 				}else{
912 1011
 					this.validatePrintForm = this.fb.group({
913
-						inVitroTime: [null, [Validators.required]],
1012
+						inVitroTimes: [null, [Validators.required]],
1013
+						inVitroDate: [null, [Validators.required]],
914 1014
 						jobNumber: [null, [Validators.required]],
915 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 1022
 				if(this.detailsData.surgeryDoctorDTO){
920 1023
 					this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
921 1024
 					this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
@@ -937,12 +1040,10 @@ export class PathologySampleComponent implements OnInit {
937 1040
 	submitForm(type): void{
938 1041
 		var that = this;
939 1042
 		this.operation = 'wholePrint'
940
-		console.log(5555,that.validateForm.controls)
941 1043
 		for (const i in that.validateForm.controls) {
942 1044
 			that.validateForm.controls[i].markAsDirty();
943 1045
 			that.validateForm.controls[i].updateValueAndValidity();
944 1046
 		}
945
-		console.log(444,that.validateForm.invalid)
946 1047
 		if (that.validateForm.invalid) return;
947 1048
 		if(this.specimenList.length==0){
948 1049
 			this.message.error('标本不能为空')
@@ -957,25 +1058,34 @@ export class PathologySampleComponent implements OnInit {
957 1058
 					this.specimenNum = res.specimenNum
958 1059
 					this.pathologySpecimenIds = res.ids
959 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 1063
 					if(this.ifImmobilization){
963 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 1069
 							fixative:[null, [Validators.required]],
967 1070
 							jobNumber: [null, [Validators.required]],
968 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 1077
 					}else{
972 1078
 						this.validatePrintForm = this.fb.group({
973
-							inVitroTime: [null, [Validators.required]],
1079
+							inVitroTimes: [null, [Validators.required]],
1080
+							inVitroDate: [null, [Validators.required]],
974 1081
 							jobNumber: [null, [Validators.required]],
975 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 1089
 					if(this.detailsData.surgeryDoctorDTO){
980 1090
 						this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
981 1091
 						this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
@@ -988,7 +1098,7 @@ export class PathologySampleComponent implements OnInit {
988 1098
 							surgeryId: this.surgeryId || "",
989 1099
 							patientId: this.patientId || "",
990 1100
 							hosId: this.hosId || "" ,
991
-							pathologyInspectIds: this.validateForm.value.project.join(','),
1101
+							pathologyInspectIds: this.validateForm.value.project,
992 1102
 							specimenType:{
993 1103
 								id:this.validateForm.value.specimenGenre
994 1104
 							}
@@ -1022,25 +1132,34 @@ export class PathologySampleComponent implements OnInit {
1022 1132
 					this.totalNum = res.totalNum
1023 1133
 					this.specimenNum = res.specimenNum
1024 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 1137
 					if(this.ifImmobilization){
1028 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 1143
 							fixative:[null, [Validators.required]],
1032 1144
 							jobNumber: [null, [Validators.required]],
1033 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 1151
 					}else{
1037 1152
 						this.validatePrintForm = this.fb.group({
1038
-							inVitroTime: [null, [Validators.required]],
1153
+							inVitroTimes: [null, [Validators.required]],
1154
+							inVitroDate: [null, [Validators.required]],
1039 1155
 							jobNumber: [null, [Validators.required]],
1040 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 1163
 					if(this.detailsData.surgeryDoctorDTO){
1045 1164
 						this.validatePrintForm.controls.jobNumber.setValue(this.detailsData.surgeryDoctorDTO.account);
1046 1165
 						this.validatePrintForm.controls.name.setValue(this.detailsData.surgeryDoctorDTO.name);
@@ -1055,7 +1174,7 @@ export class PathologySampleComponent implements OnInit {
1055 1174
 					surgeryId: this.surgeryId || "",
1056 1175
 					patientId: this.patientId || "",
1057 1176
 					hosId: this.hosId || "" ,
1058
-					pathologyInspectIds:this.validateForm.value.project.join(','),
1177
+					pathologyInspectIds:this.validateForm.value.project,
1059 1178
 					specimenType:{
1060 1179
 						id:this.validateForm.value.specimenGenre
1061 1180
 					}

+ 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
 		};