ソースを参照

Merge branch 'master' into develop

seimin 4 ヶ月 前
コミット
e7664115a9

+ 4 - 2
src/app/components/configurationCenter/configuration-deptUser/configuration-deptUser.component.ts

@@ -194,9 +194,11 @@ export class ConfigurationDeptUserComponent implements OnInit {
194 194
 			deptArr.push(i.id)
195 195
 		}
196 196
     this.validatePriorityForm.controls.department.setValue(deptArr);
197
-    this.validatePriorityForm.controls.handleGroup.setValue(data.handleGroupDTO.id);
197
+		if(data.handleGroupDTO){
198
+			this.validatePriorityForm.controls.handleGroup.setValue(data.handleGroupDTO.id);
199
+			this.getUser(data.handleGroupDTO.id)
200
+		}
198 201
 		this.validatePriorityForm.controls.binding.setValue(data.handleUserDTO?'1':'0')
199
-		this.getUser(data.handleGroupDTO.id)
200 202
 		if(data.handleUserDTO){
201 203
 			this.validatePriorityForm.controls.handleUser.setValue(data.handleUserDTO.id);
202 204
 		}

+ 32 - 18
src/app/components/configurationCenter/configuration-hospital/configuration-hospital.component.html

@@ -2,30 +2,44 @@
2 2
   <div class="contentInner">
3 3
 		<div class="hos-title">{{currentHospital.hosName}}</div>
4 4
     <div class="addressAssign">
5
-      <overlay-scrollbars #osComponentRef2 class="contentBody2">
5
+      <div class="contentBody2">
6 6
         <div class="contentBody">
7 7
           <div class="classList" *ngFor="let item of hospitalList">
8
-            <span>{{ item.desc }}:</span>
9
-            <nz-radio-group [(ngModel)]="item.value" (ngModelChange)="radioChange(item)" *ngIf="item.type==null">
10
-              <label nz-radio nzValue="1">是</label>
11
-              <label nz-radio nzValue="0">否</label>
12
-            </nz-radio-group>
8
+						<div class="mar-10" *ngIf="item.key!='itsmWorkHourQuoteDept' && item.key!='itsmConsumableQuoteDept' && !item.show">
9
+							<span>{{ item.desc }}:</span>
10
+							<nz-radio-group [(ngModel)]="item.value" (ngModelChange)="radioChange(item)">
11
+							  <label nz-radio nzValue="1">是</label>
12
+							  <label nz-radio nzValue="0">否</label>
13
+							</nz-radio-group>
14
+						</div>
15
+            
16
+						<div class="mar-10" *ngIf="item.key=='itsmWorkHourQuoteDept' && itsmQuoteOtherDeptWorkHourType">
17
+							<span class="w100px">{{ item.desc }}:</span>
18
+							<nz-select class="w220px" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzAllowClear
19
+								[nzPlaceHolder]="'请选择'+item.desc" [(ngModel)]="item.value">
20
+							  <ng-container *ngFor="let option of maintainDept">
21
+							    <nz-option [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
22
+							  </ng-container>
23
+							</nz-select>
24
+						</div>
25
+						
26
+						<div class="mar-10" *ngIf="item.key=='itsmConsumableQuoteDept' && itsmQuoteOtherDeptConsumableType">
27
+							<span class="w100px">{{ item.desc }}:</span>
28
+							<nz-select class="w220px" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzAllowClear
29
+								[nzPlaceHolder]="'请选择'+item.desc" [(ngModel)]="item.value">
30
+							  <ng-container *ngFor="let option of maintainDept">
31
+							    <nz-option [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
32
+							  </ng-container>
33
+							</nz-select>
34
+						</div>
13 35
 						
14
-						<!-- <nz-select class="w320px" *ngIf="item.type" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzAllowClear
15
-						  (nzOnSearch)="changeSelect($event)" [nzPlaceHolder]="'请选择'+item.desc" [(ngModel)]="item.value">
16
-						  <ng-container *ngFor="let option of item.data">
17
-						    <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
18
-						  </ng-container>
19
-						  <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
20
-						    <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
21
-						  </nz-option>
22
-						</nz-select> -->
23 36
           </div>
24 37
         </div>
25
-      </overlay-scrollbars>
26
-      <div class="contentBtns">
27
-        <button nz-button nzType="primary" (click)="submitMessageForm()">确定</button>
38
+				<div class="contentBtns">
39
+				  <button nz-button nzType="primary" [nzLoading]="btnLoading" (click)="submitMessageForm()">确定</button>
40
+				</div>
28 41
       </div>
42
+      
29 43
     </div>
30 44
   </div>
31 45
 </div>

+ 18 - 10
src/app/components/configurationCenter/configuration-hospital/configuration-hospital.component.less

@@ -5,6 +5,12 @@
5 5
   flex-direction: column;
6 6
   justify-content: space-between;
7 7
   background-color: #F0F2F5;
8
+	.w220px{
9
+		width: 220px;
10
+	}
11
+	.w100px{
12
+			width: 100px !important;
13
+		}
8 14
   .list-template__nzTable,
9 15
   .list-template__bottom{
10 16
     padding: 0!important;
@@ -23,11 +29,11 @@
23 29
     justify-content: space-between;
24 30
     border: 1px solid #EEF3F9;
25 31
     &.priority{
26
-      margin: 24px 275px 0;
32
+      margin: 24px 275px;
27 33
       background-color: #fff;
28 34
       .contentInner{
29
-        padding: 90px 158px 72px;
30
-        border: 1px solid #E8EBEF;
35
+        // padding: 90px 158px 72px;
36
+        // border: 1px solid #E8EBEF;
31 37
 				.hos-title{
32 38
 					font-weight: 600;
33 39
 					font-size: 16px;
@@ -40,15 +46,19 @@
40 46
           flex: 1;
41 47
           display: flex;
42 48
           flex-direction: column;
43
-          align-items: center;
49
+          // align-items: center;
44 50
           padding: 0 16px;
45
-          gap: 32px;
51
+          // gap: 32px;
46 52
         }
47 53
         .hospital{
48 54
           width: 100%;
49 55
           text-align: left;
50 56
         }
51 57
         .classList{
58
+					// padding: 5px 0;
59
+					.mar-10{
60
+						margin: 8px 0;
61
+					}
52 62
           .select{
53 63
             width: 313px;
54 64
           }
@@ -118,7 +128,7 @@
118 128
       .addressAssign{
119 129
         flex: 3;
120 130
         height: 100%;
121
-        background: #FFFFFF;
131
+        // background: #FFFFFF;
122 132
         border: 1px solid #E8EBEF;
123 133
         display: flex;
124 134
         flex-direction: column;
@@ -142,10 +152,8 @@
142 152
       }
143 153
     }
144 154
     .contentBtns{
145
-      margin-bottom: 16px;
146
-      display: flex;
147
-      justify-content: center;
148
-      align-items: center;
155
+      margin-top: 20px;
156
+      text-align: center;
149 157
     }
150 158
   }
151 159
 }

+ 66 - 21
src/app/components/configurationCenter/configuration-hospital/configuration-hospital.component.ts

@@ -19,34 +19,45 @@ export class ConfigurationHospitalComponent implements OnInit {
19 19
 
20 20
   coopData: any = {}; //当前操作列
21 21
   currentHospital; //当前院区
22
-
22
+	maintainDept:any=[];
23
+	
23 24
   ngOnInit() {
25
+		this.maintainDept = this.tool.getUserInfoPermission().dutyList
24 26
     this.currentHospital = this.tool.getCurrentHospital();
25 27
     this.getList();
26 28
   }
27 29
 	
30
+	itsmQuoteOtherDeptWorkHourType:any;
31
+	itsmQuoteOtherDeptConsumableType:any;
28 32
 	radioChange(data){
29 33
 		console.log(123,data)
30
-		return
31
-		let index = this.hospitalList.findIndex(i=>i.id == data.id)
34
+		if(data.key=='itsmParentConsumable' && data.value==1){
35
+			let item = this.hospitalList.find(i=>i.key == 'itsmQuoteOtherDeptConsumable')
36
+			item.show = true
37
+			item.value = '0'
38
+			this.itsmQuoteOtherDeptConsumableType = false
39
+			let item2 = this.hospitalList.find(i=>i.key == 'itsmConsumableQuoteDept')
40
+			item2.value = null
41
+			
42
+		}else if(data.key=='itsmParentConsumable' && data.value==0){
43
+			let item = this.hospitalList.find(i=>i.key == 'itsmQuoteOtherDeptConsumable')
44
+			item.show = false
45
+		}
46
+		
32 47
 		if(data.key=='itsmQuoteOtherDeptWorkHour' && data.value==1){
33
-			let item = {
34
-				desc:'引用科室',
35
-				key:'hour',
36
-				type:'select',
37
-				data:[],
38
-				value:''
39
-			}
40
-			this.hospitalList.splice(index, 0, item)
41
-		}else if(data.key=='itsmQuoteOtherDeptConsumable' && data.value==1){
42
-			let item = {
43
-				desc:'引用科室',
44
-				key:'consumable',
45
-				type:'select',
46
-				data:[],
47
-				value:''
48
-			}
49
-			this.hospitalList.splice(index, 0, item)
48
+			this.itsmQuoteOtherDeptWorkHourType = true
49
+		}else if(data.key=='itsmQuoteOtherDeptWorkHour' && data.value==0){
50
+			this.itsmQuoteOtherDeptWorkHourType = false
51
+			let item = this.hospitalList.find(i=>i.key == 'itsmWorkHourQuoteDept')
52
+			item.value = null
53
+		}
54
+		
55
+		if(data.key=='itsmQuoteOtherDeptConsumable' && data.value==1){
56
+			this.itsmQuoteOtherDeptConsumableType = true
57
+		}else if(data.key=='itsmQuoteOtherDeptConsumable' && data.value==0){
58
+			this.itsmQuoteOtherDeptConsumableType = false
59
+			let item = this.hospitalList.find(i=>i.key == 'itsmConsumableQuoteDept')
60
+			item.value = null
50 61
 		}
51 62
 	}
52 63
 	
@@ -89,7 +100,41 @@ export class ConfigurationHospitalComponent implements OnInit {
89 100
       .subscribe((data) => {
90 101
         this.loading1 = false;
91 102
         if (data.status == 200) {
92
-          this.hospitalList = data.list || [];
103
+					data.list.forEach(i =>{
104
+					  i.show = false
105
+					})
106
+					let newData = data.list
107
+					for(let i of newData){
108
+						if(i.key=='itsmParentConsumable' && i.value==1){
109
+							let item = newData.find(i=>i.key == 'itsmQuoteOtherDeptConsumable')
110
+							item.show = true
111
+							item.value = '0'
112
+							this.itsmQuoteOtherDeptConsumableType = false
113
+							let item2 = newData.find(i=>i.key == 'itsmConsumableQuoteDept')
114
+							item2.value = null
115
+						}else if(i.key=='itsmParentConsumable' && i.value==0){
116
+							let item = newData.find(i=>i.key == 'itsmQuoteOtherDeptConsumable')
117
+							item.show = false
118
+						}
119
+						
120
+						if(i.key=='itsmQuoteOtherDeptWorkHour' && i.value==1){
121
+							this.itsmQuoteOtherDeptWorkHourType = true
122
+							let item = newData.find(i=>i.key == 'itsmWorkHourQuoteDept')
123
+							item.value = Number(item.value)
124
+						}else if(i.key=='itsmQuoteOtherDeptWorkHour' && i.value==0){
125
+							this.itsmQuoteOtherDeptWorkHourType = false
126
+						}
127
+						
128
+						if(i.key=='itsmQuoteOtherDeptConsumable' && i.value==1){
129
+							this.itsmQuoteOtherDeptConsumableType = true
130
+							let item = newData.find(i=>i.key == 'itsmConsumableQuoteDept')
131
+							item.value = Number(item.value)
132
+						}else if(i.key=='itsmQuoteOtherDeptConsumable' && i.value==0){
133
+							this.itsmQuoteOtherDeptConsumableType = false
134
+						}
135
+					}
136
+
137
+          this.hospitalList = newData || [];
93 138
         }else{
94 139
           this.message.error(data.msg || "请求数据失败");
95 140
         }

+ 2 - 2
src/app/services/main.service.ts

@@ -931,8 +931,8 @@ export class MainService {
931 931
 	 }
932 932
 	
933 933
 	//病理申请单追加打印/全量打印
934
-	 pathologyCheckPrint(type,businessId) {
935
-	   return this.http.post(host.host + `/pathology/check/${type}/${businessId}`, {}, {
934
+	 pathologyCheckPrint(type,businessId,data) {
935
+	   return this.http.post(host.host + `/pathology/check/${type}/${businessId}`, data, {
936 936
 	     headers: this.headers,
937 937
 	   });
938 938
 	 }

+ 26 - 27
src/app/share/pathology-add/pathology-add.component.html

@@ -54,7 +54,7 @@
54 54
 					<nz-form-item class="form-item" *ngIf="detailsData.pathologyFormType==null">
55 55
 						<nz-form-label nzRequired nzFor="pathologyFormType" [nzSm]="6" [nzXs]="24">申请单类型</nz-form-label>
56 56
 						<nz-form-control nzErrorTip="请选择申请单类型!" [nzSm]="18" [nzXs]="24">
57
-							<nz-radio-group formControlName="pathologyFormType">
57
+							<nz-radio-group formControlName="pathologyFormType" (ngModelChange)="radioChange($event)">
58 58
 								<label nz-radio [nzValue]="1">术中快速病理检查申请单</label>
59 59
 								<label nz-radio [nzValue]="0">病理检查申请单</label>
60 60
 							</nz-radio-group>
@@ -244,6 +244,7 @@
244 244
 		<div class="title">未打印<i class="icon_transport transport-guanbi" (click)="hideNotModal()"></i>
245 245
 		</div>
246 246
 		<div class="content">
247
+			<div class="content-title">本次需要记录离体标本<span class="reds">{{specimenNum}}</span>份,本申请单共<span class="reds">{{totalNum}}</span>份标本</div>
247 248
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
248 249
 				<nz-form-item>
249 250
 				  <nz-form-label nzRequired [nzSpan]="8" nzFor="inVitroTime">标本离体时间</nz-form-label>
@@ -282,14 +283,13 @@
282 283
 		<div class="monad">
283 284
 			<div *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && operation != 'addPrint'" style="border: 1px solid #AAAAAA;
284 285
 				border-radius: 5px;font-size: 12px;">
285
-				 <div style="display: flex;">
286
-					 <img style="width: 50%;height: 70px;border-radius: 5px;" [src]="printData.applyBarCode" alt="">
287
-					 <div style="width: 50%;">
288
-						 
289
-						 <img style="width: 100%; border-radius: 5px;
290
-						 	position: relative;top: 15px;right: 7px;" [src]="tool.logoUrl" alt="">
291
-					 	<!-- <img style="width: 100%; border-radius: 5px;
292
-					 		position: relative;top: 15px;right: 7px;" src="../../../assets/images/yc_logo.png" alt=""> -->
286
+				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
287
+					 <div style="width: 60%;height: 70px;text-align: center;">
288
+						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
289
+						 <div>{{printData.applyCode}}</div>
290
+					 </div>
291
+					 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
292
+						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
293 293
 					 </div>
294 294
 				 </div>
295 295
 				
@@ -327,17 +327,15 @@
327 327
 			
328 328
 			<div *ngIf="printData && printData.specimenList && printData.specimenList.length>0 && operation == 'addPrint'" style="border: 1px solid #AAAAAA;
329 329
 				border-radius: 5px;font-size: 12px;">
330
-				 <div style="display: flex;">
331
-					 <img style="width: 50%;height: 70px;border-radius: 5px;" [src]="printData.applyBarCode" alt="">
332
-					 <div style="width: 50%;">
333
-						 
334
-						 <img style="width: 100%; border-radius: 5px;
335
-						 	position: relative;top: 15px;right: 7px;" [src]="tool.logoUrl" alt="">
336
-					 	<!-- <img style="width: 100%; border-radius: 5px;
337
-					 		position: relative;top: 15px;right: 7px;" src="../../../assets/images/yc_logo.png" alt=""> -->
330
+				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
331
+					 <div style="width: 60%;height: 70px;text-align: center;">
332
+						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
333
+						 <div>{{printData.applyCode}}</div>
334
+					 </div>
335
+					 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
336
+						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
338 337
 					 </div>
339 338
 				 </div>
340
-				
341 339
 				<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
342 340
 					<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
343 341
 					<div style="width:50%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{printData.patientName}}</div>
@@ -370,19 +368,20 @@
370 368
 				</div>
371 369
 			</div>
372 370
 			
373
-			<div style="height: 20px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1"></div>
371
+			<div style="height: 70px;" *ngIf="printData && printData.specimenList && printData.specimenList.length==1 && operation == 'addPrint'"></div>
372
+			<div style="height: 20px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1 && operation != 'addPrint'"></div>
374 373
 			<div style="font-size: 12px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>0">
375 374
 				<div *ngFor="let data of printData.specimenList; let index=index;">
376 375
 				 <div style="height: 50px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1"></div>
377 376
 				 <div style="border: 1px solid #AAAAAA;border-radius: 5px;">
378
-					 <div style="display: flex;">
379
-					 	<img style="width: 50%;height: 70px;border-radius: 5px;" [src]="data.barCode" alt="">
380
-						<div style="width: 50%;">
381
-							<img style="width: 100%; border-radius: 5px;
382
-								position: relative;top: 15px;right: 7px;" [src]="tool.logoUrl" alt="">
383
-							<!-- <img style="width: 100%;border-radius: 5px;
384
-								position: relative;top: 15px;right: 7px;" src="../../../assets/images/yc_logo.png" alt=""> -->
385
-						</div>
377
+					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
378
+						 <div style="width: 60%;height: 70px;text-align: center;">
379
+							 <img style="max-width: 90%;height: 80%;" [src]="data.barCode" alt="">
380
+							 <div>{{data.specimenCode}}</div>
381
+						 </div>
382
+						 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
383
+							 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
384
+						 </div>
386 385
 					 </div>
387 386
 					 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
388 387
 					 	<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>

+ 8 - 0
src/app/share/pathology-add/pathology-add.component.less

@@ -228,6 +228,14 @@
228 228
 	      padding: 19px 14px 0 14px;
229 229
 	      max-height: 500px;
230 230
 	      overflow-y: auto;
231
+				.content-title{
232
+					text-align: center;
233
+					margin-bottom: 10px;
234
+					font-weight: 600;
235
+					.reds{
236
+						color: red;
237
+					}
238
+				}
231 239
 				.ant-form-item {
232 240
 				  margin-bottom: 14px;
233 241
 					display: flex;

+ 47 - 12
src/app/share/pathology-add/pathology-add.component.ts

@@ -24,6 +24,7 @@ export class PathologyAddComponent implements OnInit {
24 24
 	@Input() surgeryId: string;
25 25
 	@Input() patientId: string;
26 26
 	@Input() detailId: string;
27
+	@Input() applicationType: string;
27 28
 	
28 29
 	constructor(
29 30
 		private http: HttpClient,
@@ -69,6 +70,21 @@ export class PathologyAddComponent implements OnInit {
69 70
 		this.fetchDataList()
70 71
   }
71 72
 	
73
+	radioChange(data){
74
+		let arr = [];
75
+		let item = null
76
+		// if(!this.validateForm.value.project){
77
+			if(data==1){
78
+				item = this.projectData.find(i=>i.value=='2241') //冰冻切片检查
79
+			}else{
80
+				item = this.projectData.find(i=>i.value=='1810') //病理小标本
81
+			}
82
+			console.log(5555,item)
83
+			arr.push(item.id)
84
+			this.validateForm.controls.project.setValue(arr);
85
+		// }
86
+	}
87
+	
72 88
 	// 初始化新增form表单
73 89
 	initForm() {
74 90
 		this.validateForm = this.fb.group({
@@ -88,7 +104,7 @@ export class PathologyAddComponent implements OnInit {
88 104
 		  idx: 0,
89 105
 		  sum: 9999,
90 106
 		  pathologyForm: {
91
-				surgeryId: this.surgeryId || "",
107
+				surgeryId: "",
92 108
 		    patientId: this.patientId || "",
93 109
 		    hosId: this.hosId || "" ,
94 110
 		  },
@@ -106,6 +122,7 @@ export class PathologyAddComponent implements OnInit {
106 122
 				if(this.detailsData.pathologyFormType!=null){
107 123
 					this.validateForm.controls.pathologyFormType.setValue(this.detailsData.pathologyFormType);
108 124
 				}
125
+
109 126
 				if(this.detailsData.intraoperativeFindings){
110 127
 					this.validateForm.controls.intraoperativeFindings.setValue(this.detailsData.intraoperativeFindings);
111 128
 				}
@@ -123,6 +140,9 @@ export class PathologyAddComponent implements OnInit {
123 140
 			this.specimenData = res.filter(i=>i.extra1 == 'pathologySpecimen')
124 141
 			if(this.detailsData.specimenType){
125 142
 				this.validateForm.controls.specimenGenre.setValue(this.detailsData.specimenType.id);
143
+			}else{
144
+				let item = this.specimenData.find(i=>i.value==10)
145
+				this.validateForm.controls.specimenGenre.setValue(item.id);
126 146
 			}
127 147
 			if(this.detailsData.specimenNum){
128 148
 				this.validateForm.controls.specimenNum.setValue(this.detailsData.specimenNum);
@@ -766,6 +786,8 @@ export class PathologyAddComponent implements OnInit {
766 786
 	zjLoading:any = false;
767 787
 	operation:any;
768 788
 	pathologySpecimenIds:any;
789
+	totalNum:any;
790
+	specimenNum:any;
769 791
 	superaddition(): void{
770 792
 		var that = this;
771 793
 		this.operation = 'addPrint'
@@ -778,9 +800,12 @@ export class PathologyAddComponent implements OnInit {
778 800
 			this.message.error('标本不能为空')
779 801
 			return
780 802
 		}
781
-		that.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id).subscribe((res:any)=>{
803
+		that.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id,{}).subscribe((res:any)=>{
804
+			this.separationMsg = res.msg
782 805
 			if(res.ids){
783 806
 				this.notModal = true
807
+				this.totalNum = res.totalNum
808
+				this.specimenNum = res.specimenNum
784 809
 				this.pathologySpecimenIds = res.ids
785 810
 				this.validatePrintForm = this.fb.group({
786 811
 				  inVitroTime: [null, [Validators.required]],
@@ -798,6 +823,7 @@ export class PathologyAddComponent implements OnInit {
798 823
 	
799 824
 	// 打印标本/全量
800 825
 	printData:any;
826
+	separationMsg:any = '本次需要记录离体标本6份,本申请单共6份标本';
801 827
 	submitForm(type): void{
802 828
 		var that = this;
803 829
 		this.operation = 'wholePrint'
@@ -811,9 +837,12 @@ export class PathologyAddComponent implements OnInit {
811 837
 			return
812 838
 		}
813 839
 		if(type=='all'){
814
-			that.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id).subscribe((res:any)=>{
840
+			that.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id,{}).subscribe((res:any)=>{
841
+				this.separationMsg = res.msg
815 842
 				if(res.ids){
816 843
 					this.notModal = true
844
+					this.totalNum = res.totalNum
845
+					this.specimenNum = res.specimenNum
817 846
 					this.pathologySpecimenIds = res.ids
818 847
 					this.validatePrintForm = this.fb.group({
819 848
 					  inVitroTime: [null, [Validators.required]],
@@ -858,15 +887,20 @@ export class PathologyAddComponent implements OnInit {
858 887
 		}else{
859 888
 			this.operation = 'null'
860 889
 			if(this.statusValue==1){
861
-				this.notModal = true
862
-				this.validatePrintForm = this.fb.group({
863
-					inVitroTime: [null, [Validators.required]],
864
-					jobNumber: [null, [Validators.required]],
865
-					name:[null, [Validators.required]],
866
-				});
867
-				let date = new Date();
868
-				this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
869
-				this.validatePrintForm.controls.inVitroTime.setValue(this.startDate);
890
+				this.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id,{}).subscribe((res:any)=>{
891
+					this.separationMsg = res.msg
892
+					this.notModal = true
893
+					this.totalNum = res.totalNum
894
+					this.specimenNum = res.specimenNum
895
+					this.validatePrintForm = this.fb.group({
896
+						inVitroTime: [null, [Validators.required]],
897
+						jobNumber: [null, [Validators.required]],
898
+						name:[null, [Validators.required]],
899
+					});
900
+					let date = new Date();
901
+					this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
902
+					this.validatePrintForm.controls.inVitroTime.setValue(this.startDate);
903
+				})
870 904
 				return
871 905
 			}
872 906
 			let data: any = {
@@ -876,6 +910,7 @@ export class PathologyAddComponent implements OnInit {
876 910
 					surgeryId: this.surgeryId || "",
877 911
 					patientId: this.patientId || "",
878 912
 					hosId: this.hosId || "" ,
913
+					pathologyInspectIds:this.validateForm.value.project.join(','),
879 914
 					specimenType:{
880 915
 						id:this.validateForm.value.specimenGenre
881 916
 					}

+ 16 - 17
src/app/share/pathology-detail/pathology-detail.component.html

@@ -19,7 +19,7 @@
19 19
 					<nz-form-item class="form-title-box">
20 20
 						<div class="form-title"><span class="font-weight-500">患者信息:</span>{{detailsData.patientDTO.patientName}} ({{detailsData.patientDTO.bedNum}}床)</div>
21 21
 						<div class="form-title"><span class="font-weight-500">年龄:</span>{{detailsData.patientDTO.age||'-'}}</div>
22
-						<div class="form-title"><span class="font-weight-500">性别:</span>{{detailsData.patientDTO.gender.name||'-'}}</div>
22
+						<div class="form-title"><span class="font-weight-500">性别:</span>{{detailsData.patientDTO.gender ? detailsData.patientDTO.gender.name : '-'}}</div>
23 23
 						<div class="form-title"><span class="font-weight-500">住院号:</span>{{detailsData.patientDTO.patientCode}}</div>
24 24
 					</nz-form-item>
25 25
 					
@@ -115,16 +115,15 @@
115 115
 		<div class="monad">
116 116
 			<div *ngIf="printData && printData.specimenList && printData.specimenList.length>1" style="border: 1px solid #AAAAAA;
117 117
 				border-radius: 5px;font-size: 12px;">
118
-				 <div style="display: flex;">
119
-					 <img style="width: 50%;height: 70px;border-radius: 5px;" [src]="printData.applyBarCode" alt="">
120
-					 <div style="width: 50%;">
121
-						 <img style="width: 100%; border-radius: 5px;
122
-						 	position: relative;top: 15px;right: 7px;" [src]="tool.logoUrl" alt="">
123
-<!-- 					 	<img style="width: 100%; border-radius: 5px;
124
-					 		position: relative;top: 15px;right: 7px;" src="../../../assets/images/yc_logo.png" alt=""> -->
118
+				 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
119
+					 <div style="width: 60%;height: 70px;text-align: center;">
120
+						 <img style="max-width: 90%;height: 80%;" [src]="printData.applyBarCode" alt="">
121
+						 <div>{{printData.applyCode}}</div>
122
+					 </div>
123
+					 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
124
+						 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
125 125
 					 </div>
126 126
 				 </div>
127
-				
128 127
 				<div style="display: flex;border-bottom: 1px solid #AAAAAA;">
129 128
 					<div style="width:20%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>
130 129
 					<div style="width:50%;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">{{printData.patientName}}</div>
@@ -162,14 +161,14 @@
162 161
 				<div *ngFor="let data of printData.specimenList; let index=index;">
163 162
 				 <div style="height: 50px;" *ngIf="printData && printData.specimenList && printData.specimenList.length>1"></div>
164 163
 				 <div style="border: 1px solid #AAAAAA;border-radius: 5px;">
165
-					 <div style="display: flex;">
166
-					 	<img style="width: 50%;height: 70px;border-radius: 5px;" [src]="data.barCode" alt="">
167
-						<div style="width: 50%;">
168
-							<img style="width: 100%; border-radius: 5px;
169
-								position: relative;top: 15px;right: 7px;" [src]="tool.logoUrl" alt="">
170
-							<!-- <img style="width: 100%;border-radius: 5px;
171
-								position: relative;top: 15px;right: 7px;" src="../../../assets/images/yc_logo.png" alt=""> -->
172
-						</div>
164
+					 <div style="display: flex;align-items: center;flex-wrap: nowrap;height: 80px;padding: 0 1px;">
165
+						 <div style="width: 60%;height: 70px;text-align: center;">
166
+							 <img style="max-width: 90%;height: 80%;" [src]="data.barCode" alt="">
167
+							 <div>{{data.specimenCode}}</div>
168
+						 </div>
169
+						 <div style="width: 40%;height: 100%;text-align: center;display: flex;align-items: center;">
170
+							 <img style="max-width: 100%;max-height: 100%;" [src]="tool.logoUrl" alt="">
171
+						 </div>
173 172
 					 </div>
174 173
 					 <div style="display: flex;border-bottom: 1px solid #AAAAAA;">
175 174
 					 	<div style="width:20%;box-sizing: border-box;border-right: 1px solid #AAAAAA;border-top: 1px solid #aaa;padding:1px;">患者姓名</div>

+ 4 - 2
src/app/views/hushijiandan/hushijiandan.component.html

@@ -2977,7 +2977,7 @@
2977 2977
 <button ngxPrint printSectionId="print-section" #printBtn hidden [printStyle]="{ '@page': { margin: '0 !important' }, 'body': { margin: '0 !important' } }">打印</button>
2978 2978
 
2979 2979
 <!-- 病理申请单 -->
2980
-<app-pathology-add *ngIf="pathologyModal" [surgeryId]="surgeryDataId" [patientId]="patientDataId" [patientId]="patientDataId" [detailId]="detailId" (pathologyCancel)="pathologyCancel($event)"></app-pathology-add>
2980
+<app-pathology-add *ngIf="pathologyModal" [surgeryId]="surgeryDataId" [patientId]="patientDataId" [patientId]="patientDataId" [detailId]="detailId" [applicationType]="applicationType" (pathologyCancel)="pathologyCancel($event)"></app-pathology-add>
2981 2981
 
2982 2982
 <!-- 病理详情 -->
2983 2983
 <app-pathology-detail *ngIf="pathologyDetailModal" [surgeryId]="surgeryDataId" [patientId]="patientDataId" [detailId]="detailId" (pathologyCancel)="pathologyDetailCancel($event)"></app-pathology-detail>
@@ -3022,7 +3022,9 @@
3022 3022
 			</div>
3023 3023
 		</div>
3024 3024
 		<div class="display_flex justify-content_flex-center mar-20 btns">
3025
-			<button class="btn" nz-button nzType="primary" (click)="hideModal()">知道了</button>
3025
+			<button class="btn" style="margin-right: 0;" *ngIf="autoCreate==1" nz-button nzType="primary" (click)="addPathologyType(0)">新增普通病理</button>
3026
+			<button class="btn" *ngIf="autoCreate==1" nz-button nzType="primary" (click)="addPathologyType(1)">新增术中快速病理</button>
3027
+			<button class="btn cancel" nz-button nzType="default" (click)="hideModal()">知道了</button>
3026 3028
 		</div>
3027 3029
 	</div>
3028 3030
 </div>

+ 79 - 4
src/app/views/hushijiandan/hushijiandan.component.ts

@@ -212,7 +212,7 @@ export class HushijiandanComponent implements OnInit {
212 212
     this.refreshSpecimenWorkOrderMsg();
213 213
     this.initRole();
214 214
     this.getWebsocket();
215
-
215
+		this.getTaskTypesId();
216 216
     // 综合日志倒计时 start
217 217
     this.logTime = this.logTimeConst;
218 218
     clearInterval(this.logTimer);
@@ -305,7 +305,61 @@ export class HushijiandanComponent implements OnInit {
305 305
     this.coopBtns = coopBtns;
306 306
     console.log(this.coopBtns);
307 307
   }
308
-
308
+	
309
+	// 获取任务类型(病理标本)
310
+	taskTypeData:any;
311
+	getTaskTypesId() {
312
+		this.mainService.getDictionary("list", "ordinary_field").subscribe((data) => {
313
+			this.taskTypeData = data.find(i=>i.value=='pathology')
314
+			this.getPathologySys();
315
+		});
316
+	}
317
+	
318
+	// 获取标本配置
319
+	autoCreate:any;
320
+	getPathologySys(){
321
+		let postData = {
322
+			  idx: 0,
323
+			  sum: 10,
324
+			  taskTypeConfig: {
325
+					hosId:this.currentHospital.id,
326
+					taskType:this.taskTypeData.id
327
+			  }
328
+		}
329
+		
330
+		this.mainService
331
+		  .getFetchDataList("simple/data", "taskTypeConfig", postData)
332
+		  .subscribe((result) => {
333
+		    if (result.status == 200) {
334
+					this.autoCreate = result.list[0].autoCreate;
335
+		    }
336
+		  });
337
+	}
338
+	
339
+	// 新增申请单自选类型
340
+	applicationType:any;
341
+	addPathologyType(type){
342
+		this.surgeryDataId = this.surgeryWKOMsg.id
343
+		this.patientDataId = this.surgeryWKOMsg.patientDTO.id
344
+		this.applicationType = type
345
+		let data = {
346
+			idx: 0,
347
+			sum: 9999,
348
+			surgeryId: this.surgeryWKOMsg.id || "",
349
+			patientId: this.surgeryWKOMsg.patientDTO.id || "",
350
+			hosId: this.currentHospital.id || "" ,
351
+			operationType: 'pathologyForm',
352
+			pathologyFormType: type
353
+		};
354
+		this.mainService
355
+		.simplePost("addData", "pathologyForm", data)
356
+		.subscribe((data) => {
357
+			this.detailId = data.data.id
358
+			this.multiDialog = false
359
+			this.pathologyModal = true
360
+		});
361
+	}
362
+	
309 363
 	// 手术排程-病理申请单
310 364
 	pathologyAddItem(e,item){
311 365
 		this.surgeryDataId = item.id
@@ -314,7 +368,7 @@ export class HushijiandanComponent implements OnInit {
314 368
 			idx: 0,
315 369
 			sum: 9999,
316 370
 			pathologyForm: {
317
-				surgeryId: item.id || "",
371
+				// surgeryId: item.id || "",
318 372
 				patientId: item.patientDTO.id || "",
319 373
 				hosId: this.currentHospital.id || "" ,
320 374
 				operationType: 'pathologyForm',
@@ -326,6 +380,15 @@ export class HushijiandanComponent implements OnInit {
326 380
 			.getFetchDataList("data", "pathologyForm", data)
327 381
 			.subscribe((data) => {
328 382
 				this.isSpinning = false
383
+				this.viewData = data.list
384
+				if(this.viewData.pathologyInspectDTOS){
385
+					for(let i of this.viewData.pathologyInspectDTOS){
386
+						i.arr = []
387
+						i.arr.push(i.inspectProject.name)
388
+					}
389
+				}
390
+				this.multiDialog = true
391
+				return
329 392
 				if(data.list.length==1){
330 393
 					this.detailId = data.list[0].id
331 394
 					if(!data.list[0].status){
@@ -365,7 +428,7 @@ export class HushijiandanComponent implements OnInit {
365 428
 			idx: 0,
366 429
 			sum: 9999,
367 430
 			pathologyForm: {
368
-				surgeryId: this.surgeryWKOMsg.id || "",
431
+				// surgeryId: this.surgeryWKOMsg.id || "",
369 432
 				patientId: this.surgeryWKOMsg.patientDTO.id || "",
370 433
 				hosId: this.currentHospital.id || "" ,
371 434
 				operationType: 'pathologyForm',
@@ -377,6 +440,18 @@ export class HushijiandanComponent implements OnInit {
377 440
 		.getFetchDataList("data", "pathologyForm", data)
378 441
 		.subscribe((data) => {
379 442
 			this.isSpinning = false
443
+			this.viewData = data.list
444
+			for(let i of this.viewData){
445
+				if(i.pathologyInspectDTOS){
446
+					i.arr = []
447
+					for(let x of i.pathologyInspectDTOS){
448
+						i.arr.push(x.inspectProject.name)
449
+					}
450
+				}
451
+			}
452
+			console.log(777,this.viewData)
453
+			this.multiDialog = true
454
+			return
380 455
 			if(data.list.length==1){
381 456
 				this.detailId = data.list[0].id
382 457
 				if(!data.list[0].status){

+ 2 - 2
src/app/views/incident-management/incident-management.component.html

@@ -8,13 +8,13 @@
8 8
 				<div class="list-template__searchItem" *ngIf="coopBtns.strideLook && queryTask!='todo' && queryTask!='doing' && queryTask!='storage'">
9 9
 				  <span class="label">维修科室</span>:
10 10
 				  <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch
11
-				     nzAllowClear nzPlaceHolder="请选择维修科室" [(ngModel)]="searchDTO.maintainDepartment">
11
+				     (ngModelChange)="deptChange($event)" nzAllowClear nzPlaceHolder="请选择维修科室" [(ngModel)]="searchDTO.maintainDepartment">
12 12
 				    <ng-container *ngFor="let option of maintainDept">
13 13
 				      <nz-option [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
14 14
 				    </ng-container>
15 15
 				  </nz-select>
16 16
 				</div>
17
-				<div class="list-template__searchItem" *ngIf="queryTask!='todo' && queryTask!='owns' && queryTask!='storage'">
17
+				<div class="list-template__searchItem" *ngIf="queryTask!='todo' && queryTask!='owns' && queryTask!='storage' && queryTask!='doing' && queryTask!='reassign'">
18 18
 				  <span class="label">维修组</span>:
19 19
 				  <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch
20 20
 				     nzAllowClear nzPlaceHolder="请选择维修组" [(ngModel)]="searchDTO.maintainGroup">

+ 60 - 13
src/app/views/incident-management/incident-management.component.ts

@@ -75,18 +75,29 @@ export class IncidentManagementComponent implements OnInit {
75 75
 		let itemDept = this.maintainDept.find(i=>i.id == this.hosIds)
76 76
 		if(itemDept){
77 77
 			this.searchDTO.maintainDepartment = itemDept.id
78
+			if(this.queryTask!='todo' && this.queryTask!='doing' && this.queryTask!='storage'){
79
+				let arr = this.tool.getUserInfoPermission().dutyGroupList.filter(i=>i.hospital.id == itemDept.id)
80
+				if(arr){
81
+					this.maintainGroup = arr
82
+				}else{
83
+					this.maintainGroup = this.tool.getUserInfoPermission().dutyGroupList
84
+				}
85
+			}else{
86
+				this.maintainGroup = this.tool.getUserInfoPermission().dutyGroupList
87
+			}
88
+			
78 89
 		}
90
+		this.getDeparts();
91
+		this.getUsers('', 'handle');
79 92
     this.loading1 = true;
80 93
     this.debounceSubject.next(true);
81 94
   }
82 95
 
83 96
   ngOnInit() {
84 97
 		this.maintainDept = this.tool.getUserInfoPermission().dutyList
85
-		this.maintainGroup = this.tool.getUserInfoPermission().dutyGroupList
86 98
 		this.hosIds = this.tool.getCurrentHospital().id
87
-		let itemDept = this.maintainDept.find(i=>i.id == this.hosIds)
88
-		if(itemDept){
89
-			this.searchDTO.maintainDepartment = itemDept.id
99
+		if(this.coopBtns.strideLook){
100
+			this.defaDept()
90 101
 		}
91 102
     this.initSearchForm();
92 103
     this.searchTimerSubject.pipe(debounceTime(500)).subscribe((v) => {
@@ -98,9 +109,6 @@ export class IncidentManagementComponent implements OnInit {
98 109
     });
99 110
     this.coopBtns = this.tool.initCoopBtns(this.route);
100 111
     this.initTabs();
101
-    this.getDeparts();
102
-    this.getUsers('', 'handle');
103
-    this.getUsers('', 'acceptUser');
104 112
     this.getGdStates();
105 113
     this.getOverdueStates();
106 114
     this.getIncidentCategoryList();
@@ -125,7 +133,31 @@ export class IncidentManagementComponent implements OnInit {
125 133
     //     this.tabs.push({key: 'badEvaluate', value: '异常评价', num: 0, isRed: false});
126 134
     // }
127 135
   }
128
-
136
+	
137
+	defaDept(){
138
+		let itemDept = this.maintainDept.find(i=>i.id == this.hosIds)
139
+		if(itemDept){
140
+			this.searchDTO.maintainDepartment = itemDept.id
141
+		}
142
+		this.getDeparts();
143
+		this.getUsers('', 'handle');
144
+		this.getUsers('', 'acceptUser');
145
+	}
146
+	
147
+	// 选择维修科室
148
+	deptChange(e){
149
+		this.searchDTO.maintainGroup = null
150
+		let arr  = this.tool.getUserInfoPermission().dutyGroupList.filter(i=>i.hospital.id == e)
151
+		if(arr){
152
+			this.maintainGroup = arr
153
+		}else{
154
+			this.maintainGroup = this.tool.getUserInfoPermission().dutyGroupList
155
+		}
156
+		this.searchDTO.maintainDepartment = e
157
+		this.getDeparts();
158
+		this.getUsers('', 'handle');
159
+	}
160
+	
129 161
   // 搜索
130 162
   search() {
131 163
     this.loading1 = true;
@@ -134,6 +166,9 @@ export class IncidentManagementComponent implements OnInit {
134 166
   // 重置
135 167
   reset() {
136 168
     this.searchDTO = {};
169
+		if(this.coopBtns.strideLook){
170
+			this.defaDept()
171
+		}
137 172
     this.initSearchForm();
138 173
     this.loading1 = true;
139 174
     this.debounceSubject.next(true);
@@ -167,7 +202,7 @@ export class IncidentManagementComponent implements OnInit {
167 202
     let postData = {
168 203
       user: {
169 204
         name: e || "",
170
-        hospital: { id: that.tool.getCurrentHospital().id },
205
+        hospital: { id: this.searchDTO.maintainDepartment?this.searchDTO.maintainDepartment:that.tool.getCurrentHospital().id },
171 206
         engineer: 1,
172 207
         simpleQuery: true,
173 208
       },
@@ -329,8 +364,7 @@ export class IncidentManagementComponent implements OnInit {
329 364
 				delete postData.incident.hosId;
330 365
 			}
331 366
 		}
332
-		
333
-		if(this.queryTask!='todo' && this.queryTask!='owns' && this.queryTask!='storage'){
367
+		if(this.queryTask!='todo' && this.queryTask!='owns' && this.queryTask!='storage' && this.queryTask!='doing' && this.queryTask!='reassign'){
334 368
 			postData.incident.candidateGroupId = this.searchDTO.maintainGroup
335 369
 		}else{
336 370
 			delete postData.incident.candidateGroupId;
@@ -394,7 +428,15 @@ export class IncidentManagementComponent implements OnInit {
394 428
             delete incident.duty;
395 429
             delete incident.hosId;
396 430
         }
397
-
431
+				
432
+				if(incident.queryTask!='todo' && incident.queryTask!='doing' && incident.queryTask!='storage'){
433
+					if(this.searchDTO.maintainDepartment){
434
+						let itemDept = this.maintainDept.find(i=>i.id == this.searchDTO.maintainDepartment)
435
+						incident.duty = itemDept;
436
+						delete incident.hosId;
437
+					}
438
+				}
439
+				
398 440
         incident.assignee = this.tool.getCurrentUserId();
399 441
 
400 442
         if(incident.queryTask === 'todo' || incident.queryTask === 'owns'){
@@ -402,6 +444,11 @@ export class IncidentManagementComponent implements OnInit {
402 444
         }else{
403 445
           delete incident.candidateGroups;
404 446
         }
447
+				if(incident.queryTask!='todo' && incident.queryTask!='owns' && incident.queryTask!='storage' && incident.queryTask!='doing' && incident.queryTask!='reassign'){
448
+					incident.candidateGroupId = this.searchDTO.maintainGroup
449
+				}else{
450
+					delete incident.candidateGroupId;
451
+				}
405 452
     })
406 453
     this.mainService
407 454
       .getCount(postData)
@@ -418,7 +465,7 @@ export class IncidentManagementComponent implements OnInit {
418 465
     let data = {
419 466
       department: {
420 467
         searchType: 1,// 简单查询
421
-        cascadeHosId: this.tool.getCurrentHospital().id,
468
+        cascadeHosId: this.searchDTO.maintainDepartment?this.searchDTO.maintainDepartment:this.tool.getCurrentHospital().id,
422 469
         dept: dept,
423 470
       },
424 471
       idx: 0,

+ 16 - 6
src/app/views/repository-manage/repository-manage.component.ts

@@ -40,16 +40,15 @@ export class RepositoryManageComponent implements OnInit {
40 40
 		private sanitizer: DomSanitizer
41 41
   ) {}
42 42
   ngOnInit() {
43
-		this.maintainDept = this.tool.getUserInfoPermission().dutyList
44
-		let itemDept = this.maintainDept.find(i=>i.id == this.hosId)
45
-		if(itemDept){
46
-			this.maintainDepartment = itemDept.id
47
-		}
48 43
     this.searchParentDeptSubject.pipe(debounceTime(500)).subscribe((e) => {
49 44
 
50 45
     });
51 46
 		this.hosId = this.tool.getCurrentHospital().id;
52 47
     this.coopBtns = this.tool.initCoopBtns(this.route);
48
+		this.maintainDept = this.tool.getUserInfoPermission().dutyList
49
+		if(this.coopBtns.strideLook){
50
+			this.defaDept()
51
+		}
53 52
 		this.getList();
54 53
   }
55 54
 	maintainDept:any = []; //维修科室
@@ -116,7 +115,15 @@ export class RepositoryManageComponent implements OnInit {
116 115
     this.coopData = data;
117 116
     this.showDelModal1();
118 117
   }
119
-
118
+	
119
+	// 默认科室
120
+	defaDept(){
121
+		let itemDept = this.maintainDept.find(i=>i.id == this.hosId)
122
+		if(itemDept){
123
+			this.maintainDepartment = itemDept.id
124
+		}
125
+	}
126
+	
120 127
   showDelModal1() {
121 128
     this.editModal = true;
122 129
   }
@@ -163,6 +170,9 @@ export class RepositoryManageComponent implements OnInit {
163 170
     this.pageIndex = 1;
164 171
 		this.solutionNumber = null;
165 172
 		this.title = null;
173
+		if(this.coopBtns.strideLook){
174
+			this.defaDept()
175
+		}
166 176
     this.getList();
167 177
   }
168 178
   // 表格数据

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

@@ -511,7 +511,7 @@
511 511
 			</div>
512 512
 			
513 513
 			<div class="content-item">
514
-				<div class="center">提示:申请单含<span class="red">{{codeData.specimenNum}}</span>只标本,已扫<span class="red">{{codeData.pathologySpecimenDTOList.length}}</span>只<span *ngIf="codeData.pathologySpecimenDTOList.length < codeData.specimenNum">,请继续扫描标本。</span></div>
514
+				<div class="center">提示:本申请单内共有<span class="red">{{totalNum}}</span>只标本固定,已固定<span class="red">{{fixationNum}}</span>份还需固定<span class="red">{{specimenNum}}</span>份</div>
515 515
 				<div class="disp-fl">
516 516
 					<div class="width-120">标本条码:</div>
517 517
 					<input nz-input id="specimen" [(ngModel)]="specimenCode" (ngModelChange)="codeChange($event)"/>

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

@@ -191,10 +191,7 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
191 191
 								})
192 192
 								this.project = this.project.join('、')
193 193
 							}
194
-							this.fixationModal = true
195
-							setTimeout(_=>{
196
-								document.getElementById('specimen').focus();
197
-							},200)
194
+							this.getFixationNum(this.codeData.id)
198 195
 						}else{
199 196
 							this.viewDetail(this.codeData,'4')
200 197
 						}
@@ -217,7 +214,25 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
217 214
 			}
218 215
 		})
219 216
 	}
220
-
217
+	
218
+	// 获取申请单扫标本信息
219
+	fixationNum:any;
220
+	specimenNum:any;
221
+	totalNum:any
222
+	getFixationNum(id){
223
+		this.mainService.pathologyCheckPrint('pathologyForm',id,{
224
+			operationType:'fixation'
225
+		}).subscribe((res:any)=>{
226
+			this.fixationModal = true
227
+			this.fixationNum = res.fixationNum
228
+			this.specimenNum = res.specimenNum
229
+			this.totalNum = res.totalNum
230
+			setTimeout(_=>{
231
+				document.getElementById('specimen').focus();
232
+			},200)
233
+		})
234
+	}
235
+	
221 236
 	// 选择固定时间
222 237
 	formChangeDate(result){
223 238
 	  this.startDate = format(result, 'yyyy-MM-dd HH:mm:ss');
@@ -553,7 +568,7 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
553 568
 	codeChange(e){
554 569
 		this.changeInpSubject.next([e]);
555 570
 	}
556
-
571
+	
557 572
 	fixationError:any;
558 573
 	searchSpecimenData(e){
559 574
 		if(!e){
@@ -573,10 +588,10 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
573 588
 			this.specimenCode = null
574 589
 			if(res.status==200){
575 590
 				let item = res.data[0].pathologySpecimenDTOList.find(i=>i.specimenCode == e)
576
-				console.log(8,item)
577 591
 				if(item.fixationTime){
578 592
 					this.fixationError = '该标本已经固定过'
579 593
 				}else{
594
+					this.getFixationNum(res.data[0].id)
580 595
 					this.codeData = res.data[0]
581 596
 					this.fixationError = null
582 597
 				}

+ 6 - 0
src/app/views/sys-config/sys-config.component.html

@@ -208,6 +208,12 @@
208 208
 						</nz-radio-group>
209 209
 				  </nz-form-control>
210 210
 				</nz-form-item>
211
+				<nz-form-item class="formItem">
212
+				  <nz-form-label [nzSpan]="24" nzFor="supportAppVersion" class="label">支助APP版本号</nz-form-label>
213
+				  <nz-form-control [nzSpan]="24" nzErrorTip="请输入支助APP版本号!">
214
+				    <input nz-input formControlName="supportAppVersion" id="supportAppVersion" placeholder="请输入支助APP版本号">
215
+				  </nz-form-control>
216
+				</nz-form-item>
211 217
       </div>
212 218
     </form>
213 219
   </overlay-scrollbars>

+ 8 - 1
src/app/views/sys-config/sys-config.component.ts

@@ -74,6 +74,7 @@ export class SysConfigComponent implements OnInit {
74 74
       busiViewDeptId: [null, [Validators.required]],
75 75
 			repairs: [null, [Validators.required]],
76 76
 			cmdbRepair: [null, [Validators.required]],
77
+			supportAppVersion: [null, [Validators.required]],
77 78
     });
78 79
     this.getDeptType();
79 80
     this.coopBtns = this.tool.initCoopBtns(this.route);
@@ -152,7 +153,8 @@ export class SysConfigComponent implements OnInit {
152 153
         item.keyconfig === "busiViewDeptId" ||
153 154
 				item.keyconfig === "deptRepair" ||
154 155
 				item.keyconfig === "publicRepair" ||
155
-				item.keyconfig === "cmdbRepair" 
156
+				item.keyconfig === "cmdbRepair" ||
157
+				item.keyconfig === "supportAppVersion"
156 158
     );
157 159
 		console.log(7777,this.validateForm.controls.repairs.value)
158 160
     filterData.forEach((item) => {
@@ -206,6 +208,8 @@ export class SysConfigComponent implements OnInit {
206 208
 			  item.valueconfig = value;
207 209
 			}else if (item.keyconfig === "cmdbRepair") {
208 210
         item.valueconfig = this.validateForm.controls.cmdbRepair.value;
211
+      }else if (item.keyconfig === "supportAppVersion") {
212
+        item.valueconfig = this.validateForm.controls.supportAppVersion.value;
209 213
       }
210 214
     });
211 215
     const postData = filterData;
@@ -334,6 +338,9 @@ export class SysConfigComponent implements OnInit {
334 338
 								case "cmdbRepair":
335 339
 								  this.validateForm.controls.cmdbRepair.setValue(c[1] + "");
336 340
 								  break;
341
+								case "supportAppVersion":
342
+								  this.validateForm.controls.supportAppVersion.setValue(c[1]);
343
+								  break;
337 344
               }
338 345
             });
339 346
           } else {