4 Commits e8d0676a33 ... 8cf6f5d50a

Author SHA1 Message Date
  seimin 8cf6f5d50a 解决冲突 2 weeks ago
  seimin 0adda59b9b bugfix 2 weeks ago
  seimin c74ff668d2 Merge branch 'master' into develop 2 weeks ago
  seimin 159fd57f2d 白求恩调整优化 2 weeks ago
32 changed files with 1436 additions and 129 deletions
  1. 18 1
      src/app/components/configurationCenter/configuration-drug/configuration-drug.component.html
  2. 36 6
      src/app/components/configurationCenter/configuration-drug/configuration-drug.component.ts
  3. 210 0
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.component.html
  4. 303 0
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.component.less
  5. 348 0
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.component.ts
  6. 20 0
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.module.ts
  7. 2 1
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.html
  8. 2 0
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.ts
  9. 3 1
      src/app/components/configurationCenter/configuration-specimen/configuration-specimen.module.ts
  10. 1 0
      src/app/share/businessData-detail-info-modal/businessData-detail-info-modal.component.html
  11. 8 5
      src/app/share/businessData-detail-modal/businessData-detail-modal.component.html
  12. 6 6
      src/app/share/businessData-detail-modal/businessData-detail-modal.component.less
  13. 53 0
      src/app/share/patient-log-prompt-modal/patient-log-prompt-modal.component.html
  14. 165 0
      src/app/share/patient-log-prompt-modal/patient-log-prompt-modal.component.less
  15. 56 0
      src/app/share/patient-log-prompt-modal/patient-log-prompt-modal.component.ts
  16. 3 0
      src/app/share/share.module.ts
  17. 1 4
      src/app/share/view-specimen/view-specimen.component.html
  18. 9 5
      src/app/share/view-specimen/view-specimen.component.ts
  19. 12 8
      src/app/views/batch-specimen/batch-specimen.component.ts
  20. 43 15
      src/app/views/drug-search/drug-search.component.html
  21. 30 7
      src/app/views/drug-search/drug-search.component.ts
  22. 3 3
      src/app/views/fuwutai/fuwutai.component.ts
  23. 1 1
      src/app/views/hushijiandan/hushijiandan.component.html
  24. 2 2
      src/app/views/hushijiandan/hushijiandan.component.ts
  25. 2 2
      src/app/views/inspect-info-config/inspect-info-config.component.html
  26. 3 0
      src/app/views/inspect-info-config/inspect-info-config.component.ts
  27. 7 3
      src/app/views/patient-search/patient-search.component.html
  28. 12 0
      src/app/views/patient-search/patient-search.component.ts
  29. 21 19
      src/app/views/specimen-search/specimen-search.component.html
  30. 8 4
      src/app/views/specimen-search/specimen-search.component.less
  31. 46 34
      src/app/views/specimen-search/specimen-search.component.ts
  32. 2 2
      src/app/views/task-type-management/task-type-management.component.html

+ 18 - 1
src/app/components/configurationCenter/configuration-drug/configuration-drug.component.html

@@ -101,6 +101,11 @@
101
 										  <nz-form-label class="label">支持拍照留存</nz-form-label>
101
 										  <nz-form-label class="label">支持拍照留存</nz-form-label>
102
 										  <nz-checkbox-group [(ngModel)]="item.postData.drugsEndPhoto"></nz-checkbox-group>
102
 										  <nz-checkbox-group [(ngModel)]="item.postData.drugsEndPhoto"></nz-checkbox-group>
103
 										</div>
103
 										</div>
104
+                    <!-- 开通一扫交接 -->
105
+										<div class="display_flex align-items_center mb8">
106
+										  <nz-form-label class="label">开通一扫交接</nz-form-label>
107
+										  <nz-checkbox-group [(ngModel)]="item.postData.drugsScanHandover"></nz-checkbox-group>
108
+										</div>
104
                   </ng-container>
109
                   </ng-container>
105
 									<!-- 药单显示患者 -->
110
 									<!-- 药单显示患者 -->
106
 									<div class="display_flex align-items_center mb8">
111
 									<div class="display_flex align-items_center mb8">
@@ -138,7 +143,7 @@
138
                   <!-- 自动建单 -->
143
                   <!-- 自动建单 -->
139
 									<div class="display_flex align-items_center mb8">
144
 									<div class="display_flex align-items_center mb8">
140
 									  <nz-form-label class="label">是否自动建单</nz-form-label>
145
 									  <nz-form-label class="label">是否自动建单</nz-form-label>
141
-									  <nz-checkbox-group [(ngModel)]="item.postData.autoCreate"></nz-checkbox-group>
146
+									  <nz-checkbox-group [(ngModel)]="item.postData.autoCreate" (ngModelChange)="changeAutoCreate($event, item)"></nz-checkbox-group>
142
 									</div>
147
 									</div>
143
 									<!-- 药品自动建单状态 -->
148
 									<!-- 药品自动建单状态 -->
144
 									<div class="display_flex align-items_center mb8" *ngIf="item.postData.autoCreate[0].checked">
149
 									<div class="display_flex align-items_center mb8" *ngIf="item.postData.autoCreate[0].checked">
@@ -147,6 +152,18 @@
147
 										  <nz-option *ngFor="let item of drugStateData" [nzLabel]="item.name" [nzValue]="item.id"></nz-option>
152
 										  <nz-option *ngFor="let item of drugStateData" [nzLabel]="item.name" [nzValue]="item.id"></nz-option>
148
 										</nz-select>
153
 										</nz-select>
149
 									</div>
154
 									</div>
155
+                  <!-- 限制药单类型建单 -->
156
+                  <div class="display_flex align-items_center mb8" *ngIf="item.postData.autoCreate[0].checked">
157
+                    <nz-form-label class="label">限制药单类型建单</nz-form-label>
158
+                    <nz-select nzMode="multiple" class="w320px" [nzDropdownMatchSelectWidth]="false" nzAllowClear nzPlaceHolder="请选择限制药单类型建单" [(ngModel)]="item.postData.drugsCreateLimitMarkType">
159
+                      <ng-container *ngFor="let option of markTypeList">
160
+                        <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
161
+                      </ng-container>
162
+                      <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
163
+                        <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
164
+                      </nz-option>
165
+                    </nz-select>
166
+                  </div>
150
                 </div>
167
                 </div>
151
                 <div class="bottom">
168
                 <div class="bottom">
152
                   <button class="login-form-button" nzType="primary" [nzLoading]="btnLoading" nz-button (click)="submitForm()">保存</button>
169
                   <button class="login-form-button" nzType="primary" [nzLoading]="btnLoading" nz-button (click)="submitForm()">保存</button>

+ 36 - 6
src/app/components/configurationCenter/configuration-drug/configuration-drug.component.ts

@@ -33,6 +33,7 @@ export class ConfigurationDrugComponent implements OnInit {
33
     this.activeDictionary = this.dictionaryKeyList[0];
33
     this.activeDictionary = this.dictionaryKeyList[0];
34
     this.init();
34
     this.init();
35
 		this.getDrugState();
35
 		this.getDrugState();
36
+		this.getMarkTypeList();
36
   }
37
   }
37
 
38
 
38
   // 工单模式
39
   // 工单模式
@@ -70,13 +71,15 @@ export class ConfigurationDrugComponent implements OnInit {
70
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
71
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
71
         drugsEndManual: undefined,//终点科室手动填写
72
         drugsEndManual: undefined,//终点科室手动填写
72
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
73
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
74
+        drugsScanHandover: [{ label:'是否开启', value: 0 }],//终点科室开通一扫交接
73
 				showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
75
 				showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
74
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
76
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
75
 				sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
77
 				sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
76
 				drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
78
 				drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
77
 				urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
79
 				urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
78
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
80
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
79
-				autoCreateState: undefined // 药品自动建单状态
81
+				autoCreateState: undefined, // 药品自动建单状态
82
+				drugsCreateLimitMarkType: [], // 限制药单类型建单
80
 			}
83
 			}
81
     },
84
     },
82
     {
85
     {
@@ -97,13 +100,15 @@ export class ConfigurationDrugComponent implements OnInit {
97
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
100
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
98
         drugsEndManual: undefined,//终点科室手动填写
101
         drugsEndManual: undefined,//终点科室手动填写
99
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
102
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
103
+        drugsScanHandover: [{ label:'是否开启', value: 0 }],//终点科室开通一扫交接
100
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
104
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
101
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
105
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
102
 				sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
106
 				sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
103
         drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
107
         drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
104
         urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
108
         urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
105
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
109
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
106
-				autoCreateState: undefined // 药品自动建单状态
110
+				autoCreateState: undefined, // 药品自动建单状态
111
+        drugsCreateLimitMarkType: [], // 限制药单类型建单
107
 			}
112
 			}
108
     },
113
     },
109
     {
114
     {
@@ -124,13 +129,15 @@ export class ConfigurationDrugComponent implements OnInit {
124
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
129
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
125
         drugsEndManual: undefined,//终点科室手动填写
130
         drugsEndManual: undefined,//终点科室手动填写
126
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
131
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
132
+        drugsScanHandover: [{ label:'是否开启', value: 0 }],//终点科室开通一扫交接
127
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
133
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
128
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
134
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
129
         sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
135
         sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
130
         drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
136
         drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
131
         urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
137
         urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
132
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
138
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
133
-				autoCreateState: undefined // 药品自动建单状态
139
+				autoCreateState: undefined, // 药品自动建单状态
140
+        drugsCreateLimitMarkType: [], // 限制药单类型建单
134
 			}
141
 			}
135
     },
142
     },
136
     {
143
     {
@@ -151,13 +158,15 @@ export class ConfigurationDrugComponent implements OnInit {
151
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
158
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
152
         drugsEndManual: undefined,//终点科室手动填写
159
         drugsEndManual: undefined,//终点科室手动填写
153
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
160
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
161
+        drugsScanHandover: [{ label:'是否开启', value: 0 }],//终点科室开通一扫交接
154
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
162
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
155
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
163
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
156
         sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
164
         sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
157
         drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
165
         drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
158
         urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
166
         urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
159
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
167
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
160
-				autoCreateState: undefined // 药品自动建单状态
168
+				autoCreateState: undefined, // 药品自动建单状态
169
+        drugsCreateLimitMarkType: [], // 限制药单类型建单
161
 			}
170
 			}
162
     },
171
     },
163
     {
172
     {
@@ -178,13 +187,15 @@ export class ConfigurationDrugComponent implements OnInit {
178
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
187
 				showPatientInfo: [{ label:'是否开启', value: 0 }],//药单显示患者
179
         drugsEndManual: undefined,//终点科室手动填写
188
         drugsEndManual: undefined,//终点科室手动填写
180
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
189
         drugsEndPhoto: [{ label:'是否开启', value: 0 }],//终点科室支持拍照留存
190
+        drugsScanHandover: [{ label:'是否开启', value: 0 }],//终点科室开通一扫交接
181
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
191
         showDrugsBagTypeCount: [{ label:'是否开启', value: 0 }],//是否显示药品数、种类数
182
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
192
 				showDrugsBagDetails: [{ label:'是否开启', value: 0 }],//是否支持查看药品详情信息
183
         sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
193
         sendingMergeOrder: [{ label:'是否开启', value: 0 }],//待送达合并工单
184
         drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
194
         drugsResidueCreateOrder: [{ label:'是否开启', value: 0 }],//交接后,剩余药包是否建单
185
         urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
195
         urgentCreateOrder: [{ label:'是否开启', value: 0 }],//是否开启紧急配送建单
186
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
196
 				autoCreate: [{ label:'是否开启', value: 0 }], // 是否自动建单
187
-				autoCreateState: undefined // 药品自动建单状态
197
+				autoCreateState: undefined, // 药品自动建单状态
198
+        drugsCreateLimitMarkType: [], // 限制药单类型建单
188
 			}
199
 			}
189
     },
200
     },
190
   ];
201
   ];
@@ -198,6 +209,14 @@ export class ConfigurationDrugComponent implements OnInit {
198
 		});
209
 		});
199
 	}
210
 	}
200
 
211
 
212
+  // 获取药单类型
213
+	markTypeList:any = []
214
+	getMarkTypeList(){
215
+		this.mainService.getDictionary("list", "drugsbag_mark_type").subscribe((data) => {
216
+			this.markTypeList = data
217
+		});
218
+	}
219
+
201
   // 点击数据字典key
220
   // 点击数据字典key
202
   activeDictionary:any;
221
   activeDictionary:any;
203
   clickDictionaryKey(item){
222
   clickDictionaryKey(item){
@@ -222,6 +241,7 @@ export class ConfigurationDrugComponent implements OnInit {
222
       this.activeDictionary.postData.drugsEndCheckScanIds = this.activeDictionary.postData.drugsEndCheckScanIds.map(v => ({...v, checked: false}));;
241
       this.activeDictionary.postData.drugsEndCheckScanIds = this.activeDictionary.postData.drugsEndCheckScanIds.map(v => ({...v, checked: false}));;
223
       this.activeDictionary.postData.drugsEndManual = undefined;
242
       this.activeDictionary.postData.drugsEndManual = undefined;
224
       this.activeDictionary.postData.drugsEndPhoto[0].checked = false;
243
       this.activeDictionary.postData.drugsEndPhoto[0].checked = false;
244
+      this.activeDictionary.postData.drugsScanHandover[0].checked = false;
225
     }
245
     }
226
   }
246
   }
227
 
247
 
@@ -278,6 +298,7 @@ export class ConfigurationDrugComponent implements OnInit {
278
       drugsEndCheckScanIds: this.activeDictionary.postData.drugsEndCheckScanIds.filter(v => v.checked).map(v => v.value).toString() || undefined,
298
       drugsEndCheckScanIds: this.activeDictionary.postData.drugsEndCheckScanIds.filter(v => v.checked).map(v => v.value).toString() || undefined,
279
       drugsEndManual: this.activeDictionary.postData.drugsEndManual ? { id: this.activeDictionary.postData.drugsEndManual } : undefined,
299
       drugsEndManual: this.activeDictionary.postData.drugsEndManual ? { id: this.activeDictionary.postData.drugsEndManual } : undefined,
280
       drugsEndPhoto: this.activeDictionary.postData.drugsEndPhoto[0].checked ? 1 : 0,
300
       drugsEndPhoto: this.activeDictionary.postData.drugsEndPhoto[0].checked ? 1 : 0,
301
+      drugsScanHandover: this.activeDictionary.postData.drugsScanHandover[0].checked ? 1 : 0,
281
 			showPatientInfo: this.activeDictionary.postData.showPatientInfo[0].checked ? 1 : 0,
302
 			showPatientInfo: this.activeDictionary.postData.showPatientInfo[0].checked ? 1 : 0,
282
 			showDrugsBagTypeCount: this.activeDictionary.postData.showDrugsBagTypeCount[0].checked ? 1 : 0,
303
 			showDrugsBagTypeCount: this.activeDictionary.postData.showDrugsBagTypeCount[0].checked ? 1 : 0,
283
 			showDrugsBagDetails: this.activeDictionary.postData.showDrugsBagDetails[0].checked ? 1 : 0,
304
 			showDrugsBagDetails: this.activeDictionary.postData.showDrugsBagDetails[0].checked ? 1 : 0,
@@ -287,7 +308,8 @@ export class ConfigurationDrugComponent implements OnInit {
287
 			autoCreate: this.activeDictionary.postData.autoCreate[0].checked ? 1 : 0,
308
 			autoCreate: this.activeDictionary.postData.autoCreate[0].checked ? 1 : 0,
288
 			autoCreateState:{
309
 			autoCreateState:{
289
 				id:this.activeDictionary.postData.autoCreateState || undefined
310
 				id:this.activeDictionary.postData.autoCreateState || undefined
290
-			}
311
+			},
312
+      drugsCreateLimitMarkType: this.activeDictionary.postData.drugsCreateLimitMarkType.length ? this.activeDictionary.postData.drugsCreateLimitMarkType.toString() : undefined,
291
 		};
313
 		};
292
     this.btnLoading = true;
314
     this.btnLoading = true;
293
     this.mainService
315
     this.mainService
@@ -383,6 +405,7 @@ export class ConfigurationDrugComponent implements OnInit {
383
           this.activeDictionary.postData.drugsEndCheckScanIds = this.activeDictionary.postData.drugsEndCheckScanIds.map(v => ({...v, checked: (this.configs.drugsEndCheckScanIds || '').split(',').includes(v.value.toString())}));
405
           this.activeDictionary.postData.drugsEndCheckScanIds = this.activeDictionary.postData.drugsEndCheckScanIds.map(v => ({...v, checked: (this.configs.drugsEndCheckScanIds || '').split(',').includes(v.value.toString())}));
384
           this.activeDictionary.postData.drugsEndManual = this.configs.drugsEndManual ? this.configs.drugsEndManual.id : undefined;
406
           this.activeDictionary.postData.drugsEndManual = this.configs.drugsEndManual ? this.configs.drugsEndManual.id : undefined;
385
           this.activeDictionary.postData.drugsEndPhoto[0].checked = this.configs.drugsEndPhoto == 1;
407
           this.activeDictionary.postData.drugsEndPhoto[0].checked = this.configs.drugsEndPhoto == 1;
408
+          this.activeDictionary.postData.drugsScanHandover[0].checked = this.configs.drugsScanHandover == 1;
386
 					this.activeDictionary.postData.showPatientInfo[0].checked = this.configs.showPatientInfo == 1;
409
 					this.activeDictionary.postData.showPatientInfo[0].checked = this.configs.showPatientInfo == 1;
387
 					this.activeDictionary.postData.showDrugsBagTypeCount[0].checked = this.configs.showDrugsBagTypeCount == 1;
410
 					this.activeDictionary.postData.showDrugsBagTypeCount[0].checked = this.configs.showDrugsBagTypeCount == 1;
388
 					this.activeDictionary.postData.showDrugsBagDetails[0].checked = this.configs.showDrugsBagDetails == 1;
411
 					this.activeDictionary.postData.showDrugsBagDetails[0].checked = this.configs.showDrugsBagDetails == 1;
@@ -391,7 +414,14 @@ export class ConfigurationDrugComponent implements OnInit {
391
 					this.activeDictionary.postData.urgentCreateOrder[0].checked = this.configs.urgentCreateOrder == 1;
414
 					this.activeDictionary.postData.urgentCreateOrder[0].checked = this.configs.urgentCreateOrder == 1;
392
 					this.activeDictionary.postData.autoCreate[0].checked = this.configs.autoCreate == 1;
415
 					this.activeDictionary.postData.autoCreate[0].checked = this.configs.autoCreate == 1;
393
 					this.activeDictionary.postData.autoCreateState = this.configs.autoCreateState && this.configs.autoCreateState.id || undefined;
416
 					this.activeDictionary.postData.autoCreateState = this.configs.autoCreateState && this.configs.autoCreateState.id || undefined;
417
+          this.activeDictionary.postData.drugsCreateLimitMarkType = this.configs.drugsCreateLimitMarkType ? this.configs.drugsCreateLimitMarkType.split(',').map(v => +v) : [];
394
 				}
418
 				}
395
       });
419
       });
396
   }
420
   }
421
+
422
+  // 是否自动建单
423
+  changeAutoCreate(e, item){
424
+    item.postData.autoCreateState = null;
425
+    item.postData.drugsCreateLimitMarkType = [];
426
+  }
397
 }
427
 }

+ 210 - 0
src/app/components/configurationCenter/configuration-specimen/configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.component.html

@@ -0,0 +1,210 @@
1
+<div class="content priority">
2
+  <div class="contentInner">
3
+    <div class="list-template" id="wechatTable">
4
+      <div class="list-template__content">
5
+        <div class="list-template__bottom">
6
+          <div class="list-template__top" nz-row>
7
+            <div nz-col nzXl='17' class="list-template__searchBox">
8
+            </div>
9
+            <div nz-col nzXl="7" class="list-template__btns">
10
+              <button nz-button class="btn default" (click)="addWechatModal()" *ngIf="this.taskTypeDTO.id">新增</button>
11
+            </div>
12
+          </div>
13
+          <nz-table class="list-template__nzTable" [nzData]="dataList" nzSize="middle" [nzShowPagination]="false"
14
+            [nzLoading]="loading1">
15
+            <thead>
16
+              <tr class="thead">
17
+                <th nzWidth="14%">班次</th>
18
+                <th nzWidth="14%">急查建单</th>
19
+                <th nzWidth="14%">普查建单</th>
20
+                <th nzWidth="14%">限制检验接收科室</th>
21
+                <th nzWidth="14%">自动清理标本</th>
22
+                <th nzWidth="14%">停用|启用</th>
23
+                <th nzWidth="16%">操作</th>
24
+              </tr>
25
+            </thead>
26
+            <tbody>
27
+              <tr *ngFor="let data of dataList;let i = index">
28
+                <td>{{data.scheduleClassDTO?.name}}</td>
29
+                <td>{{data.urgentFlag == 1 ? '启用' : '停用'}}</td>
30
+                <td>{{data.ordinaryFlag == 1 ? '启用' : '停用'}}</td>
31
+                <td>{{data.autoDeptLimit == 1 ? '启用' : '停用'}}</td>
32
+                <td>{{data.autoCleanSpecimen == 1 ? '启用' : '停用'}}</td>
33
+                <td>{{data.flag == 1 ? '启用' : '停用'}}</td>
34
+                <td>
35
+                  <div class="coop">
36
+                    <span (click)="showDelModal(data, '您确认要删除吗?', '删除', 'del')">删除</span>
37
+                    <span (click)="editWechat(data)">编辑</span>
38
+                    <span (click)="showDelModal(data, '您确认要' + (data.flag == 1 ? '停用' : '启用') + '吗?', data.flag == 1 ? '停用' : '启用', 'flag')">{{data.flag == 1 ? '停用' : '启用'}}</span>
39
+                  </div>
40
+                </td>
41
+              </tr>
42
+            </tbody>
43
+          </nz-table>
44
+        </div>
45
+      </div>
46
+    </div>
47
+  </div>
48
+</div>
49
+
50
+<!-- 操作成功/失败提示框 -->
51
+<app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
52
+  [info]="promptInfo">
53
+</app-prompt-modal>
54
+
55
+<!-- 删除模态框 -->
56
+<app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading"
57
+(confirmDelEvent)="confirmDel()" [content]="tipsMsg1"></app-dialog-delete>
58
+
59
+<!-- 新增/编辑模态框 -->
60
+<div class="save display_flex justify-content_flex-center align-items_center add" *ngIf="modalWechat">
61
+  <div class="modalBody">
62
+    <div class="title">{{modelName}}<i class="icon_transport transport-guanbi" (click)="hideWechatModal()"></i></div>
63
+    <div class="content">
64
+      <form nz-form [formGroup]="validateForm" class="addForm">
65
+        <nz-form-item>
66
+          <nz-form-label [nzSpan]="4" nzRequired nzFor="classesId">班次</nz-form-label>
67
+          <nz-form-control [nzSpan]="20" nzErrorTip="请选择班次!">
68
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="classesId" nzPlaceHolder="请选择班次" nzServerSearch>
69
+              <ng-container *ngFor="let data of classList">
70
+                <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id"></nz-option>
71
+              </ng-container>
72
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
73
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
74
+              </nz-option>
75
+            </nz-select>
76
+          </nz-form-control>
77
+        </nz-form-item>
78
+        <nz-form-item>
79
+          <nz-form-label [nzSpan]="4" nzRequired nzFor="autoCleanSpecimen">自动清理标本</nz-form-label>
80
+          <nz-form-control [nzSpan]="20" nzErrorTip="请选择自动清理标本!">
81
+            <nz-radio-group formControlName="autoCleanSpecimen">
82
+              <label nz-radio [nzValue]="1">启用</label>
83
+              <label nz-radio [nzValue]="0">停用</label>
84
+            </nz-radio-group>
85
+          </nz-form-control>
86
+        </nz-form-item>
87
+        <nz-form-item>
88
+          <nz-form-label [nzSpan]="4" nzRequired nzFor="urgentFlag">急查建单</nz-form-label>
89
+          <nz-form-control [nzSpan]="20" nzErrorTip="请选择急查建单!">
90
+            <nz-radio-group formControlName="urgentFlag" (ngModelChange)="changeUrgentFlag($event)">
91
+              <label nz-radio [nzValue]="1">启用</label>
92
+              <label nz-radio [nzValue]="0">停用</label>
93
+            </nz-radio-group>
94
+          </nz-form-control>
95
+        </nz-form-item>
96
+        <nz-form-item [hidden]="validateForm.value.urgentFlag != 1">
97
+          <nz-form-label [nzSpan]="4" nzRequired nzFor="urgentTypeIds">急查标本类型</nz-form-label>
98
+          <nz-form-control [nzSpan]="20" nzErrorTip="请选择急查标本类型!">
99
+            <nz-select nzMode="multiple" [nzDropdownMatchSelectWidth]="false" formControlName="urgentTypeIds" nzPlaceHolder="请选择急查标本类型" nzShowSearch nzAllowClear>
100
+              <ng-container *ngFor="let option of specimenTypeList">
101
+                <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
102
+              </ng-container>
103
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
104
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
105
+              </nz-option>
106
+            </nz-select>
107
+          </nz-form-control>
108
+        </nz-form-item>
109
+        <nz-form-item>
110
+          <nz-form-label [nzSpan]="4" nzRequired nzFor="ordinaryFlag">普查建单</nz-form-label>
111
+          <nz-form-control [nzSpan]="20" nzErrorTip="请选择普查建单!">
112
+            <nz-radio-group formControlName="ordinaryFlag" (ngModelChange)="changeOrdinaryFlag($event)">
113
+              <label nz-radio [nzValue]="1">启用</label>
114
+              <label nz-radio [nzValue]="0">停用</label>
115
+            </nz-radio-group>
116
+          </nz-form-control>
117
+        </nz-form-item>
118
+        <nz-form-item [hidden]="validateForm.value.ordinaryFlag != 1">
119
+          <nz-form-label [nzSpan]="4" nzRequired nzFor="ordinaryTypeIds">普查标本类型</nz-form-label>
120
+          <nz-form-control [nzSpan]="20" nzErrorTip="请选择普查标本类型!">
121
+            <nz-select nzMode="multiple" [nzDropdownMatchSelectWidth]="false" formControlName="ordinaryTypeIds" nzPlaceHolder="请选择普查标本类型" nzShowSearch nzAllowClear>
122
+              <ng-container *ngFor="let option of specimenTypeList">
123
+                <nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
124
+              </ng-container>
125
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
126
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
127
+              </nz-option>
128
+            </nz-select>
129
+          </nz-form-control>
130
+        </nz-form-item>
131
+        <nz-form-item>
132
+          <nz-form-label [nzSpan]="4" nzRequired nzFor="autoDeptLimit">限制检验接收科室</nz-form-label>
133
+          <nz-form-control [nzSpan]="20" nzErrorTip="请选择限制检验接收科室!">
134
+            <nz-radio-group formControlName="autoDeptLimit" (ngModelChange)="changeAutoDeptLimit($event)">
135
+              <label nz-radio [nzValue]="1">启用</label>
136
+              <label nz-radio [nzValue]="0">停用</label>
137
+            </nz-radio-group>
138
+          </nz-form-control>
139
+        </nz-form-item>
140
+        <nz-form-item [hidden]="validateForm.value.autoDeptLimit != 1">
141
+          <nz-form-label [nzSpan]="4" nzRequired nzFor="limitDeptIds">收取检验科室</nz-form-label>
142
+          <nz-form-control [nzSpan]="20" nzErrorTip="请选择收取检验科室!">
143
+            <nz-select nzMode="multiple" [nzDropdownMatchSelectWidth]="false" formControlName="limitDeptIds" nzPlaceHolder="请选择收取检验科室" nzShowSearch nzAllowClear>
144
+              <ng-container *ngFor="let option of deptList">
145
+                <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
146
+              </ng-container>
147
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
148
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
149
+              </nz-option>
150
+            </nz-select>
151
+          </nz-form-control>
152
+        </nz-form-item>
153
+        <!-- <nz-form-item>
154
+          <nz-form-label [nzSpan]="6" nzRequired nzFor="stype">标本类型</nz-form-label>
155
+          <nz-form-control [nzSpan]="18" nzErrorTip="请选择标本类型!">
156
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="stype" nzPlaceHolder="请选择标本类型" nzServerSearch>
157
+              <ng-container *ngFor="let data of typeList">
158
+                <nz-option *ngIf="!isLoading" [nzLabel]="data.name" [nzValue]="data.id"></nz-option>
159
+              </ng-container>
160
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
161
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
162
+              </nz-option>
163
+            </nz-select>
164
+          </nz-form-control>
165
+        </nz-form-item>
166
+        <nz-form-item>
167
+          <nz-form-label [nzSpan]="6" nzRequired nzFor="checkItem">检验项目</nz-form-label>
168
+          <nz-form-control [nzSpan]="18" nzErrorTip="请输入检验项目!">
169
+            <nz-input-group>
170
+              <input formControlName="checkItem" nz-input placeholder="请输入检验项目">
171
+            </nz-input-group>
172
+          </nz-form-control>
173
+        </nz-form-item>
174
+        <nz-form-item>
175
+          <nz-form-label [nzSpan]="6" nzFor="startDept"><span class="visibility_hidden">囧</span>申请科室</nz-form-label>
176
+          <nz-form-control [nzSpan]="18" nzErrorTip="请选择申请科室!">
177
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="startDept" nzPlaceHolder="请选择申请科室" nzAllowClear nzServerSearch nzShowSearch (nzOnSearch)="changeDeptInp($event)" (nzOpenChange)="openChangeDept($event)" (ngModelChange)="setIsSelecting(true)">
178
+              <ng-container *ngFor="let option of deptList">
179
+                <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
180
+              </ng-container>
181
+              <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
182
+                <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
183
+              </nz-option>
184
+            </nz-select>
185
+          </nz-form-control>
186
+        </nz-form-item>
187
+        <nz-form-item>
188
+          <nz-form-label [nzSpan]="6" nzFor="tubeType"><span class="visibility_hidden">囧</span>试管类型</nz-form-label>
189
+          <nz-form-control [nzSpan]="18" nzErrorTip="请选择试管类型!">
190
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="tubeType" nzPlaceHolder="请选择试管类型" nzServerSearch>
191
+              <nz-option *ngFor="let data of tubeTypeList" [nzLabel]="data.name" [nzValue]="data.id"></nz-option>
192
+            </nz-select>
193
+          </nz-form-control>
194
+        </nz-form-item>
195
+        <nz-form-item>
196
+          <nz-form-label [nzSpan]="6" nzRequired nzFor="urgent">标记类型</nz-form-label>
197
+          <nz-form-control [nzSpan]="18" nzErrorTip="请选择标记类型!">
198
+            <nz-select [nzDropdownMatchSelectWidth]="false" formControlName="urgent" nzPlaceHolder="请选择标记类型" nzServerSearch>
199
+              <nz-option nzLabel="标记加急" [nzValue]="1"></nz-option>
200
+            </nz-select>
201
+          </nz-form-control>
202
+        </nz-form-item> -->
203
+      </form>
204
+    </div>
205
+    <div class=" display_flex justify-content_flex-center">
206
+      <button nzType="primary" nz-button (click)="submitWechatForm()" [nzLoading]="btnLoading">确认</button>
207
+      <button class="btn cancel" nz-button nzType="default" (click)="hideWechatModal()">取消</button>
208
+    </div>
209
+  </div>
210
+</div>

+ 303 - 0
src/app/components/configurationCenter/configuration-specimen/configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.component.less

@@ -0,0 +1,303 @@
1
+@import "../../../../../../src/theme.less";
2
+:host {
3
+  height: 100%;
4
+  display: flex;
5
+  flex-direction: column;
6
+  justify-content: space-between;
7
+  background-color: #F0F2F5;
8
+  .list-template__nzTable,
9
+  .list-template__bottom{
10
+    padding: 0!important;
11
+    border: none!important;
12
+    background: #fff!important;
13
+  }
14
+  .list-template{
15
+    width: 100%!important;
16
+    height: 100%!important;
17
+    padding: 0!important;
18
+  }
19
+  .circleWrap{
20
+    position: relative;
21
+    .circle{
22
+      width: 8px;
23
+      height: 8px;
24
+      border-radius: 50%;
25
+      position: absolute;
26
+      top: 50%;
27
+      left: -8px;
28
+      transform: translate(-50%,-50%);
29
+      &.red{
30
+        background-color: red;
31
+      }
32
+    }
33
+  }
34
+  .content{
35
+    flex: 1;
36
+    min-height: 0;
37
+    display: flex;
38
+    flex-direction: column;
39
+    justify-content: space-between;
40
+    border: 1px solid #EEF3F9;
41
+    &.priority{
42
+      background-color: #fff;
43
+      .contentInner{
44
+        padding: 0 16px 16px;
45
+        border: 1px solid #E8EBEF;
46
+      }
47
+    }
48
+    .contentItem{
49
+      padding: 4px 16px;
50
+      cursor: pointer;
51
+      overflow: hidden;
52
+      text-overflow: ellipsis;
53
+      white-space: nowrap;
54
+      &.active{
55
+        color: @primary-color;
56
+        background-color: #F0F6ED;
57
+        border-radius: 4px;
58
+      }
59
+    }
60
+    .contentInner{
61
+      flex: 1;
62
+      display: flex;
63
+      justify-content: space-between;
64
+      align-items: center;
65
+      padding: 0 16px;
66
+      gap: 16px;
67
+      .contentHead{
68
+        height: 45px;
69
+        display: flex;
70
+        justify-content: space-between;
71
+        align-items: center;
72
+        gap: 16px;
73
+        padding: 0 16px;
74
+        font-size: 16px;
75
+        font-weight: bold;
76
+        border-bottom: 1px solid #D9D9D9;
77
+        .title{
78
+          overflow: hidden;
79
+          text-overflow: ellipsis;
80
+          white-space: nowrap;
81
+        }
82
+        .btns{
83
+          flex-shrink: 0;
84
+        }
85
+      }
86
+      .contentBody{
87
+        padding: 0 8px;
88
+        margin: 4px 0;
89
+        flex: 1;
90
+      }
91
+      .address{
92
+        flex: 1;
93
+        height: 100%;
94
+        background: #FFFFFF;
95
+        border: 1px solid #E8EBEF;
96
+        display: flex;
97
+        flex-direction: column;
98
+        width: 0;
99
+      }
100
+      .addressAssign{
101
+        flex: 3;
102
+        height: 100%;
103
+        background: #FFFFFF;
104
+        border: 1px solid #E8EBEF;
105
+        display: flex;
106
+        flex-direction: column;
107
+        width: 0;
108
+      }
109
+      .list-template__searchItem {
110
+        .label {
111
+          color: #333;
112
+          display: inline-block;
113
+          width: 70px;
114
+          text-align-last: justify;
115
+          text-align: justify;
116
+          &.label--big {
117
+            width: 100px;
118
+          }
119
+        }
120
+        .formItem {
121
+          width: 135px;
122
+        }
123
+      }
124
+    }
125
+    .contentBtns{
126
+      margin-bottom: 16px;
127
+      display: flex;
128
+      justify-content: center;
129
+      align-items: center;
130
+    }
131
+  }
132
+
133
+  .save {
134
+    position: fixed;
135
+    left: 0;
136
+    top: 0;
137
+    width: 100%;
138
+    height: 100%;
139
+    background: rgba(0, 0, 0, 0.4);
140
+    z-index: 99;
141
+
142
+    .tips{
143
+      margin-bottom: 16px!important;
144
+    }
145
+
146
+    .modalBody {
147
+      width: 350px;
148
+      background: #fff;
149
+      border-radius: 5px;
150
+      padding: 10px 20px;
151
+      color: #333;
152
+
153
+      .title {
154
+        width: 100%;
155
+        text-align: center;
156
+        font-size: 18px;
157
+        position: relative;
158
+
159
+        i {
160
+          position: absolute;
161
+          right: 0;
162
+          top: 0;
163
+          font-size: 20px;
164
+          color: #666;
165
+          cursor: pointer;
166
+          padding: 0 5px;
167
+        }
168
+      }
169
+
170
+      .content {
171
+        width: 310px;
172
+        background: #f9fafb;
173
+        border: 1px solid #e5e9ed;
174
+        border-radius: 5px;
175
+        overflow: hidden;
176
+        margin-top: 12px;
177
+        padding: 16px 0;
178
+
179
+        .busyList{
180
+          display: flex;
181
+          margin-bottom: 8px;
182
+          .busyContent{
183
+            margin-right: 8px;
184
+            flex: 1;
185
+          }
186
+        }
187
+
188
+        & > div {
189
+          text-align: center;
190
+          margin: 0;
191
+
192
+          &.icon {
193
+            // margin-top: 17px;
194
+
195
+            i {
196
+              color: #34b349;
197
+              font-size: 30px !important;
198
+
199
+              &.transport-wenhao {
200
+                color: #f5a523;
201
+              }
202
+
203
+              &.transport-shibai {
204
+                color: #ff3a52;
205
+              }
206
+            }
207
+          }
208
+
209
+          &.defeat {
210
+            color: #333;
211
+            font-size: 14px;
212
+          }
213
+
214
+          &:nth-child(3) {
215
+            font-size: 14px;
216
+            color: #666;
217
+          }
218
+        }
219
+        .workAssignmentTips {
220
+          font-size: 12px;
221
+        }
222
+      }
223
+
224
+      button {
225
+        margin-top: 10px;
226
+
227
+        &.btn {
228
+          margin-left: 8px;
229
+        }
230
+      }
231
+    }
232
+
233
+    // 新增
234
+    &.add {
235
+      .modalBody {
236
+        width: 900px;
237
+        height: auto;
238
+
239
+        .content {
240
+          width: 100%;
241
+          height: auto;
242
+          padding: 16px;
243
+          max-height: 800px;
244
+          overflow-y: auto;
245
+
246
+          .addForm {
247
+            .ant-form-item {
248
+              margin-bottom: 0;
249
+
250
+              .ant-form-item-label {
251
+                text-align: left;
252
+              }
253
+
254
+              .desc {
255
+                margin-top: 5px;
256
+              }
257
+            }
258
+
259
+            .datesControl {
260
+              margin-top: -16px;
261
+
262
+              .ant-form-item-label {
263
+                line-height: 40px;
264
+              }
265
+            }
266
+
267
+            .timer {
268
+              .ant-form-item-label {
269
+                width: 100%;
270
+                text-align: left;
271
+              }
272
+
273
+              .numInp {
274
+                margin-right: 5px;
275
+              }
276
+
277
+              .line {
278
+                margin-right: 5px;
279
+              }
280
+            }
281
+
282
+            .timer2 {
283
+              .ant-form-item-label {
284
+                line-height: 20px;
285
+              }
286
+            }
287
+          }
288
+
289
+          .editForm {
290
+            .ant-form-item {
291
+              margin-bottom: 15px;
292
+
293
+              .ant-form-item-label {
294
+                line-height: 14px;
295
+                text-align: left;
296
+              }
297
+            }
298
+          }
299
+        }
300
+      }
301
+    }
302
+  }
303
+}

+ 348 - 0
src/app/components/configurationCenter/configuration-specimen/configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.component.ts

@@ -0,0 +1,348 @@
1
+import { Component, OnInit, Input } from "@angular/core";
2
+import { Subject } from 'rxjs';
3
+import { debounceTime } from 'rxjs/operators';
4
+import { Validators, FormGroup, FormBuilder } from '@angular/forms';
5
+import { ToolService } from 'src/app/services/tool.service';
6
+import { NzMessageService } from 'ng-zorro-antd';
7
+import { MainService } from 'src/app/services/main.service';
8
+
9
+@Component({
10
+  selector: "app-configuration-specimen-auto-build-order",
11
+  templateUrl: "./configuration-specimen-auto-build-order.component.html",
12
+  styleUrls: ["./configuration-specimen-auto-build-order.component.less"],
13
+})
14
+export class ConfigurationSpecimenAutoBuildOrderComponent implements OnInit {
15
+  @Input() taskTypeDTO:any = {};
16
+  constructor(
17
+    private mainService: MainService,
18
+    private fb: FormBuilder,
19
+    private tool: ToolService,
20
+    private message: NzMessageService,
21
+  ) {}
22
+
23
+  coopData: any = {}; //当前操作列
24
+  hosId: any = this.tool.getCurrentHospital().id;
25
+  classList: any = [];
26
+
27
+  searchTimerSubject = new Subject();
28
+
29
+  ngOnInit() {
30
+    this.searchTimerSubject.pipe(debounceTime(500)).subscribe((v) => {
31
+      let fun = v[0];
32
+      fun.call(this, v[1]);
33
+    });
34
+    this.classList = this.taskTypeDTO.classesIds || [];
35
+    this.getSpecimenTypeList();
36
+    this.getDeptList();
37
+    this.getList();
38
+  }
39
+
40
+  // 新增弹框
41
+  modelName = ""; //模态框名称
42
+  modalWechat: boolean = false; //新增/编辑模态框
43
+  add: boolean; //true:新增;false:编辑
44
+  addWechatModal() {
45
+    this.modelName = "新增";
46
+    this.add = true; //新增
47
+    this.modalWechat = true;
48
+    this.initWechatForm();
49
+  }
50
+  //关闭新增/编辑弹框
51
+  hideWechatModal() {
52
+    this.modalWechat = false;
53
+  }
54
+
55
+  // 防抖
56
+  isLoading = false;
57
+  isSelecting:boolean = false; // 是否在选中状态
58
+  searchTimer(fun, e) {
59
+    if (this.isSelecting) {
60
+      this.isSelecting = false; // 重置标志
61
+      return; // 跳过处理
62
+    }
63
+    this.isLoading = true;
64
+    this.searchTimerSubject.next([fun, e]);
65
+  }
66
+
67
+  // 设置标志
68
+  setIsSelecting(flag){
69
+    this.isSelecting = flag; // 设置标志
70
+  }
71
+
72
+  openChangeDept(flag){
73
+    flag && this.setIsSelecting(false);
74
+    flag && this.getDeptList();
75
+  }
76
+
77
+  // 科室搜索
78
+  changeDeptInp(e) {
79
+    this.searchTimer(this.getDeptList, e);
80
+  }
81
+
82
+  // 获取申请科室
83
+  deptList: any = [];
84
+  getDeptList(e = undefined) {
85
+    let postData = {
86
+      idx: 0,
87
+      sum: 99999,
88
+      department: {
89
+        searchType: 1,// 简单查询
90
+        dept: e,
91
+        hospital: {
92
+          id: this.hosId,
93
+        },
94
+        type: {
95
+          value: "checkRoom",
96
+        },
97
+      }
98
+    };
99
+    this.isLoading = true;
100
+    this.mainService
101
+      .getFetchDataList("simple/data", "department", postData)
102
+      .subscribe((data) => {
103
+        this.isLoading = false;
104
+        this.deptList = data.list || [];
105
+      });
106
+  }
107
+
108
+  requiredChange(field, required: boolean): void {
109
+    if (!required) {
110
+      this.validateForm.get(field)!.clearValidators();
111
+      this.validateForm.get(field)!.markAsPristine();
112
+    } else {
113
+      this.validateForm.get(field)!.setValidators(Validators.required);
114
+      this.validateForm.get(field)!.markAsDirty();
115
+    }
116
+    this.validateForm.get(field)!.updateValueAndValidity();
117
+  }
118
+
119
+  changeUrgentFlag(e){
120
+    this.validateForm.controls.urgentTypeIds.setValue([]);
121
+    this.requiredChange('urgentTypeIds', e == 1);
122
+  }
123
+
124
+  changeOrdinaryFlag(e){
125
+    this.validateForm.controls.ordinaryTypeIds.setValue([]);
126
+    this.requiredChange('ordinaryTypeIds', e == 1);
127
+  }
128
+
129
+  changeAutoDeptLimit(e){
130
+    this.validateForm.controls.limitDeptIds.setValue([]);
131
+    this.requiredChange('limitDeptIds', e == 1);
132
+  }
133
+
134
+  // 编辑
135
+  editWechat(data) {
136
+    console.log(data);
137
+    this.modelName = "编辑";
138
+    this.add = false;
139
+    this.modalWechat = true;
140
+    this.initWechatForm();
141
+    this.coopData = data;
142
+    this.validateForm.controls.classesId.setValue(data.classesId || null);
143
+    this.validateForm.controls.autoCleanSpecimen.setValue(data.autoCleanSpecimen || 0);
144
+    this.validateForm.controls.urgentFlag.setValue(data.urgentFlag || 0);
145
+    this.validateForm.controls.urgentTypeIds.setValue(data.urgentTypeIds ? data.urgentTypeList.map(v => v.id) : []);
146
+    this.validateForm.controls.ordinaryFlag.setValue(data.ordinaryFlag || 0);
147
+    this.validateForm.controls.ordinaryTypeIds.setValue(data.ordinaryTypeIds ? data.ordinaryTypeList.map(v => v.id) : []);
148
+    this.validateForm.controls.autoDeptLimit.setValue(data.autoDeptLimit || 0);
149
+    this.validateForm.controls.limitDeptIds.setValue(data.limitDeptIds ? data.limitDeptList.map(v => v.id) : []);
150
+
151
+    this.requiredChange('urgentTypeIds', data.urgentFlag == 1);
152
+    this.requiredChange('ordinaryTypeIds', data.ordinaryFlag == 1);
153
+    this.requiredChange('limitDeptIds', data.autoDeptLimit == 1);
154
+  }
155
+
156
+  // 新增/编辑表单提交
157
+  btnLoading: boolean = false; //提交按钮loading状态
158
+  submitWechatForm(): void {
159
+    for (const i in this.validateForm.controls) {
160
+      this.validateForm.controls[i].markAsDirty();
161
+      this.validateForm.controls[i].updateValueAndValidity();
162
+    }
163
+    if (this.validateForm.invalid) {
164
+      return;
165
+    }
166
+    console.log(this.validateForm.value);
167
+    this.btnLoading = true;
168
+    let postData:any = {};
169
+
170
+    if (this.add) {
171
+      //增加
172
+      postData = {
173
+        createRuleConfiguration: {
174
+          hosId: this.hosId,
175
+          taskType: this.taskTypeDTO.id,
176
+          flag: 1,
177
+          classesId: this.validateForm.value.classesId,
178
+          autoCleanSpecimen: this.validateForm.value.autoCleanSpecimen,
179
+          urgentFlag: this.validateForm.value.urgentFlag,
180
+          urgentTypeIds: this.validateForm.value.urgentTypeIds ? this.validateForm.value.urgentTypeIds.toString() : undefined,
181
+          ordinaryFlag: this.validateForm.value.ordinaryFlag,
182
+          ordinaryTypeIds: this.validateForm.value.ordinaryTypeIds ? this.validateForm.value.ordinaryTypeIds.toString() : undefined,
183
+          autoDeptLimit: this.validateForm.value.autoDeptLimit,
184
+          limitDeptIds: this.validateForm.value.limitDeptIds ? this.validateForm.value.limitDeptIds.toString() : undefined,
185
+        }
186
+      };
187
+    } else {
188
+      //编辑
189
+      postData = {
190
+        createRuleConfiguration: {
191
+          ...this.coopData,
192
+          classesId: this.validateForm.value.classesId,
193
+          autoCleanSpecimen: this.validateForm.value.autoCleanSpecimen,
194
+          urgentFlag: this.validateForm.value.urgentFlag,
195
+          urgentTypeIds: this.validateForm.value.urgentTypeIds ? this.validateForm.value.urgentTypeIds.toString() : undefined,
196
+          ordinaryFlag: this.validateForm.value.ordinaryFlag,
197
+          ordinaryTypeIds: this.validateForm.value.ordinaryTypeIds ? this.validateForm.value.ordinaryTypeIds.toString() : undefined,
198
+          autoDeptLimit: this.validateForm.value.autoDeptLimit,
199
+          limitDeptIds: this.validateForm.value.limitDeptIds ? this.validateForm.value.limitDeptIds.toString() : undefined,
200
+        }
201
+      };
202
+    }
203
+    this.mainService
204
+      .coopData(this.add ? "addData" : "updData", "createRuleConfiguration", postData)
205
+      .subscribe((result) => {
206
+        this.btnLoading = false;
207
+        this.hideWechatModal();
208
+        let msg = "";
209
+        if (this.add) {
210
+          msg = "新增";
211
+        } else {
212
+          msg = "修改";
213
+        }
214
+        if (result.status == 200) {
215
+          this.showPromptModal(msg, true, '');
216
+        } else {
217
+          this.showPromptModal(msg, false, result.msg);
218
+        }
219
+      });
220
+  }
221
+
222
+  // 初始化新增form表单
223
+  validateForm: FormGroup; //新增/编辑表单
224
+  initWechatForm() {
225
+    this.validateForm = this.fb.group({
226
+      classesId: [null, [Validators.required]],
227
+      autoCleanSpecimen: [0, [Validators.required]],
228
+      urgentFlag: [0, [Validators.required]],
229
+      urgentTypeIds: [null],
230
+      ordinaryFlag: [0, [Validators.required]],
231
+      ordinaryTypeIds: [null],
232
+      autoDeptLimit: [0, [Validators.required]],
233
+      limitDeptIds: [null],
234
+    });
235
+  }
236
+
237
+  // 获取列表
238
+  loading1:boolean = false;
239
+  dataList: any[] = []; //表格数据
240
+  getList() {
241
+    if(!this.taskTypeDTO.id){
242
+      this.dataList = [];
243
+      return;
244
+    }
245
+    let data = {
246
+      idx: 0,
247
+      sum: 9999,
248
+      createRuleConfiguration: {
249
+        hosId: this.hosId,
250
+        taskType: this.taskTypeDTO.id,
251
+      },
252
+    };
253
+    this.loading1 = true;
254
+    this.mainService
255
+      .getFetchDataList("simple/data", "createRuleConfiguration", data)
256
+      .subscribe((data) => {
257
+        this.loading1 = false;
258
+        if (data.status == 200) {
259
+          this.dataList = data.list || [];
260
+        }else{
261
+          this.message.error(data.msg || "请求数据失败");
262
+        }
263
+      });
264
+  }
265
+
266
+  // 获取标本类型
267
+  specimenTypeList: any = [];
268
+  getSpecimenTypeList() {
269
+    this.mainService.getDictionary('list', 'specimen_type').subscribe((data) => {
270
+      this.specimenTypeList = data || [];
271
+    });
272
+  }
273
+
274
+  delModal: boolean = false; //删除模态框
275
+  tipsMsg1: string; //提示框信息
276
+  tipsMsg2: string; //操作后信息
277
+  confirmDelType: string; //确认的类型(启用/停用,删除)
278
+  showDelModal(
279
+    data,
280
+    tipsMsg1: string,
281
+    tipsMsg2: string,
282
+    type: string,
283
+  ) {
284
+    this.confirmDelType = type;
285
+    this.delModal = true;
286
+    this.coopData = data;
287
+    this.tipsMsg1 = tipsMsg1;
288
+    this.tipsMsg2 = tipsMsg2;
289
+  }
290
+  // 隐藏删除框
291
+  hideDelModal() {
292
+    this.delModal = false;
293
+  }
294
+  // 确认删除
295
+  confirmDel() {
296
+    this.btnLoading = true;
297
+    if (this.confirmDelType === "del") {
298
+      //删除
299
+      this.mainService
300
+        .simplePost("rmvData", "createRuleConfiguration", [this.coopData.id])
301
+        .subscribe((data) => {
302
+          this.btnLoading = false;
303
+          this.delModal = false;
304
+          if (data.status == 200) {
305
+            this.showPromptModal(this.tipsMsg2, true, "");
306
+          } else {
307
+            this.showPromptModal(this.tipsMsg2, false, data.msg);
308
+          }
309
+        });
310
+    }else if (this.confirmDelType === "flag") {
311
+      //启用/停用
312
+    let postData:any = {
313
+      createRuleConfiguration: {
314
+        ...this.coopData,
315
+        flag: this.coopData.flag == 1 ? 0 : 1,
316
+      }
317
+    };
318
+
319
+    this.mainService
320
+      .coopData("updData", "createRuleConfiguration", postData)
321
+      .subscribe((result) => {
322
+        this.btnLoading = false;
323
+        this.delModal = false;
324
+        if (result.status == 200) {
325
+          this.showPromptModal(this.coopData.flag == 1 ? '停用' : '启用', true, '');
326
+        } else {
327
+          this.showPromptModal(this.coopData.flag == 1 ? '停用' : '启用', false, result.msg);
328
+        }
329
+      });
330
+    }
331
+  }
332
+
333
+  // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)
334
+  promptContent: string; //操作提示框提示信息
335
+  ifSuccess: boolean; //操作成功/失败
336
+  promptInfo: string; //操作结果提示信息
337
+  promptModalShow: boolean; //操作提示框是否展示
338
+  showPromptModal(con, success, promptInfo?) {
339
+    this.promptModalShow = false;
340
+    this.promptContent = con;
341
+    this.ifSuccess = success;
342
+    this.promptInfo = promptInfo;
343
+    setTimeout(() => {
344
+      this.promptModalShow = true;
345
+    }, 100);
346
+    this.getList();
347
+  }
348
+}

+ 20 - 0
src/app/components/configurationCenter/configuration-specimen/configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.module.ts

@@ -0,0 +1,20 @@
1
+import { NgModule } from '@angular/core';
2
+import { CommonModule } from '@angular/common';
3
+
4
+import { ConfigurationSpecimenAutoBuildOrderComponent } from './configuration-specimen-auto-build-order.component';
5
+import { ShareModule } from 'src/app/share/share.module';
6
+
7
+
8
+@NgModule({
9
+  declarations: [
10
+    ConfigurationSpecimenAutoBuildOrderComponent,
11
+  ],
12
+  imports: [
13
+    CommonModule,
14
+    ShareModule,
15
+  ],
16
+  exports: [
17
+    ConfigurationSpecimenAutoBuildOrderComponent,
18
+  ]
19
+})
20
+export class ConfigurationSpecimenAutoBuildOrderModule { }

+ 2 - 1
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.html

@@ -194,13 +194,14 @@
194
               <!-- 自动建单配置 -->
194
               <!-- 自动建单配置 -->
195
               <div *ngIf="tabModalName=='automaticOrderCreation'">
195
               <div *ngIf="tabModalName=='automaticOrderCreation'">
196
                 <!-- 自动建单 -->
196
                 <!-- 自动建单 -->
197
+                 <app-configuration-specimen-auto-build-order [taskTypeDTO]="taskTypeDTO"></app-configuration-specimen-auto-build-order>
197
               </div>
198
               </div>
198
               <!-- 特殊标本标记 -->
199
               <!-- 特殊标本标记 -->
199
               <div *ngIf="tabModalName=='specialSpecimenMarking'">
200
               <div *ngIf="tabModalName=='specialSpecimenMarking'">
200
                 <app-configuration-special-specimen-marking></app-configuration-special-specimen-marking>
201
                 <app-configuration-special-specimen-marking></app-configuration-special-specimen-marking>
201
               </div>
202
               </div>
202
               <div class="bottom">
203
               <div class="bottom">
203
-                <button *ngIf="tabModalName != 'specialSpecimenMarking'" class="login-form-button" nzType="primary" [nzLoading]="btnLoading" nz-button (click)="submitForm()">保存</button>
204
+                <button *ngIf="tabModalName == 'characteristics'" class="login-form-button" nzType="primary" [nzLoading]="btnLoading" nz-button (click)="submitForm()">保存</button>
204
               </div>
205
               </div>
205
             </div>
206
             </div>
206
             <div class="list" *ngIf="loading">
207
             <div class="list" *ngIf="loading">

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

@@ -594,6 +594,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
594
   }
594
   }
595
 
595
 
596
   // 获取配置
596
   // 获取配置
597
+  taskTypeDTO:any = {};
597
   getConfig() {
598
   getConfig() {
598
     this.loading = true;
599
     this.loading = true;
599
 		let postData = null;
600
 		let postData = null;
@@ -640,6 +641,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
640
         this.loading = false;
641
         this.loading = false;
641
         if (result.status == 200) {
642
         if (result.status == 200) {
642
           this.configs = result.list[0] || {};
643
           this.configs = result.list[0] || {};
644
+          this.taskTypeDTO = this.configs.taskTypeDTO || {};
643
 					if(this.activeDictionaryKey=='examine'){
645
 					if(this.activeDictionaryKey=='examine'){
644
             // 检验标本
646
             // 检验标本
645
             this.speHandoverTubeType = this.configs.speHandoverTubeType;
647
             this.speHandoverTubeType = this.configs.speHandoverTubeType;

+ 3 - 1
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.module.ts

@@ -6,6 +6,7 @@ import { ShareModule } from 'src/app/share/share.module';
6
 import { ConfigurationSpecimenComponent } from './configuration-specimen.component';
6
 import { ConfigurationSpecimenComponent } from './configuration-specimen.component';
7
 import { ConfigurationSpecimenReturnModule } from './configuration-specimen-return/configuration-specimen-return.module';
7
 import { ConfigurationSpecimenReturnModule } from './configuration-specimen-return/configuration-specimen-return.module';
8
 import { ConfigurationSpecialSpecimenMarkingModule } from './configuration-special-specimen-marking/configuration-special-specimen-marking.module';
8
 import { ConfigurationSpecialSpecimenMarkingModule } from './configuration-special-specimen-marking/configuration-special-specimen-marking.module';
9
+import { ConfigurationSpecimenAutoBuildOrderModule } from './configuration-specimen-auto-build-order/configuration-specimen-auto-build-order.module';
9
 import { ConfigurationCheckoutProjectModule } from './configuration-checkout-project/configuration-checkout-project.module';
10
 import { ConfigurationCheckoutProjectModule } from './configuration-checkout-project/configuration-checkout-project.module';
10
 
11
 
11
 @NgModule({
12
 @NgModule({
@@ -17,7 +18,8 @@ import { ConfigurationCheckoutProjectModule } from './configuration-checkout-pro
17
     ShareModule,
18
     ShareModule,
18
     ConfigurationSpecimenReturnModule,
19
     ConfigurationSpecimenReturnModule,
19
     ConfigurationSpecialSpecimenMarkingModule,
20
     ConfigurationSpecialSpecimenMarkingModule,
20
-		ConfigurationCheckoutProjectModule
21
+		ConfigurationCheckoutProjectModule,
22
+    ConfigurationSpecimenAutoBuildOrderModule,
21
   ],
23
   ],
22
   exports: [
24
   exports: [
23
     ConfigurationSpecimenComponent,
25
     ConfigurationSpecimenComponent,

+ 1 - 0
src/app/share/businessData-detail-info-modal/businessData-detail-info-modal.component.html

@@ -8,6 +8,7 @@
8
       <div>单号:{{drugsBag.packid}}</div>
8
       <div>单号:{{drugsBag.packid}}</div>
9
       <div>申请科室:{{drugsBag.target ? drugsBag.target.dept : ''}}</div>
9
       <div>申请科室:{{drugsBag.target ? drugsBag.target.dept : ''}}</div>
10
       <div>发药科室:{{drugsBag.launch ? drugsBag.launch.dept : ''}}</div>
10
       <div>发药科室:{{drugsBag.launch ? drugsBag.launch.dept : ''}}</div>
11
+      <div>打印时间:{{drugsBag.creatTime}}</div>
11
     </div>
12
     </div>
12
     <div class="content">
13
     <div class="content">
13
       <ng-container *ngIf="configs.showDrugsBagDetails === 1 && (type === 'drugsJpbag' || type === 'drugsWestern' || type === 'drugsReturn' || type === 'drugsPoison' || type === 'drugsHerbal')">
14
       <ng-container *ngIf="configs.showDrugsBagDetails === 1 && (type === 'drugsJpbag' || type === 'drugsWestern' || type === 'drugsReturn' || type === 'drugsPoison' || type === 'drugsHerbal')">

+ 8 - 5
src/app/share/businessData-detail-modal/businessData-detail-modal.component.html

@@ -8,6 +8,7 @@
8
       <div>单号:{{drugsBag.packid}}</div>
8
       <div>单号:{{drugsBag.packid}}</div>
9
       <div>申请科室:{{drugsBag.target ? drugsBag.target.dept : ''}}</div>
9
       <div>申请科室:{{drugsBag.target ? drugsBag.target.dept : ''}}</div>
10
       <div>发药科室:{{drugsBag.launch ? drugsBag.launch.dept : ''}}</div>
10
       <div>发药科室:{{drugsBag.launch ? drugsBag.launch.dept : ''}}</div>
11
+      <div>打印时间:{{drugsBag.creatTime}}</div>
11
     </div>
12
     </div>
12
     <div class="content">
13
     <div class="content">
13
       <!-- 血制品 -->
14
       <!-- 血制品 -->
@@ -68,22 +69,24 @@
68
         <thead>
69
         <thead>
69
           <tr class="thead">
70
           <tr class="thead">
70
             <th nzWidth="5%">序号</th>
71
             <th nzWidth="5%">序号</th>
71
-            <th nzWidth="11%">单号</th>
72
-						<th nzWidth="10%" *ngIf="configs.showPatientInfo==1">患者信息</th>
72
+            <th nzWidth="12%">单号</th>
73
+            <th nzWidth="14%">发药科室|打印时间</th>
74
+						<th nzWidth="8%" *ngIf="configs.showPatientInfo==1">患者信息</th>
73
             <th nzWidth="8%" *ngIf="configs.showDrugsBagTypeCount==1">种类数</th>
75
             <th nzWidth="8%" *ngIf="configs.showDrugsBagTypeCount==1">种类数</th>
74
             <th nzWidth="8%" *ngIf="configs.showDrugsBagTypeCount==1">总数</th>
76
             <th nzWidth="8%" *ngIf="configs.showDrugsBagTypeCount==1">总数</th>
75
             <th nzWidth="10%">收取人/交接人</th>
77
             <th nzWidth="10%">收取人/交接人</th>
76
             <!-- <th nzWidth="10%">收取交接人</th> -->
78
             <!-- <th nzWidth="10%">收取交接人</th> -->
77
-            <th nzWidth="14%">收取时间</th>
79
+            <th nzWidth="12%">收取时间</th>
78
             <th nzWidth="10%">送达人/交接人</th>
80
             <th nzWidth="10%">送达人/交接人</th>
79
             <!-- <th nzWidth="10%">送达交接人</th> -->
81
             <!-- <th nzWidth="10%">送达交接人</th> -->
80
-            <th nzWidth="14%">送达时间</th>
82
+            <th nzWidth="12%">送达时间</th>
81
           </tr>
83
           </tr>
82
         </thead>
84
         </thead>
83
         <tbody>
85
         <tbody>
84
           <tr *ngFor="let data of drugsBugMultipleList;let i = index;" (click)="viewDetail(type, data.id)" [ngStyle]="{ 'cursor': configs.showDrugsBagDetails == 1 ? 'pointer' : '' }">
86
           <tr *ngFor="let data of drugsBugMultipleList;let i = index;" (click)="viewDetail(type, data.id)" [ngStyle]="{ 'cursor': configs.showDrugsBagDetails == 1 ? 'pointer' : '' }">
85
             <td>{{i+1}}</td>
87
             <td>{{i+1}}</td>
86
 						<td [ngStyle]="{ 'text-decoration': configs.showDrugsBagDetails == 1 ? 'underline' : '' }">{{ data.packid }}</td>
88
 						<td [ngStyle]="{ 'text-decoration': configs.showDrugsBagDetails == 1 ? 'underline' : '' }">{{ data.packid }}</td>
89
+            <td>{{ data.launch?.dept }}<br>{{ data.creatTime }}</td>
87
 						<td nz-tooltip [nzTooltipTitle]="data.patientNames" *ngIf="configs.showPatientInfo==1">
90
 						<td nz-tooltip [nzTooltipTitle]="data.patientNames" *ngIf="configs.showPatientInfo==1">
88
 							{{ data.patientNames }}
91
 							{{ data.patientNames }}
89
 						</td>
92
 						</td>
@@ -160,7 +163,7 @@
160
 							<span class="sign" *ngIf="orderId != data.gdIdSend && orderId != data.gdid"></span>
163
 							<span class="sign" *ngIf="orderId != data.gdIdSend && orderId != data.gdid"></span>
161
 						{{ (pageIndex - 1) * pageSize + i + 1 }}</td>
164
 						{{ (pageIndex - 1) * pageSize + i + 1 }}</td>
162
             <td>{{ data.sickRoom ? data.sickRoom.dept : "-" }}</td>
165
             <td>{{ data.sickRoom ? data.sickRoom.dept : "-" }}</td>
163
-            <td>{{ data.patientName}}<span *ngIf="data.bedNum">({{data.bedNum}})</span><br>{{data.residenceNo}}</td>
166
+            <td>{{ data.patientName}}<span *ngIf="data.bedNum">({{data.bedNum}})</span><br>{{data.residenceNo || data.patientNo}}</td>
164
             <td class="underline" (click)="viewSpecimenHistory(data)">{{ data.scode || "-" }}</td>
167
             <td class="underline" (click)="viewSpecimenHistory(data)">{{ data.scode || "-" }}</td>
165
             <td>{{ data.specimenDesc || "-" }}</td>
168
             <td>{{ data.specimenDesc || "-" }}</td>
166
             <td>{{ data.stype ? data.stype.name : "-" }}<span *ngIf="data.tubeType">,</span>{{data.tubeType && data.tubeType.name}}</td>
169
             <td>{{ data.stype ? data.stype.name : "-" }}<span *ngIf="data.tubeType">,</span>{{data.tubeType && data.tubeType.name}}</td>

+ 6 - 6
src/app/share/businessData-detail-modal/businessData-detail-modal.component.less

@@ -31,7 +31,7 @@
31
   }
31
   }
32
   .hospitalTable {
32
   .hospitalTable {
33
     width: 100%;
33
     width: 100%;
34
-		height: calc(100vh - 280px);
34
+		height: calc(100vh - 366px);
35
 		overflow-y: auto;
35
 		overflow-y: auto;
36
     td {
36
     td {
37
       text-align: center !important;
37
       text-align: center !important;
@@ -91,8 +91,8 @@
91
   //   border-radius: 5px;
91
   //   border-radius: 5px;
92
   //   color: #333;
92
   //   color: #333;
93
 		// position: relative;
93
 		// position: relative;
94
-		
95
-		height: calc(100vh - 100px);
94
+
95
+		// height: calc(100vh - 100px);
96
 		min-height: 580px;
96
 		min-height: 580px;
97
 		border-radius: 5px;
97
 		border-radius: 5px;
98
 		background: #fff;
98
 		background: #fff;
@@ -138,7 +138,7 @@
138
       flex-direction: column;
138
       flex-direction: column;
139
       justify-content: center;
139
       justify-content: center;
140
       align-items: center;
140
       align-items: center;
141
-			
141
+
142
       &.content-search {
142
       &.content-search {
143
         min-height: 147px;
143
         min-height: 147px;
144
         justify-content: start;
144
         justify-content: start;
@@ -189,14 +189,14 @@
189
         }
189
         }
190
       }
190
       }
191
     }
191
     }
192
-		
192
+
193
 		.bottom-btn{
193
 		.bottom-btn{
194
 			.btn {
194
 			.btn {
195
 				position: absolute;
195
 				position: absolute;
196
 				bottom: 10px;
196
 				bottom: 10px;
197
 			}
197
 			}
198
 		}
198
 		}
199
-		
199
+
200
     button {
200
     button {
201
       margin-top: 10px;
201
       margin-top: 10px;
202
       margin-bottom: 10px;
202
       margin-bottom: 10px;

+ 53 - 0
src/app/share/patient-log-prompt-modal/patient-log-prompt-modal.component.html

@@ -0,0 +1,53 @@
1
+<div
2
+  class="modal display_flex justify-content_flex-center align-items_center"
3
+  *ngIf="show"
4
+>
5
+  <div class="modalBody">
6
+    <div class="title">
7
+      查看日志<i class="icon_transport transport-guanbi" (click)="hideModal()"></i>
8
+    </div>
9
+    <div class="content">
10
+      <nz-table
11
+        class="hospitalTable"
12
+        [nzData]="historySpecimenList"
13
+        nzSize="middle"
14
+        [nzShowPagination]="false"
15
+        [nzLoading]="hsLoading"
16
+      >
17
+        <thead>
18
+          <tr class="thead">
19
+            <th nzWidth="8%">序号</th>
20
+            <th nzWidth="23%">动作</th>
21
+            <th nzWidth="23%">时间</th>
22
+            <th nzWidth="23%">备注</th>
23
+            <th nzWidth="23%">操作人</th>
24
+          </tr>
25
+        </thead>
26
+        <tbody>
27
+          <tr *ngFor="let data of historySpecimenList; let i = index">
28
+            <td>{{ i+(historySpecimenPageIndex-1) * historySpecimenPageSize + 1 }}</td>
29
+            <td>{{ data.type?.name }}</td>
30
+            <td>{{ data.time | date: "MM-dd HH:mm:ss" }}</td>
31
+            <td>{{ data.remark }}</td>
32
+            <td>{{ data.operationUserDTO?.name }}</td>
33
+          </tr>
34
+        </tbody>
35
+      </nz-table>
36
+      <div class="pagination">
37
+        <nz-pagination
38
+          [(nzPageIndex)]="historySpecimenPageIndex"
39
+          [(nzTotal)]="historySpecimenListLength"
40
+          [(nzPageSize)]="historySpecimenPageSize"
41
+          (nzPageIndexChange)="getHistorySpecimen()"
42
+          (nzPageSizeChange)="getHistorySpecimen()"
43
+        >
44
+        </nz-pagination>
45
+      </div>
46
+    </div>
47
+    <div class="display_flex justify-content_flex-center">
48
+      <button class="btn cancel" nz-button (click)="hideModal()">
49
+        关闭
50
+      </button>
51
+    </div>
52
+  </div>
53
+</div>

+ 165 - 0
src/app/share/patient-log-prompt-modal/patient-log-prompt-modal.component.less

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

+ 56 - 0
src/app/share/patient-log-prompt-modal/patient-log-prompt-modal.component.ts

@@ -0,0 +1,56 @@
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
+
5
+@Component({
6
+  selector: "app-patient-log-prompt-modal",
7
+  templateUrl: "./patient-log-prompt-modal.component.html",
8
+  styleUrls: ["./patient-log-prompt-modal.component.less"],
9
+})
10
+export class PatientLogPromptModalComponent implements OnInit {
11
+  hosId;
12
+  // 切换科室,切换弹窗
13
+  hsLoading = false;
14
+  historySpecimenList: any = [];
15
+  historySpecimenPageIndex: number = 1; //表格当前页码
16
+  historySpecimenPageSize: number = 5; //表格每页展示条数
17
+  historySpecimenListLength: number = 10; //表格总数据量
18
+  @Input() show: Boolean;
19
+  @Input() id: String;
20
+
21
+  @Output() closeModelHs = new EventEmitter<any>(); //1.组件暴露一个 EventEmitter 属性,当事件发生时,子组件利用该属性 emits(向上弹射)事件
22
+
23
+  constructor(private mainService: MainService, private tool: ToolService) {}
24
+
25
+  ngOnInit() {
26
+    this.hosId = this.tool.getCurrentHospital().id;
27
+    this.getHistorySpecimen();
28
+  }
29
+  // 关闭弹窗
30
+  hideModal() {
31
+    this.closeModelHs.emit(JSON.stringify({ show: false })); //emits(向上弹射)事件
32
+  }
33
+  // 获取列表数据
34
+  getHistorySpecimen(idx?) {
35
+    if (idx) {
36
+      this.historySpecimenPageIndex = 1;
37
+    }
38
+    let postData = {
39
+      idx: this.historySpecimenPageIndex - 1,
40
+      sum: this.historySpecimenPageSize,
41
+      patientLog: {
42
+        patient: {
43
+          id: this.id,
44
+        },
45
+      },
46
+    };
47
+    this.hsLoading = true;
48
+    this.mainService
49
+      .getFetchDataList("simple/data", "patientLog", postData)
50
+      .subscribe((data) => {
51
+        this.hsLoading = false;
52
+        this.historySpecimenList = data.list || [];
53
+        this.historySpecimenListLength = data.totalNum || 0;
54
+      });
55
+  }
56
+}

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

@@ -76,6 +76,7 @@ import { UploadFileComponent } from './upload-file/upload-file.component';
76
 import { AddInspectTwoModalComponent } from './add-inspect-two-modal/add-inspect-two-modal.component';
76
 import { AddInspectTwoModalComponent } from './add-inspect-two-modal/add-inspect-two-modal.component';
77
 import { AddInspectThreeModalComponent } from './add-inspect-three-modal/add-inspect-three-modal.component';
77
 import { AddInspectThreeModalComponent } from './add-inspect-three-modal/add-inspect-three-modal.component';
78
 import { ViewSpecimenComponent } from './view-specimen/view-specimen.component';
78
 import { ViewSpecimenComponent } from './view-specimen/view-specimen.component';
79
+import { PatientLogPromptModalComponent } from './patient-log-prompt-modal/patient-log-prompt-modal.component';
79
 
80
 
80
 @NgModule({
81
 @NgModule({
81
   declarations: [
82
   declarations: [
@@ -152,6 +153,7 @@ import { ViewSpecimenComponent } from './view-specimen/view-specimen.component';
152
     PackageSpecimenRuleComponent,
153
     PackageSpecimenRuleComponent,
153
     SpecimenPackageListModalComponent,
154
     SpecimenPackageListModalComponent,
154
     SpecimenPackageLogPromptModalComponent,
155
     SpecimenPackageLogPromptModalComponent,
156
+    PatientLogPromptModalComponent,
155
     InspectLogPromptModalComponent,
157
     InspectLogPromptModalComponent,
156
 		UploadFileComponent
158
 		UploadFileComponent
157
   ],
159
   ],
@@ -239,6 +241,7 @@ import { ViewSpecimenComponent } from './view-specimen/view-specimen.component';
239
     PackageSpecimenRuleComponent,
241
     PackageSpecimenRuleComponent,
240
     SpecimenPackageListModalComponent,
242
     SpecimenPackageListModalComponent,
241
     SpecimenPackageLogPromptModalComponent,
243
     SpecimenPackageLogPromptModalComponent,
244
+    PatientLogPromptModalComponent,
242
     InspectLogPromptModalComponent,
245
     InspectLogPromptModalComponent,
243
 		UploadFileComponent
246
 		UploadFileComponent
244
   ]
247
   ]

+ 1 - 4
src/app/share/view-specimen/view-specimen.component.html

@@ -3,10 +3,7 @@
3
 >
3
 >
4
   <div class="modalBody" style="width: 1200px;">
4
   <div class="modalBody" style="width: 1200px;">
5
     <div class="title">
5
     <div class="title">
6
-      标本查看<i
7
-        class="icon_transport transport-guanbi"
8
-        (click)="hideModal()"
9
-      ></i>
6
+      标本查看({{packageNo}})<i class="icon_transport transport-guanbi" (click)="hideModal()"></i>
10
     </div>
7
     </div>
11
 		<div class="list-template">
8
 		<div class="list-template">
12
 		  <div class="list-template__content">
9
 		  <div class="list-template__content">

+ 9 - 5
src/app/share/view-specimen/view-specimen.component.ts

@@ -20,7 +20,7 @@ export class ViewSpecimenComponent implements OnInit {
20
 	changeInpSubject = new Subject(); //防抖
20
 	changeInpSubject = new Subject(); //防抖
21
 	userId:any = 0;
21
 	userId:any = 0;
22
 	tubeTypeId:any = 0;
22
 	tubeTypeId:any = 0;
23
-	
23
+
24
   @Input() speId: String;
24
   @Input() speId: String;
25
 
25
 
26
   @Output() closeModelHs = new EventEmitter<any>(); //1.组件暴露一个 EventEmitter 属性,当事件发生时,子组件利用该属性 emits(向上弹射)事件
26
   @Output() closeModelHs = new EventEmitter<any>(); //1.组件暴露一个 EventEmitter 属性,当事件发生时,子组件利用该属性 emits(向上弹射)事件
@@ -35,27 +35,28 @@ export class ViewSpecimenComponent implements OnInit {
35
   hideModal() {
35
   hideModal() {
36
     this.closeModelHs.emit(JSON.stringify({ show: false })); //emits(向上弹射)事件
36
     this.closeModelHs.emit(JSON.stringify({ show: false })); //emits(向上弹射)事件
37
   }
37
   }
38
-	
38
+
39
 	// 重置
39
 	// 重置
40
 	reset(){
40
 	reset(){
41
 		this.userId = 0
41
 		this.userId = 0
42
 		this.tubeTypeId = 0
42
 		this.tubeTypeId = 0
43
 		this.getHistorySpecimen(true)
43
 		this.getHistorySpecimen(true)
44
 	}
44
 	}
45
-	
45
+
46
 	// 选择患者
46
 	// 选择患者
47
 	userChange(e){
47
 	userChange(e){
48
 		this.getHistorySpecimen(true)
48
 		this.getHistorySpecimen(true)
49
 	}
49
 	}
50
-	
50
+
51
 	// 选择试管类型
51
 	// 选择试管类型
52
 	tubeChange(e){
52
 	tubeChange(e){
53
 		this.getHistorySpecimen(true)
53
 		this.getHistorySpecimen(true)
54
 	}
54
 	}
55
-	
55
+
56
   // 获取列表数据
56
   // 获取列表数据
57
 	userList:any = [];
57
 	userList:any = [];
58
 	tubeList:any = [];
58
 	tubeList:any = [];
59
+  packageNo:string = '';
59
   getHistorySpecimen(idx?) {
60
   getHistorySpecimen(idx?) {
60
     if (idx) {
61
     if (idx) {
61
       this.historySpecimenPageIndex = 1;
62
       this.historySpecimenPageIndex = 1;
@@ -71,7 +72,10 @@ export class ViewSpecimenComponent implements OnInit {
71
       .getInfoPack(this.speId, postData)
72
       .getInfoPack(this.speId, postData)
72
       .subscribe((data:any) => {
73
       .subscribe((data:any) => {
73
         this.hsLoading = false;
74
         this.hsLoading = false;
75
+        this.packageNo = data.packageNo;
74
         this.historySpecimenList = data.specimen || [];
76
         this.historySpecimenList = data.specimen || [];
77
+        data.patient = data.patient || [];
78
+        data.tubeType = data.tubeType || [];
75
 				data.patient.forEach(i=>{
79
 				data.patient.forEach(i=>{
76
 					if(i.bedNum){
80
 					if(i.bedNum){
77
 						i.name = i.patientName + '-' + i.bedNum + '-' + i.patientNo
81
 						i.name = i.patientName + '-' + i.bedNum + '-' + i.patientNo

+ 12 - 8
src/app/views/batch-specimen/batch-specimen.component.ts

@@ -79,7 +79,7 @@ export class BatchSpecimenComponent implements OnInit, AfterViewInit {
79
       .subscribe((result) => {
79
       .subscribe((result) => {
80
         if (result.status == 200) {
80
         if (result.status == 200) {
81
           this.configs = result.list[0] || {};
81
           this.configs = result.list[0] || {};
82
-          this.querySaveSpePackage();
82
+          this.querySaveSpePackage(true);
83
         }
83
         }
84
       });
84
       });
85
   }
85
   }
@@ -89,7 +89,7 @@ export class BatchSpecimenComponent implements OnInit, AfterViewInit {
89
   typeSpecimentList:any[] = [];
89
   typeSpecimentList:any[] = [];
90
   patientSpecimentList:any[] = [];
90
   patientSpecimentList:any[] = [];
91
   package:any = {};
91
   package:any = {};
92
-  querySaveSpePackage(){
92
+  querySaveSpePackage(isInit = false){
93
     this.maskFlag = this.message.loading("正在加载中..", {
93
     this.maskFlag = this.message.loading("正在加载中..", {
94
       nzDuration: 0,
94
       nzDuration: 0,
95
     }).messageId;
95
     }).messageId;
@@ -112,11 +112,15 @@ export class BatchSpecimenComponent implements OnInit, AfterViewInit {
112
           this.typeSpecimentList = result.tube || [];
112
           this.typeSpecimentList = result.tube || [];
113
           this.patientSpecimentList = result.patient || [];
113
           this.patientSpecimentList = result.patient || [];
114
           this.package = result.package || {};
114
           this.package = result.package || {};
115
-          this.getList();
115
+          if(isInit){
116
+            this.showDelModal({}, '您确认要重置标本吗,重置会先清空标本在根据规则自动清点?','重置标本','reset');
117
+          }else{
118
+            this.getList();
119
+          }
116
         }
120
         }
117
       })
121
       })
118
   }
122
   }
119
-	
123
+
120
 	// 批量移除
124
 	// 批量移除
121
 	infoContent:any;
125
 	infoContent:any;
122
 	batchDel(){
126
 	batchDel(){
@@ -128,7 +132,7 @@ export class BatchSpecimenComponent implements OnInit, AfterViewInit {
128
 		this.tipsMsg1 = `您确认要移除${this.checkedDepIds.length}项标本吗?`
132
 		this.tipsMsg1 = `您确认要移除${this.checkedDepIds.length}项标本吗?`
129
 		this.delModal = true;
133
 		this.delModal = true;
130
 	}
134
 	}
131
-	
135
+
132
 	// 选中表格中科室
136
 	// 选中表格中科室
133
 	mapOfCheckedId: { [key: string]: boolean } = {};
137
 	mapOfCheckedId: { [key: string]: boolean } = {};
134
 	checkedDepIds = []; //已选中科室id
138
 	checkedDepIds = []; //已选中科室id
@@ -145,20 +149,20 @@ export class BatchSpecimenComponent implements OnInit, AfterViewInit {
145
 	  this.checkedDepIds = arr;
149
 	  this.checkedDepIds = arr;
146
 	  console.log(this.checkedDepIds);
150
 	  console.log(this.checkedDepIds);
147
 	}
151
 	}
148
-	
152
+
149
 	//表格整行选中
153
 	//表格整行选中
150
 	selectedListData(id) {
154
 	selectedListData(id) {
151
 	  this.mapOfCheckedId[id] = !this.mapOfCheckedId[id];
155
 	  this.mapOfCheckedId[id] = !this.mapOfCheckedId[id];
152
 	  this.refreshStatus();
156
 	  this.refreshStatus();
153
 	}
157
 	}
154
-	
158
+
155
 	// 全选
159
 	// 全选
156
 	isAllDisplayDataChecked = false; //当前页是否全选
160
 	isAllDisplayDataChecked = false; //当前页是否全选
157
 	checkAll(value: boolean): void {
161
 	checkAll(value: boolean): void {
158
 	  this.listOfData.forEach((item) => (this.mapOfCheckedId[item.id] = value));
162
 	  this.listOfData.forEach((item) => (this.mapOfCheckedId[item.id] = value));
159
 	  this.refreshStatus();
163
 	  this.refreshStatus();
160
 	}
164
 	}
161
-	
165
+
162
   inspectActiveList: any = [];//选中检查列表
166
   inspectActiveList: any = [];//选中检查列表
163
   patientActiveList: any = [];//选中患者列表
167
   patientActiveList: any = [];//选中患者列表
164
 
168
 

+ 43 - 15
src/app/views/drug-search/drug-search.component.html

@@ -56,7 +56,7 @@
56
             </nz-option>
56
             </nz-option>
57
           </nz-select>
57
           </nz-select>
58
         </div>
58
         </div>
59
-				
59
+
60
 				<div class="list-template__searchItem">
60
 				<div class="list-template__searchItem">
61
 				  <span class="label">药品类型:</span>
61
 				  <span class="label">药品类型:</span>
62
 				  <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzShowSearch nzAllowClear
62
 				  <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzShowSearch nzAllowClear
@@ -66,7 +66,7 @@
66
 				    </ng-container>
66
 				    </ng-container>
67
 				  </nz-select>
67
 				  </nz-select>
68
 				</div>
68
 				</div>
69
-				
69
+
70
 				<div class="list-template__searchItem">
70
 				<div class="list-template__searchItem">
71
 				  <span class="label">收取人:</span>
71
 				  <span class="label">收取人:</span>
72
 				  <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzServerSearch nzShowSearch nzAllowClear
72
 				  <nz-select [nzDropdownMatchSelectWidth]="false" class="formItem" nzServerSearch nzShowSearch nzAllowClear
@@ -79,7 +79,7 @@
79
 				    </nz-option>
79
 				    </nz-option>
80
 				  </nz-select>
80
 				  </nz-select>
81
 				</div>
81
 				</div>
82
-				
82
+
83
 				<div class="list-template__searchItem">
83
 				<div class="list-template__searchItem">
84
 				  <span class="label width-105">收取时间区间:</span>
84
 				  <span class="label width-105">收取时间区间:</span>
85
 				  <nz-range-picker nzShowTime [(ngModel)]="searchCriteria.dateRange" (nzOnCalendarChange)="onCalendarChangeDate($event)" (ngModelChange)="changeDate($event)"></nz-range-picker>
85
 				  <nz-range-picker nzShowTime [(ngModel)]="searchCriteria.dateRange" (nzOnCalendarChange)="onCalendarChangeDate($event)" (ngModelChange)="changeDate($event)"></nz-range-picker>
@@ -98,7 +98,8 @@
98
         <thead>
98
         <thead>
99
           <tr class="thead">
99
           <tr class="thead">
100
             <th nzWidth="5%">序号</th>
100
             <th nzWidth="5%">序号</th>
101
-						<th nzWidth="12%">请领单号|药品类型</th>
101
+						<th nzWidth="6%">请领单号|药品类型</th>
102
+						<th nzWidth="6%">药单类型</th>
102
             <th nzWidth="12%">发药科室|申请科室</th>
103
             <th nzWidth="12%">发药科室|申请科室</th>
103
             <th nzWidth="10%">同步时间</th>
104
             <th nzWidth="10%">同步时间</th>
104
 						<th nzWidth="12%">收取人|收取时间</th>
105
 						<th nzWidth="12%">收取人|收取时间</th>
@@ -116,6 +117,7 @@
116
 							<div>{{data.packid}}</div>
117
 							<div>{{data.packid}}</div>
117
 							<div>{{data.drugsBagType && data.drugsBagType.name}}</div>
118
 							<div>{{data.drugsBagType && data.drugsBagType.name}}</div>
118
 						</td>
119
 						</td>
120
+            <td>{{ data.markType?.name }}</td>
119
             <td>
121
             <td>
120
 							<div>{{ data.launch?.dept}}</div>
122
 							<div>{{ data.launch?.dept}}</div>
121
 							<div>{{ data.target?.dept }}</div>
123
 							<div>{{ data.target?.dept }}</div>
@@ -184,7 +186,7 @@
184
             </nz-input-group>
186
             </nz-input-group>
185
           </nz-form-control>
187
           </nz-form-control>
186
         </nz-form-item>
188
         </nz-form-item>
187
-				
189
+
188
 				<nz-form-item>
190
 				<nz-form-item>
189
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="batchNo">批次号</nz-form-label>
191
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="batchNo">批次号</nz-form-label>
190
 				  <nz-form-control nzErrorTip="请选择批次号!">
192
 				  <nz-form-control nzErrorTip="请选择批次号!">
@@ -193,7 +195,7 @@
193
 				    </nz-input-group>
195
 				    </nz-input-group>
194
 				  </nz-form-control>
196
 				  </nz-form-control>
195
 				</nz-form-item>
197
 				</nz-form-item>
196
-				
198
+
197
 				<nz-form-item>
199
 				<nz-form-item>
198
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="launch">发药科室</nz-form-label>
200
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="launch">发药科室</nz-form-label>
199
 				  <nz-form-control nzErrorTip="请选择发药科室!">
201
 				  <nz-form-control nzErrorTip="请选择发药科室!">
@@ -210,7 +212,7 @@
210
 				    </nz-input-group>
212
 				    </nz-input-group>
211
 				  </nz-form-control>
213
 				  </nz-form-control>
212
 				</nz-form-item>
214
 				</nz-form-item>
213
-				
215
+
214
 				<nz-form-item>
216
 				<nz-form-item>
215
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="target">申请科室</nz-form-label>
217
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="target">申请科室</nz-form-label>
216
 				  <nz-form-control nzErrorTip="请选择申请科室!">
218
 				  <nz-form-control nzErrorTip="请选择申请科室!">
@@ -227,7 +229,7 @@
227
 				    </nz-input-group>
229
 				    </nz-input-group>
228
 				  </nz-form-control>
230
 				  </nz-form-control>
229
 				</nz-form-item>
231
 				</nz-form-item>
230
-				
232
+
231
 				<nz-form-item>
233
 				<nz-form-item>
232
 				  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="creatTime">同步时间</nz-form-label>
234
 				  <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="creatTime">同步时间</nz-form-label>
233
 				  <nz-form-control nzErrorTip="请选择同步时间!">
235
 				  <nz-form-control nzErrorTip="请选择同步时间!">
@@ -242,7 +244,7 @@
242
 				    </nz-input-group>
244
 				    </nz-input-group>
243
 				  </nz-form-control>
245
 				  </nz-form-control>
244
 				</nz-form-item>
246
 				</nz-form-item>
245
-				
247
+
246
 				<nz-form-item>
248
 				<nz-form-item>
247
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="drugsState">药品状态</nz-form-label>
249
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="drugsState">药品状态</nz-form-label>
248
 				  <nz-form-control nzErrorTip="请选择药品状态!">
250
 				  <nz-form-control nzErrorTip="请选择药品状态!">
@@ -255,7 +257,7 @@
255
 				    </nz-input-group>
257
 				    </nz-input-group>
256
 				  </nz-form-control>
258
 				  </nz-form-control>
257
 				</nz-form-item>
259
 				</nz-form-item>
258
-				
260
+
259
 				<nz-form-item>
261
 				<nz-form-item>
260
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="drugsBagType">药品类型</nz-form-label>
262
 				  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="drugsBagType">药品类型</nz-form-label>
261
 				  <nz-form-control nzErrorTip="请选择药品类型!">
263
 				  <nz-form-control nzErrorTip="请选择药品类型!">
@@ -268,6 +270,19 @@
268
 				    </nz-input-group>
270
 				    </nz-input-group>
269
 				  </nz-form-control>
271
 				  </nz-form-control>
270
 				</nz-form-item>
272
 				</nz-form-item>
273
+
274
+        <nz-form-item>
275
+				  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="markType">药单类型</nz-form-label>
276
+				  <nz-form-control nzErrorTip="请选择药单类型!">
277
+				    <nz-input-group>
278
+							<nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzAllowClear nzPlaceHolder="请选择药单类型" formControlName="markType">
279
+							  <ng-container *ngFor="let option of markTypeList">
280
+							    <nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
281
+							  </ng-container>
282
+							</nz-select>
283
+				    </nz-input-group>
284
+				  </nz-form-control>
285
+				</nz-form-item>
271
       </form>
286
       </form>
272
     </div>
287
     </div>
273
     <div class="display_flex justify-content_flex-center">
288
     <div class="display_flex justify-content_flex-center">
@@ -278,7 +293,7 @@
278
 </div>
293
 </div>
279
 
294
 
280
 <!-- 发送消息 -->
295
 <!-- 发送消息 -->
281
-<app-dialog-delete [delModal]="sendModal" (hideDelModalEvent)="hideSendModal()" [btnLoading]="btnLoading" 
296
+<app-dialog-delete [delModal]="sendModal" (hideDelModalEvent)="hideSendModal()" [btnLoading]="btnLoading"
282
   (confirmDelEvent)="confirmSend()" (cancelDelEvent)="cancelSend()" content="您确认发送消息吗?消息发送会进入建单通道" confirmTxt="是" cancelTxt="否">
297
   (confirmDelEvent)="confirmSend()" (cancelDelEvent)="cancelSend()" content="您确认发送消息吗?消息发送会进入建单通道" confirmTxt="是" cancelTxt="否">
283
 </app-dialog-delete>
298
 </app-dialog-delete>
284
 
299
 
@@ -308,7 +323,7 @@
308
 							</nz-input-group>
323
 							</nz-input-group>
309
 						</nz-form-control>
324
 						</nz-form-control>
310
 					</nz-form-item>
325
 					</nz-form-item>
311
-					
326
+
312
 					<nz-form-item>
327
 					<nz-form-item>
313
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="drugsBagType">药品类型</nz-form-label>
328
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="drugsBagType">药品类型</nz-form-label>
314
 					  <nz-form-control nzErrorTip="请选择药品类型!">
329
 					  <nz-form-control nzErrorTip="请选择药品类型!">
@@ -321,7 +336,20 @@
321
 					    </nz-input-group>
336
 					    </nz-input-group>
322
 					  </nz-form-control>
337
 					  </nz-form-control>
323
 					</nz-form-item>
338
 					</nz-form-item>
324
-				
339
+
340
+          <nz-form-item>
341
+					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="markType">药单类型</nz-form-label>
342
+					  <nz-form-control nzErrorTip="请选择药单类型!">
343
+					    <nz-input-group>
344
+								<nz-select class="formItem" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzAllowClear nzPlaceHolder="请选择药单类型" formControlName="markType">
345
+								  <ng-container *ngFor="let option of markTypeList">
346
+								    <nz-option [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
347
+								  </ng-container>
348
+								</nz-select>
349
+					    </nz-input-group>
350
+					  </nz-form-control>
351
+					</nz-form-item>
352
+
325
 					<nz-form-item>
353
 					<nz-form-item>
326
 						<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="target">申请科室</nz-form-label>
354
 						<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="target">申请科室</nz-form-label>
327
 						<nz-form-control nzErrorTip="请选择申请科室!">
355
 						<nz-form-control nzErrorTip="请选择申请科室!">
@@ -338,7 +366,7 @@
338
 							</nz-input-group>
366
 							</nz-input-group>
339
 						</nz-form-control>
367
 						</nz-form-control>
340
 					</nz-form-item>
368
 					</nz-form-item>
341
-					
369
+
342
 					<nz-form-item>
370
 					<nz-form-item>
343
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="amount">生成数量</nz-form-label>
371
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="amount">生成数量</nz-form-label>
344
 					  <nz-form-control nzErrorTip="请选择生成数量!">
372
 					  <nz-form-control nzErrorTip="请选择生成数量!">
@@ -347,7 +375,7 @@
347
 							</nz-input-group>
375
 							</nz-input-group>
348
 					  </nz-form-control>
376
 					  </nz-form-control>
349
 					</nz-form-item>
377
 					</nz-form-item>
350
-					
378
+
351
 					<nz-form-item>
379
 					<nz-form-item>
352
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="sendMsg">是否自动发消息</nz-form-label>
380
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="sendMsg">是否自动发消息</nz-form-label>
353
 					  <nz-form-control nzErrorTip="请选择是否自动发消息!">
381
 					  <nz-form-control nzErrorTip="请选择是否自动发消息!">

+ 30 - 7
src/app/views/drug-search/drug-search.component.ts

@@ -57,6 +57,7 @@ export class DrugSearchComponent implements OnInit {
57
 		});
57
 		});
58
     this.getHospital();
58
     this.getHospital();
59
 		this.getDrugsList();
59
 		this.getDrugsList();
60
+		this.getMarkTypeList();
60
 		this.getDept('');
61
 		this.getDept('');
61
 		this.searchUser('');
62
 		this.searchUser('');
62
 		this.searchTypes();
63
 		this.searchTypes();
@@ -141,6 +142,14 @@ export class DrugSearchComponent implements OnInit {
141
 		});
142
 		});
142
 	}
143
 	}
143
 
144
 
145
+  // 获取药单类型
146
+	markTypeList:any = [];
147
+	getMarkTypeList(){
148
+		this.mainService.getDictionary("list", "drugsbag_mark_type").subscribe((res) => {
149
+		  this.markTypeList = res;
150
+		});
151
+	}
152
+
144
 	//获取用户
153
 	//获取用户
145
 	userSearch:any = [];
154
 	userSearch:any = [];
146
 	searchUser(keyword) {
155
 	searchUser(keyword) {
@@ -334,6 +343,7 @@ export class DrugSearchComponent implements OnInit {
334
 	    creatTime: [null, [Validators.required]],
343
 	    creatTime: [null, [Validators.required]],
335
 	    drugsState: [null, [Validators.required]],
344
 	    drugsState: [null, [Validators.required]],
336
 			drugsBagType: [null, []],
345
 			drugsBagType: [null, []],
346
+			markType: [null, []],
337
 	  });
347
 	  });
338
 	}
348
 	}
339
 
349
 
@@ -363,6 +373,9 @@ export class DrugSearchComponent implements OnInit {
363
 				drugsBagType: {
373
 				drugsBagType: {
364
 					id: this.validateForm.value.drugsBagType
374
 					id: this.validateForm.value.drugsBagType
365
 				},
375
 				},
376
+				markType: {
377
+					id: this.validateForm.value.markType
378
+				},
366
 				launch: {
379
 				launch: {
367
 					id:this.validateForm.value.launch
380
 					id:this.validateForm.value.launch
368
 				},
381
 				},
@@ -383,6 +396,11 @@ export class DrugSearchComponent implements OnInit {
383
 		}else{
396
 		}else{
384
 			delete data.drugsBag.drugsBagType
397
 			delete data.drugsBag.drugsBagType
385
 		}
398
 		}
399
+		if(this.validateForm.value.markType){
400
+			data.drugsBag.markType.id = this.validateForm.value.markType
401
+		}else{
402
+			delete data.drugsBag.markType
403
+		}
386
 		that.btnLoading = true;
404
 		that.btnLoading = true;
387
 	  that.mainService
405
 	  that.mainService
388
 	    .dataPost(this.add ? "addData":"updData", "drugsBag", data)
406
 	    .dataPost(this.add ? "addData":"updData", "drugsBag", data)
@@ -411,6 +429,7 @@ export class DrugSearchComponent implements OnInit {
411
 		this.validateForm.controls.target.setValue(data.target.id)
429
 		this.validateForm.controls.target.setValue(data.target.id)
412
 		this.validateForm.controls.drugsState.setValue(data.drugsState.id)
430
 		this.validateForm.controls.drugsState.setValue(data.drugsState.id)
413
 		this.validateForm.controls.drugsBagType.setValue(data.drugsBagType && data.drugsBagType.id)
431
 		this.validateForm.controls.drugsBagType.setValue(data.drugsBagType && data.drugsBagType.id)
432
+		this.validateForm.controls.markType.setValue(data.markType && data.markType.id)
414
 		this.validateForm.controls.creatTime.setValue(data.creatTime);
433
 		this.validateForm.controls.creatTime.setValue(data.creatTime);
415
 		let item = this.deptList1.find(i=>i.id == data.launch.id)
434
 		let item = this.deptList1.find(i=>i.id == data.launch.id)
416
 		if(!item){
435
 		if(!item){
@@ -428,34 +447,35 @@ export class DrugSearchComponent implements OnInit {
428
 		}
447
 		}
429
 		this.modal = true
448
 		this.modal = true
430
 	}
449
 	}
431
-	
450
+
432
 	// 自动生成
451
 	// 自动生成
433
 	autoCreateModal:boolean = false;
452
 	autoCreateModal:boolean = false;
434
 	autoCreate(){
453
 	autoCreate(){
435
 		this.autoCreateModal = true
454
 		this.autoCreateModal = true
436
 		this.initAutoForm()
455
 		this.initAutoForm()
437
 	}
456
 	}
438
-	
457
+
439
 	// 初始化form
458
 	// 初始化form
440
 	validateAutoForm: FormGroup
459
 	validateAutoForm: FormGroup
441
 	initAutoForm(){
460
 	initAutoForm(){
442
 		this.validateAutoForm = this.fb.group({
461
 		this.validateAutoForm = this.fb.group({
443
 			launch: [null, [Validators.required]],
462
 			launch: [null, [Validators.required]],
444
 			drugsBagType: [null, [Validators.required]],
463
 			drugsBagType: [null, [Validators.required]],
464
+			markType: [null, []],
445
 			target: [null, []],
465
 			target: [null, []],
446
 			amount: [1, []],
466
 			amount: [1, []],
447
 			sendMsg: ['0', []],
467
 			sendMsg: ['0', []],
448
 		});
468
 		});
449
 	}
469
 	}
450
-	
470
+
451
 	numChange(e){
471
 	numChange(e){
452
 		console.log(4, e)
472
 		console.log(4, e)
453
 	}
473
 	}
454
-	
474
+
455
 	hideAutoModal(){
475
 	hideAutoModal(){
456
 		this.autoCreateModal = false
476
 		this.autoCreateModal = false
457
 	}
477
 	}
458
-	
478
+
459
 	// 自动生成提交
479
 	// 自动生成提交
460
 	submitAutoForm(){
480
 	submitAutoForm(){
461
 		var that = this;
481
 		var that = this;
@@ -471,7 +491,10 @@ export class DrugSearchComponent implements OnInit {
471
 				sendMsg: this.validateAutoForm.value.sendMsg || undefined,
491
 				sendMsg: this.validateAutoForm.value.sendMsg || undefined,
472
 				drugsBagType: {
492
 				drugsBagType: {
473
 					id: this.validateAutoForm.value.drugsBagType
493
 					id: this.validateAutoForm.value.drugsBagType
474
-				}
494
+				},
495
+				markType: {
496
+					id: this.validateAutoForm.value.markType
497
+				},
475
 			}
498
 			}
476
 		};
499
 		};
477
 		that.btnLoading = true;
500
 		that.btnLoading = true;
@@ -488,7 +511,7 @@ export class DrugSearchComponent implements OnInit {
488
 		    }
511
 		    }
489
 		  });
512
 		  });
490
 	}
513
 	}
491
-	
514
+
492
 	// 消息发送
515
 	// 消息发送
493
 	sendModal:boolean = false;
516
 	sendModal:boolean = false;
494
 	sendMsg(data){
517
 	sendMsg(data){

+ 3 - 3
src/app/views/fuwutai/fuwutai.component.ts

@@ -5644,7 +5644,7 @@ export class FuwutaiComponent implements OnInit {
5644
               execDeptId: e.execDept.id,
5644
               execDeptId: e.execDept.id,
5645
               yyTime: e.yyTime,
5645
               yyTime: e.yyTime,
5646
               priority: e.priority,
5646
               priority: e.priority,
5647
-              label: (e.newTime + '--' + e.newTime2 || "") + " " + e.execDept.dept + " 进行 " + (e.inspectName || "检查"),
5647
+              label: (e.newTime + '--' + e.newTime2 || "") + " " + e.execDept.dept + " 进行 " + (e.inspectName + '-' + e.inspectCode || "检查"),
5648
               value: e["id"],
5648
               value: e["id"],
5649
               checked: false,
5649
               checked: false,
5650
               remark: e.remark,
5650
               remark: e.remark,
@@ -7290,7 +7290,7 @@ export class FuwutaiComponent implements OnInit {
7290
               execDeptId: e.execDept.id,
7290
               execDeptId: e.execDept.id,
7291
               yyTime: e.yyTime,
7291
               yyTime: e.yyTime,
7292
               priority: e.priority,
7292
               priority: e.priority,
7293
-              label: (e.newTime + '--' + e.newTime2 || "") + " " + e.execDept.dept + " 进行 " + (e.inspectName || "检查"),
7293
+              label: (e.newTime + '--' + e.newTime2 || "") + " " + e.execDept.dept + " 进行 " + (e.inspectName + '-' + e.inspectCode || "检查"),
7294
               value: e["id"],
7294
               value: e["id"],
7295
               checked: false,
7295
               checked: false,
7296
             });
7296
             });
@@ -7361,7 +7361,7 @@ export class FuwutaiComponent implements OnInit {
7361
             execDeptId: e.execDept.id,
7361
             execDeptId: e.execDept.id,
7362
             yyTime: e.yyTime,
7362
             yyTime: e.yyTime,
7363
             priority: e.priority,
7363
             priority: e.priority,
7364
-            label: (e.newTime + '--' + e.newTime2 || "") + " " + e.execDept.dept + " 进行 " + (e.inspectName || "检查"),
7364
+            label: (e.newTime + '--' + e.newTime2 || "") + " " + e.execDept.dept + " 进行 " + (e.inspectName + '-' + e.inspectCode || "检查"),
7365
             value: e["id"],
7365
             value: e["id"],
7366
             checked: false,
7366
             checked: false,
7367
           });
7367
           });

+ 1 - 1
src/app/views/hushijiandan/hushijiandan.component.html

@@ -1500,7 +1500,7 @@
1500
                 <nz-form-label [nzSm]="24" [nzXs]="24" nzFor="linkCheck">关联的检查</nz-form-label>
1500
                 <nz-form-label [nzSm]="24" [nzXs]="24" nzFor="linkCheck">关联的检查</nz-form-label>
1501
                 <nz-form-control class="datesGroup" *ngIf="linkCheckLis.length">
1501
                 <nz-form-control class="datesGroup" *ngIf="linkCheckLis.length">
1502
                   <nz-checkbox-wrapper nz-row class="linkCheckCheck w100" ngDefaultControl formControlName="linkCheck" (nzOnChange)="linkCheckLisChange($event)">
1502
                   <nz-checkbox-wrapper nz-row class="linkCheckCheck w100" ngDefaultControl formControlName="linkCheck" (nzOnChange)="linkCheckLisChange($event)">
1503
-                    <div nz-row nz-col nzSpan="12" *ngFor="let item of linkCheckLis">
1503
+                    <div nz-row nz-col nzSpan="24" *ngFor="let item of linkCheckLis">
1504
                       <div nz-col nzSpan="24">
1504
                       <div nz-col nzSpan="24">
1505
                         <label nz-checkbox [nzValue]="item" [title]="item.remark" *ngIf="item.remark"><i class="icon_transport transport-chaoshi"></i>{{ item.label}}</label>
1505
                         <label nz-checkbox [nzValue]="item" [title]="item.remark" *ngIf="item.remark"><i class="icon_transport transport-chaoshi"></i>{{ item.label}}</label>
1506
                         <label nz-checkbox [nzValue]="item" *ngIf="!item.remark">{{ item.label}}</label>
1506
                         <label nz-checkbox [nzValue]="item" *ngIf="!item.remark">{{ item.label}}</label>

+ 2 - 2
src/app/views/hushijiandan/hushijiandan.component.ts

@@ -3521,7 +3521,7 @@ export class HushijiandanComponent implements OnInit {
3521
                   ? e.execDept.deptalias
3521
                   ? e.execDept.deptalias
3522
                   : e.execDept.dept) +
3522
                   : e.execDept.dept) +
3523
                 " 进行 " +
3523
                 " 进行 " +
3524
-                (e.inspectName || "检查"),
3524
+                (e.inspectName + '-' + e.inspectCode || "检查"),
3525
               value: e["id"],
3525
               value: e["id"],
3526
               checked: false,
3526
               checked: false,
3527
               remark: e.remark,
3527
               remark: e.remark,
@@ -5713,7 +5713,7 @@ export class HushijiandanComponent implements OnInit {
5713
                   ? e.execDept.deptalias
5713
                   ? e.execDept.deptalias
5714
                   : e.execDept.dept) +
5714
                   : e.execDept.dept) +
5715
                 " 进行 " +
5715
                 " 进行 " +
5716
-                (e.inspectName || "检查"),
5716
+                (e.inspectName + '-' + e.inspectCode || "检查"),
5717
               value: e["id"],
5717
               value: e["id"],
5718
               checked: false,
5718
               checked: false,
5719
               remark: e.remark,
5719
               remark: e.remark,

+ 2 - 2
src/app/views/inspect-info-config/inspect-info-config.component.html

@@ -106,8 +106,8 @@
106
                   <span class="circle red" title="无预约时间检查"></span>
106
                   <span class="circle red" title="无预约时间检查"></span>
107
                 </ng-container>
107
                 </ng-container>
108
               </ng-template>
108
               </ng-template>
109
-              <span [title]="inspect.remark" *ngIf="inspect.remark"><i class="icon_transport transport-chaoshi"></i>{{(inspect.yyEndTime || "") + " " + (inspect.execDept ? (deptDisplay == 2 ? inspect.execDept.deptalias : inspect.execDept.dept) : '') + " 进行 " + (inspect.inspectName || "检查")}} <span class="inspectState" *ngIf="inspect.gdId" (click)="detail($event, inspect.gdId)">{{inspect.inspectState?.name}}</span></span>
110
-              <span *ngIf="!inspect.remark">{{(inspect.yyEndTime || "") + " " + (inspect.execDept ? (deptDisplay == 2 ? inspect.execDept.deptalias : inspect.execDept.dept) : '') + " 进行 " + (inspect.inspectName || "检查")}} <span class="inspectState" *ngIf="inspect.gdId" (click)="detail($event, inspect.gdId)">{{inspect.inspectState?.name}}</span></span>
109
+              <span [title]="inspect.remark" *ngIf="inspect.remark"><i class="icon_transport transport-chaoshi"></i>{{(inspect.yyEndTime || "") + " " + (inspect.execDept ? (deptDisplay == 2 ? inspect.execDept.deptalias : inspect.execDept.dept) : '') + " 进行 " + (inspect.inspectName + '-' + inspect.inspectCode || "检查")}} <span class="inspectState" *ngIf="inspect.gdId" (click)="detail($event, inspect.gdId)">{{inspect.inspectState?.name}}</span></span>
110
+              <span *ngIf="!inspect.remark">{{(inspect.yyEndTime || "") + " " + (inspect.execDept ? (deptDisplay == 2 ? inspect.execDept.deptalias : inspect.execDept.dept) : '') + " 进行 " + (inspect.inspectName + '-' + inspect.inspectCode || "检查")}} <span class="inspectState" *ngIf="inspect.gdId" (click)="detail($event, inspect.gdId)">{{inspect.inspectState?.name}}</span></span>
111
             </span>
111
             </span>
112
             <span *ngIf="!inspect.gdId" class="icon_transport transport-weibiaoti2010104" (click)="editInspect({data: data, inspect: inspect})"></span>
112
             <span *ngIf="!inspect.gdId" class="icon_transport transport-weibiaoti2010104" (click)="editInspect({data: data, inspect: inspect})"></span>
113
             <span *ngIf="!inspect.gdId" class="icon_transport transport-shanchu1" (click)="showDelModal({data: data, inspect: inspect}, '您确认要删除吗?','删除','delInspect')"></span>
113
             <span *ngIf="!inspect.gdId" class="icon_transport transport-shanchu1" (click)="showDelModal({data: data, inspect: inspect}, '您确认要删除吗?','删除','delInspect')"></span>

+ 3 - 0
src/app/views/inspect-info-config/inspect-info-config.component.ts

@@ -55,6 +55,7 @@ export class InspectInfoConfigComponent implements OnInit {
55
       nzDuration: 0,
55
       nzDuration: 0,
56
     }).messageId;
56
     }).messageId;
57
     let postData = this.listOfData.find(v => v.id == id);
57
     let postData = this.listOfData.find(v => v.id == id);
58
+    postData.operationType = 'evaluatePatient';
58
     this.mainService
59
     this.mainService
59
     .simplePost("addData", 'patient', postData)
60
     .simplePost("addData", 'patient', postData)
60
     .subscribe((data) => {
61
     .subscribe((data) => {
@@ -78,6 +79,7 @@ export class InspectInfoConfigComponent implements OnInit {
78
     postData.illnessState = {
79
     postData.illnessState = {
79
       id: illnessStateId,
80
       id: illnessStateId,
80
     }
81
     }
82
+    postData.operationType = 'evaluatePatient';
81
     this.mainService
83
     this.mainService
82
     .simplePost("addData", 'patient', postData)
84
     .simplePost("addData", 'patient', postData)
83
     .subscribe((data) => {
85
     .subscribe((data) => {
@@ -261,6 +263,7 @@ export class InspectInfoConfigComponent implements OnInit {
261
     let postData = {
263
     let postData = {
262
       ...this.coopData.data,
264
       ...this.coopData.data,
263
       remark,
265
       remark,
266
+      operationType: 'evaluatePatient',
264
     };
267
     };
265
 
268
 
266
     this.mainService
269
     this.mainService

+ 7 - 3
src/app/views/patient-search/patient-search.component.html

@@ -79,10 +79,10 @@
79
             <th nzWidth="10%">住院号|条码号</th>
79
             <th nzWidth="10%">住院号|条码号</th>
80
             <th nzWidth="10%">院区|当前科室</th>
80
             <th nzWidth="10%">院区|当前科室</th>
81
             <th nzWidth="10%">护理等级</th>
81
             <th nzWidth="10%">护理等级</th>
82
-            <th nzWidth="10%">病情级别</th>
83
-            <th nzWidth="10%">性别、年龄</th>
82
+            <th nzWidth="8%">病情级别</th>
83
+            <th nzWidth="8%">性别、年龄</th>
84
             <th nzWidth="12%">陪检方式|注意事项</th>
84
             <th nzWidth="12%">陪检方式|注意事项</th>
85
-            <th nzWidth="10%">操作</th>
85
+            <th nzWidth="14%">操作</th>
86
           </tr>
86
           </tr>
87
         </thead>
87
         </thead>
88
         <tbody>
88
         <tbody>
@@ -100,6 +100,7 @@
100
               <div class="coop">
100
               <div class="coop">
101
                 <span *ngIf="coopBtns.edit" (click)="edit(data)">编辑</span>
101
                 <span *ngIf="coopBtns.edit" (click)="edit(data)">编辑</span>
102
                 <span *ngIf="coopBtns.removeSign" (click)="showDelModal(data, '您确认要清空标记吗?','清空标记','clearSign')">清空标记</span>
102
                 <span *ngIf="coopBtns.removeSign" (click)="showDelModal(data, '您确认要清空标记吗?','清空标记','clearSign')">清空标记</span>
103
+                <span *ngIf="coopBtns.lookLog" (click)="showLogs(data)">查看日志</span>
103
               </div>
104
               </div>
104
             </td>
105
             </td>
105
           </tr>
106
           </tr>
@@ -295,3 +296,6 @@
295
 <!-- 操作成功/失败提示框 -->
296
 <!-- 操作成功/失败提示框 -->
296
 <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
297
 <app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
297
   [info]="promptInfo"></app-prompt-modal>
298
   [info]="promptInfo"></app-prompt-modal>
299
+
300
+<!-- 查看日志 -->
301
+<app-patient-log-prompt-modal *ngIf="logPromptModalShow" [show]="logPromptModalShow" [id]="patientId" (closeModelHs)="closeModelLog($event)"></app-patient-log-prompt-modal>

+ 12 - 0
src/app/views/patient-search/patient-search.component.ts

@@ -506,4 +506,16 @@ export class PatientSearchComponent implements OnInit {
506
         });
506
         });
507
     }
507
     }
508
   }
508
   }
509
+
510
+  // 查看日志弹窗
511
+  logPromptModalShow = false; //弹窗开关
512
+  patientId = ""; //查看记录携带id
513
+  showLogs(data) {
514
+    this.patientId = data.id;
515
+    this.logPromptModalShow = true;
516
+  }
517
+  // 关闭日志弹窗
518
+  closeModelLog(e) {
519
+    this.logPromptModalShow = JSON.parse(e).show;
520
+  }
509
 }
521
 }

+ 21 - 19
src/app/views/specimen-search/specimen-search.component.html

@@ -184,7 +184,7 @@
184
 							<div>{{ data.checkDept ? data.checkDept.dept : "-" }}</div>
184
 							<div>{{ data.checkDept ? data.checkDept.dept : "-" }}</div>
185
 						</td>
185
 						</td>
186
             <td>
186
             <td>
187
-							<div>{{data.residenceNo}}</div>
187
+							<div>{{data.residenceNo || data.patientNo}}</div>
188
 							<div>
188
 							<div>
189
 								{{ data.patientName}}<span *ngIf="data.bedNum">({{data.bedNum}})</span>
189
 								{{ data.patientName}}<span *ngIf="data.bedNum">({{data.bedNum}})</span>
190
 							</div>
190
 							</div>
@@ -200,7 +200,7 @@
200
             <td>{{ data.stype ? data.stype.name : "-" }}<span *ngIf="data.tubeType">,</span>{{data.tubeType && data.tubeType.name}}</td>
200
             <td>{{ data.stype ? data.stype.name : "-" }}<span *ngIf="data.tubeType">,</span>{{data.tubeType && data.tubeType.name}}</td>
201
             <td>{{ data.speState ? data.speState.name : "-" }}</td>
201
             <td>{{ data.speState ? data.speState.name : "-" }}</td>
202
             <td>
202
             <td>
203
-							<div>{{ data.receiverName || "-" }}</div>
203
+							<div>{{ data.receiverName }}<ng-container *ngIf="data.packageId">-<span class="underline" (click)="viewSpe(data.packageId)">包</span></ng-container></div>
204
 							<div>{{ data.arriveTime || "-" }}</div>
204
 							<div>{{ data.arriveTime || "-" }}</div>
205
 						</td>
205
 						</td>
206
             <td>{{ data.transTime || '-' }}</td>
206
             <td>{{ data.transTime || '-' }}</td>
@@ -289,7 +289,7 @@
289
 							</nz-input-group>
289
 							</nz-input-group>
290
 						</nz-form-control>
290
 						</nz-form-control>
291
 					</nz-form-item>
291
 					</nz-form-item>
292
-					
292
+
293
 					<nz-form-item>
293
 					<nz-form-item>
294
 						<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="checkDept">检验科室</nz-form-label>
294
 						<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="checkDept">检验科室</nz-form-label>
295
 						<nz-form-control nzErrorTip="请选择检验科室!">
295
 						<nz-form-control nzErrorTip="请选择检验科室!">
@@ -306,7 +306,7 @@
306
 							</nz-input-group>
306
 							</nz-input-group>
307
 						</nz-form-control>
307
 						</nz-form-control>
308
 					</nz-form-item>
308
 					</nz-form-item>
309
-					
309
+
310
 					<nz-form-item>
310
 					<nz-form-item>
311
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="patientId">患者</nz-form-label>
311
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="patientId">患者</nz-form-label>
312
 					  <nz-form-control nzErrorTip="请选择患者!">
312
 					  <nz-form-control nzErrorTip="请选择患者!">
@@ -324,8 +324,8 @@
324
 					  </nz-form-control>
324
 					  </nz-form-control>
325
 					</nz-form-item>
325
 					</nz-form-item>
326
 				</div>
326
 				</div>
327
-				
328
-				<div class="df"> 
327
+
328
+				<div class="df">
329
 					<nz-form-item>
329
 					<nz-form-item>
330
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="examinationItemsId">检验项目</nz-form-label>
330
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="examinationItemsId">检验项目</nz-form-label>
331
 					  <nz-form-control nzErrorTip="请选择检验项目!">
331
 					  <nz-form-control nzErrorTip="请选择检验项目!">
@@ -342,7 +342,7 @@
342
 					    </nz-input-group>
342
 					    </nz-input-group>
343
 					  </nz-form-control>
343
 					  </nz-form-control>
344
 					</nz-form-item>
344
 					</nz-form-item>
345
-					
345
+
346
 					<nz-form-item>
346
 					<nz-form-item>
347
 					  <nz-form-label [nzSm]="7" [nzXs]="24" nzFor="stype">标本类型</nz-form-label>
347
 					  <nz-form-label [nzSm]="7" [nzXs]="24" nzFor="stype">标本类型</nz-form-label>
348
 					  <nz-form-control nzErrorTip="请选择标本类型!">
348
 					  <nz-form-control nzErrorTip="请选择标本类型!">
@@ -351,7 +351,7 @@
351
 					    </nz-input-group>
351
 					    </nz-input-group>
352
 					  </nz-form-control>
352
 					  </nz-form-control>
353
 					</nz-form-item>
353
 					</nz-form-item>
354
-					
354
+
355
 					<nz-form-item>
355
 					<nz-form-item>
356
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="tubeType">试管类型</nz-form-label>
356
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="tubeType">试管类型</nz-form-label>
357
 					  <nz-form-control nzErrorTip="请选择试管类型!">
357
 					  <nz-form-control nzErrorTip="请选择试管类型!">
@@ -361,7 +361,7 @@
361
 					  </nz-form-control>
361
 					  </nz-form-control>
362
 					</nz-form-item>
362
 					</nz-form-item>
363
 				</div>
363
 				</div>
364
-				
364
+
365
       	<div class="df">
365
       	<div class="df">
366
 					<nz-form-item>
366
 					<nz-form-item>
367
 					  <nz-form-label [nzSm]="6" nzRequired [nzXs]="24" nzFor="speState">默认状态</nz-form-label>
367
 					  <nz-form-label [nzSm]="6" nzRequired [nzXs]="24" nzFor="speState">默认状态</nz-form-label>
@@ -371,7 +371,7 @@
371
 							</nz-input-group>
371
 							</nz-input-group>
372
 					  </nz-form-control>
372
 					  </nz-form-control>
373
 					</nz-form-item>
373
 					</nz-form-item>
374
-					
374
+
375
 					<nz-form-item>
375
 					<nz-form-item>
376
 					  <nz-form-label [nzSm]="6" nzRequired [nzXs]="24" nzFor="urgent">紧急度</nz-form-label>
376
 					  <nz-form-label [nzSm]="6" nzRequired [nzXs]="24" nzFor="urgent">紧急度</nz-form-label>
377
 					  <nz-form-control nzErrorTip="请选择紧急度!">
377
 					  <nz-form-control nzErrorTip="请选择紧急度!">
@@ -383,7 +383,7 @@
383
 							</nz-input-group>
383
 							</nz-input-group>
384
 					  </nz-form-control>
384
 					  </nz-form-control>
385
 					</nz-form-item>
385
 					</nz-form-item>
386
-					
386
+
387
 					<nz-form-item>
387
 					<nz-form-item>
388
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="collectNurseId">采集人</nz-form-label>
388
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="collectNurseId">采集人</nz-form-label>
389
 					  <nz-form-control nzErrorTip="请选择采集人!">
389
 					  <nz-form-control nzErrorTip="请选择采集人!">
@@ -401,7 +401,7 @@
401
 					  </nz-form-control>
401
 					  </nz-form-control>
402
 					</nz-form-item>
402
 					</nz-form-item>
403
 				</div>
403
 				</div>
404
-				
404
+
405
 				<div class="df">
405
 				<div class="df">
406
 					<nz-form-item>
406
 					<nz-form-item>
407
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="sendMsg">是否自动发消息</nz-form-label>
407
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="sendMsg">是否自动发消息</nz-form-label>
@@ -447,7 +447,7 @@
447
 					    </nz-input-group>
447
 					    </nz-input-group>
448
 					  </nz-form-control>
448
 					  </nz-form-control>
449
 					</nz-form-item>
449
 					</nz-form-item>
450
-					
450
+
451
 					<nz-form-item>
451
 					<nz-form-item>
452
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="sendMsg">是否自动发消息</nz-form-label>
452
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="sendMsg">是否自动发消息</nz-form-label>
453
 					  <nz-form-control nzErrorTip="请选择是否自动发消息!">
453
 					  <nz-form-control nzErrorTip="请选择是否自动发消息!">
@@ -459,7 +459,7 @@
459
 					    </nz-input-group>
459
 					    </nz-input-group>
460
 					  </nz-form-control>
460
 					  </nz-form-control>
461
 					</nz-form-item>
461
 					</nz-form-item>
462
-				
462
+
463
       </form>
463
       </form>
464
     </div>
464
     </div>
465
     <div class="display_flex justify-content_flex-center">
465
     <div class="display_flex justify-content_flex-center">
@@ -492,7 +492,7 @@
492
 							</nz-input-group>
492
 							</nz-input-group>
493
 						</nz-form-control>
493
 						</nz-form-control>
494
 					</nz-form-item>
494
 					</nz-form-item>
495
-					
495
+
496
 					<nz-form-item>
496
 					<nz-form-item>
497
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="patientId">患者</nz-form-label>
497
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="patientId">患者</nz-form-label>
498
 					  <nz-form-control nzErrorTip="请选择患者!">
498
 					  <nz-form-control nzErrorTip="请选择患者!">
@@ -509,7 +509,7 @@
509
 					    </nz-input-group>
509
 					    </nz-input-group>
510
 					  </nz-form-control>
510
 					  </nz-form-control>
511
 					</nz-form-item>
511
 					</nz-form-item>
512
-				
512
+
513
 					<nz-form-item>
513
 					<nz-form-item>
514
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="examinationItemsId">检验项目</nz-form-label>
514
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="examinationItemsId">检验项目</nz-form-label>
515
 					  <nz-form-control nzErrorTip="请选择检验项目!">
515
 					  <nz-form-control nzErrorTip="请选择检验项目!">
@@ -526,7 +526,7 @@
526
 					    </nz-input-group>
526
 					    </nz-input-group>
527
 					  </nz-form-control>
527
 					  </nz-form-control>
528
 					</nz-form-item>
528
 					</nz-form-item>
529
-					
529
+
530
 					<nz-form-item>
530
 					<nz-form-item>
531
 					  <nz-form-label nzRequired [nzSm]="6" [nzXs]="24" nzFor="amount">生成数量</nz-form-label>
531
 					  <nz-form-label nzRequired [nzSm]="6" [nzXs]="24" nzFor="amount">生成数量</nz-form-label>
532
 					  <nz-form-control nzErrorTip="请选择生成数量!">
532
 					  <nz-form-control nzErrorTip="请选择生成数量!">
@@ -535,7 +535,7 @@
535
 							</nz-input-group>
535
 							</nz-input-group>
536
 					  </nz-form-control>
536
 					  </nz-form-control>
537
 					</nz-form-item>
537
 					</nz-form-item>
538
-					
538
+
539
 					<nz-form-item>
539
 					<nz-form-item>
540
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="urgent">紧急度</nz-form-label>
540
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="urgent">紧急度</nz-form-label>
541
 					  <nz-form-control nzErrorTip="请选择紧急度!">
541
 					  <nz-form-control nzErrorTip="请选择紧急度!">
@@ -547,7 +547,7 @@
547
 							</nz-input-group>
547
 							</nz-input-group>
548
 					  </nz-form-control>
548
 					  </nz-form-control>
549
 					</nz-form-item>
549
 					</nz-form-item>
550
-					
550
+
551
 					<nz-form-item>
551
 					<nz-form-item>
552
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="sendMsg">是否自动发消息</nz-form-label>
552
 					  <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="sendMsg">是否自动发消息</nz-form-label>
553
 					  <nz-form-control nzErrorTip="请选择是否自动发消息!">
553
 					  <nz-form-control nzErrorTip="请选择是否自动发消息!">
@@ -567,3 +567,5 @@
567
     </div>
567
     </div>
568
   </div>
568
   </div>
569
 </div>
569
 </div>
570
+<!-- 查看标本 -->
571
+<app-view-specimen *ngIf="showModal" [speId]="speId" (closeModelHs)="closeModel($event)"></app-view-specimen>

+ 8 - 4
src/app/views/specimen-search/specimen-search.component.less

@@ -6,6 +6,10 @@
6
   display: flex;
6
   display: flex;
7
   justify-content: space-between;
7
   justify-content: space-between;
8
 }
8
 }
9
+.underline{
10
+  text-decoration: underline;
11
+	cursor: pointer;
12
+}
9
 .save {
13
 .save {
10
   position: fixed;
14
   position: fixed;
11
   left: 0;
15
   left: 0;
@@ -120,16 +124,16 @@
120
 							.ant-form-item-label{
124
 							.ant-form-item-label{
121
 								overflow: visible !important;
125
 								overflow: visible !important;
122
 							}
126
 							}
123
-							
127
+
124
 							.ant-select{
128
 							.ant-select{
125
 								width: 100% !important;
129
 								width: 100% !important;
126
 							}
130
 							}
127
-							
131
+
128
 						  .ant-form-item-label {
132
 						  .ant-form-item-label {
129
 						    line-height: 14px;
133
 						    line-height: 14px;
130
 						    text-align: left;
134
 						    text-align: left;
131
 						  }
135
 						  }
132
-						
136
+
133
 						  .desc {
137
 						  .desc {
134
 						    margin-top: 5px;
138
 						    margin-top: 5px;
135
 						  }
139
 						  }
@@ -137,7 +141,7 @@
137
 					}
141
 					}
138
           .ant-form-item {
142
           .ant-form-item {
139
             margin-bottom: 15px;
143
             margin-bottom: 15px;
140
-						
144
+
141
 						.ant-select{
145
 						.ant-select{
142
 							width: 100% !important;
146
 							width: 100% !important;
143
 						}
147
 						}

+ 46 - 34
src/app/views/specimen-search/specimen-search.component.ts

@@ -14,7 +14,7 @@ import { ActivatedRoute, Router } from "@angular/router";
14
 })
14
 })
15
 export class SpecimenSearchComponent implements OnInit {
15
 export class SpecimenSearchComponent implements OnInit {
16
   constructor(
16
   constructor(
17
-	private mainService: MainService, 
17
+	private mainService: MainService,
18
 	private tool: ToolService,
18
 	private tool: ToolService,
19
 	private fb: FormBuilder,
19
 	private fb: FormBuilder,
20
 	public route: ActivatedRoute,
20
 	public route: ActivatedRoute,
@@ -49,7 +49,7 @@ export class SpecimenSearchComponent implements OnInit {
49
   changeInp2Subject = new Subject();
49
   changeInp2Subject = new Subject();
50
 	changeInpPaSubject = new Subject();
50
 	changeInpPaSubject = new Subject();
51
 	coopBtns:any;
51
 	coopBtns:any;
52
-	
52
+
53
   ngOnInit() {
53
   ngOnInit() {
54
 		this.coopBtns = this.tool.initCoopBtns(this.route);
54
 		this.coopBtns = this.tool.initCoopBtns(this.route);
55
 		this.hosId = this.tool.getCurrentHospital().id;
55
 		this.hosId = this.tool.getCurrentHospital().id;
@@ -80,6 +80,18 @@ export class SpecimenSearchComponent implements OnInit {
80
     console.log(value);
80
     console.log(value);
81
     this.getList(1, this.sortCurrentKey, this.sortCurrentValue);
81
     this.getList(1, this.sortCurrentKey, this.sortCurrentValue);
82
   }
82
   }
83
+	// 关闭弹窗
84
+	closeModel(e){
85
+		this.showModal = JSON.parse(e).show;
86
+	}
87
+
88
+	// 查看标本
89
+	speId:any;
90
+	showModal:boolean = false;
91
+	viewSpe(packageId){
92
+		this.speId = packageId;
93
+		this.showModal = true;
94
+	}
83
   // 搜索类型
95
   // 搜索类型
84
   isLoading1 = false;
96
   isLoading1 = false;
85
   searchTypes() {
97
   searchTypes() {
@@ -164,19 +176,19 @@ export class SpecimenSearchComponent implements OnInit {
164
 	    this.searchCriteria.dateRange = [dateStart,dateEnd];
176
 	    this.searchCriteria.dateRange = [dateStart,dateEnd];
165
 	  }
177
 	  }
166
 	}
178
 	}
167
-	
179
+
168
 	// 搜索患者
180
 	// 搜索患者
169
 	changePatient(e, type){
181
 	changePatient(e, type){
170
 		this.isLoading = true;
182
 		this.isLoading = true;
171
 		this.changeInpPaSubject.next([e, type]);
183
 		this.changeInpPaSubject.next([e, type]);
172
-	}	
173
-	
184
+	}
185
+
174
 	// 搜索用户
186
 	// 搜索用户
175
 	changeUser(e){
187
 	changeUser(e){
176
 		this.isLoading = true;
188
 		this.isLoading = true;
177
 		this.changeInpUserSubject.next(e);
189
 		this.changeInpUserSubject.next(e);
178
-	}	
179
-	
190
+	}
191
+
180
 	// 获取用户
192
 	// 获取用户
181
 	userList:any = [];
193
 	userList:any = [];
182
 	getUserList(name?){
194
 	getUserList(name?){
@@ -195,7 +207,7 @@ export class SpecimenSearchComponent implements OnInit {
195
 		    this.userList = data.list;
207
 		    this.userList = data.list;
196
 		  });
208
 		  });
197
 	}
209
 	}
198
-	
210
+
199
 	// 获取检验项目
211
 	// 获取检验项目
200
 	projectList:any = [];
212
 	projectList:any = [];
201
 	getProjectList(){
213
 	getProjectList(){
@@ -216,7 +228,7 @@ export class SpecimenSearchComponent implements OnInit {
216
 			}
228
 			}
217
 		});
229
 		});
218
 	}
230
 	}
219
-	
231
+
220
 	// 获取患者
232
 	// 获取患者
221
 	patientList:any = [];
233
 	patientList:any = [];
222
 	getPatient(type, patientName?){
234
 	getPatient(type, patientName?){
@@ -241,7 +253,7 @@ export class SpecimenSearchComponent implements OnInit {
241
 						i.patientName = i.patientName + '('+ i.bedNum +')'
253
 						i.patientName = i.patientName + '('+ i.bedNum +')'
242
 					}
254
 					}
243
 					if(!i.bedNum && !i.residenceNo){
255
 					if(!i.bedNum && !i.residenceNo){
244
-						i.patientName = i.patientName 
256
+						i.patientName = i.patientName
245
 					}
257
 					}
246
 					if(!i.bedNum && i.residenceNo){
258
 					if(!i.bedNum && i.residenceNo){
247
 						i.patientName = i.patientName +'-'+ i.residenceNo
259
 						i.patientName = i.patientName +'-'+ i.residenceNo
@@ -251,7 +263,7 @@ export class SpecimenSearchComponent implements OnInit {
251
 		  }
263
 		  }
252
 		});
264
 		});
253
 	}
265
 	}
254
-	
266
+
255
 	// 选择检验项目
267
 	// 选择检验项目
256
 	stypeId:any;
268
 	stypeId:any;
257
 	tubeTypeId:any;
269
 	tubeTypeId:any;
@@ -269,35 +281,35 @@ export class SpecimenSearchComponent implements OnInit {
269
 			this.tubeTypeId = null
281
 			this.tubeTypeId = null
270
 		}
282
 		}
271
 	}
283
 	}
272
-	
284
+
273
 	onAutoExamineChange(e){
285
 	onAutoExamineChange(e){
274
 
286
 
275
 	}
287
 	}
276
-	
288
+
277
 	// 选择申请科室
289
 	// 选择申请科室
278
 	onDeptChange(e){
290
 	onDeptChange(e){
279
 		this.validateForm.controls.patientId.setValue(null)
291
 		this.validateForm.controls.patientId.setValue(null)
280
 		this.getPatient(1);
292
 		this.getPatient(1);
281
 	}
293
 	}
282
-	
294
+
283
 	// 选择患者
295
 	// 选择患者
284
 	onPatientChange(e){
296
 	onPatientChange(e){
285
 
297
 
286
 	}
298
 	}
287
-	
299
+
288
 	//  选择开始时间
300
 	//  选择开始时间
289
 	applyDate:any;
301
 	applyDate:any;
290
 	onApplyChange(result: Date): void {
302
 	onApplyChange(result: Date): void {
291
-	
303
+
292
 	}
304
 	}
293
-	
305
+
294
 	// 自动生成
306
 	// 自动生成
295
 	autoCreateModal:boolean = false;
307
 	autoCreateModal:boolean = false;
296
 	autoCreate(){
308
 	autoCreate(){
297
 		this.autoCreateModal = true
309
 		this.autoCreateModal = true
298
 		this.initAutoForm()
310
 		this.initAutoForm()
299
 	}
311
 	}
300
-	
312
+
301
 	// 初始化form
313
 	// 初始化form
302
 	validateAutoForm: FormGroup
314
 	validateAutoForm: FormGroup
303
 	initAutoForm(){
315
 	initAutoForm(){
@@ -310,22 +322,22 @@ export class SpecimenSearchComponent implements OnInit {
310
 			sendMsg: ['0', []],
322
 			sendMsg: ['0', []],
311
 		});
323
 		});
312
 	}
324
 	}
313
-	
325
+
314
 	numChange(e){
326
 	numChange(e){
315
 		console.log(4, e)
327
 		console.log(4, e)
316
 	}
328
 	}
317
-	
329
+
318
 	// 选择申请科室
330
 	// 选择申请科室
319
 	onAutoDeptChange(e){
331
 	onAutoDeptChange(e){
320
 		this.validateAutoForm.controls.patientId.setValue(null)
332
 		this.validateAutoForm.controls.patientId.setValue(null)
321
 		this.getPatient(2);
333
 		this.getPatient(2);
322
 	}
334
 	}
323
-	
335
+
324
 	hideAutoModal(){
336
 	hideAutoModal(){
325
 		this.autoCreateModal = false
337
 		this.autoCreateModal = false
326
 		this.patientList = [];
338
 		this.patientList = [];
327
 	}
339
 	}
328
-	
340
+
329
 	// 自动生成提交
341
 	// 自动生成提交
330
 	submitAutoForm(){
342
 	submitAutoForm(){
331
 		var that = this;
343
 		var that = this;
@@ -357,7 +369,7 @@ export class SpecimenSearchComponent implements OnInit {
357
 		    }
369
 		    }
358
 		  });
370
 		  });
359
 	}
371
 	}
360
-	
372
+
361
 	// 设置核收
373
 	// 设置核收
362
 	collectModal:boolean = false;
374
 	collectModal:boolean = false;
363
 	itemData:any;
375
 	itemData:any;
@@ -366,7 +378,7 @@ export class SpecimenSearchComponent implements OnInit {
366
 		this.collectModal = true
378
 		this.collectModal = true
367
 		this.initCollectForm()
379
 		this.initCollectForm()
368
 	}
380
 	}
369
-	
381
+
370
 	// 初始化form
382
 	// 初始化form
371
 	validateCollectForm: FormGroup
383
 	validateCollectForm: FormGroup
372
 	initCollectForm(){
384
 	initCollectForm(){
@@ -375,11 +387,11 @@ export class SpecimenSearchComponent implements OnInit {
375
 			sendMsg: ['0', [Validators.required]],
387
 			sendMsg: ['0', [Validators.required]],
376
 		});
388
 		});
377
 	}
389
 	}
378
-	
390
+
379
 	hideCollectModal(){
391
 	hideCollectModal(){
380
 		this.collectModal = false
392
 		this.collectModal = false
381
 	}
393
 	}
382
-	
394
+
383
 	// 设置核收提交
395
 	// 设置核收提交
384
 	submitCollectForm(){
396
 	submitCollectForm(){
385
 		var that = this;
397
 		var that = this;
@@ -410,7 +422,7 @@ export class SpecimenSearchComponent implements OnInit {
410
 		    }
422
 		    }
411
 		  });
423
 		  });
412
 	}
424
 	}
413
-	
425
+
414
 	// 消息发送
426
 	// 消息发送
415
 	sendModal:boolean = false;
427
 	sendModal:boolean = false;
416
 	tipsMsg2:any = '您确定要发送消息吗?';
428
 	tipsMsg2:any = '您确定要发送消息吗?';
@@ -418,11 +430,11 @@ export class SpecimenSearchComponent implements OnInit {
418
 		this.itemData = data;
430
 		this.itemData = data;
419
 		this.sendModal = true;
431
 		this.sendModal = true;
420
 	}
432
 	}
421
-	
433
+
422
 	hideSendModal(){
434
 	hideSendModal(){
423
 		this.sendModal = false;
435
 		this.sendModal = false;
424
 	}
436
 	}
425
-	
437
+
426
 	// 确定发送消息
438
 	// 确定发送消息
427
 	confirmSend(){
439
 	confirmSend(){
428
 		let data = {
440
 		let data = {
@@ -444,7 +456,7 @@ export class SpecimenSearchComponent implements OnInit {
444
 		    }
456
 		    }
445
 		  });
457
 		  });
446
 	}
458
 	}
447
-	
459
+
448
 	// 新增
460
 	// 新增
449
 	addModal:boolean = false;
461
 	addModal:boolean = false;
450
 	view:boolean = false;
462
 	view:boolean = false;
@@ -452,13 +464,13 @@ export class SpecimenSearchComponent implements OnInit {
452
 		this.addModal = true;
464
 		this.addModal = true;
453
 		this.initForm();
465
 		this.initForm();
454
 	}
466
 	}
455
-	
467
+
456
 	hideModal() {
468
 	hideModal() {
457
 	  this.addModal = false;
469
 	  this.addModal = false;
458
 		this.patientList = [];
470
 		this.patientList = [];
459
 	  this.initForm();
471
 	  this.initForm();
460
 	}
472
 	}
461
-	
473
+
462
 	// 初始化form
474
 	// 初始化form
463
 	validateForm: FormGroup; //新增/编辑表单
475
 	validateForm: FormGroup; //新增/编辑表单
464
 	initForm() {
476
 	initForm() {
@@ -475,7 +487,7 @@ export class SpecimenSearchComponent implements OnInit {
475
 			sendMsg: ['0', []],
487
 			sendMsg: ['0', []],
476
 	  });
488
 	  });
477
 	}
489
 	}
478
-	
490
+
479
 	// 表单提交
491
 	// 表单提交
480
 	submitForm(): void {
492
 	submitForm(): void {
481
 	  var that = this;
493
 	  var that = this;
@@ -519,7 +531,7 @@ export class SpecimenSearchComponent implements OnInit {
519
 	      }
531
 	      }
520
 	    });
532
 	    });
521
 	}
533
 	}
522
-	
534
+
523
   // 重置
535
   // 重置
524
   reset() {
536
   reset() {
525
     this.searchCriteria = {
537
     this.searchCriteria = {

+ 2 - 2
src/app/views/task-type-management/task-type-management.component.html

@@ -858,7 +858,7 @@
858
           </div>
858
           </div>
859
           <div *ngIf="depaShow3">
859
           <div *ngIf="depaShow3">
860
             <!-- 标本配送才有自动建单,重要! -->
860
             <!-- 标本配送才有自动建单,重要! -->
861
-            <div class="red">自动建单需配置检验科室的工作时间;任务类型的开通科室;关联班次的时间区间;配置是否急标;配置标本类型;</div>
861
+            <!-- <div class="red">自动建单需配置检验科室的工作时间;任务类型的开通科室;关联班次的时间区间;配置是否急标;配置标本类型;</div>
862
             <nz-form-label class="label">自动建单</nz-form-label>
862
             <nz-form-label class="label">自动建单</nz-form-label>
863
             <div class="item_type_cont">
863
             <div class="item_type_cont">
864
               <div>
864
               <div>
@@ -898,7 +898,7 @@
898
                   <span class="icon_text">设置</span>
898
                   <span class="icon_text">设置</span>
899
                 </div>
899
                 </div>
900
               </div>
900
               </div>
901
-            </div>
901
+            </div> -->
902
             <nz-form-label class="label">自动(手动)建单追加终点科室</nz-form-label>
902
             <nz-form-label class="label">自动(手动)建单追加终点科室</nz-form-label>
903
             <nz-select class="mb8 w100" nzMode="multiple" nzPlaceHolder="请选择科室" nzAllowClear nzShowSearch nzServerSearch
903
             <nz-select class="mb8 w100" nzMode="multiple" nzPlaceHolder="请选择科室" nzAllowClear nzShowSearch nzServerSearch
904
               [(ngModel)]="addEndDeptIds" (nzOnSearch)="onSearch($event)">
904
               [(ngModel)]="addEndDeptIds" (nzOnSearch)="onSearch($event)">