Przeglądaj źródła

临时停留科室功能

seimin 1 rok temu
rodzic
commit
e318d918db

+ 206 - 78
src/app/views/hushijiandan/hushijiandan.component.html

@@ -47,8 +47,8 @@
47 47
           {{currentDept.typeValue == 'surgery' ? '手术安排信息' : '患者信息'}}
48 48
           </button>
49 49
         </div>
50
-        <!-- 患者信息 -->
51
-        <div class="checkedInfo patient" style="padding-bottom: 0" *ngIf="currentDept.typeValue != 'surgery'; else elseBlock1">
50
+        <!-- 患者信息-复苏室科室类型 -->
51
+        <div class="checkedInfo patient" style="padding-bottom: 0" *ngIf="currentDept.typeValue == 'recovery'">
52 52
           <overlay-scrollbars #osComponentRef4 class="box">
53 53
             <div
54 54
               class="loading display_flex align-items_center justify-content_flex-center"
@@ -177,87 +177,215 @@
177 177
             </div>
178 178
           </overlay-scrollbars>
179 179
         </div>
180
-        <ng-template #elseBlock1>
181
-          <!-- 手术安排信息 -->
182
-          <div class="checkedInfo patient" style="padding-bottom: 0">
183
-            <overlay-scrollbars #osComponentRef4 class="box">
184
-              <div
185
-                class="loading display_flex align-items_center justify-content_flex-center"
186
-                *ngIf="
187
-                  pLoading &&
188
-                  (deptTaskTypeRules.openInspection ||
189
-                    deptTaskTypeRules.openPatientTransport)
190
-                "
191
-              >
192
-                <div>
193
-                  <img src="../../assets/images/loading.gif" alt="" />
194
-                  <div>加载中...</div>
195
-                </div>
180
+        <!-- 患者信息 -->
181
+        <div class="checkedInfo patient" style="padding-bottom: 0" *ngIf="currentDept.typeValue != 'surgery' && currentDept.typeValue != 'recovery'">
182
+          <overlay-scrollbars #osComponentRef4 class="box">
183
+            <div
184
+              class="loading display_flex align-items_center justify-content_flex-center"
185
+              *ngIf="
186
+                pLoading &&
187
+                (deptTaskTypeRules.openInspection ||
188
+                  deptTaskTypeRules.openPatientTransport)
189
+              "
190
+            >
191
+              <div>
192
+                <img src="../../assets/images/loading.gif" alt="" />
193
+                <div>加载中...</div>
196 194
               </div>
197
-              <div
198
-                class="loading display_flex align-items_center justify-content_flex-center"
199
-                *ngIf="!patientList.length && !pLoading"
200
-              >
201
-                <div>
202
-                  <div>暂无数据</div>
195
+            </div>
196
+            <div
197
+              class="loading display_flex align-items_center justify-content_flex-center"
198
+              *ngIf="!patientList.length && !pLoading"
199
+            >
200
+              <div>
201
+                <div>暂无数据</div>
202
+              </div>
203
+            </div>
204
+            <div *ngIf="patientList.length && !pLoading">
205
+              <div class="item" *ngFor="let item of patientList">
206
+                <div class="itemTit txtC" style="font-weight: bold">
207
+                  <ng-container *ngIf="item.illnessState">
208
+                    <i
209
+                      *ngIf="item.illnessState.value === '2'"
210
+                      class="colorRed icon_transport transport-wei"
211
+                      nz-tooltip
212
+                      nzTooltipTitle="病危"
213
+                    ></i>
214
+                    <i
215
+                      *ngIf="item.illnessState.value === '3'"
216
+                      class="colorRed icon_transport transport-zhong1"
217
+                      nz-tooltip
218
+                      nzTooltipTitle="病重"
219
+                    ></i>
220
+                  </ng-container>
221
+                  <ng-container *ngIf="item.careLevel">
222
+                    <i
223
+                      *ngIf="item.careLevel.value === '0'"
224
+                      class="icon_transport transport-te1"
225
+                      nz-tooltip
226
+                      nzTooltipTitle="特级护理"
227
+                    ></i>
228
+                    <i
229
+                      *ngIf="item.careLevel.value === '1'"
230
+                      class="icon_transport transport-Bduanshuzi1"
231
+                      nz-tooltip
232
+                      nzTooltipTitle="一级护理"
233
+                    ></i>
234
+                    <i
235
+                      *ngIf="item.careLevel.value === '2'"
236
+                      class="icon_transport transport-Bduanshuzi"
237
+                      nz-tooltip
238
+                      nzTooltipTitle="二级护理"
239
+                    ></i>
240
+                    <i
241
+                      *ngIf="item.careLevel.value === '3'"
242
+                      class="icon_transport transport-Bduanshuzi11"
243
+                      nz-tooltip
244
+                      nzTooltipTitle="三级护理"
245
+                    ></i>
246
+                  </ng-container>
247
+                  <span
248
+                    nz-tooltip
249
+                    [nzTooltipTitle]="recentInfo"
250
+                    nzTooltipPlacement="right"
251
+                    [nzMouseEnterDelay]="1"
252
+                    (mouseenter)="getRecentInfo(item.patientCode)"
253
+                    >{{ item.patientName }}({{ item.bedNum }})</span
254
+                  >
255
+                </div>
256
+                <div
257
+                  class="checkInfo"
258
+                  nz-row
259
+                  *ngIf="
260
+                    followFlag === '1' &&
261
+                    currentDept.typeValue != 'checkRoom2' &&
262
+                    currentDept.typeValue != 'outpatientDept' &&
263
+                    currentDept.typeValue != 'checkRoom'
264
+                  "
265
+                >
266
+                  <span
267
+                    nz-col
268
+                    nzSpan="2"
269
+                    class="icon_transport transport-zhongdianguanzhu"
270
+                    (click)="follow(item)"
271
+                    [ngStyle]="{
272
+                      color: item.focusPatient === 0 ? 'white' : 'red'
273
+                    }"
274
+                    nz-tooltip
275
+                    [nzTooltipTitle]="
276
+                      item.focusPatient === 0
277
+                        ? '白色心为非特殊关注,需手动建单后支助人员上门送检'
278
+                        : '红色心为特殊关注,患者所有检查会自动建单,支助人员主动上门送检'
279
+                    "
280
+                  ></span>
281
+                  <span nz-col nzSpan="2"></span>
282
+                  <span nz-col nzSpan="12">{{ item.residenceNo }}</span>
283
+                  <span nz-col nzSpan="6" class="txtR"
284
+                    >待检 {{ item.watingCount }}</span
285
+                  >
286
+                  <span nz-col nzSpan="2"></span>
287
+                </div>
288
+                <div
289
+                  class="checkInfo"
290
+                  nz-row
291
+                  *ngIf="
292
+                    followFlag === '0' ||
293
+                    currentDept.typeValue == 'checkRoom2' ||
294
+                    currentDept.typeValue == 'outpatientDept' ||
295
+                    currentDept.typeValue == 'checkRoom'
296
+                  "
297
+                >
298
+                  <span nz-col nzSpan="2"></span>
299
+                  <span nz-col nzSpan="12">{{ item.residenceNo }}</span>
300
+                  <span nz-col nzSpan="6" class="txtR"
301
+                    >待检 {{ item.watingCount }}</span
302
+                  >
303
+                  <span nz-col nzSpan="2"></span>
203 304
                 </div>
305
+                <div class="btn" (click)="newPatientOrder(item)">一键建单</div>
204 306
               </div>
205
-              <div *ngIf="patientList.length && !pLoading">
206
-                <div class="item" *ngFor="let item of patientList">
207
-                  <div class="itemTit txtC" style="font-weight: bold">
208
-                    <ng-container *ngIf="item.patientDTO && item.patientDTO.illnessState">
209
-                      <i
210
-                        *ngIf="item.patientDTO && item.patientDTO.illnessState.value === '2'"
211
-                        class="colorRed icon_transport transport-wei"
212
-                        nz-tooltip
213
-                        nzTooltipTitle="病危"
214
-                      ></i>
215
-                      <i
216
-                        *ngIf="item.patientDTO && item.patientDTO.illnessState.value === '3'"
217
-                        class="colorRed icon_transport transport-zhong1"
218
-                        nz-tooltip
219
-                        nzTooltipTitle="病重"
220
-                      ></i>
221
-                    </ng-container>
222
-                    <ng-container *ngIf="item.patientDTO && item.patientDTO.careLevel">
223
-                      <i
224
-                        *ngIf="item.patientDTO && item.patientDTO.careLevel.value === '0'"
225
-                        class="icon_transport transport-te1"
226
-                        nz-tooltip
227
-                        nzTooltipTitle="特级护理"
228
-                      ></i>
229
-                      <i
230
-                        *ngIf="item.patientDTO && item.patientDTO.careLevel.value === '1'"
231
-                        class="icon_transport transport-Bduanshuzi1"
232
-                        nz-tooltip
233
-                        nzTooltipTitle="一级护理"
234
-                      ></i>
235
-                      <i
236
-                        *ngIf="item.patientDTO && item.patientDTO.careLevel.value === '2'"
237
-                        class="icon_transport transport-Bduanshuzi"
238
-                        nz-tooltip
239
-                        nzTooltipTitle="二级护理"
240
-                      ></i>
241
-                      <i
242
-                        *ngIf="item.patientDTO && item.patientDTO.careLevel.value === '3'"
243
-                        class="icon_transport transport-Bduanshuzi11"
244
-                        nz-tooltip
245
-                        nzTooltipTitle="三级护理"
246
-                      ></i>
247
-                    </ng-container>
248
-                    <span>{{ item.patientDTO ? item.patientDTO.patientName : '' }}({{ item.patientDTO ? item.patientDTO.residenceNo : '' }})</span>
249
-                  </div>
250
-                  <div class="checkInfo" nz-row>
251
-                    <span nz-col nzSpan="24">{{ item.applyDate | date:'HH:mm' }}({{ item.orders }})</span>
252
-                    <span nz-col nzSpan="24" class="wordBreak">{{ item.areaDeptDTO ? (deptDisplay == 2 ? item.areaDeptDTO.deptalias : item.areaDeptDTO.dept) : '' }}</span>
253
-                    <span nz-col nzSpan="24" class="wordBreak">{{ item.surgeryName }}</span>
254
-                  </div>
255
-                  <div class="btn" (click)="pickUpPatient($event, item)">一键接患者</div>
307
+            </div>
308
+          </overlay-scrollbars>
309
+        </div>
310
+        <!-- 手术安排信息-手术室科室类型 -->
311
+        <div class="checkedInfo patient" style="padding-bottom: 0" *ngIf="currentDept.typeValue == 'surgery'">
312
+          <overlay-scrollbars #osComponentRef4 class="box">
313
+            <div
314
+              class="loading display_flex align-items_center justify-content_flex-center"
315
+              *ngIf="
316
+                pLoading &&
317
+                (deptTaskTypeRules.openInspection ||
318
+                  deptTaskTypeRules.openPatientTransport)
319
+              "
320
+            >
321
+              <div>
322
+                <img src="../../assets/images/loading.gif" alt="" />
323
+                <div>加载中...</div>
324
+              </div>
325
+            </div>
326
+            <div
327
+              class="loading display_flex align-items_center justify-content_flex-center"
328
+              *ngIf="!patientList.length && !pLoading"
329
+            >
330
+              <div>
331
+                <div>暂无数据</div>
332
+              </div>
333
+            </div>
334
+            <div *ngIf="patientList.length && !pLoading">
335
+              <div class="item" *ngFor="let item of patientList">
336
+                <div class="itemTit txtC" style="font-weight: bold">
337
+                  <ng-container *ngIf="item.patientDTO && item.patientDTO.illnessState">
338
+                    <i
339
+                      *ngIf="item.patientDTO && item.patientDTO.illnessState.value === '2'"
340
+                      class="colorRed icon_transport transport-wei"
341
+                      nz-tooltip
342
+                      nzTooltipTitle="病危"
343
+                    ></i>
344
+                    <i
345
+                      *ngIf="item.patientDTO && item.patientDTO.illnessState.value === '3'"
346
+                      class="colorRed icon_transport transport-zhong1"
347
+                      nz-tooltip
348
+                      nzTooltipTitle="病重"
349
+                    ></i>
350
+                  </ng-container>
351
+                  <ng-container *ngIf="item.patientDTO && item.patientDTO.careLevel">
352
+                    <i
353
+                      *ngIf="item.patientDTO && item.patientDTO.careLevel.value === '0'"
354
+                      class="icon_transport transport-te1"
355
+                      nz-tooltip
356
+                      nzTooltipTitle="特级护理"
357
+                    ></i>
358
+                    <i
359
+                      *ngIf="item.patientDTO && item.patientDTO.careLevel.value === '1'"
360
+                      class="icon_transport transport-Bduanshuzi1"
361
+                      nz-tooltip
362
+                      nzTooltipTitle="一级护理"
363
+                    ></i>
364
+                    <i
365
+                      *ngIf="item.patientDTO && item.patientDTO.careLevel.value === '2'"
366
+                      class="icon_transport transport-Bduanshuzi"
367
+                      nz-tooltip
368
+                      nzTooltipTitle="二级护理"
369
+                    ></i>
370
+                    <i
371
+                      *ngIf="item.patientDTO && item.patientDTO.careLevel.value === '3'"
372
+                      class="icon_transport transport-Bduanshuzi11"
373
+                      nz-tooltip
374
+                      nzTooltipTitle="三级护理"
375
+                    ></i>
376
+                  </ng-container>
377
+                  <span>{{ item.patientDTO ? item.patientDTO.patientName : '' }}({{ item.patientDTO ? item.patientDTO.residenceNo : '' }})</span>
256 378
                 </div>
379
+                <div class="checkInfo" nz-row>
380
+                  <span nz-col nzSpan="24">{{ item.applyDate | date:'HH:mm' }}({{ item.orders }})</span>
381
+                  <span nz-col nzSpan="24" class="wordBreak">{{ item.areaDeptDTO ? (deptDisplay == 2 ? item.areaDeptDTO.deptalias : item.areaDeptDTO.dept) : '' }}</span>
382
+                  <span nz-col nzSpan="24" class="wordBreak">{{ item.surgeryName }}</span>
383
+                </div>
384
+                <div class="btn" (click)="pickUpPatient($event, item)">一键接患者</div>
257 385
               </div>
258
-            </overlay-scrollbars>
259
-          </div>
260
-        </ng-template>
386
+            </div>
387
+          </overlay-scrollbars>
388
+        </div>
261 389
         <!-- 翻页 -->
262 390
         <!-- <div class="paging">
263 391
           <div>

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

@@ -800,7 +800,7 @@ export class HushijiandanComponent implements OnInit {
800 800
                 // 送回苏醒室开关开启 并且 有对应的任务类型
801 801
                 if(this.surgeryConfigs.remandRecovery == 1 && this.surgeryConfigs.recoveryType){
802 802
                   this.surgeryCarryingCourse = this.surgeryConfigs.recoveryType.carryingCourses ? this.surgeryConfigs.recoveryType.carryingCourses.find(v => v.nodeId ? v.nodeId.value == 'finish' : false) : null;
803
-        
803
+
804 804
                   // 运输过程终点科室配置是固定科室或者固定科室范围-苏醒室
805 805
                   if(this.surgeryCarryingCourse && (this.surgeryCarryingCourse.departmentStrategy.value == 2 || this.surgeryCarryingCourse.departmentStrategy.value == 3)){
806 806
                     this.surgeryCarryingCourseDepts = this.surgeryCarryingCourse.departmentDTOS || [];
@@ -1246,7 +1246,7 @@ export class HushijiandanComponent implements OnInit {
1246 1246
       sum: 10,
1247 1247
     };
1248 1248
     if(this.currentDept.typeValue == 'surgery'){
1249
-      // 手术安排信息
1249
+      // 手术安排信息-手术室类型
1250 1250
       postData["surgery"] = {
1251 1251
         searchKey: e ? e : this.tabSearchCont,
1252 1252
         applyDateStart: format(startOfDay(new Date()), "yyyy-MM-dd HH:mm:ss"),
@@ -1258,6 +1258,15 @@ export class HushijiandanComponent implements OnInit {
1258 1258
           value: 3
1259 1259
         }
1260 1260
       };
1261
+    }else if(this.currentDept.typeValue == 'recovery'){
1262
+      // 患者信息-复苏室类型
1263
+      postData["patient"] = {
1264
+        keyWord: e ? e : this.tabSearchCont,
1265
+      };
1266
+      // 查询父级科室患者
1267
+      postData["patient"]["parentIdOnly"] = true;
1268
+      postData["patient"]["recoveryDept"] = this.loginUserDeptId;
1269
+      postData["patient"]["recoveryDeptDTO"] = {keyWord: '1'};
1261 1270
     }else{
1262 1271
       // 患者信息
1263 1272
       postData["patient"] = {

+ 15 - 1
src/app/views/operation-config/operation-config.component.ts

@@ -207,14 +207,27 @@ export class OperationConfigComponent implements OnInit {
207 207
           }else if(type === 2){
208 208
             this.taskTypes2 = result.list || [];
209 209
           }
210
-          isFirst && this.getRecoveryDepts('', true);
210
+          isFirst && this.getDeptType(true);
211 211
         }
212 212
       });
213 213
   }
214 214
 
215
+  //获取所有科室类型
216
+  allDeptTypes:any[] = [];
217
+  getDeptType(isFirst:boolean = false) {
218
+    isFirst && (this.loading = true);
219
+    this.mainService
220
+      .getDictionary("list", "dept_type")
221
+      .subscribe((result) => {
222
+        this.allDeptTypes = result;
223
+        isFirst && this.getRecoveryDepts('', true);
224
+      });
225
+  }
226
+
215 227
   //获取所有科室
216 228
   getRecoveryDepts(e:string = '', isFirst:boolean = false) {
217 229
     isFirst && (this.loading = true);
230
+    let recovery = this.allDeptTypes.find(v => v.value === 'recovery');
218 231
     let postData = {
219 232
       idx: 0,
220 233
       sum: 10,
@@ -223,6 +236,7 @@ export class OperationConfigComponent implements OnInit {
223 236
         hospital: {
224 237
           id: this.hosId
225 238
         },
239
+        type: recovery || undefined
226 240
       }
227 241
     };
228 242
     this.isLoading = true;