Browse Source

病理优化

maotao 5 months ago
parent
commit
b3da73c874

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

@@ -2,30 +2,44 @@
2
   <div class="contentInner">
2
   <div class="contentInner">
3
 		<div class="hos-title">{{currentHospital.hosName}}</div>
3
 		<div class="hos-title">{{currentHospital.hosName}}</div>
4
     <div class="addressAssign">
4
     <div class="addressAssign">
5
-      <overlay-scrollbars #osComponentRef2 class="contentBody2">
5
+      <div class="contentBody2">
6
         <div class="contentBody">
6
         <div class="contentBody">
7
           <div class="classList" *ngFor="let item of hospitalList">
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
           </div>
36
           </div>
24
         </div>
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
       </div>
41
       </div>
42
+      
29
     </div>
43
     </div>
30
   </div>
44
   </div>
31
 </div>
45
 </div>

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

@@ -5,6 +5,12 @@
5
   flex-direction: column;
5
   flex-direction: column;
6
   justify-content: space-between;
6
   justify-content: space-between;
7
   background-color: #F0F2F5;
7
   background-color: #F0F2F5;
8
+	.w220px{
9
+		width: 220px;
10
+	}
11
+	.w100px{
12
+			width: 100px !important;
13
+		}
8
   .list-template__nzTable,
14
   .list-template__nzTable,
9
   .list-template__bottom{
15
   .list-template__bottom{
10
     padding: 0!important;
16
     padding: 0!important;
@@ -23,11 +29,11 @@
23
     justify-content: space-between;
29
     justify-content: space-between;
24
     border: 1px solid #EEF3F9;
30
     border: 1px solid #EEF3F9;
25
     &.priority{
31
     &.priority{
26
-      margin: 24px 275px 0;
32
+      margin: 24px 275px;
27
       background-color: #fff;
33
       background-color: #fff;
28
       .contentInner{
34
       .contentInner{
29
-        padding: 90px 158px 72px;
30
-        border: 1px solid #E8EBEF;
35
+        // padding: 90px 158px 72px;
36
+        // border: 1px solid #E8EBEF;
31
 				.hos-title{
37
 				.hos-title{
32
 					font-weight: 600;
38
 					font-weight: 600;
33
 					font-size: 16px;
39
 					font-size: 16px;
@@ -40,15 +46,19 @@
40
           flex: 1;
46
           flex: 1;
41
           display: flex;
47
           display: flex;
42
           flex-direction: column;
48
           flex-direction: column;
43
-          align-items: center;
49
+          // align-items: center;
44
           padding: 0 16px;
50
           padding: 0 16px;
45
-          gap: 32px;
51
+          // gap: 32px;
46
         }
52
         }
47
         .hospital{
53
         .hospital{
48
           width: 100%;
54
           width: 100%;
49
           text-align: left;
55
           text-align: left;
50
         }
56
         }
51
         .classList{
57
         .classList{
58
+					// padding: 5px 0;
59
+					.mar-10{
60
+						margin: 8px 0;
61
+					}
52
           .select{
62
           .select{
53
             width: 313px;
63
             width: 313px;
54
           }
64
           }
@@ -118,7 +128,7 @@
118
       .addressAssign{
128
       .addressAssign{
119
         flex: 3;
129
         flex: 3;
120
         height: 100%;
130
         height: 100%;
121
-        background: #FFFFFF;
131
+        // background: #FFFFFF;
122
         border: 1px solid #E8EBEF;
132
         border: 1px solid #E8EBEF;
123
         display: flex;
133
         display: flex;
124
         flex-direction: column;
134
         flex-direction: column;
@@ -142,10 +152,8 @@
142
       }
152
       }
143
     }
153
     }
144
     .contentBtns{
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
   coopData: any = {}; //当前操作列
20
   coopData: any = {}; //当前操作列
21
   currentHospital; //当前院区
21
   currentHospital; //当前院区
22
-
22
+	maintainDept:any=[];
23
+	
23
   ngOnInit() {
24
   ngOnInit() {
25
+		this.maintainDept = this.tool.getUserInfoPermission().dutyList
24
     this.currentHospital = this.tool.getCurrentHospital();
26
     this.currentHospital = this.tool.getCurrentHospital();
25
     this.getList();
27
     this.getList();
26
   }
28
   }
27
 	
29
 	
30
+	itsmQuoteOtherDeptWorkHourType:any;
31
+	itsmQuoteOtherDeptConsumableType:any;
28
 	radioChange(data){
32
 	radioChange(data){
29
 		console.log(123,data)
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
 		if(data.key=='itsmQuoteOtherDeptWorkHour' && data.value==1){
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
       .subscribe((data) => {
100
       .subscribe((data) => {
90
         this.loading1 = false;
101
         this.loading1 = false;
91
         if (data.status == 200) {
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
         }else{
138
         }else{
94
           this.message.error(data.msg || "请求数据失败");
139
           this.message.error(data.msg || "请求数据失败");
95
         }
140
         }

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

@@ -925,8 +925,8 @@ export class MainService {
925
 	 }
925
 	 }
926
 	
926
 	
927
 	//病理申请单追加打印/全量打印
927
 	//病理申请单追加打印/全量打印
928
-	 pathologyCheckPrint(type,businessId) {
929
-	   return this.http.post(host.host + `/pathology/check/${type}/${businessId}`, {}, {
928
+	 pathologyCheckPrint(type,businessId,data) {
929
+	   return this.http.post(host.host + `/pathology/check/${type}/${businessId}`, data, {
930
 	     headers: this.headers,
930
 	     headers: this.headers,
931
 	   });
931
 	   });
932
 	 }
932
 	 }

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

@@ -54,7 +54,7 @@
54
 					<nz-form-item class="form-item" *ngIf="detailsData.pathologyFormType==null">
54
 					<nz-form-item class="form-item" *ngIf="detailsData.pathologyFormType==null">
55
 						<nz-form-label nzRequired nzFor="pathologyFormType" [nzSm]="6" [nzXs]="24">申请单类型</nz-form-label>
55
 						<nz-form-label nzRequired nzFor="pathologyFormType" [nzSm]="6" [nzXs]="24">申请单类型</nz-form-label>
56
 						<nz-form-control nzErrorTip="请选择申请单类型!" [nzSm]="18" [nzXs]="24">
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
 								<label nz-radio [nzValue]="1">术中快速病理检查申请单</label>
58
 								<label nz-radio [nzValue]="1">术中快速病理检查申请单</label>
59
 								<label nz-radio [nzValue]="0">病理检查申请单</label>
59
 								<label nz-radio [nzValue]="0">病理检查申请单</label>
60
 							</nz-radio-group>
60
 							</nz-radio-group>
@@ -244,6 +244,7 @@
244
 		<div class="title">未打印<i class="icon_transport transport-guanbi" (click)="hideNotModal()"></i>
244
 		<div class="title">未打印<i class="icon_transport transport-guanbi" (click)="hideNotModal()"></i>
245
 		</div>
245
 		</div>
246
 		<div class="content">
246
 		<div class="content">
247
+			<div class="content-title">本次需要记录离体标本<span class="reds">{{specimenNum}}</span>份,本申请单共<span class="reds">{{totalNum}}</span>份标本</div>
247
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
248
 			<form nz-form [formGroup]="validatePrintForm" class="addForm" (ngSubmit)="submitPrintForm()">
248
 				<nz-form-item>
249
 				<nz-form-item>
249
 				  <nz-form-label nzRequired [nzSpan]="8" nzFor="inVitroTime">标本离体时间</nz-form-label>
250
 				  <nz-form-label nzRequired [nzSpan]="8" nzFor="inVitroTime">标本离体时间</nz-form-label>

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

@@ -228,6 +228,14 @@
228
 	      padding: 19px 14px 0 14px;
228
 	      padding: 19px 14px 0 14px;
229
 	      max-height: 500px;
229
 	      max-height: 500px;
230
 	      overflow-y: auto;
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
 				.ant-form-item {
239
 				.ant-form-item {
232
 				  margin-bottom: 14px;
240
 				  margin-bottom: 14px;
233
 					display: flex;
241
 					display: flex;

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

@@ -69,6 +69,20 @@ export class PathologyAddComponent implements OnInit {
69
 		this.fetchDataList()
69
 		this.fetchDataList()
70
   }
70
   }
71
 	
71
 	
72
+	radioChange(data){
73
+		let arr = [];
74
+		let item = null
75
+		if(!this.validateForm.value.project){
76
+			if(data==1){
77
+				item = this.projectData.find(i=>i.value=='2241') //冰冻切片检查
78
+			}else{
79
+				item = this.projectData.find(i=>i.value=='1810') //病理小标本
80
+			}
81
+			arr.push(item.id)
82
+			this.validateForm.controls.project.setValue(arr);
83
+		}
84
+	}
85
+	
72
 	// 初始化新增form表单
86
 	// 初始化新增form表单
73
 	initForm() {
87
 	initForm() {
74
 		this.validateForm = this.fb.group({
88
 		this.validateForm = this.fb.group({
@@ -123,6 +137,9 @@ export class PathologyAddComponent implements OnInit {
123
 			this.specimenData = res.filter(i=>i.extra1 == 'pathologySpecimen')
137
 			this.specimenData = res.filter(i=>i.extra1 == 'pathologySpecimen')
124
 			if(this.detailsData.specimenType){
138
 			if(this.detailsData.specimenType){
125
 				this.validateForm.controls.specimenGenre.setValue(this.detailsData.specimenType.id);
139
 				this.validateForm.controls.specimenGenre.setValue(this.detailsData.specimenType.id);
140
+			}else{
141
+				let item = this.specimenData.find(i=>i.value==10)
142
+				this.validateForm.controls.specimenGenre.setValue(item.id);
126
 			}
143
 			}
127
 			if(this.detailsData.specimenNum){
144
 			if(this.detailsData.specimenNum){
128
 				this.validateForm.controls.specimenNum.setValue(this.detailsData.specimenNum);
145
 				this.validateForm.controls.specimenNum.setValue(this.detailsData.specimenNum);
@@ -766,6 +783,8 @@ export class PathologyAddComponent implements OnInit {
766
 	zjLoading:any = false;
783
 	zjLoading:any = false;
767
 	operation:any;
784
 	operation:any;
768
 	pathologySpecimenIds:any;
785
 	pathologySpecimenIds:any;
786
+	totalNum:any;
787
+	specimenNum:any;
769
 	superaddition(): void{
788
 	superaddition(): void{
770
 		var that = this;
789
 		var that = this;
771
 		this.operation = 'addPrint'
790
 		this.operation = 'addPrint'
@@ -778,9 +797,12 @@ export class PathologyAddComponent implements OnInit {
778
 			this.message.error('标本不能为空')
797
 			this.message.error('标本不能为空')
779
 			return
798
 			return
780
 		}
799
 		}
781
-		that.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id).subscribe((res:any)=>{
800
+		that.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id,{}).subscribe((res:any)=>{
801
+			this.separationMsg = res.msg
782
 			if(res.ids){
802
 			if(res.ids){
783
 				this.notModal = true
803
 				this.notModal = true
804
+				this.totalNum = res.totalNum
805
+				this.specimenNum = res.specimenNum
784
 				this.pathologySpecimenIds = res.ids
806
 				this.pathologySpecimenIds = res.ids
785
 				this.validatePrintForm = this.fb.group({
807
 				this.validatePrintForm = this.fb.group({
786
 				  inVitroTime: [null, [Validators.required]],
808
 				  inVitroTime: [null, [Validators.required]],
@@ -798,6 +820,7 @@ export class PathologyAddComponent implements OnInit {
798
 	
820
 	
799
 	// 打印标本/全量
821
 	// 打印标本/全量
800
 	printData:any;
822
 	printData:any;
823
+	separationMsg:any = '本次需要记录离体标本6份,本申请单共6份标本';
801
 	submitForm(type): void{
824
 	submitForm(type): void{
802
 		var that = this;
825
 		var that = this;
803
 		this.operation = 'wholePrint'
826
 		this.operation = 'wholePrint'
@@ -811,9 +834,12 @@ export class PathologyAddComponent implements OnInit {
811
 			return
834
 			return
812
 		}
835
 		}
813
 		if(type=='all'){
836
 		if(type=='all'){
814
-			that.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id).subscribe((res:any)=>{
837
+			that.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id,{}).subscribe((res:any)=>{
838
+				this.separationMsg = res.msg
815
 				if(res.ids){
839
 				if(res.ids){
816
 					this.notModal = true
840
 					this.notModal = true
841
+					this.totalNum = res.totalNum
842
+					this.specimenNum = res.specimenNum
817
 					this.pathologySpecimenIds = res.ids
843
 					this.pathologySpecimenIds = res.ids
818
 					this.validatePrintForm = this.fb.group({
844
 					this.validatePrintForm = this.fb.group({
819
 					  inVitroTime: [null, [Validators.required]],
845
 					  inVitroTime: [null, [Validators.required]],
@@ -858,16 +884,21 @@ export class PathologyAddComponent implements OnInit {
858
 		}else{
884
 		}else{
859
 			this.operation = 'null'
885
 			this.operation = 'null'
860
 			if(this.statusValue==1){
886
 			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);
870
-				return
887
+				this.mainService.pathologyCheckPrint('pathologyForm',this.detailsData.id,{}).subscribe((res:any)=>{
888
+					this.separationMsg = res.msg
889
+					this.notModal = true
890
+					this.totalNum = res.totalNum
891
+					this.specimenNum = res.specimenNum
892
+					this.validatePrintForm = this.fb.group({
893
+						inVitroTime: [null, [Validators.required]],
894
+						jobNumber: [null, [Validators.required]],
895
+						name:[null, [Validators.required]],
896
+					});
897
+					let date = new Date();
898
+					this.startDate = format(date, "yyyy-MM-dd HH:mm:ss")
899
+					this.validatePrintForm.controls.inVitroTime.setValue(this.startDate);
900
+					return
901
+				})
871
 			}
902
 			}
872
 			let data: any = {
903
 			let data: any = {
873
 				pathologyForm:{
904
 				pathologyForm:{

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

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

+ 50 - 6
src/app/views/incident-management/incident-management.component.ts

@@ -75,6 +75,17 @@ export class IncidentManagementComponent implements OnInit {
75
 		let itemDept = this.maintainDept.find(i=>i.id == this.hosIds)
75
 		let itemDept = this.maintainDept.find(i=>i.id == this.hosIds)
76
 		if(itemDept){
76
 		if(itemDept){
77
 			this.searchDTO.maintainDepartment = itemDept.id
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
 		}
79
     this.loading1 = true;
90
     this.loading1 = true;
80
     this.debounceSubject.next(true);
91
     this.debounceSubject.next(true);
@@ -82,11 +93,9 @@ export class IncidentManagementComponent implements OnInit {
82
 
93
 
83
   ngOnInit() {
94
   ngOnInit() {
84
 		this.maintainDept = this.tool.getUserInfoPermission().dutyList
95
 		this.maintainDept = this.tool.getUserInfoPermission().dutyList
85
-		this.maintainGroup = this.tool.getUserInfoPermission().dutyGroupList
86
 		this.hosIds = this.tool.getCurrentHospital().id
96
 		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
97
+		if(this.coopBtns.strideLook){
98
+			this.defaDept()
90
 		}
99
 		}
91
     this.initSearchForm();
100
     this.initSearchForm();
92
     this.searchTimerSubject.pipe(debounceTime(500)).subscribe((v) => {
101
     this.searchTimerSubject.pipe(debounceTime(500)).subscribe((v) => {
@@ -125,7 +134,25 @@ export class IncidentManagementComponent implements OnInit {
125
     //     this.tabs.push({key: 'badEvaluate', value: '异常评价', num: 0, isRed: false});
134
     //     this.tabs.push({key: 'badEvaluate', value: '异常评价', num: 0, isRed: false});
126
     // }
135
     // }
127
   }
136
   }
128
-
137
+	
138
+	defaDept(){
139
+		let itemDept = this.maintainDept.find(i=>i.id == this.hosIds)
140
+		if(itemDept){
141
+			this.searchDTO.maintainDepartment = itemDept.id
142
+		}
143
+	}
144
+	
145
+	// 选择维修科室
146
+	deptChange(e){
147
+		this.searchDTO.maintainGroup = null
148
+		let arr  = this.tool.getUserInfoPermission().dutyGroupList.filter(i=>i.hospital.id == e)
149
+		if(arr){
150
+			this.maintainGroup = arr
151
+		}else{
152
+			this.maintainGroup = this.tool.getUserInfoPermission().dutyGroupList
153
+		}
154
+	}
155
+	
129
   // 搜索
156
   // 搜索
130
   search() {
157
   search() {
131
     this.loading1 = true;
158
     this.loading1 = true;
@@ -134,6 +161,9 @@ export class IncidentManagementComponent implements OnInit {
134
   // 重置
161
   // 重置
135
   reset() {
162
   reset() {
136
     this.searchDTO = {};
163
     this.searchDTO = {};
164
+		if(this.coopBtns.strideLook){
165
+			this.defaDept()
166
+		}
137
     this.initSearchForm();
167
     this.initSearchForm();
138
     this.loading1 = true;
168
     this.loading1 = true;
139
     this.debounceSubject.next(true);
169
     this.debounceSubject.next(true);
@@ -394,7 +424,15 @@ export class IncidentManagementComponent implements OnInit {
394
             delete incident.duty;
424
             delete incident.duty;
395
             delete incident.hosId;
425
             delete incident.hosId;
396
         }
426
         }
397
-
427
+				
428
+				if(incident.queryTask!='todo' && incident.queryTask!='doing' && incident.queryTask!='storage'){
429
+					if(this.searchDTO.maintainDepartment){
430
+						let itemDept = this.maintainDept.find(i=>i.id == this.searchDTO.maintainDepartment)
431
+						incident.duty = itemDept;
432
+						delete incident.hosId;
433
+					}
434
+				}
435
+				
398
         incident.assignee = this.tool.getCurrentUserId();
436
         incident.assignee = this.tool.getCurrentUserId();
399
 
437
 
400
         if(incident.queryTask === 'todo' || incident.queryTask === 'owns'){
438
         if(incident.queryTask === 'todo' || incident.queryTask === 'owns'){
@@ -402,6 +440,12 @@ export class IncidentManagementComponent implements OnInit {
402
         }else{
440
         }else{
403
           delete incident.candidateGroups;
441
           delete incident.candidateGroups;
404
         }
442
         }
443
+				
444
+				if(incident.queryTask!='todo' && incident.queryTask!='owns' && incident.queryTask!='storage'){
445
+					incident.candidateGroupId = this.searchDTO.maintainGroup
446
+				}else{
447
+					delete incident.candidateGroupId;
448
+				}
405
     })
449
     })
406
     this.mainService
450
     this.mainService
407
       .getCount(postData)
451
       .getCount(postData)

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

@@ -40,16 +40,15 @@ export class RepositoryManageComponent implements OnInit {
40
 		private sanitizer: DomSanitizer
40
 		private sanitizer: DomSanitizer
41
   ) {}
41
   ) {}
42
   ngOnInit() {
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
     this.searchParentDeptSubject.pipe(debounceTime(500)).subscribe((e) => {
43
     this.searchParentDeptSubject.pipe(debounceTime(500)).subscribe((e) => {
49
 
44
 
50
     });
45
     });
51
 		this.hosId = this.tool.getCurrentHospital().id;
46
 		this.hosId = this.tool.getCurrentHospital().id;
52
     this.coopBtns = this.tool.initCoopBtns(this.route);
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
 		this.getList();
52
 		this.getList();
54
   }
53
   }
55
 	maintainDept:any = []; //维修科室
54
 	maintainDept:any = []; //维修科室
@@ -116,7 +115,15 @@ export class RepositoryManageComponent implements OnInit {
116
     this.coopData = data;
115
     this.coopData = data;
117
     this.showDelModal1();
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
   showDelModal1() {
127
   showDelModal1() {
121
     this.editModal = true;
128
     this.editModal = true;
122
   }
129
   }
@@ -163,6 +170,9 @@ export class RepositoryManageComponent implements OnInit {
163
     this.pageIndex = 1;
170
     this.pageIndex = 1;
164
 		this.solutionNumber = null;
171
 		this.solutionNumber = null;
165
 		this.title = null;
172
 		this.title = null;
173
+		if(this.coopBtns.strideLook){
174
+			this.defaDept()
175
+		}
166
     this.getList();
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
 			</div>
511
 			</div>
512
 			
512
 			
513
 			<div class="content-item">
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
 				<div class="disp-fl">
515
 				<div class="disp-fl">
516
 					<div class="width-120">标本条码:</div>
516
 					<div class="width-120">标本条码:</div>
517
 					<input nz-input id="specimen" [(ngModel)]="specimenCode" (ngModelChange)="codeChange($event)"/>
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
 								this.project = this.project.join('、')
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
 						}else{
195
 						}else{
199
 							this.viewDetail(this.codeData,'4')
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
 	formChangeDate(result){
237
 	formChangeDate(result){
223
 	  this.startDate = format(result, 'yyyy-MM-dd HH:mm:ss');
238
 	  this.startDate = format(result, 'yyyy-MM-dd HH:mm:ss');
@@ -553,7 +568,7 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
553
 	codeChange(e){
568
 	codeChange(e){
554
 		this.changeInpSubject.next([e]);
569
 		this.changeInpSubject.next([e]);
555
 	}
570
 	}
556
-
571
+	
557
 	fixationError:any;
572
 	fixationError:any;
558
 	searchSpecimenData(e){
573
 	searchSpecimenData(e){
559
 		if(!e){
574
 		if(!e){
@@ -573,10 +588,10 @@ export class SpecimenRoomViewComponent implements OnInit, OnDestroy {
573
 			this.specimenCode = null
588
 			this.specimenCode = null
574
 			if(res.status==200){
589
 			if(res.status==200){
575
 				let item = res.data[0].pathologySpecimenDTOList.find(i=>i.specimenCode == e)
590
 				let item = res.data[0].pathologySpecimenDTOList.find(i=>i.specimenCode == e)
576
-				console.log(8,item)
577
 				if(item.fixationTime){
591
 				if(item.fixationTime){
578
 					this.fixationError = '该标本已经固定过'
592
 					this.fixationError = '该标本已经固定过'
579
 				}else{
593
 				}else{
594
+					this.getFixationNum(res.data[0].id)
580
 					this.codeData = res.data[0]
595
 					this.codeData = res.data[0]
581
 					this.fixationError = null
596
 					this.fixationError = null
582
 				}
597
 				}