seimin пре 1 година
родитељ
комит
d5e52d4f54

+ 1 - 1
proxy.conf.json

@@ -1,6 +1,6 @@
1 1
 {
2 2
   "/service": {
3
-    "target": "http://192.168.4.240",
3
+    "target": "http://192.168.3.108",
4 4
     "logLevel": "debug",
5 5
     "changeOrigin": true,
6 6
     "pathRewrite": {

+ 153 - 3
src/app/views/hushijiandan/hushijiandan.component.html

@@ -48,7 +48,7 @@
48 48
           </button>
49 49
         </div>
50 50
         <!-- 患者信息 -->
51
-        <div class="checkedInfo patient" style="padding-bottom: 0" *ngIf="currentDept.typeValue != 'surgery'; else elseBlock">
51
+        <div class="checkedInfo patient" style="padding-bottom: 0" *ngIf="currentDept.typeValue != 'surgery'; else elseBlock1">
52 52
           <overlay-scrollbars #osComponentRef4 class="box">
53 53
             <div
54 54
               class="loading display_flex align-items_center justify-content_flex-center"
@@ -177,7 +177,7 @@
177 177
             </div>
178 178
           </overlay-scrollbars>
179 179
         </div>
180
-        <ng-template #elseBlock>
180
+        <ng-template #elseBlock1>
181 181
           <!-- 手术安排信息 -->
182 182
           <div class="checkedInfo patient" style="padding-bottom: 0">
183 183
             <overlay-scrollbars #osComponentRef4 class="box">
@@ -309,7 +309,7 @@
309 309
           <div class="mainInfo" nz-row>
310 310
             <div nz-col nzSpan="17" class="cont">
311 311
               <div class="top">
312
-                <div class="nums borderB" nz-row *ngIf="currentDept.typeValue != 'surgery'">
312
+                <div class="nums borderB" nz-row *ngIf="currentDept.typeValue != 'surgery'; else elseBlock2">
313 313
                   <!-- 标本信息未开通 -->
314 314
                   <div
315 315
                     *ngIf="!deptTaskTypeRules.openSpecimen"
@@ -584,6 +584,148 @@
584 584
                     </div>
585 585
                   </div>
586 586
                 </div>
587
+                <ng-template #elseBlock2>
588
+                  <div class="nums borderB" nz-row>
589
+                    <!-- 手术未开通 -->
590
+                    <div
591
+                      *ngIf="!deptTaskTypeRules.openPatientTransport && !surgeryLoading"
592
+                      nz-col
593
+                      nzSpan="24"
594
+                      nz-row
595
+                      class="h100p"
596
+                    >
597
+                      <div
598
+                        class="notAvailable display_flex align-items_center justify-content_flex-center"
599
+                      >
600
+                        <div>
601
+                          <img
602
+                            src="../../assets/images/icon_jianchakong.png"
603
+                            alt=""
604
+                          />
605
+                          <div>暂未开通</div>
606
+                        </div>
607
+                      </div>
608
+                      <div
609
+                        nz-col
610
+                        nzSpan="6"
611
+                        class="borderR alignC display_flex justify-content_flex-center align-items_center h100p"
612
+                      >
613
+                        <span>*****</span>
614
+                      </div>
615
+                      <div nz-col nzSpan="18" class="h100p">
616
+                        <div
617
+                          class="txtC h50p alignC display_flex justify-content_flex-center align-items_center overAuto borderB"
618
+                        >
619
+                          <span>*****</span>
620
+                        </div>
621
+                        <div
622
+                          class="txtC h50p alignC display_flex justify-content_flex-center align-items_center overAuto"
623
+                        >
624
+                          <span>*****</span>
625
+                        </div>
626
+                      </div>
627
+                    </div>
628
+                    <!-- 手术已开通 -->
629
+                    <div
630
+                      *ngIf="deptTaskTypeRules.openPatientTransport && !surgeryLoading"
631
+                      nz-col
632
+                      nzSpan="24"
633
+                      nz-row
634
+                      class="h100p"
635
+                    >
636
+                      <div
637
+                        nz-col
638
+                        nzSpan="8"
639
+                        class="borderR alignC display_flex justify-content_flex-center align-items_center h100p"
640
+                      >
641
+                        <button *ngIf="surgeryWKOMsg.patientDTO" [nzLoading]="sLoading1" nz-button nzType="primary" class="btn txtC mr8" (click)="sendWard($event, surgeryWKOMsg)">送回病房</button>
642
+                        <button *ngIf="surgeryWKOMsg.patientDTO" [nzLoading]="sLoading2" nz-button nzType="primary" class="btn txtC" (click)="sendAwakeningRoom($event, surgeryWKOMsg)">送回苏醒间</button>
643
+                      </div>
644
+                      <div nz-col nzSpan="16" class="h100p">
645
+                        <div class="txtC h50p borderB">
646
+                          <div class="swiperBox">
647
+                            <div class="swiper" *ngIf="surgeryWKOMsg.patientDTO">
648
+                              <div class="item txtC alignC display_flex justify-content_flex-center align-items_center patientStyle">
649
+                                <ng-container *ngIf="surgeryWKOMsg.patientDTO && surgeryWKOMsg.patientDTO.illnessState">
650
+                                  <i
651
+                                    *ngIf="surgeryWKOMsg.patientDTO && surgeryWKOMsg.patientDTO.illnessState.value === '2'"
652
+                                    class="colorRed icon_transport transport-wei"
653
+                                    nz-tooltip
654
+                                    nzTooltipTitle="病危"
655
+                                  ></i>
656
+                                  <i
657
+                                    *ngIf="surgeryWKOMsg.patientDTO && surgeryWKOMsg.patientDTO.illnessState.value === '3'"
658
+                                    class="colorRed icon_transport transport-zhong1"
659
+                                    nz-tooltip
660
+                                    nzTooltipTitle="病重"
661
+                                  ></i>
662
+                                </ng-container>
663
+                                <ng-container *ngIf="surgeryWKOMsg.patientDTO && surgeryWKOMsg.patientDTO.careLevel">
664
+                                  <i
665
+                                    *ngIf="surgeryWKOMsg.patientDTO && surgeryWKOMsg.patientDTO.careLevel.value === '0'"
666
+                                    class="icon_transport transport-te1"
667
+                                    nz-tooltip
668
+                                    nzTooltipTitle="特级护理"
669
+                                  ></i>
670
+                                  <i
671
+                                    *ngIf="surgeryWKOMsg.patientDTO && surgeryWKOMsg.patientDTO.careLevel.value === '1'"
672
+                                    class="icon_transport transport-Bduanshuzi1"
673
+                                    nz-tooltip
674
+                                    nzTooltipTitle="一级护理"
675
+                                  ></i>
676
+                                  <i
677
+                                    *ngIf="surgeryWKOMsg.patientDTO && surgeryWKOMsg.patientDTO.careLevel.value === '2'"
678
+                                    class="icon_transport transport-Bduanshuzi"
679
+                                    nz-tooltip
680
+                                    nzTooltipTitle="二级护理"
681
+                                  ></i>
682
+                                  <i
683
+                                    *ngIf="surgeryWKOMsg.patientDTO && surgeryWKOMsg.patientDTO.careLevel.value === '3'"
684
+                                    class="icon_transport transport-Bduanshuzi11"
685
+                                    nz-tooltip
686
+                                    nzTooltipTitle="三级护理"
687
+                                  ></i>
688
+                                </ng-container>
689
+                                <strong>{{ surgeryWKOMsg.patientDTO ? surgeryWKOMsg.patientDTO.patientName : '' }}({{ surgeryWKOMsg.patientDTO ? surgeryWKOMsg.patientDTO.residenceNo : '' }})</strong>
690
+                              </div>
691
+                            </div>
692
+                            <div class="swiper none display_flex justify-content_flex-center align-items_center" *ngIf="!surgeryWKOMsg.patientDTO">
693
+                              <div class="item alignC display_flex justify-content_flex-center align-items_center">
694
+                                <span>暂无信息</span>
695
+                              </div>
696
+                            </div>
697
+                          </div>
698
+                        </div>
699
+                        <div class="txtC h50p">
700
+                          <div class="swiperBox">
701
+                            <div class="swiper" *ngIf="surgeryWKOMsg.surgeryName">
702
+                              <div class="item txtC alignC display_flex justify-content_flex-center align-items_center">
703
+                                <span>{{ surgeryWKOMsg.surgeryName }}</span>
704
+                              </div>
705
+                            </div>
706
+                            <div class="swiper none display_flex justify-content_flex-center align-items_center" *ngIf="!surgeryWKOMsg.surgeryName">
707
+                              <div class="item alignC display_flex justify-content_flex-center align-items_center">
708
+                                <span>暂无信息</span>
709
+                              </div>
710
+                            </div>
711
+                          </div>
712
+                        </div>
713
+                      </div>
714
+                    </div>
715
+                    <div
716
+                      *ngIf="surgeryLoading"
717
+                      nz-col
718
+                      nzSpan="24"
719
+                      nz-row
720
+                      class="h100p display_flex justify-content_flex-center align-items_center"
721
+                    >
722
+                      <div class="txtC" style="text-align: center">
723
+                        <img src="../../../assets/images/loading.gif" alt="" />
724
+                        <div>加载中...</div>
725
+                      </div>
726
+                    </div>
727
+                  </div>
728
+                </ng-template>
587 729
                 <div class="tab borderB" nz-row style="padding: 4px 0">
588 730
                   <div
589 731
                     nz-col
@@ -3555,3 +3697,11 @@
3555 3697
 <!-- 是否一键接患者模态框 -->
3556 3698
 <app-dialog-delete [delModal]="pickUpModal" (hideDelModalEvent)="hidePickUpModal()" [btnLoading]="btnLoading"
3557 3699
 (confirmDelEvent)="confirmPickUp()" [content]="pickUpInfo"></app-dialog-delete>
3700
+
3701
+<!-- 手术中患者-送回病房 -->
3702
+<app-dialog-delete [delModal]="sendWardModal" (hideDelModalEvent)="hideSendWardModal()" [btnLoading]="sLoading1"
3703
+(confirmDelEvent)="confirmSendWard()" [content]="sendWardInfo"></app-dialog-delete>
3704
+
3705
+<!-- 手术中患者-送回苏醒区 -->
3706
+<app-dialog-delete [delModal]="sendAwakeningRoomModal" (hideDelModalEvent)="hideSendAwakeningRoomModal()" [btnLoading]="sLoading2"
3707
+(confirmDelEvent)="confirmSendAwakeningRoom()" [content]="sendAwakeningRoomInfo"></app-dialog-delete>

+ 17 - 0
src/app/views/hushijiandan/hushijiandan.component.less

@@ -5,6 +5,23 @@
5 5
   height: 100%;
6 6
   display: flex;
7 7
 
8
+  .patientStyle{
9
+    i {
10
+      color: @primary-color;
11
+      font-size: 20px;
12
+      font-weight: normal;
13
+      margin-right: 4px;
14
+
15
+      &.colorRed {
16
+        color: red;
17
+      }
18
+
19
+      &.transport-te1 {
20
+        font-size: 22px;
21
+      }
22
+    }
23
+  }
24
+
8 25
   .bxForm {
9 26
     margin-top: 32px;
10 27
   }

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

@@ -251,6 +251,7 @@ export class HushijiandanComponent implements OnInit {
251 251
 
252 252
   specimenWorkOrderMsg: any = {}; //急标普标数量&信息
253 253
   jpDrugsWKOMsg: any = {}; //药品静配提示信息
254
+  surgeryWKOMsg: any = {}; //手术提示信息
254 255
 
255 256
   // 切换综合日志和一键报修
256 257
   smallTabs = [];
@@ -741,6 +742,36 @@ export class HushijiandanComponent implements OnInit {
741 742
       });
742 743
   }
743 744
 
745
+  // 手术提示信息
746
+  surgeryLoading = false;
747
+  getSurgeryWKOMsg() {
748
+    if(this.currentDept.typeValue != 'surgery'){
749
+      return;
750
+    }
751
+    let that = this;
752
+    let postData = {
753
+      idx: 0,
754
+      sum: 1,
755
+      surgery: {
756
+        applyDateStart: format(startOfDay(new Date()), "yyyy-MM-dd HH:mm:ss"),
757
+        applyDateEnd: format(endOfDay(new Date()), "yyyy-MM-dd HH:mm:ss"),
758
+        hosId: this.currentHospital.id,
759
+        surgeryDept: this.loginUserDeptId,
760
+        state: {
761
+          key: 'surgery_trans_state',
762
+          value: 8
763
+        }
764
+      }
765
+    }
766
+    this.surgeryLoading = true;
767
+    that.mainService
768
+      .getFetchDataList("simple/data", "surgery", postData)
769
+      .subscribe((data) => {
770
+        this.surgeryLoading = false;
771
+        this.surgeryWKOMsg = Array.isArray(data.list) ? (data.list[0] ? data.list[0] : {}) : {};
772
+      });
773
+  }
774
+
744 775
   // 药品静配提示信息
745 776
   drugJpLoading = false;
746 777
   getJpDrugsWKOMsg() {
@@ -1006,6 +1037,10 @@ export class HushijiandanComponent implements OnInit {
1006 1037
         if (search === undefined) {
1007 1038
           that.deptTaskTypeRules = data.data;
1008 1039
           that.getOrderList();
1040
+          if(that.deptTaskTypeRules.openPatientTransport){
1041
+            // 手术权限
1042
+            that.getSurgeryWKOMsg();
1043
+          }
1009 1044
           if (
1010 1045
             that.deptTaskTypeRules.openInspection ||
1011 1046
             that.deptTaskTypeRules.openPatientTransport
@@ -1177,7 +1212,11 @@ export class HushijiandanComponent implements OnInit {
1177 1212
         applyDateStart: format(startOfDay(new Date()), "yyyy-MM-dd HH:mm:ss"),
1178 1213
         applyDateEnd: format(endOfDay(new Date()), "yyyy-MM-dd HH:mm:ss"),
1179 1214
         hosId: this.currentHospital.id,
1180
-        surgeryDept: this.loginUserDeptId
1215
+        surgeryDept: this.loginUserDeptId,
1216
+        state: {
1217
+          key: 'surgery_trans_state',
1218
+          value: 3
1219
+        }
1181 1220
       };
1182 1221
     }else{
1183 1222
       // 患者信息
@@ -1196,7 +1235,7 @@ export class HushijiandanComponent implements OnInit {
1196 1235
         postData["patient"]["department"] = { id: this.loginUserDeptId };
1197 1236
       }
1198 1237
     }
1199
-    
1238
+
1200 1239
     this.snum++;
1201 1240
     this.mainService
1202 1241
       .getFetchDataList(this.currentDept.typeValue == 'surgery' ? "simple/data" : 'nurse', this.currentDept.typeValue == 'surgery' ? "surgery" : 'patient', postData)
@@ -1450,6 +1489,92 @@ export class HushijiandanComponent implements OnInit {
1450 1489
     this.pickUpItem = item;
1451 1490
     this.pickUpInfo = `您本次需要从<span style="color:red;">${item.areaDeptDTO ? (this.deptDisplay == 2 ? item.areaDeptDTO.deptalias : item.areaDeptDTO.dept) : ''}</span>科室接<span style="color:red;">${item.patientDTO ? item.patientDTO.patientName : ''}</span>患者到<span style="color:red;">${item.surgeryDeptDTO ? (this.deptDisplay == 2 ? item.surgeryDeptDTO.deptalias : item.surgeryDeptDTO.dept) : ''}</span>手术间进行手术,您确认接患者吗?`
1452 1491
   }
1492
+  sendWardModal: boolean = false; //模态框
1493
+  sendWardInfo:string = '';
1494
+  sendWardItem: any = {};
1495
+  hideSendWardModal() {
1496
+    this.sendWardModal = false;
1497
+  }
1498
+  // 确认
1499
+  sLoading1 = false;
1500
+  confirmSendWard() {
1501
+    alert('暂无接口');
1502
+    return;
1503
+    console.log(this.sendWardItem);
1504
+    this.sLoading1 = true;
1505
+    this.mainService
1506
+      .createOrTakeOrder({
1507
+        type: 'surgery',
1508
+        id: this.sendWardItem.id,
1509
+        workOrder: {
1510
+          sourceld: 2,
1511
+          createDept: this.loginUser.dept.id,
1512
+          platform: 2
1513
+        }
1514
+      })
1515
+      .subscribe((result:any) => {
1516
+        this.sLoading1 = false;
1517
+        this.sendWardModal = false;
1518
+        if(result.state == 200){
1519
+          this.showPromptModal("创建", true, "");
1520
+          this.getOrderList();
1521
+          this.getDeptTaskType();
1522
+          this.getTodayNum();
1523
+        }else{
1524
+          this.showPromptModal("创建", false, result.msg);
1525
+        }
1526
+      });
1527
+  }
1528
+  // 手术中患者-送回病房
1529
+  sendWard(e, item){
1530
+    e.stopPropagation();
1531
+    this.sendWardModal = true;
1532
+    this.sendWardItem = item;
1533
+    this.sendWardInfo = `您确认送回病房吗?`
1534
+  }
1535
+  sendAwakeningRoomModal: boolean = false; //模态框
1536
+  sendAwakeningRoomInfo:string = '';
1537
+  sendAwakeningRoomItem: any = {};
1538
+  hideSendAwakeningRoomModal() {
1539
+    this.sendAwakeningRoomModal = false;
1540
+  }
1541
+  // 确认
1542
+  sLoading2 = false;
1543
+  confirmSendAwakeningRoom() {
1544
+    alert('暂无接口');
1545
+    return;
1546
+    console.log(this.sendAwakeningRoomItem);
1547
+    this.sLoading2 = true;
1548
+    this.mainService
1549
+      .createOrTakeOrder({
1550
+        type: 'surgery',
1551
+        id: this.sendAwakeningRoomItem.id,
1552
+        workOrder: {
1553
+          sourceld: 2,
1554
+          createDept: this.loginUser.dept.id,
1555
+          platform: 2
1556
+        }
1557
+      })
1558
+      .subscribe((result:any) => {
1559
+        this.sLoading2 = false;
1560
+        this.sendAwakeningRoomModal = false;
1561
+        if(result.state == 200){
1562
+          this.showPromptModal("创建", true, "");
1563
+          this.getOrderList();
1564
+          this.getDeptTaskType();
1565
+          this.getTodayNum();
1566
+        }else{
1567
+          this.showPromptModal("创建", false, result.msg);
1568
+        }
1569
+      });
1570
+  }
1571
+  // 手术中患者-送回苏醒区
1572
+  sendAwakeningRoom(e, item){
1573
+    e.stopPropagation();
1574
+    this.sendAwakeningRoomModal = true;
1575
+    this.sendAwakeningRoomItem = item;
1576
+    this.sendAwakeningRoomInfo = `您确认送回苏醒区吗?`
1577
+  }
1453 1578
 
1454 1579
   // 患者信息一键建单
1455 1580
   patientModal: boolean = false; //患者信息一键建单模态框