浏览代码

解决冲突

maotao 2 月之前
父节点
当前提交
41b251dc4f
共有 24 个文件被更改,包括 1258 次插入149 次删除
  1. 5 0
      src/app/components/configurationCenter/configuration-drug/configuration-drug.component.html
  2. 10 3
      src/app/components/configurationCenter/configuration-drug/configuration-drug.component.ts
  3. 31 9
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.html
  4. 29 4
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.ts
  5. 13 0
      src/app/services/main.service.ts
  6. 5 7
      src/app/services/tool.service.ts
  7. 36 0
      src/app/share/add-inspect-two-modal/add-inspect-two-modal.component.html
  8. 194 0
      src/app/share/add-inspect-two-modal/add-inspect-two-modal.component.less
  9. 129 0
      src/app/share/add-inspect-two-modal/add-inspect-two-modal.component.ts
  10. 3 0
      src/app/share/share.module.ts
  11. 3 3
      src/app/views/common-document/common-document.component.html
  12. 15 0
      src/app/views/hushijiandan/hushijiandan.component.html
  13. 74 0
      src/app/views/hushijiandan/hushijiandan.component.ts
  14. 11 3
      src/app/views/info-search/info-search.component.html
  15. 50 11
      src/app/views/info-search/info-search.component.ts
  16. 5 0
      src/app/views/inspect-and-patient-transport-config/inspect-and-patient-transport-config.component.html
  17. 6 0
      src/app/views/inspect-and-patient-transport-config/inspect-and-patient-transport-config.component.ts
  18. 21 7
      src/app/views/inspect-closed-loop-view/inspect-closed-loop-view.component.html
  19. 64 0
      src/app/views/inspect-closed-loop-view/inspect-closed-loop-view.component.ts
  20. 222 36
      src/app/views/patient-search/patient-search.component.html
  21. 1 1
      src/app/views/patient-search/patient-search.component.less
  22. 306 50
      src/app/views/patient-search/patient-search.component.ts
  23. 13 3
      src/app/views/specimen-search/specimen-search.component.ts
  24. 12 12
      src/app/views/web-repairs/web-repairs.component.html

+ 5 - 0
src/app/components/configurationCenter/configuration-drug/configuration-drug.component.html

@@ -103,6 +103,11 @@
103 103
 									  <nz-form-label class="label">是否支持查看药品详情信息</nz-form-label>
104 104
 									  <nz-checkbox-group [(ngModel)]="item.postData.showDrugsBagDetails"></nz-checkbox-group>
105 105
 									</div>
106
+                  <!-- 待送达合并工单 -->
107
+									<div class="display_flex align-items_center mb8">
108
+									  <nz-form-label class="label">待送达合并工单</nz-form-label>
109
+									  <nz-checkbox-group [(ngModel)]="item.postData.sendingMergeOrder"></nz-checkbox-group>
110
+									</div>
106 111
                 </div>
107 112
                 <!-- 自动建单配置 -->
108 113
                 <div *ngIf="tabModalName=='automaticOrderCreation'">

+ 10 - 3
src/app/components/configurationCenter/configuration-drug/configuration-drug.component.ts

@@ -64,6 +64,7 @@ export class ConfigurationDrugComponent implements OnInit {
64 64
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
65 65
 				showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
66 66
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
67
+				sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
67 68
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
68 69
 				autoCreateState: undefined // 药品自动建单状态
69 70
 			}
@@ -86,6 +87,7 @@ export class ConfigurationDrugComponent implements OnInit {
86 87
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
87 88
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
88 89
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
90
+				sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
89 91
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
90 92
 				autoCreateState: undefined // 药品自动建单状态
91 93
 			}
@@ -108,6 +110,7 @@ export class ConfigurationDrugComponent implements OnInit {
108 110
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
109 111
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
110 112
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
113
+        sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
111 114
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
112 115
 				autoCreateState: undefined // 药品自动建单状态
113 116
 			}
@@ -130,6 +133,7 @@ export class ConfigurationDrugComponent implements OnInit {
130 133
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
131 134
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
132 135
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
136
+        sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
133 137
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
134 138
 				autoCreateState: undefined // 药品自动建单状态
135 139
 			}
@@ -152,13 +156,14 @@ export class ConfigurationDrugComponent implements OnInit {
152 156
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
153 157
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
154 158
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
159
+        sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
155 160
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
156 161
 				autoCreateState: undefined // 药品自动建单状态
157 162
 			}
158 163
     },
159 164
   ];
160
-	
161
-	
165
+
166
+
162 167
 	// 获取药品状态
163 168
 	drugStateData:any = []
164 169
 	getDrugState(){
@@ -166,7 +171,7 @@ export class ConfigurationDrugComponent implements OnInit {
166 171
 			this.drugStateData = data
167 172
 		});
168 173
 	}
169
-	
174
+
170 175
   // 点击数据字典key
171 176
   activeDictionary:any;
172 177
   clickDictionaryKey(item){
@@ -238,6 +243,7 @@ export class ConfigurationDrugComponent implements OnInit {
238 243
 			showPatientInfo: this.activeDictionary.postData.showPatientInfo[0].checked ? 1 : 0,
239 244
 			showDrugsBagTypeCount: this.activeDictionary.postData.showDrugsBagTypeCount[0].checked ? 1 : 0,
240 245
 			showDrugsBagDetails: this.activeDictionary.postData.showDrugsBagDetails[0].checked ? 1 : 0,
246
+			sendingMergeOrder: this.activeDictionary.postData.sendingMergeOrder[0].checked ? 1 : 0,
241 247
 			autoCreate: this.activeDictionary.postData.autoCreate[0].checked ? 1 : 0,
242 248
 			autoCreateState:{
243 249
 				id:this.activeDictionary.postData.autoCreateState || undefined
@@ -339,6 +345,7 @@ export class ConfigurationDrugComponent implements OnInit {
339 345
 					this.activeDictionary.postData.showPatientInfo[0].checked = this.configs.showPatientInfo == 1;
340 346
 					this.activeDictionary.postData.showDrugsBagTypeCount[0].checked = this.configs.showDrugsBagTypeCount == 1;
341 347
 					this.activeDictionary.postData.showDrugsBagDetails[0].checked = this.configs.showDrugsBagDetails == 1;
348
+					this.activeDictionary.postData.sendingMergeOrder[0].checked = this.configs.sendingMergeOrder == 1;
342 349
 					this.activeDictionary.postData.autoCreate[0].checked = this.configs.autoCreate == 1;
343 350
 					this.activeDictionary.postData.autoCreateState = this.configs.autoCreateState && this.configs.autoCreateState.id || undefined;
344 351
 				}

+ 31 - 9
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.html

@@ -85,19 +85,19 @@
85 85
                   <nz-form-label class="label">默认扫描标本进入标本扫描页</nz-form-label>
86 86
                   <nz-checkbox-group [(ngModel)]="defaultScanSpe"></nz-checkbox-group>
87 87
                 </div>
88
-								
88
+
89 89
 								<!-- 是否开通收取限制 -->
90 90
 								<div class="display_flex align-items_center mb8">
91 91
 								  <nz-form-label class="label">是否开通收取限制</nz-form-label>
92 92
 								  <nz-checkbox-group [(ngModel)]="speCollectLimit" (ngModelChange)="changeSpeCollect($event)"></nz-checkbox-group>
93 93
 								</div>
94
-								
94
+
95 95
 								<!-- 是否支持非起点科室收取 -->
96 96
 								<div class="display_flex align-items_center mb8" *ngIf="speCollectLimit[0].checked">
97 97
 								  <nz-form-label class="label">是否支持非起点科室收取</nz-form-label>
98 98
 								  <nz-checkbox-group [(ngModel)]="speCollectSupportNotStartDept"></nz-checkbox-group>
99 99
 								</div>
100
-								
100
+
101 101
 								<!-- 限制标本状态收取 -->
102 102
 								<div class="display_flex align-items_center mb8" *ngIf="speCollectLimit[0].checked">
103 103
 									<nz-form-label class="label">限制标本状态收取</nz-form-label>
@@ -107,7 +107,7 @@
107 107
 										</ng-container>
108 108
 									</nz-select>
109 109
 								</div>
110
-								
110
+
111 111
 								<!-- 限制终点科室收取 -->
112 112
 								<div class="display_flex align-items_center mb8" *ngIf="speCollectLimit[0].checked">
113 113
 									<nz-form-label class="label">限制终点科室收取</nz-form-label>
@@ -121,7 +121,7 @@
121 121
 									  </nz-option>
122 122
 									</nz-select>
123 123
 								</div>
124
-								
124
+
125 125
 								<!-- 限制普通或紧急收取 -->
126 126
 								<div class="display_flex align-items_center mb8" *ngIf="speCollectLimit[0].checked">
127 127
 									<nz-form-label class="label">限制普通或紧急收取</nz-form-label>
@@ -131,13 +131,13 @@
131 131
 										</ng-container>
132 132
 									</nz-select>
133 133
 								</div>
134
-								
134
+
135 135
 								<!-- 是否限制重复收取标本 -->
136 136
 								<div class="display_flex align-items_center mb8" *ngIf="speCollectLimit[0].checked">
137 137
 								  <nz-form-label class="label">是否限制重复收取标本</nz-form-label>
138 138
 									<nz-checkbox-group [(ngModel)]="speCollectLimitRepeat"></nz-checkbox-group>
139 139
 								</div>
140
-								
140
+
141 141
 								<!-- 是否限制试管类型收取标本 -->
142 142
 								<div class="display_flex align-items_center mb8" *ngIf="speCollectLimit[0].checked">
143 143
 								  <nz-form-label class="label">是否限制试管类型收取标本</nz-form-label>
@@ -147,18 +147,40 @@
147 147
 										</ng-container>
148 148
 									</nz-select>
149 149
 								</div>
150
-								
150
+
151 151
 								<!-- 是否开始收取前进入配置页 -->
152 152
 								<div class="display_flex align-items_center mb8" *ngIf="speCollectLimit[0].checked">
153 153
 								  <nz-form-label class="label">是否开始收取前进入配置页</nz-form-label>
154 154
 								  <nz-checkbox-group [(ngModel)]="speStartCollectShowConfig"></nz-checkbox-group>
155 155
 								</div>
156
-								
156
+
157 157
 								<!-- 是否允许转派 -->
158 158
 								<div class="display_flex align-items_center mb8">
159 159
 								  <nz-form-label class="label">是否允许转派</nz-form-label>
160 160
 								  <nz-checkbox-group [(ngModel)]="handoverOrder"></nz-checkbox-group>
161 161
 								</div>
162
+
163
+                <!-- 标本交接默认界面 -->
164
+                <div class="display_flex align-items_center mb8">
165
+                  <nz-form-label class="label">标本交接默认界面</nz-form-label>
166
+                  <nz-radio-group [(ngModel)]="speHandoverTubeType">
167
+                    <label nz-radio [nzValue]="1">患者</label>
168
+                    <label nz-radio [nzValue]="2">试管类型</label>
169
+                    <label nz-radio [nzValue]="3">检验标本</label>
170
+                  </nz-radio-group>
171
+                </div>
172
+
173
+                <!-- 交接是否展示试管类型 -->
174
+								<div class="display_flex align-items_center mb8">
175
+								  <nz-form-label class="label">交接是否展示试管类型</nz-form-label>
176
+								  <nz-checkbox-group [(ngModel)]="speExpandTube" (ngModelChange)="changeSpeExpandTube($event)"></nz-checkbox-group>
177
+								</div>
178
+
179
+                <!-- 是否默认展开 -->
180
+								<div class="display_flex align-items_center mb8" *ngIf="speExpandTube[0].checked">
181
+								  <nz-form-label class="label">是否默认展开</nz-form-label>
182
+								  <nz-checkbox-group [(ngModel)]="speDefaultExpandTube"></nz-checkbox-group>
183
+								</div>
162 184
               </div>
163 185
               <!-- 自动建单配置 -->
164 186
               <div *ngIf="tabModalName=='automaticOrderCreation'">

+ 29 - 4
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.ts

@@ -30,6 +30,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
30 30
 	];
31 31
 
32 32
   spePackageUnionReceive:any = undefined;//是否联合标本收取
33
+  speHandoverTubeType:any = undefined;//标本交接默认界面
33 34
   spePackageModel:any = undefined;//工单模式
34 35
   drugsCreateSign:any = [{ label:'是否开启', value: 0 }];//支持建单并签到
35 36
   drugsReceiveSign:any = [{ label:'是否开启', value: 0 }];//支持接单并签到
@@ -43,14 +44,24 @@ export class ConfigurationSpecimenComponent implements OnInit {
43 44
   spePackageUrgents:any[] = [{label: '急标', value: 1}, {label: '普标', value: 0}];//自动关联急标普标急标
44 45
   spePackageTubeIds:any[] = [];// 自动关联试管类型
45 46
   spePackageTubeList:any[] = [];// 自动关联试管类型列表
46
-  spePackageInventoryTypes:any[] = [{label: '患者', value: 1, disabled: true, checked: true}, {label: '试管', value: 2}];//清点方式
47
+  spePackageInventoryTypes:any[] = [{label: '患者', value: 1}, {label: '试管', value: 2}];//清点方式
47 48
   spePackageCreateOrder:any = [{ label:'是否开启', value: 0 }];//生成配送工单
48 49
   spePackageCodeSize:any = undefined;//条码打印尺寸
49 50
 	// 是否允许转派
50 51
 	handoverOrder:any[] = [
51 52
 	  {label:'是否开启',value: 0}
52 53
 	];
53
-	
54
+
55
+  // 交接是否展示试管类型
56
+	speExpandTube:any[] = [
57
+	  {label:'是否开启',value: 0}
58
+	];
59
+
60
+  // 是否默认展开
61
+	speDefaultExpandTube:any[] = [
62
+	  {label:'是否开启',value: 0}
63
+	];
64
+
54 65
   // 工单模式
55 66
   spePackageModelList:any[] = [
56 67
     { label: '一单一包', value: 1 },
@@ -151,7 +162,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
151 162
 	speStartCollectShowConfig:any[] = [
152 163
 	  {label:'是否开启',value: 0}
153 164
 	];
154
-	
165
+
155 166
 	// 速冻标本数量控制
156 167
 	pathologyFrozenSpecimenNum:any = '0';
157 168
 
@@ -284,6 +295,14 @@ export class ConfigurationSpecimenComponent implements OnInit {
284 295
       this.deptNotAlertIds = [];
285 296
     }
286 297
   }
298
+
299
+  // 交接是否展示试管类型
300
+  changeSpeExpandTube(e){
301
+    console.log(e);
302
+    if(!e[0].checked){
303
+      this.speDefaultExpandTube[0].checked = false;
304
+    }
305
+  }
287 306
   // 收取时需扫描二维码
288 307
   changeArriveScanCode(e){
289 308
     console.log(e);
@@ -380,6 +399,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
380 399
       id: this.configs.id,
381 400
       taskType: this.tasktype.id,
382 401
       hosId: this.hosId,
402
+      speHandoverTubeType: this.speHandoverTubeType,
383 403
       deptNotAlert: this.deptNotAlert[0].checked ? 1 : 0,
384 404
       arriveScanCode: this.arriveScanCode[0].checked ? 1 : 0,
385 405
       arriveScanDynamicCode: this.arriveScanDynamicCode[0].checked ? 1 : 0,
@@ -399,6 +419,8 @@ export class ConfigurationSpecimenComponent implements OnInit {
399 419
 			speCollectLimitEndDept: null,
400 420
 			speCollectLimitUrgent: null,
401 421
 			handoverOrder: this.handoverOrder[0].checked ? 1 : 0,
422
+			speExpandTube: this.speExpandTube[0].checked ? 1 : 0,
423
+			speDefaultExpandTube: this.speDefaultExpandTube[0].checked ? 1 : 0,
402 424
 		};
403 425
 		if(this.speCollectLimit[0].checked){
404 426
 			postData.speCollectSupportNotStartDept = this.speCollectSupportNotStartDept[0].checked ? 1 : 0;
@@ -603,7 +625,8 @@ export class ConfigurationSpecimenComponent implements OnInit {
603 625
         if (result.status == 200) {
604 626
           this.configs = result.list[0] || {};
605 627
 					if(this.activeDictionaryKey=='examine'){
606
-						// 检验标本
628
+            // 检验标本
629
+            this.speHandoverTubeType = this.configs.speHandoverTubeType;
607 630
 						this.deptNotAlert[0].checked = this.configs.deptNotAlert == 1;
608 631
 						this.arriveScanCode[0].checked = this.configs.arriveScanCode == 1;
609 632
 						this.arriveScanDynamicCode[0].checked = this.configs.arriveScanDynamicCode == 1;
@@ -617,6 +640,8 @@ export class ConfigurationSpecimenComponent implements OnInit {
617 640
 						this.deptList = this.configs.deptNotAlertList || [];
618 641
             this.speCollectLimit[0].checked = this.configs.speCollectLimit == 1;
619 642
 						this.handoverOrder[0].checked = this.configs.handoverOrder == 1;
643
+						this.speExpandTube[0].checked = this.configs.speExpandTube == 1;
644
+						this.speDefaultExpandTube[0].checked = this.configs.speDefaultExpandTube == 1;
620 645
 						if(this.configs.speCollectLimit == 1){
621 646
 							this.speCollectSupportNotStartDept[0].checked = this.configs.speCollectSupportNotStartDept == 1;
622 647
 							this.speCollectLimitRepeat[0].checked  = this.configs.speCollectLimitRepeat == 1;

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

@@ -516,6 +516,12 @@ export class MainService {
516 516
       headers: this.headers,
517 517
     });
518 518
   }
519
+  //数据核对-原始数据
520
+  queryDataSource(data = {}) {
521
+    return this.http.post(host.host + "/testData/queryDataSource", data, {
522
+      headers: this.headers,
523
+    });
524
+  }
519 525
   // 更新,新增,删除检查类型设置
520 526
   upDictionary(data) {
521 527
     return this.http.post(host.host + "/common/common/upDictionary", data, {
@@ -1235,4 +1241,11 @@ export class MainService {
1235 1241
 	    responseType: "arraybuffer",
1236 1242
 	  });
1237 1243
 	}
1244
+
1245
+  // 患者闭环-标记回科
1246
+	setPatientInspectBackDept(data = {}){
1247
+		return this.http.post(host.host + `/nurse/patientInspect/setPatientInspectBackDept`, data, {
1248
+		  headers: this.headers,
1249
+		});
1250
+	}
1238 1251
 }

+ 5 - 7
src/app/services/tool.service.ts

@@ -103,13 +103,9 @@ export class ToolService {
103 103
   }
104 104
   //获取当前菜单的权限
105 105
   initCoopBtns(route) {
106
-    let link;
106
+    let link = route.parent.snapshot.routeConfig.path; //当前路由;
107 107
     let menu: any = JSON.parse(localStorage.getItem("menu")) || []; //菜单
108
-    if (route === "dataDictionary") {
109
-      link = route;
110
-    } else {
111
-      link = route.parent.snapshot.routeConfig.path; //当前路由
112
-    }
108
+
113 109
     let secondMenus = []; // 二级菜单
114 110
     let jurisdiction = []; //当前菜单的权限列表
115 111
 		let menuItem = null;
@@ -127,8 +123,8 @@ export class ToolService {
127 123
       }
128 124
     });
129 125
     if(!jurisdiction.length){
130
-      // type为panel路由
131 126
       menu.forEach(v => {
127
+        // type为panel路由
132 128
         if(v.type === 'panel' && v.link == link && v.childrens){
133 129
           jurisdiction = v.childrens || []; //匹配路由后,取得对应的权限
134 130
         }
@@ -318,6 +314,8 @@ export class ToolService {
318 314
 				case "viewGd":
319 315
 				  coopBtns.viewGd = true; //查看工单
320 316
 				  break;
317
+        case "tagBackDepartment":
318
+				  coopBtns.tagBackDepartment = true; //标记回科
321 319
 				case "updata":
322 320
 				  coopBtns.updata = true; //更新
323 321
 				  break;

+ 36 - 0
src/app/share/add-inspect-two-modal/add-inspect-two-modal.component.html

@@ -0,0 +1,36 @@
1
+<div class="modal display_flex justify-content_flex-center align-items_center">
2
+  <div class="modalBody" style="width: 1200px;">
3
+    <div class="title">追加检查<i class="icon_transport transport-guanbi" (click)="hideModal()"></i></div>
4
+    <div class="content">
5
+      <div class="tableWrap">
6
+        <div class="inspectType">
7
+          检查类型:<u *ngFor="let item of inspectCheckItemList" (click)="clickInspectCheckItem(item.id)" [ngClass]="{ active: activeInspectCheckItemId == item.id }">{{item.name}}</u>
8
+        </div>
9
+        <nz-table class="hospitalTable" [nzData]="data2List" nzSize="middle" [nzShowPagination]="false"
10
+          [nzLoading]="hsLoading" (nzCurrentPageDataChange)="currentPageData2Change($event)" [nzScroll]="{ y: '385px' }">
11
+          <thead>
12
+            <tr class="thead">
13
+              <th nzWidth="4%" nzShowCheckbox [(nzChecked)]="isAllDisplayData2Checked" [nzIndeterminate]="isIndeterminateData2"
14
+                (nzCheckedChange)="checkAllData2($event)"></th>
15
+              <th nzWidth="32%">检查项目</th>
16
+              <th nzWidth="32%">检查地点</th>
17
+              <th nzWidth="32%">检查类型</th>
18
+            </tr>
19
+          </thead>
20
+          <tbody>
21
+            <tr *ngFor="let data of data2List;let i = index;" (click)="selectedListData2(data.id)">
22
+              <td nzShowCheckbox [(nzChecked)]="mapOfCheckedData2Id[data.id]" (nzCheckedChange)="refreshData2Status()"></td>
23
+              <td>{{ data.name}}</td>
24
+              <td>{{ deptDisplay == 2 ? data.extra4DTO?.deptalias : data.extra4DTO?.dept }}</td>
25
+              <td>{{ data.extra5DTO?.name }}</td>
26
+            </tr>
27
+          </tbody>
28
+        </nz-table>
29
+      </div>
30
+    </div>
31
+    <div class="display_flex justify-content_flex-center">
32
+      <button class="btn" nz-button nzType="primary" (click)="confirmModal()">确认</button>
33
+      <button class="btn cancel" nz-button nzType="default" (click)="hideModal()">取消</button>
34
+    </div>
35
+  </div>
36
+</div>

+ 194 - 0
src/app/share/add-inspect-two-modal/add-inspect-two-modal.component.less

@@ -0,0 +1,194 @@
1
+@import "../../../../src/theme.less";
2
+.patient{
3
+  display: flex;
4
+  align-items: center;
5
+  justify-content: space-between;
6
+  height: 56px;
7
+  font-size: 18px;
8
+  padding: 0 24px;
9
+}
10
+.tabs{
11
+  display: flex;
12
+  align-items: center;
13
+  justify-content: space-between;
14
+  height: 45px;
15
+  font-size: 14px;
16
+  border-top: 1px solid #e5e9ed;
17
+  border-bottom: 1px solid #e5e9ed;
18
+  .tab{
19
+    flex: 1;
20
+    display: flex;
21
+    align-items: center;
22
+    justify-content: center;
23
+    height: 100%;
24
+    cursor: pointer;
25
+    &.active{
26
+      background-color: #F0F6ED;
27
+    }
28
+  }
29
+}
30
+.tableWrap{
31
+  padding: 16px;
32
+  .inspectType{
33
+    padding-bottom: 16px;
34
+    text-align: left!important;
35
+    u{
36
+      margin-right: 8px;
37
+      cursor: pointer;
38
+      &.active{
39
+        color: @primary-color;
40
+      }
41
+    }
42
+  }
43
+}
44
+.modal {
45
+  position: fixed;
46
+  left: 0;
47
+  top: 0;
48
+  width: 100%;
49
+  height: 100%;
50
+  background: rgba(0, 0, 0, 0.4);
51
+  z-index: 999;
52
+  .hospitalTable {
53
+    width: 100%;
54
+    td {
55
+      text-align: center !important;
56
+      position: relative;
57
+      word-break: break-all;
58
+    }
59
+    .thead {
60
+      background-image: linear-gradient(to right, @bg-start, @bg-end);
61
+      th {
62
+        text-align: center !important;
63
+        color: #fff;
64
+        background: transparent;
65
+      }
66
+    }
67
+  }
68
+
69
+  .ji {
70
+    position: absolute;
71
+    right: 0px;
72
+    top: -3px;
73
+    width: 30px;
74
+  }
75
+
76
+  .list-template__top{
77
+    div{
78
+      text-align: left!important;
79
+    }
80
+  }
81
+
82
+  .modalBody {
83
+    width: 700px;
84
+    min-height: 220px;
85
+    background: #fff;
86
+    border-radius: 5px;
87
+    padding: 10px 20px;
88
+    color: #333;
89
+    &.modalBody-search {
90
+      width: 480px;
91
+      min-height: 250px;
92
+    }
93
+
94
+    .title {
95
+      width: 100%;
96
+      text-align: center;
97
+      font-size: 18px;
98
+      position: relative;
99
+
100
+      i {
101
+        position: absolute;
102
+        right: 0;
103
+        top: 0;
104
+        font-size: 20px;
105
+        color: #666;
106
+        cursor: pointer;
107
+        padding: 0 5px;
108
+      }
109
+    }
110
+
111
+    .content {
112
+      height: 603px;
113
+      min-height: 117px;
114
+      background: #f9fafb;
115
+      border: 1px solid #e5e9ed;
116
+      border-radius: 5px;
117
+      overflow: hidden;
118
+      margin-top: 12px;
119
+
120
+      div {
121
+        text-align: center;
122
+        margin: 0;
123
+
124
+        &.defeat {
125
+          color: #333;
126
+          font-size: 28px;
127
+        }
128
+        &.countDown {
129
+          font-size: 14px;
130
+          color: 666;
131
+          em {
132
+            font-style: normal;
133
+            color: @primary-color;
134
+          }
135
+        }
136
+
137
+        &.pagination {
138
+          font-size: 14px;
139
+          color: #666;
140
+          padding-top: 16px;
141
+          padding-bottom: 16px;
142
+        }
143
+      }
144
+    }
145
+
146
+    button {
147
+      margin-top: 10px;
148
+
149
+      &.btn {
150
+        margin-left: 8px;
151
+      }
152
+    }
153
+  }
154
+
155
+  // 新增
156
+  &.add {
157
+    .modalBody {
158
+      width: 480px;
159
+      height: auto;
160
+
161
+      .content {
162
+        width: 100%;
163
+        height: auto;
164
+        padding: 18px 14px 0 14px;
165
+
166
+        .addForm {
167
+          .ant-form-item {
168
+            margin-bottom: 15px;
169
+
170
+            .ant-form-item-label {
171
+              line-height: 0;
172
+            }
173
+          }
174
+        }
175
+
176
+        .editForm {
177
+          .ant-form-item {
178
+            margin-bottom: 15px;
179
+
180
+            .ant-form-item-label {
181
+              line-height: 0;
182
+            }
183
+          }
184
+        }
185
+      }
186
+
187
+      button {
188
+        &:nth-child(1) {
189
+          margin-right: 20px;
190
+        }
191
+      }
192
+    }
193
+  }
194
+}

+ 129 - 0
src/app/share/add-inspect-two-modal/add-inspect-two-modal.component.ts

@@ -0,0 +1,129 @@
1
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
2
+import { MainService } from '../../services/main.service';
3
+import { ToolService } from 'src/app/services/tool.service';
4
+import { startOfDay, format } from 'date-fns';
5
+import { NzMessageService } from 'ng-zorro-antd';
6
+@Component({
7
+  selector: 'app-add-inspect-two-modal',
8
+  templateUrl: './add-inspect-two-modal.component.html',
9
+  styleUrls: ['./add-inspect-two-modal.component.less']
10
+})
11
+export class AddInspectTwoModalComponent implements OnInit {
12
+  // 切换科室,切换弹窗
13
+  isAllDisplayData2Checked = false;
14
+  listOfDisplayData2: any[] = [];
15
+  mapOfCheckedData2Id: { [key: string]: boolean } = {};
16
+  isIndeterminateData2 = false;
17
+  currentDept; //当前科室
18
+
19
+  hosId;
20
+  hsLoading = false;
21
+  data2List: any = [];// 列表
22
+
23
+  @Input() deptDisplay: any;
24
+
25
+  @Output() closeModelHs = new EventEmitter<any>();//1.组件暴露一个 EventEmitter 属性,当事件发生时,子组件利用该属性 emits(向上弹射)事件
26
+  @Output() confirmModelHs = new EventEmitter<any>();//1.组件暴露一个 EventEmitter 属性,当事件发生时,子组件利用该属性 emits(向上弹射)事件
27
+
28
+  constructor(
29
+    private mainService: MainService,
30
+    private tool: ToolService,
31
+    private message: NzMessageService,
32
+  ) { }
33
+
34
+  ngOnInit() {
35
+    this.hosId = this.tool.getCurrentHospital().id;
36
+    this.currentDept = this.tool.getCurrentUserDept();
37
+    this.getList();
38
+  }
39
+
40
+  currentPageData2Change($event: any[]): void {
41
+    this.listOfDisplayData2 = this.data2List; //改变页数,长度也要变
42
+    this.refreshData2Status();
43
+  }
44
+
45
+  refreshData2Status(): void {
46
+    this.isAllDisplayData2Checked = this.listOfDisplayData2.length ? this.listOfDisplayData2.every(
47
+      (item) => this.mapOfCheckedData2Id[item.id]
48
+    ) : false;
49
+    this.isIndeterminateData2 = this.listOfDisplayData2.some((item) => this.mapOfCheckedData2Id[item.id]) && !this.isAllDisplayData2Checked;
50
+  }
51
+
52
+  // 开通科室选择整行
53
+  selectedListData2(id) {
54
+    this.mapOfCheckedData2Id[id] = !this.mapOfCheckedData2Id[id];
55
+    this.refreshData2Status();
56
+  }
57
+
58
+  checkAllData2(value: boolean): void {
59
+    this.listOfDisplayData2.forEach(
60
+      (item) => (this.mapOfCheckedData2Id[item.id] = value)
61
+    );
62
+    this.refreshData2Status();
63
+  }
64
+
65
+  // 确认弹窗
66
+  confirmModal() {
67
+    console.log(this[`mapOfCheckedData2Id`]);
68
+    let list = [];
69
+    for (const key in this[`mapOfCheckedData2Id`]) {
70
+      if (this[`mapOfCheckedData2Id`][key]) {
71
+        list.push({id: key});
72
+      }
73
+    }
74
+    if(list.length == 0){
75
+      this.message.warning('请选择数据');
76
+      return;
77
+    }
78
+    this.confirmModelHs.emit(JSON.stringify({ show: false, list, type: 2 }));//emits(向上弹射)事件
79
+  }
80
+
81
+  // 关闭弹窗
82
+  hideModal() {
83
+    this.closeModelHs.emit(JSON.stringify({ show: false }));//emits(向上弹射)事件
84
+  }
85
+
86
+  getList(){
87
+    this.getInspectCheckItem();
88
+    this.getList2();
89
+  }
90
+
91
+  // 获取列表数据
92
+  getList2() {
93
+    let postData = {
94
+      idx: 0,
95
+      sum: 9999,
96
+      dictionary: {
97
+        key: 'inspect_check_type',
98
+        extra5: this.activeInspectCheckItemId,
99
+      }
100
+    }
101
+    this.hsLoading = true;
102
+    this.mainService.getFetchDataList('simple/data','dictionary',postData).subscribe(data => {
103
+      this.hsLoading = false;
104
+      this.data2List = data.list || [];
105
+    })
106
+  }
107
+
108
+  // 获取检查项目
109
+  inspectCheckItemList:any[] = [];
110
+  activeInspectCheckItemId;
111
+  getInspectCheckItem() {
112
+    this.mainService.getDictionary("list", "inspect_check_item").subscribe((data) => {
113
+			this.inspectCheckItemList = data || [];
114
+		});
115
+  }
116
+
117
+  clickInspectCheckItem(id){
118
+    if(this.activeInspectCheckItemId == id){
119
+      this.activeInspectCheckItemId = undefined;
120
+    }else{
121
+      this.activeInspectCheckItemId = id;
122
+    }
123
+    this.getList2();
124
+  }
125
+
126
+}
127
+
128
+
129
+

+ 3 - 0
src/app/share/share.module.ts

@@ -67,6 +67,7 @@ import { SpecimenPackageListModalComponent } from './specimen-package-list-modal
67 67
 import { NgxPrintModule } from 'ngx-print';
68 68
 import { SpecimenPackageLogPromptModalComponent } from './specimen-package-log-prompt-modal/specimen-package-log-prompt-modal.component';
69 69
 import { UploadFileComponent } from './upload-file/upload-file.component';
70
+import { AddInspectTwoModalComponent } from './add-inspect-two-modal/add-inspect-two-modal.component';
70 71
 
71 72
 @NgModule({
72 73
   declarations: [
@@ -131,6 +132,7 @@ import { UploadFileComponent } from './upload-file/upload-file.component';
131 132
     MedicalWasteLogPromptModalComponent,
132 133
     SelectDateComponent,
133 134
     AddInspectModalComponent,
135
+    AddInspectTwoModalComponent,
134 136
     SelectDateYytimeComponent,
135 137
     PackageSpecimenRuleComponent,
136 138
     SpecimenPackageListModalComponent,
@@ -209,6 +211,7 @@ import { UploadFileComponent } from './upload-file/upload-file.component';
209 211
     MedicalWasteLogPromptModalComponent,
210 212
     SelectDateComponent,
211 213
     AddInspectModalComponent,
214
+    AddInspectTwoModalComponent,
212 215
     SelectDateYytimeComponent,
213 216
     PackageSpecimenRuleComponent,
214 217
     SpecimenPackageListModalComponent,

+ 3 - 3
src/app/views/common-document/common-document.component.html

@@ -10,7 +10,7 @@
10 10
 				<div class="item" (click)='editTree(3)'>修改</div>
11 11
 			</div>
12 12
 			<div class="tree-content">
13
-				<nz-tree [nzData]="nodes" 
13
+				<nz-tree [nzData]="nodes"
14 14
 				(nzClick)="nodeClick($event)"
15 15
 				[nzExpandedKeys]="defaultExpandedKeys"
16 16
 				[nzTreeTemplate]="nzTreeTemplate"
@@ -152,7 +152,7 @@
152 152
 <!-- 删除树结构模态框 -->
153 153
   <app-dialog-delete [delModal]="delTreeModal" (hideDelModalEvent)="hideTreeModal()" [btnLoading]="btnLoading"
154 154
     (confirmDelEvent)="confirmTree()" content="您确认要删除目录吗?"></app-dialog-delete>
155
-		
155
+
156 156
 <!-- 新增一级目录 -->
157 157
 <div class="save display_flex justify-content_flex-center align-items_center add" *ngIf="addModal">
158 158
 	<div class="modalAddBody">
@@ -183,4 +183,4 @@
183 183
 			<button class="btn cancel" nz-button nzType="default" (click)="hideAddModal()">取消</button>
184 184
 		</div>
185 185
 	</div>
186
-</div>
186
+</div>

+ 15 - 0
src/app/views/hushijiandan/hushijiandan.component.html

@@ -1484,6 +1484,9 @@
1484 1484
                 <button nz-button nzSize="small" nzType="default" class="pos-btn ml8" (click)="nextDayNew()">
1485 1485
                   下一日
1486 1486
                 </button>
1487
+                <button nz-button nzSize="small" nzType="primary" class="ml8" (click)="addInspect()" *ngIf="inspectAndPatientTransportConfig.nurseAppendInspect == 1">
1488
+                  追加检查
1489
+                </button>
1487 1490
               </div>
1488 1491
               <!-- 检查 -->
1489 1492
               <nz-form-item>
@@ -1493,6 +1496,7 @@
1493 1496
                     <div nz-row nz-col nzSpan="12" *ngFor="let item of linkCheckLis">
1494 1497
                       <div nz-col nzSpan="24">
1495 1498
                         <label nz-checkbox [nzValue]="item">{{ item.label}}</label>
1499
+                        <i class="icon_transport transport-shanchu1 cur" *ngIf="item.manualCreate == 1" (click)="delInspect(item.value)"></i>
1496 1500
                         <i class="icon_transport transport-zu1468 priority" *ngIf="item.priority === 1 || item.priority === '1'"></i>
1497 1501
                       </div>
1498 1502
                     </div>
@@ -2346,6 +2350,14 @@
2346 2350
   (confirmDelEvent)="confirmDelAdvice()"
2347 2351
   content="您确认要删除此条意见吗?"
2348 2352
 ></app-dialog-delete>
2353
+<!-- 删除检查模态框 -->
2354
+<app-dialog-delete
2355
+  [delModal]="delInspectModal"
2356
+  (hideDelModalEvent)="hideDelInspectModal()"
2357
+  [btnLoading]="btnLoading4"
2358
+  (confirmDelEvent)="confirmDelInspect()"
2359
+  content="您确认要删除此条检查吗?"
2360
+></app-dialog-delete>
2349 2361
 <!-- 撤销报修 -->
2350 2362
 <app-dialog-delete
2351 2363
   [delModal]="delBxModal"
@@ -2760,3 +2772,6 @@
2760 2772
 
2761 2773
 <!-- 标本打包-数字点击 -->
2762 2774
 <app-specimen-package-list-modal *ngIf="isShowSpecimenPackageList" (closeModelHs)="closeSpecimenPackageList($event)" [specimenPackageStateValue]="specimenPackageStateValue"></app-specimen-package-list-modal>
2775
+
2776
+<!-- 追加检查 -->
2777
+<app-add-inspect-two-modal *ngIf="isShowAddInspect" [deptDisplay]="deptDisplay" (closeModelHs)="closeAddInspectModel($event)" (confirmModelHs)="confirmAddInspectModel($event)"></app-add-inspect-two-modal>

+ 74 - 0
src/app/views/hushijiandan/hushijiandan.component.ts

@@ -3325,6 +3325,7 @@ export class HushijiandanComponent implements OnInit {
3325 3325
               execDeptId: e.execDept.id,
3326 3326
               yyTime: e.yyTime,
3327 3327
               priority: e.priority,
3328
+              manualCreate: e.manualCreate,
3328 3329
               label:
3329 3330
                 (e.yyTime || "") +
3330 3331
                 " " +
@@ -4622,6 +4623,32 @@ export class HushijiandanComponent implements OnInit {
4622 4623
   hideDelAdviceModal() {
4623 4624
     this.delAdviceModal = false;
4624 4625
   }
4626
+  // 追加检查删除模态框
4627
+  delInspectModal: boolean = false;
4628
+  delInspectId: number; //删除id
4629
+  btnLoading4:boolean = false;
4630
+  delInspect(id) {
4631
+    this.delInspectId = id;
4632
+    this.delInspectModal = true;
4633
+  }
4634
+  confirmDelInspect() {
4635
+    this.btnLoading4 = true;
4636
+    this.mainService
4637
+      .simplePost("rmvData", "inspect", [this.delInspectId])
4638
+      .subscribe((data) => {
4639
+        this.delInspectModal = false;
4640
+        this.btnLoading4 = false;
4641
+        if (data.status == 200) {
4642
+          this.message.success('删除检查成功!')
4643
+          this.refreshInspectList();
4644
+        } else {
4645
+          this.message.error(data.msg || '删除检查失败!')
4646
+        }
4647
+      });
4648
+  }
4649
+  hideDelInspectModal() {
4650
+    this.delInspectModal = false;
4651
+  }
4625 4652
   // 报修撤销模态框
4626 4653
   delBxModal: boolean = false;
4627 4654
   delBxData: any; //删除的data
@@ -5457,6 +5484,7 @@ export class HushijiandanComponent implements OnInit {
5457 5484
               execDeptId: e.execDept.id,
5458 5485
               yyTime: e.yyTime,
5459 5486
               priority: e.priority,
5487
+              manualCreate: e.manualCreate,
5460 5488
               label:
5461 5489
                 (e.yyTime || "") +
5462 5490
                 " " +
@@ -5485,4 +5513,50 @@ export class HushijiandanComponent implements OnInit {
5485 5513
   closeSpecimenPackageList(e) {
5486 5514
     this.isShowSpecimenPackageList = JSON.parse(e).show;
5487 5515
   }
5516
+
5517
+  // 追加检查
5518
+  isShowAddInspect = false; //弹窗开关
5519
+  addInspect(){
5520
+    this.isShowAddInspect = true;
5521
+  }
5522
+  // 关闭弹窗
5523
+  closeAddInspectModel(e) {
5524
+    this.isShowAddInspect = JSON.parse(e).show;
5525
+  }
5526
+  // 确定弹窗
5527
+  confirmAddInspectModel(e) {
5528
+    console.log(e);
5529
+    let obj = JSON.parse(e);
5530
+    this.isShowAddInspect = obj.show;
5531
+    if(obj.type == 2){
5532
+      let user = JSON.parse(localStorage.getItem("user"));
5533
+      // 手动添加
5534
+      let postData:any = {
5535
+        inspectList: obj.list.map(v => ({
5536
+          patientCode: this.patientMsg.patientCode,
5537
+          patientName: this.patientMsg.patientName,
5538
+          barCode: this.patientMsg.barCode,
5539
+          inspectCheckType: { id: v.id },
5540
+          applyDeptId: user.user.dept.id,
5541
+          bedNum: this.patientMsg.bedNum,
5542
+          hosId: this.patientMsg.hosId,
5543
+        })) || undefined,
5544
+      };
5545
+      this.maskFlag = this.message.loading("正在加载中..", {
5546
+        nzDuration: 0,
5547
+      }).messageId;
5548
+      this.mainService
5549
+        .simplePost("addData", "inspect", postData)
5550
+        .subscribe((data:any) => {
5551
+          this.message.remove(this.maskFlag);
5552
+          this.maskFlag = false;
5553
+          if (data.status == 200) {
5554
+            this.message.success('追加检查成功!')
5555
+            this.refreshInspectList();
5556
+          } else {
5557
+            this.message.error(data.msg || '追加检查失败!')
5558
+          }
5559
+        });
5560
+    }
5561
+  }
5488 5562
 }

+ 11 - 3
src/app/views/info-search/info-search.component.html

@@ -1,7 +1,7 @@
1 1
 <div class="list-template">
2 2
   <div class="list-template__content">
3 3
     <div class="list-template__top" nz-row>
4
-      <div nz-col nzXl='16' class="list-template__searchBox">
4
+      <div nz-col nzXl='17' class="list-template__searchBox">
5 5
         <div class="list-template__searchItem">
6 6
           <span class="label">编码:</span>
7 7
           <input nz-input class="formItem" placeholder="请输入编码" [(ngModel)]="searchCriteria.id" />
@@ -9,7 +9,7 @@
9 9
         <div class="list-template__searchItem">
10 10
           <span class="label">类型:</span>
11 11
           <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzPlaceHolder="请选择类型"
12
-            [(ngModel)]="searchCriteria.target">
12
+            [(ngModel)]="searchCriteria.target" (ngModelChange)="changeTarget($event)">
13 13
             <ng-container *ngFor="let data of typeList">
14 14
               <nz-option *ngIf="!isLoading" nzLabel="{{data.name}}" nzValue="{{data.type}}"></nz-option>
15 15
             </ng-container>
@@ -18,8 +18,16 @@
18 18
             </nz-option>
19 19
           </nz-select>
20 20
         </div>
21
+        <div class="list-template__searchItem" *ngIf="searchCriteria.target === 'dataSource'">
22
+          <span class="label">时间范围</span>:
23
+          <nz-range-picker nzShowTime [(ngModel)]="dateRange" (nzOnCalendarChange)="onCalendarChangeDate($event)"></nz-range-picker>
24
+        </div>
25
+        <div class="list-template__searchItem" *ngIf="searchCriteria.target === 'dataSource'">
26
+          <span class="label">业务标识:</span>
27
+          <input nz-input class="formItem" placeholder="请输入业务标识" [(ngModel)]="searchCriteria.busiType" />
28
+        </div>
21 29
       </div>
22
-      <div nz-col nzXl="8" class="list-template__btns">
30
+      <div nz-col nzXl="7" class="list-template__btns">
23 31
         <button nz-button class="btn default" (click)='reset()'>重置</button>
24 32
         <button nz-button class="btn default ml8" (click)='getList()'>搜索</button>
25 33
       </div>

+ 50 - 11
src/app/views/info-search/info-search.component.ts

@@ -2,6 +2,7 @@ import { Component, OnInit } from "@angular/core";
2 2
 import { MainService } from "src/app/services/main.service";
3 3
 import { ToolService } from "src/app/services/tool.service";
4 4
 import { NzModalService, NzMessageService } from "ng-zorro-antd";
5
+import { startOfDay, endOfDay, format } from 'date-fns';
5 6
 
6 7
 @Component({
7 8
   selector: "app-info-search",
@@ -16,10 +17,13 @@ export class InfoSearchComponent implements OnInit {
16 17
     private message: NzMessageService,
17 18
   ) {}
18 19
 
20
+  dateRange: any = []; //时间范围
21
+
19 22
   searchCriteria = {
20 23
     //搜索条件
21 24
     id: "", //编码
22 25
     target: "order", //类型
26
+    busiType: "", //业务标识
23 27
   };
24 28
   typeList = [
25 29
     {
@@ -57,12 +61,20 @@ export class InfoSearchComponent implements OnInit {
57 61
       panel.active = !panel.active;
58 62
     }
59 63
   }
64
+  // 日期选择
65
+  onCalendarChangeDate(dateArr){
66
+    if(dateArr.length == 2){
67
+      this.dateRange = [startOfDay(dateArr[0]), endOfDay(dateArr[1])];
68
+    }
69
+  }
60 70
   // 重置
61 71
   reset() {
72
+    this.dateRange = [];
62 73
     this.searchCriteria = {
63 74
       //搜索条件
64 75
       id: "",
65 76
       target: "order",
77
+      busiType: "",
66 78
     };
67 79
     this.getList();
68 80
   }
@@ -167,21 +179,48 @@ export class InfoSearchComponent implements OnInit {
167 179
       list: [],
168 180
     },
169 181
   ];
182
+  // 修改类型
183
+  changeTarget(e){
184
+    this.searchCriteria.id = '';
185
+    this.searchCriteria.busiType = '';
186
+    this.dateRange = [];
187
+  }
170 188
   // 获取数据
171 189
   getList() {
172 190
     this.loading1 = true;
173
-    let id = this.searchCriteria.id || "dsadmin";
174
-    console.log(id);
175
-    this.mainService
176
-      .infoSearch(this.searchCriteria.target, id)
177
-      .subscribe((result) => {
178
-        this.panels = this.panelsClone;
179
-        this.loading1 = false;
180
-        this.panels.forEach((item) => {
181
-          item.list = result[item.extra] || [];
191
+    console.log(this.dateRange)
192
+    if(this.searchCriteria.target == 'dataSource'){
193
+      // 原始数据
194
+      let postData = {
195
+        content: this.searchCriteria.id,
196
+        busiType: this.searchCriteria.busiType,
197
+        startTime: this.dateRange.length ? format(this.dateRange[0], 'yyyy-MM-dd HH:mm:ss') : undefined,
198
+        endTime: this.dateRange.length ? format(this.dateRange[1], 'yyyy-MM-dd HH:mm:ss') : undefined,
199
+      }
200
+      this.mainService
201
+        .queryDataSource(postData)
202
+        .subscribe((result) => {
203
+          this.panels = this.panelsClone;
204
+          this.loading1 = false;
205
+          this.panels.forEach((item) => {
206
+            item.list = result[item.extra] || [];
207
+          });
208
+          this.panels = this.panels.filter((item) => item.list.length > 0);
209
+        });
210
+    }else{
211
+      let id = this.searchCriteria.id || "dsadmin";
212
+      console.log(id);
213
+      this.mainService
214
+        .infoSearch(this.searchCriteria.target, id)
215
+        .subscribe((result) => {
216
+          this.panels = this.panelsClone;
217
+          this.loading1 = false;
218
+          this.panels.forEach((item) => {
219
+            item.list = result[item.extra] || [];
220
+          });
221
+          this.panels = this.panels.filter((item) => item.list.length > 0);
182 222
         });
183
-        this.panels = this.panels.filter((item) => item.list.length > 0);
184
-      });
223
+    }
185 224
   }
186 225
   // json弹窗
187 226
   toJson(json) {

+ 5 - 0
src/app/views/inspect-and-patient-transport-config/inspect-and-patient-transport-config.component.html

@@ -157,6 +157,11 @@
157 157
           <nz-form-label class="label">是否开启陪检方式</nz-form-label>
158 158
           <nz-checkbox-group [(ngModel)]="enableTripType"></nz-checkbox-group>
159 159
         </div>
160
+        <!-- 是否开启护士端追加检查 -->
161
+        <div class="display_flex align-items_center mb8">
162
+          <nz-form-label class="label">是否开启护士端追加检查</nz-form-label>
163
+          <nz-checkbox-group [(ngModel)]="nurseAppendInspect"></nz-checkbox-group>
164
+        </div>
160 165
         <!-- 检查预约不进行工单合并 -->
161 166
         <!-- <div class="display_flex align-items_center mb8">
162 167
           <nz-form-label class="label">检查预约不进行工单合并</nz-form-label>

+ 6 - 0
src/app/views/inspect-and-patient-transport-config/inspect-and-patient-transport-config.component.ts

@@ -92,6 +92,10 @@ export class InspectAndPatientTransportConfigComponent implements OnInit {
92 92
   enableTripType:any[] = [
93 93
     {label:'是否开启',value: 0}
94 94
   ];
95
+  // 是否开启护士端追加检查
96
+  nurseAppendInspect:any[] = [
97
+    {label:'是否开启',value: 0}
98
+  ];
95 99
   // 检查预约不进行工单合并
96 100
   // yyInspectMergeOrder:any[] = [
97 101
   //   {label:'是否开启',value: 0}
@@ -292,6 +296,7 @@ export class InspectAndPatientTransportConfigComponent implements OnInit {
292 296
       hideInspectScan: this.hideInspectScan[0].checked ? 1 : 0,
293 297
       enableGoods: this.enableGoods[0].checked ? 1 : 0,
294 298
       enableTripType: this.enableTripType[0].checked ? 1 : 0,
299
+      nurseAppendInspect: this.nurseAppendInspect[0].checked ? 1 : 0,
295 300
       // yyInspectMergeOrder: this.yyInspectMergeOrder[0].checked ? 1 : 0,
296 301
       addService: this.addService[0].checked ? 1 : 0,
297 302
       addServiceTaskIds: this.addServiceTaskIds.length ? this.addServiceTaskIds.toString() : undefined,
@@ -422,6 +427,7 @@ export class InspectAndPatientTransportConfigComponent implements OnInit {
422 427
           this.hideInspectScan[0].checked = this.configs.hideInspectScan == 1;
423 428
           this.enableGoods[0].checked = this.configs.enableGoods == 1;
424 429
           this.enableTripType[0].checked = this.configs.enableTripType == 1;
430
+          this.nurseAppendInspect[0].checked = this.configs.nurseAppendInspect == 1;
425 431
           // this.yyInspectMergeOrder[0].checked = this.configs.yyInspectMergeOrder == 1;
426 432
           this.addService[0].checked = this.configs.addService == 1;
427 433
           this.addServiceTaskIds = this.configs.addServiceTaskIds ? this.configs.addServiceTaskIds.split(',').map(v => +v) : [];

+ 21 - 7
src/app/views/inspect-closed-loop-view/inspect-closed-loop-view.component.html

@@ -52,13 +52,14 @@
52 52
   <nz-table class="list-template__nzTable" [nzData]="listOfData" nzSize="middle" [nzShowPagination]="false" [nzLoading]="loading1">
53 53
     <thead>
54 54
       <tr class="thead">
55
-        <th nzWidth="14%">科室信息</th>
56
-        <th nzWidth="14%">患者信息</th>
57
-        <th nzWidth="14%">护理信息</th>
58
-        <th nzWidth="14%">陪检方式</th>
59
-        <th nzWidth="16%">检查项目</th>
60
-        <th nzWidth="14%">签到信息</th>
61
-        <th nzWidth="14%">状态</th>
55
+        <th nzWidth="13%">科室信息</th>
56
+        <th nzWidth="13%">患者信息</th>
57
+        <th nzWidth="13%">护理信息</th>
58
+        <th nzWidth="13%">陪检方式</th>
59
+        <th nzWidth="15%">检查项目</th>
60
+        <th nzWidth="13%">签到信息</th>
61
+        <th nzWidth="13%">状态</th>
62
+        <th nzWidth="7%">操作</th>
62 63
       </tr>
63 64
     </thead>
64 65
     <tbody>
@@ -70,6 +71,11 @@
70 71
         <td><ng-container *ngFor="let item of data.inspectList;let last = last">{{item.inspectName}}<ng-container *ngIf="!last"><br></ng-container></ng-container></td>
71 72
         <td>{{ data.signTime | date: "yyyy-MM-dd HH:mm" }}<br>{{ data.signDeptDTO?.dept }}<br>{{ data.signUserDTO?.name }}</td>
72 73
         <td>{{data.state?.name}}</td>
74
+        <td>
75
+          <div class="coop">
76
+            <span *ngIf="coopBtns.tagBackDepartment && data.state && data.state.value == '4'" (click)="showDelModal(data, '您确认' + data.patientName + '患者已回科吗?', '操作', 'tagBackDepartment')">已回科</span>
77
+          </div>
78
+        </td>
73 79
       </tr>
74 80
     </tbody>
75 81
   </nz-table>
@@ -77,3 +83,11 @@
77 83
 <div class="footer display_flex align-items_center justify-content_flex-end">
78 84
   <nz-pagination [(nzPageIndex)]="pageIndex" [(nzTotal)]="listLength" [(nzPageSize)]="pageSize" nzShowSizeChanger (nzPageIndexChange)="getList(0)" (nzPageSizeChange)="getList(0)"></nz-pagination>
79 85
 </div>
86
+<!-- 操作成功/失败提示框 -->
87
+<app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
88
+  [info]="promptInfo">
89
+</app-prompt-modal>
90
+
91
+<!-- 删除模态框 -->
92
+<app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading"
93
+(confirmDelEvent)="confirmDel()" [content]="tipsMsg1"></app-dialog-delete>

+ 64 - 0
src/app/views/inspect-closed-loop-view/inspect-closed-loop-view.component.ts

@@ -41,6 +41,11 @@ export class InspectClosedLoopViewComponent implements OnInit, OnDestroy {
41 41
 
42 42
   searchTimerSubject = new Subject(); //防抖
43 43
 
44
+  // 初始化增删改按钮
45
+  coopBtns: any = {};
46
+  coopData: any = {}; //当前操作列
47
+  btnLoading: boolean = false; //提交按钮loading状态
48
+
44 49
   ngOnInit() {
45 50
     //防抖
46 51
     this.searchTimerSubject.pipe(debounceTime(500)).subscribe((v) => {
@@ -48,6 +53,7 @@ export class InspectClosedLoopViewComponent implements OnInit, OnDestroy {
48 53
       fun.call(this, v[1]);
49 54
     });
50 55
 
56
+    this.coopBtns = this.tool.initCoopBtns(this.route);
51 57
     this.init();
52 58
   }
53 59
 
@@ -55,6 +61,64 @@ export class InspectClosedLoopViewComponent implements OnInit, OnDestroy {
55 61
     clearInterval(this.timer);
56 62
   }
57 63
 
64
+  delModal: boolean = false; //删除模态框
65
+  tipsMsg1: string; //提示框信息
66
+  tipsMsg2: string; //操作后信息
67
+  confirmDelType: string; //确认的类型(启用/停用,删除)
68
+  showDelModal(
69
+    data,
70
+    tipsMsg1: string,
71
+    tipsMsg2: string,
72
+    type: string,
73
+  ) {
74
+    this.confirmDelType = type;
75
+    this.delModal = true;
76
+    this.coopData = data;
77
+    this.tipsMsg1 = tipsMsg1;
78
+    this.tipsMsg2 = tipsMsg2;
79
+  }
80
+  // 隐藏删除框
81
+  hideDelModal() {
82
+    this.delModal = false;
83
+  }
84
+  // 确认删除
85
+  confirmDel() {
86
+    this.btnLoading = true;
87
+    if (this.confirmDelType === "tagBackDepartment") {
88
+      let postData = {
89
+        pilId: this.coopData.id,
90
+      };
91
+      //标记回科
92
+      this.mainService
93
+        .setPatientInspectBackDept(postData)
94
+        .subscribe((data:any) => {
95
+          this.btnLoading = false;
96
+          this.delModal = false;
97
+          if (data.state == 200) {
98
+            this.showPromptModal(this.tipsMsg2, true, "");
99
+          } else {
100
+            this.showPromptModal(this.tipsMsg2, false, data.msg);
101
+          }
102
+        });
103
+    }
104
+  }
105
+
106
+  // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)
107
+  promptContent: string; //操作提示框提示信息
108
+  ifSuccess: boolean; //操作成功/失败
109
+  promptInfo: string; //操作结果提示信息
110
+  promptModalShow: boolean; //操作提示框是否展示
111
+  showPromptModal(con, success, promptInfo?) {
112
+    this.promptModalShow = false;
113
+    this.promptContent = con;
114
+    this.ifSuccess = success;
115
+    this.promptInfo = promptInfo;
116
+    setTimeout(() => {
117
+      this.promptModalShow = true;
118
+    }, 100);
119
+    this.getList(1);
120
+  }
121
+
58 122
   // 日期选择
59 123
   onCalendarChangeDate(dateArr){
60 124
     if(dateArr.length == 2){

+ 222 - 36
src/app/views/patient-search/patient-search.component.html

@@ -2,33 +2,59 @@
2 2
   <div class="list-template__content">
3 3
     <div class="list-template__top" nz-row>
4 4
       <div nz-col nzXl='16' class="list-template__searchBox">
5
+        <div class="list-template__searchItem">
6
+          <span class="label">院区:</span>
7
+          <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzPlaceHolder="请选择院区" [(ngModel)]="searchCriteria.hosId" (ngModelChange)="changeHospitalSearch($event)">
8
+            <ng-container *ngFor="let option of hospitalSearchList">
9
+              <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
10
+            </ng-container>
11
+            <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
12
+              <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
13
+            </nz-option>
14
+          </nz-select>
15
+        </div>
5 16
         <div class="list-template__searchItem">
6 17
           <span class="label">患者姓名:</span>
7 18
           <input nz-input class="formItem" placeholder="请输入患者姓名" [(ngModel)]="searchCriteria.patientName" />
8 19
         </div>
9 20
         <div class="list-template__searchItem">
10
-          <span class="label">床号:</span>
11
-          <input nz-input class="formItem" placeholder="请输入床号" [(ngModel)]="searchCriteria.bedNum" />
21
+          <span class="label">当前科室:</span>
22
+          <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzServerSearch nzShowSearch nzAllowClear nzPlaceHolder="请选择当前科室" [(ngModel)]="searchCriteria.department" (nzOnSearch)="changeInp($event, 'departmentSearch')" (nzOpenChange)="openDepartmentSearch($event)">
23
+            <ng-container *ngFor="let data of deptSearchList">
24
+              <nz-option *ngIf="!isLoading" [nzLabel]="data.dept" [nzValue]="data.id"></nz-option>
25
+            </ng-container>
26
+            <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
27
+              <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
28
+            </nz-option>
29
+          </nz-select>
12 30
         </div>
13 31
         <div class="list-template__searchItem">
14
-          <span class="label">当前科室:</span>
15
-          <nz-select
16
-            [nzDropdownMatchSelectWidth]="false"
17
-            class="formItem"
18
-            nzServerSearch
19
-            nzShowSearch
20
-            nzAllowClear
21
-            nzPlaceHolder="请选择当前科室"
22
-            [(ngModel)]="searchCriteria.department"
23
-            (nzOnSearch)="changeInp($event, 'search')"
24
-            (nzOpenChange)="changeSearch($event)"
25
-          >
26
-            <ng-container *ngFor="let data of departmentSearch">
27
-              <nz-option
28
-                *ngIf="!isLoading"
29
-                nzLabel="{{ data.dept }}"
30
-                nzValue="{{ data.id }}"
31
-              ></nz-option>
32
+          <span class="label">患者类别:</span>
33
+          <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzAllowClear nzPlaceHolder="请选择患者类别" [(ngModel)]="searchCriteria.patientType">
34
+            <ng-container *ngFor="let data of patientTypeList">
35
+              <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id"></nz-option>
36
+            </ng-container>
37
+            <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
38
+              <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
39
+            </nz-option>
40
+          </nz-select>
41
+        </div>
42
+        <div class="list-template__searchItem">
43
+          <span class="label">护理等级:</span>
44
+          <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzAllowClear nzPlaceHolder="请选择护理等级" [(ngModel)]="searchCriteria.careLevel">
45
+            <ng-container *ngFor="let data of careLevelList">
46
+              <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id"></nz-option>
47
+            </ng-container>
48
+            <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
49
+              <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
50
+            </nz-option>
51
+          </nz-select>
52
+        </div>
53
+        <div class="list-template__searchItem">
54
+          <span class="label">病情级别:</span>
55
+          <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzAllowClear nzPlaceHolder="请选择病情级别" [(ngModel)]="searchCriteria.illnessState">
56
+            <ng-container *ngFor="let data of illnessStateList">
57
+              <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id"></nz-option>
32 58
             </ng-container>
33 59
             <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
34 60
               <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
@@ -39,6 +65,7 @@
39 65
       <div nz-col nzXl="8" class="list-template__btns">
40 66
         <button nz-button class="btn default" (click)='reset()'>重置</button>
41 67
         <button nz-button class="btn default ml8" (click)='getList(1)'>搜索</button>
68
+        <button nz-button *ngIf="coopBtns.add" class="btn ml8 default" (click)="showModal()">新增</button>
42 69
       </div>
43 70
     </div>
44 71
     <div class="list-template__bottom">
@@ -46,26 +73,40 @@
46 73
         [nzLoading]="loading1">
47 74
         <thead>
48 75
           <tr class="thead">
49
-            <th nzWidth="10%">序号</th>
50
-            <th nzWidth="15%">患者姓名</th>
51
-            <th nzWidth="15%">住院号</th>
52
-            <th nzWidth="15%">床号</th>
53
-            <th nzWidth="15%">当前科室</th>
54
-            <th nzWidth="15%">护理等级</th>
55
-            <th nzWidth="15%">病情级别</th>
56
-            <!-- <th nzWidth="9%">操作</th> -->
76
+            <th nzWidth="8%">患者类别</th>
77
+            <th nzWidth="8%">患者姓名</th>
78
+            <th nzWidth="8%">患者标识</th>
79
+            <th nzWidth="8%">住院号</th>
80
+            <th nzWidth="8%">条码号</th>
81
+            <th nzWidth="8%">床号</th>
82
+            <th nzWidth="8%">院区</th>
83
+            <th nzWidth="8%">当前科室</th>
84
+            <th nzWidth="8%">护理等级</th>
85
+            <th nzWidth="8%">病情级别</th>
86
+            <th nzWidth="8%">年龄</th>
87
+            <th nzWidth="8%">性别</th>
88
+            <th nzWidth="7%">操作</th>
57 89
           </tr>
58 90
         </thead>
59 91
         <tbody>
60 92
           <tr *ngFor="let data of listOfData;let i = index">
61
-            <td>{{i+(pageIndex-1) * pageSize + 1}}</td>
62
-            <td>{{ data.patientName||'-' }}</td>
63
-            <td>{{ data.residenceNo||'-' }}</td>
64
-            <td>{{ data.bedNum||'-' }}</td>
65
-            <td>{{data.department?data.department.dept:'-'}}</td>
66
-            <td>{{data.careLevel?data.careLevel.name:'-'}}</td>
67
-            <td>{{data.illnessState?data.illnessState.name:'-'}}</td>
68
-            <!-- <td><button (click)="viewSpecimenHistory(data)">查看</button></td> -->
93
+            <td>{{ data.patientType?.name }}</td>
94
+            <td>{{ data.patientName }}</td>
95
+            <td>{{ data.patientCode }}</td>
96
+            <td>{{ data.residenceNo }}</td>
97
+            <td>{{ data.barCode }}</td>
98
+            <td>{{ data.bedNum }}</td>
99
+            <td>{{ data.hospitalDTO?.hosName }}</td>
100
+            <td>{{ data.department?.dept }}</td>
101
+            <td>{{ data.careLevel?.name }}</td>
102
+            <td>{{ data.illnessState?.name }}</td>
103
+            <td>{{ data.age }}</td>
104
+            <td>{{ data.gender?.name }}</td>
105
+            <td>
106
+              <div class="coop">
107
+                <span *ngIf="coopBtns.edit" (click)="edit(data)">编辑</span>
108
+              </div>
109
+            </td>
69 110
           </tr>
70 111
         </tbody>
71 112
       </nz-table>
@@ -77,3 +118,148 @@
77 118
     </div>
78 119
   </div>
79 120
 </div>
121
+
122
+<!-- 新增/编辑模态框 -->
123
+<div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="modal">
124
+  <div class="modalBody">
125
+    <div class="title">{{add?"新增":"编辑"}}<i class="icon_transport transport-guanbi" (click)="hideModal()"></i>
126
+    </div>
127
+    <overlay-scrollbars #osComponentRef1 class="content">
128
+      <form nz-form [formGroup]="validateForm" class="addForm" (ngSubmit)="submitForm()">
129
+        <nz-form-item>
130
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="patientName">患者姓名</nz-form-label>
131
+          <nz-form-control nzErrorTip="请填写患者姓名!">
132
+            <nz-input-group>
133
+              <input type="text" nz-input formControlName="patientName" placeholder="请填写患者姓名" />
134
+            </nz-input-group>
135
+          </nz-form-control>
136
+        </nz-form-item>
137
+        <nz-form-item>
138
+          <nz-form-label style="line-height:40px;" [nzSm]="3" [nzXs]="24" nzFor="gender">性别</nz-form-label>
139
+          <nz-form-control nzErrorTip="请选择性别!">
140
+            <nz-radio-group type="gender" formControlName="gender">
141
+              <label nz-radio [nzValue]="data.id" *ngFor="let data of genderList">{{data.name}}</label>
142
+            </nz-radio-group>
143
+          </nz-form-control>
144
+        </nz-form-item>
145
+        <nz-form-item>
146
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="age">年龄</nz-form-label>
147
+          <nz-form-control nzErrorTip="请填写年龄!">
148
+            <nz-input-group>
149
+              <nz-input-number class="w100" formControlName="age" placeholder="请填写年龄" [nzMin]="0" [nzStep]="1" [nzPrecision]="0"></nz-input-number>
150
+            </nz-input-group>
151
+          </nz-form-control>
152
+        </nz-form-item>
153
+        <nz-form-item>
154
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="patientCode">患者标识</nz-form-label>
155
+          <nz-form-control nzErrorTip="请填写患者标识!">
156
+            <nz-input-group>
157
+              <input type="text" nz-input formControlName="patientCode" placeholder="请填写患者标识" />
158
+            </nz-input-group>
159
+          </nz-form-control>
160
+        </nz-form-item>
161
+        <nz-form-item>
162
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="residenceNo">住院号</nz-form-label>
163
+          <nz-form-control nzErrorTip="请填写住院号!">
164
+            <nz-input-group>
165
+              <input type="text" nz-input formControlName="residenceNo" placeholder="请填写住院号" />
166
+            </nz-input-group>
167
+          </nz-form-control>
168
+        </nz-form-item>
169
+        <nz-form-item>
170
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="barCode">条码号</nz-form-label>
171
+          <nz-form-control nzErrorTip="请填写条码号!">
172
+            <nz-input-group>
173
+              <input type="text" nz-input formControlName="barCode" placeholder="请填写条码号" />
174
+            </nz-input-group>
175
+          </nz-form-control>
176
+        </nz-form-item>
177
+        <nz-form-item>
178
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="bedNum">床号</nz-form-label>
179
+          <nz-form-control nzErrorTip="请填写床号!">
180
+            <nz-input-group>
181
+              <input type="text" nz-input formControlName="bedNum" placeholder="请填写床号" />
182
+            </nz-input-group>
183
+          </nz-form-control>
184
+        </nz-form-item>
185
+        <nz-form-item>
186
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="hosId">院区</nz-form-label>
187
+          <nz-form-control nzErrorTip="请选择院区!">
188
+            <nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzPlaceHolder="请选择院区" formControlName="hosId" (ngModelChange)="changeHospital($event)">
189
+            <ng-container *ngFor="let option of hospitalList">
190
+              <nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
191
+            </ng-container>
192
+            <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
193
+              <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
194
+            </nz-option>
195
+          </nz-select>
196
+          </nz-form-control>
197
+        </nz-form-item>
198
+        <nz-form-item>
199
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="department">当前科室</nz-form-label>
200
+          <nz-form-control nzErrorTip="请选择当前科室!">
201
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="department" nzShowSearch nzAllowClear nzPlaceHolder="请选择当前科室" nzServerSearch (nzOnSearch)="changeInp($event, 'department')" (nzOpenChange)="openDepartment($event)">
202
+              <ng-container *ngFor="let data of deptList">
203
+                <nz-option *ngIf="!isLoading" [nzLabel]="data.dept" [nzValue]="data.id">
204
+                </nz-option>
205
+              </ng-container>
206
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
207
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
208
+              </nz-option>
209
+            </nz-select>
210
+          </nz-form-control>
211
+        </nz-form-item>
212
+        <nz-form-item>
213
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="careLevel">护理等级</nz-form-label>
214
+          <nz-form-control nzErrorTip="请选择护理等级!">
215
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="careLevel" nzAllowClear nzPlaceHolder="请选择护理等级">
216
+              <ng-container *ngFor="let data of careLevelList">
217
+                <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id">
218
+                </nz-option>
219
+              </ng-container>
220
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
221
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
222
+              </nz-option>
223
+            </nz-select>
224
+          </nz-form-control>
225
+        </nz-form-item>
226
+        <nz-form-item>
227
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="illnessState">病情级别</nz-form-label>
228
+          <nz-form-control nzErrorTip="请选择病情级别!">
229
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="illnessState" nzAllowClear nzPlaceHolder="请选择病情级别">
230
+              <ng-container *ngFor="let data of illnessStateList">
231
+                <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id">
232
+                </nz-option>
233
+              </ng-container>
234
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
235
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
236
+              </nz-option>
237
+            </nz-select>
238
+          </nz-form-control>
239
+        </nz-form-item>
240
+        <nz-form-item>
241
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="patientType">患者类别</nz-form-label>
242
+          <nz-form-control nzErrorTip="请选择患者类别!">
243
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="patientType" nzAllowClear nzPlaceHolder="请选择患者类别">
244
+              <ng-container *ngFor="let data of patientTypeList">
245
+                <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id">
246
+                </nz-option>
247
+              </ng-container>
248
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
249
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
250
+              </nz-option>
251
+            </nz-select>
252
+          </nz-form-control>
253
+        </nz-form-item>
254
+      </form>
255
+    </overlay-scrollbars>
256
+    <div class="display_flex justify-content_flex-center">
257
+      <button nzType="primary" nz-button (click)="submitForm()" [nzLoading]="btnLoading">确认</button>
258
+      <button class="btn cancel" nz-button nzType="default" (click)="hideModal()">取消</button>
259
+    </div>
260
+  </div>
261
+</div>
262
+
263
+<!-- 操作成功/失败提示框 -->
264
+<app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
265
+  [info]="promptInfo"></app-prompt-modal>

+ 1 - 1
src/app/views/patient-search/patient-search.component.less

@@ -103,7 +103,7 @@
103 103
 
104 104
         .addForm {
105 105
           .ant-form-item {
106
-            margin-bottom: 15px;
106
+            margin-bottom: 8px;
107 107
 
108 108
             .ant-form-item-label {
109 109
               line-height: 14px;

+ 306 - 50
src/app/views/patient-search/patient-search.component.ts

@@ -3,6 +3,8 @@ import { MainService } from "src/app/services/main.service";
3 3
 import { ToolService } from "src/app/services/tool.service";
4 4
 import { Subject } from 'rxjs';
5 5
 import { debounceTime } from 'rxjs/operators';
6
+import { ActivatedRoute } from '@angular/router';
7
+import { FormGroup, FormBuilder, Validators } from '@angular/forms';
6 8
 
7 9
 @Component({
8 10
   selector: "app-patient-search",
@@ -10,96 +12,142 @@ import { debounceTime } from 'rxjs/operators';
10 12
   styleUrls: ["./patient-search.component.less"],
11 13
 })
12 14
 export class PatientSearchComponent implements OnInit {
13
-  constructor(private mainService: MainService, private tool: ToolService) {}
14
-
15
-  searchCriteria = {
16
-    //搜索条件
17
-    patientName: "",
18
-    bedNum: "",
19
-    hospital: null,
20
-    department: null,
21
-  };
22
-  allHospital: any = []; //院区下拉框
15
+  constructor(
16
+    private mainService: MainService,
17
+    private tool: ToolService,
18
+    private route: ActivatedRoute,
19
+    private fb: FormBuilder,
20
+  ) {}
21
+
22
+  hosId = this.tool.getCurrentHospital().id; //当前院区
23
+
24
+  searchCriteria:any = {};
23 25
   listOfData: any[] = []; //表格数据
24 26
   pageIndex: number = 1; //表格当前页码
25 27
   pageSize: number = 10; //表格每页展示条数
26 28
   listLength: number = 10; //表格总数据量
27 29
   changeInpSubject = new Subject();
30
+
31
+  // 初始化增删改按钮
32
+  coopBtns: any = {};
33
+
28 34
   ngOnInit() {
29 35
     this.changeInpSubject.pipe(debounceTime(500)).subscribe((v) => {
30
-      this.searchDepartment(v[0], v[1]);
36
+      if(v[1] === 'department'){
37
+        this.getDepartmentList(v[0]);
38
+      }else if(v[1] === 'departmentSearch'){
39
+        this.getDepartmentSearchList(v[0]);
40
+      }
31 41
     });
32
-    this.getAllHospital();
42
+    this.coopBtns = this.tool.initCoopBtns(this.route);
43
+    this.searchCriteria.hosId = this.tool.getCurrentHospital().id;
44
+    this.getList(1);
45
+    this.getGenderList();
46
+    this.getCareLevelList();
47
+    this.getIllnessStateList();
48
+    this.getPatientTypeList();
49
+    this.getHospitalList();
50
+    this.getHospitalSearchList();
33 51
   }
34
-  // 选择院区
35
-  changeHospital(id, type) {
36
-    if (type === "search") {
37
-      this.searchCriteria.department = null;
38
-    }
52
+
53
+  // 获取院区列表
54
+  hospitalList = [];
55
+  getHospitalList() {
56
+    this.hospitalList = this.tool.getHospitalList();
57
+  }
58
+
59
+  changeHospital(e){
60
+    this.deptList = [];
61
+    this.validateForm.controls.department.setValue(null);
39 62
   }
63
+
64
+  // 获取院区列表
65
+  hospitalSearchList = [];
66
+  getHospitalSearchList() {
67
+    this.hospitalSearchList = this.tool.getHospitalList();
68
+  }
69
+
70
+  changeHospitalSearch(e){
71
+    this.deptSearchList = [];
72
+    this.searchCriteria.department = undefined;
73
+  }
74
+
40 75
   // 搜索科室
41
-  departmentSearch = []; // 院区下的科室列表(搜索框)
42
-  deptKey = "";
76
+  deptList = []; // 院区下的科室列表(搜索框)
43 77
   isLoading = false;
44
-  searchDepartment(dept, type) {
78
+  getDepartmentList(dept) {
45 79
     let data = {
46 80
       department: {
81
+        searchType: 1,// 简单查询
47 82
         dept,
48 83
         hospital: {
49
-          id: this.searchCriteria.hospital,
84
+          id: this.validateForm.value.hosId,
50 85
         },
51 86
       },
52 87
       idx: 0,
53 88
       sum: 10,
54 89
     };
55 90
     this.mainService
56
-      .getFetchDataList("data", "department", data)
91
+      .getFetchDataList("simple/data", "department", data)
57 92
       .subscribe((data) => {
93
+        this.isLoading = false;
58 94
         if (data.status == 200) {
59
-          if (type === "search") {
60
-            if (this.deptKey === dept) {
61
-              this.isLoading = false;
62
-              this.departmentSearch = data.list;
63
-            }
64
-          }
95
+          this.deptList = data.list;
96
+        }else{
97
+          this.deptList = [];
98
+        }
99
+      });
100
+  }
101
+
102
+  // 搜索科室
103
+  deptSearchList = []; // 院区下的科室列表(搜索框)
104
+  getDepartmentSearchList(dept) {
105
+    let data = {
106
+      department: {
107
+        searchType: 1,// 简单查询
108
+        dept,
109
+        hospital: {
110
+          id: this.searchCriteria.hosId,
111
+        },
112
+      },
113
+      idx: 0,
114
+      sum: 10,
115
+    };
116
+    this.mainService
117
+      .getFetchDataList("simple/data", "department", data)
118
+      .subscribe((data) => {
119
+        this.isLoading = false;
120
+        if (data.status == 200) {
121
+          this.deptSearchList = data.list;
122
+        }else{
123
+          this.deptSearchList = [];
65 124
         }
66 125
       });
67 126
   }
68 127
   changeInp(dept, type) {
69
-    if (!dept) {
70
-      return;
71
-    }
72
-    if (dept === "no") {
73
-      dept = "";
74
-    }
75
-    this.deptKey = dept;
76 128
     this.isLoading = true;
77 129
     this.changeInpSubject.next([dept, type]);
78 130
   }
79 131
   // 打开搜索框
80
-  changeSearch(flag) {
132
+  openDepartment(flag) {
81 133
     if (flag) {
82
-      this.changeInp("no", "search");
134
+      this.changeInp("", "department");
135
+    }
136
+  }
137
+  // 打开搜索框
138
+  openDepartmentSearch(flag) {
139
+    if (flag) {
140
+      this.changeInp("", "departmentSearch");
83 141
     }
84 142
   }
85 143
   // 重置
86 144
   reset() {
87 145
     this.searchCriteria = {
88
-      //搜索条件
89
-      patientName: "",
90
-      bedNum: "",
91
-      hospital: this.allHospital[0] ? this.allHospital[0]["id"] + "" : null,
92
-      department: null,
146
+      hosId: this.tool.getCurrentHospital().id,
93 147
     };
94 148
     this.getList(1);
95 149
   }
96 150
 
97
-  // 获取所有院区
98
-  getAllHospital() {
99
-    this.allHospital = [this.tool.getCurrentHospital()];
100
-    this.searchCriteria.hospital = this.tool.getCurrentHospital().id + "";
101
-    this.getList(1);
102
-  }
103 151
   // 查看标本历史记录
104 152
   historyPromptModalShow = false; //标本历史记录弹窗开关
105 153
   scode = ""; //查看历史记录携带
@@ -121,10 +169,12 @@ export class PatientSearchComponent implements OnInit {
121 169
     let postData = {
122 170
       idx: this.pageIndex - 1,
123 171
       sum: this.pageSize,
124
-      hosId: this.searchCriteria.hospital,
172
+      hosId: this.searchCriteria.hosId,
125 173
       patientName: this.searchCriteria.patientName,
126
-      bedNum: this.searchCriteria.bedNum,
127 174
       department: this.searchCriteria.department || undefined,
175
+      careLevel: this.searchCriteria.careLevel || undefined,
176
+      illnessState: this.searchCriteria.illnessState || undefined,
177
+      patientType: this.searchCriteria.patientType || undefined,
128 178
     };
129 179
     this.loading1 = true;
130 180
     this.mainService.listMsgByMain('listPatient',postData).subscribe((data) => {
@@ -135,4 +185,210 @@ export class PatientSearchComponent implements OnInit {
135 185
       }
136 186
     });
137 187
   }
188
+
189
+  // 新增弹框
190
+  modal: boolean = false; //新增/编辑模态框
191
+  add: boolean; //true:新增;false:编辑
192
+  validateForm: FormGroup; //新增/编辑表单
193
+  showModal() {
194
+    this.add = true;
195
+    this.modal = true;
196
+    this.initForm();
197
+    this.validateForm.controls.hosId.setValue(this.searchCriteria.hosId);
198
+  }
199
+  hideModal() {
200
+    this.modal = false;
201
+  }
202
+
203
+  // 初始化新增form表单
204
+  initForm() {
205
+    if (this.add) {
206
+      this.deptList = [];
207
+    }
208
+    this.validateForm = this.fb.group({
209
+      patientName: ['', [Validators.required]],
210
+			gender: [null],
211
+			age: [undefined],
212
+			patientCode: ['', [Validators.required]],
213
+			residenceNo: ['', [Validators.required]],
214
+			barCode: ['', [Validators.required]],
215
+			bedNum: [''],
216
+      hosId: [null, [Validators.required]],
217
+      department: [null, [Validators.required]],
218
+      careLevel: [null, [Validators.required]],
219
+      illnessState: [null],
220
+      patientType: [null, [Validators.required]],
221
+    });
222
+  }
223
+  // 表单提交
224
+  btnLoading: boolean = false; //提交按钮loading状态
225
+  submitForm(): void {
226
+    for (const i in this.validateForm.controls) {
227
+      this.validateForm.controls[i].markAsDirty({ onlySelf: true });
228
+      this.validateForm.controls[i].updateValueAndValidity();
229
+    }
230
+    if (this.validateForm.invalid) return;
231
+    this.btnLoading = true;
232
+    let postData = {};
233
+    if(this.add){
234
+			postData = {
235
+        patient: {
236
+          hosId: this.validateForm.value.hosId,
237
+          patientName: this.validateForm.value.patientName,
238
+          gender: {
239
+            id: this.validateForm.value.gender
240
+          },
241
+          age: this.validateForm.value.age,
242
+          patientCode: this.validateForm.value.patientCode,
243
+          residenceNo: this.validateForm.value.residenceNo,
244
+          barCode: this.validateForm.value.barCode,
245
+          bedNum: this.validateForm.value.bedNum,
246
+          department: {
247
+            id: this.validateForm.value.department,
248
+          },
249
+          careLevel: {
250
+            id: this.validateForm.value.careLevel,
251
+          },
252
+          illnessState: this.validateForm.value.illnessState ? {
253
+            id: this.validateForm.value.illnessState,
254
+          } : undefined,
255
+          patientType: {
256
+            id: this.validateForm.value.patientType,
257
+          },
258
+        }
259
+      }
260
+    }else{
261
+			postData = {
262
+        patient: {
263
+          ...this.coopData,
264
+          hosId: this.validateForm.value.hosId,
265
+          patientName: this.validateForm.value.patientName,
266
+          gender: {
267
+            id: this.validateForm.value.gender
268
+          },
269
+          age: this.validateForm.value.age,
270
+          patientCode: this.validateForm.value.patientCode,
271
+          residenceNo: this.validateForm.value.residenceNo,
272
+          barCode: this.validateForm.value.barCode,
273
+          bedNum: this.validateForm.value.bedNum,
274
+          department: {
275
+            id: this.validateForm.value.department,
276
+          },
277
+          careLevel: {
278
+            id: this.validateForm.value.careLevel,
279
+          },
280
+          illnessState: this.validateForm.value.illnessState ? {
281
+            id: this.validateForm.value.illnessState,
282
+          } : undefined,
283
+          patientType: {
284
+            id: this.validateForm.value.patientType,
285
+          },
286
+        }
287
+      }
288
+    }
289
+
290
+    this.mainService
291
+      .coopData("addData", "patient", postData)
292
+      .subscribe((data) => {
293
+        this.btnLoading = false;
294
+        this.hideModal();
295
+        if (data.status == 200) {
296
+          this.showPromptModal(this.add ? "新增" : "编辑", true, "");
297
+        } else{
298
+					this.showPromptModal(this.add ? "新增" : "编辑", false, data.msg);
299
+				}
300
+      });
301
+  }
302
+
303
+  // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)
304
+  promptContent: string; //操作提示框提示信息
305
+  ifSuccess: boolean; //操作成功/失败
306
+  promptInfo: string; //操作结果提示信息
307
+  promptModalShow: boolean; //操作提示框是否展示
308
+  showPromptModal(con, success, promptInfo?) {
309
+    this.promptModalShow = false;
310
+    this.promptContent = con;
311
+    this.ifSuccess = success;
312
+    this.promptInfo = promptInfo;
313
+    setTimeout(() => {
314
+      this.promptModalShow = true;
315
+    }, 100);
316
+    this.getList(1);
317
+  }
318
+
319
+  // 编辑
320
+  maskFlag: any = false;
321
+  coopData = {};
322
+  edit(data) {
323
+    this.initForm();
324
+    this.validateForm.controls.hosId.setValue(data.hosId);
325
+    this.validateForm.controls.patientName.setValue(data.patientName);
326
+    if(data.gender){
327
+			this.validateForm.controls.gender.setValue(data.gender.id);
328
+		}else{
329
+      this.validateForm.controls.gender.setValue(null);
330
+    }
331
+    this.validateForm.controls.age.setValue(data.age);
332
+    this.validateForm.controls.patientCode.setValue(data.patientCode);
333
+    this.validateForm.controls.residenceNo.setValue(data.residenceNo);
334
+    this.validateForm.controls.barCode.setValue(data.barCode);
335
+    this.validateForm.controls.bedNum.setValue(data.bedNum);
336
+    if(data.department){
337
+      this.deptList = [data.department];
338
+      this.validateForm.controls.department.setValue(data.department.id);
339
+    }else{
340
+      this.validateForm.controls.department.setValue(null);
341
+    }
342
+    if(data.careLevel){
343
+      this.validateForm.controls.careLevel.setValue(data.careLevel.id);
344
+    }else{
345
+      this.validateForm.controls.careLevel.setValue(null);
346
+    }
347
+    if(data.illnessState){
348
+      this.validateForm.controls.illnessState.setValue(data.illnessState.id);
349
+    }else{
350
+      this.validateForm.controls.illnessState.setValue(null);
351
+    }
352
+    if(data.patientType){
353
+      this.validateForm.controls.patientType.setValue(data.patientType.id);
354
+    }else{
355
+      this.validateForm.controls.patientType.setValue(null);
356
+    }
357
+
358
+    this.modal = true;
359
+    this.add = false;
360
+    this.coopData = data;
361
+  }
362
+
363
+  // 获取性别
364
+	genderList: any = [];
365
+	getGenderList() {
366
+    this.mainService.getDictionary("list", "user_gender").subscribe((data) => {
367
+      this.genderList = data || [];
368
+    });
369
+	}
370
+
371
+  // 获取护理等级
372
+	careLevelList: any = [];
373
+	getCareLevelList() {
374
+    this.mainService.getDictionary("list", "levelOfCare").subscribe((data) => {
375
+      this.careLevelList = data || [];
376
+    });
377
+	}
378
+
379
+  // 获取病情级别
380
+	illnessStateList: any = [];
381
+	getIllnessStateList() {
382
+    this.mainService.getDictionary("list", "stateOfAnIllness").subscribe((data) => {
383
+      this.illnessStateList = data || [];
384
+    });
385
+	}
386
+
387
+  // 获取患者类别
388
+	patientTypeList: any = [];
389
+	getPatientTypeList() {
390
+    this.mainService.getDictionary("list", "patient_type").subscribe((data) => {
391
+      this.patientTypeList = data || [];
392
+    });
393
+	}
138 394
 }

+ 13 - 3
src/app/views/specimen-search/specimen-search.component.ts

@@ -127,9 +127,19 @@ export class SpecimenSearchComponent implements OnInit {
127 127
 	    this.startDate = this.endDate = null;
128 128
 	    return;
129 129
 	  }
130
-	  this.startDate = format(startOfDay(result[0]), 'yyyy-MM-dd HH:mm:ss');
131
-	  this.endDate = format(endOfDay(result[1]), 'yyyy-MM-dd HH:mm:ss');
132
-	  this.searchCriteria.dateRange = [this.startDate,this.endDate]
130
+	  this.startDate = format(result[0], 'yyyy-MM-dd HH:mm:ss');
131
+	  this.endDate = format(result[1], 'yyyy-MM-dd HH:mm:ss');
132
+    this.searchCriteria.dateRange = [this.startDate, this.endDate];
133
+	}
134
+	onCalendarChangeDate(dateArr){
135
+	  console.log(dateArr)
136
+	  if(dateArr.length == 2){
137
+	    let dateStart = new Date(dateArr[0]);
138
+	    let dateEnd = new Date(dateArr[1]);
139
+	    dateStart.setHours(0,0,0);
140
+	    dateEnd.setHours(23,59,59);
141
+	    this.searchCriteria.dateRange = [dateStart,dateEnd];
142
+	  }
133 143
 	}
134 144
   // 重置
135 145
   reset() {

+ 12 - 12
src/app/views/web-repairs/web-repairs.component.html

@@ -172,7 +172,7 @@
172 172
 						</nz-select>
173 173
 				  </nz-form-control>
174 174
 				</nz-form-item>
175
-				
175
+
176 176
 				<nz-form-item>
177 177
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="floorId">楼层</nz-form-label>
178 178
 				  <nz-form-control nzErrorTip="请选择楼层!">
@@ -183,7 +183,7 @@
183 183
 				    </nz-select>
184 184
 				  </nz-form-control>
185 185
 				</nz-form-item>
186
-				
186
+
187 187
 				<nz-form-item>
188 188
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="address">详细地址</nz-form-label>
189 189
 				  <nz-form-control>
@@ -192,7 +192,7 @@
192 192
 				    </nz-input-group>
193 193
 				  </nz-form-control>
194 194
 				</nz-form-item>
195
-				
195
+
196 196
         <nz-form-item>
197 197
           <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="phone">联系电话</nz-form-label>
198 198
           <nz-form-control>
@@ -228,18 +228,18 @@
228 228
 					<div class="form-title"><span class="font-weight-500">患者信息:</span>{{detailsData.patientDTO.patientName}} ({{detailsData.patientDTO.bedNum}}床)</div>
229 229
 					<div class="form-title"><span class="font-weight-500">年龄:</span>{{detailsData.patientDTO.age||'-'}}岁</div>
230 230
 				</div>
231
-				
231
+
232 232
 				<div class="form-title-box">
233 233
 					<div class="form-title"><span class="font-weight-500">检验项目:</span>{{project||'无'}}</div>
234 234
 				</div>
235
-				
235
+
236 236
 				<div class="form-list">
237 237
 					<div class="form-title font-weight-500">诊断:</div>
238 238
 					<div class="indent">
239 239
 						{{detailsData.diagnose||'无'}}
240 240
 					</div>
241 241
 				</div>
242
-				
242
+
243 243
 				<div class="form-list">
244 244
 					<div class="form-title font-weight-500">病历摘要:</div>
245 245
 					<div class="indent">{{detailsData.medicalRecords||'无'}}</div>
@@ -254,13 +254,13 @@
254 254
 					<div class="form-title"><span class="font-weight-500">标本数量:</span>{{detailsData.specimenNum||'无'}}</div>
255 255
 					<div class="form-title"><span class="font-weight-500">部位:</span>{{detailsData.takePart||'无'}}</div>
256 256
 				</div>
257
-				
257
+
258 258
 				<div class="form-title-box">
259 259
 					<div class="form-title"><span class="font-weight-500">送检医生:</span>{{detailsData.surgeryDoctorDTO?detailsData.surgeryDoctorDTO.name : '-'}}</div>
260 260
 					<div class="form-title"><span class="font-weight-500">离体时间:</span>{{detailsData.inVitroTime?(detailsData.inVitroTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</div>
261 261
 					<div class="form-title"><span class="font-weight-500">固定时间:</span>{{detailsData.fixationTime?(detailsData.fixationTime|date:'yyyy-MM-dd HH:mm:ss'):'无'}}</div>
262 262
 				</div>
263
-				
263
+
264 264
 				<div class="form-list">
265 265
 					<div class="form-title font-weight-500">标本:</div>
266 266
 					<div class="form-title specimen-list">
@@ -271,7 +271,7 @@
271 271
 				</div>
272 272
 
273 273
 			</div>
274
-			
274
+
275 275
 			<div class="content-item-right">
276 276
 				<div class="step-title">病理闭环</div>
277 277
 				<nz-steps [nzCurrent]="stepLength" nzDirection="vertical" nzSize="small">
@@ -303,13 +303,13 @@
303 303
 <!-- 操作成功/失败提示框 -->
304 304
 <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
305 305
   [info]="promptInfo" (closeModel)="closeModel()"></app-prompt-modal>
306
-	
306
+
307 307
 
308 308
 <div class="mask-style" *ngIf="isSpinning">
309 309
 	<nz-spin nzSimple class="spin-style"></nz-spin>
310 310
 </div>
311 311
 
312
-<router-outlet (deactivate)="getConnectList($event)"></router-outlet>
312
+<router-outlet (deactivate)="getConnectList()"></router-outlet>
313 313
 
314 314
 <!-- 快速报修 -->
315 315
 <div class="commonModal display_flex justify-content_flex-center align-items_center" *ngIf="bxModal" (click)="clickExtra($event)">
@@ -419,4 +419,4 @@
419 419
   [btnLoading]="btnLoading"
420 420
   (confirmDelEvent)="confirmDelBx()"
421 421
   content="您确认要撤销吗?"
422
-></app-dialog-delete>
422
+></app-dialog-delete>