Browse Source

手术排程信息

seimin 1 year ago
parent
commit
acb2bf99a9

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

@@ -862,6 +862,9 @@
862
                         <div *ngIf="coopBtns.suggestionBox" nz-col nzSpan="3" [ngClass]="{txtC: true, cur: true, checked: checkedTableType == 'advice'}" (click)="checkTable('advice')">
862
                         <div *ngIf="coopBtns.suggestionBox" nz-col nzSpan="3" [ngClass]="{txtC: true, cur: true, checked: checkedTableType == 'advice'}" (click)="checkTable('advice')">
863
                           <div class="text">意见箱</div>
863
                           <div class="text">意见箱</div>
864
                         </div>
864
                         </div>
865
+                        <div *ngIf="coopBtns.suggestionBox" nz-col nzSpan="3" [ngClass]="{txtC: true, cur: true, checked: checkedTableType == 'surgery'}" (click)="checkTable('surgery')">
866
+                          <div class="text">手术排程信息</div>
867
+                        </div>
865
                         <div *ngIf="coopBtns.inquiryOfHistoricalSpecimens" nz-col nzSpan="3" [ngClass]="{txtC: true, cur: true, checked: checkedTableType == 'historySpecimen'}" (click)="checkTable('historySpecimen')">
868
                         <div *ngIf="coopBtns.inquiryOfHistoricalSpecimens" nz-col nzSpan="3" [ngClass]="{txtC: true, cur: true, checked: checkedTableType == 'historySpecimen'}" (click)="checkTable('historySpecimen')">
866
                           <div class="text">历史标本查询</div>
869
                           <div class="text">历史标本查询</div>
867
                         </div>
870
                         </div>
@@ -1611,6 +1614,77 @@
1611
                   </div>
1614
                   </div>
1612
                 </div>
1615
                 </div>
1613
               </div>
1616
               </div>
1617
+              <!-- 手术排程信息 -->
1618
+              <div *ngIf="checkedTableType == 'surgery'" style="flex: 1; height: 100%">
1619
+                <div class="searchBox display_flex align-items_center justify-content_space-between">
1620
+                  <div class="left alignC display_flex justify-content_flex-center align-items_center"></div>
1621
+                  <div class="btns">
1622
+                    <button
1623
+                      nz-button
1624
+                      nzType="primary"
1625
+                      nzGhost
1626
+                      (click)="getSurgery(true)"
1627
+                    >
1628
+                      搜索
1629
+                    </button>
1630
+                  </div>
1631
+                </div>
1632
+                <div class="table">
1633
+                  <div class="box">
1634
+                    <nz-table
1635
+                      class="hospitalTable"
1636
+                      [nzData]="surgeryList"
1637
+                      nzSize="middle"
1638
+                      [nzShowPagination]="false"
1639
+                      [nzLoading]="surgeryInfoLoading"
1640
+                    >
1641
+                      <thead>
1642
+                        <tr class="thead">
1643
+                          <th nzWidth="5%">序号</th>
1644
+                          <th nzWidth="13%">患者姓名(床号)</th>
1645
+                          <th nzWidth="13%">住院号</th>
1646
+                          <th nzWidth="13%">手术时间</th>
1647
+                          <th nzWidth="13%">所属科室</th>
1648
+                          <th nzWidth="13%">手术名称</th>
1649
+                          <th nzWidth="10%">状态</th>
1650
+                          <th nzWidth="20%">操作</th>
1651
+                        </tr>
1652
+                      </thead>
1653
+                      <tbody>
1654
+                        <tr *ngFor="let item of surgeryList;let i = index">
1655
+                          <td>{{ i + 1 }}</td>
1656
+                          <td>{{ item.patientDTO ? item.patientDTO.patientName : '' }}({{ item.patientDTO ? item.patientDTO.bedNum : '' }})</td>
1657
+                          <td>{{ item.patientDTO ? item.patientDTO.residenceNo : '' }}</td>
1658
+                          <td>{{ item.applyDate | date:'MM-dd HH:mm' }}</td>
1659
+                          <td>{{ item.areaDeptDTO ? (deptDisplay == 2 ? item.areaDeptDTO.deptalias : item.areaDeptDTO.dept) : '' }}</td>
1660
+                          <td>{{ item.surgeryName }}</td>
1661
+                          <td>{{ item.state?.name }}</td>
1662
+                          <td>
1663
+                            <!-- 手术状态是【手术安排】,并且【是否开启手术即将开始通知】开启 -->
1664
+                            <button class="mr8" (click)="surgeryBegin($event, item)" *ngIf="item.state && item.state.value == 3 && surgeryConfigs.surgeryBegin == 1">即将开始</button>
1665
+                            <!-- 【是否开启手术即将开始通知】开启 -->
1666
+                            <button class="mr8" (click)="pickUpPatient($event, item)" *ngIf="item.state && item.state.value == 3">一键接患者</button>
1667
+                            <!-- 手术状态是【手术中】,并且【是否开通送回病房】开启 -->
1668
+                            <button class="mr8" (click)="sendWard($event, item)" *ngIf="item.patientDTO && surgeryConfigs && surgeryConfigs.remandClinical == 1 && item.state && item.state.value == 8">送回病房</button>
1669
+                            <!-- 手术状态是【手术中】,并且【是否开通送回苏醒室】开启 -->
1670
+                            <button class="mr8" (click)="sendAwakeningRoom($event, item)" *ngIf="item.patientDTO && surgeryConfigs && surgeryConfigs.remandRecovery == 1 && item.state && item.state.value == 8">送回苏醒间</button>
1671
+                          </td>
1672
+                        </tr>
1673
+                      </tbody>
1674
+                    </nz-table>
1675
+                    <div class="pagination">
1676
+                      <nz-pagination
1677
+                        [(nzPageIndex)]="surgeryPageIndex"
1678
+                        [(nzTotal)]="surgeryListLength"
1679
+                        [(nzPageSize)]="surgeryPageSize"
1680
+                        (nzPageIndexChange)="getSurgery()"
1681
+                        (nzPageSizeChange)="getSurgery()"
1682
+                      >
1683
+                      </nz-pagination>
1684
+                    </div>
1685
+                  </div>
1686
+                </div>
1687
+              </div>
1614
               <!-- 历史标本查询 -->
1688
               <!-- 历史标本查询 -->
1615
               <div
1689
               <div
1616
                 *ngIf="checkedTableType == 'historySpecimen'"
1690
                 *ngIf="checkedTableType == 'historySpecimen'"

+ 43 - 1
src/app/views/hushijiandan/hushijiandan.component.ts

@@ -285,6 +285,9 @@ export class HushijiandanComponent implements OnInit {
285
         case "suggestionBox":
285
         case "suggestionBox":
286
           coopBtns.suggestionBox = true; //意见箱
286
           coopBtns.suggestionBox = true; //意见箱
287
           break;
287
           break;
288
+        case "surgery":
289
+          coopBtns.surgery = true; //手术排程信息
290
+          break;
288
         case "inquiryOfHistoricalSpecimens":
291
         case "inquiryOfHistoricalSpecimens":
289
           coopBtns.inquiryOfHistoricalSpecimens = true; //历史标本查询
292
           coopBtns.inquiryOfHistoricalSpecimens = true; //历史标本查询
290
           break;
293
           break;
@@ -447,6 +450,9 @@ export class HushijiandanComponent implements OnInit {
447
             }else if(this.coopBtns.suggestionBox){
450
             }else if(this.coopBtns.suggestionBox){
448
               this.checkedTableType = 'advice';
451
               this.checkedTableType = 'advice';
449
               this.checkTable(this.checkedTableType);
452
               this.checkTable(this.checkedTableType);
453
+            }else if(this.coopBtns.surgery){
454
+              this.checkedTableType = 'surgery';
455
+              this.checkTable(this.checkedTableType);
450
             }else if(this.coopBtns.inquiryOfHistoricalSpecimens){
456
             }else if(this.coopBtns.inquiryOfHistoricalSpecimens){
451
               this.checkedTableType = 'historySpecimen';
457
               this.checkedTableType = 'historySpecimen';
452
               this.checkTable(this.checkedTableType);
458
               this.checkTable(this.checkedTableType);
@@ -1272,6 +1278,9 @@ export class HushijiandanComponent implements OnInit {
1272
           }else if(this.coopBtns.suggestionBox){
1278
           }else if(this.coopBtns.suggestionBox){
1273
             this.checkedTableType = 'advice';
1279
             this.checkedTableType = 'advice';
1274
             this.checkTable(this.checkedTableType);
1280
             this.checkTable(this.checkedTableType);
1281
+          }else if(this.coopBtns.surgery){
1282
+            this.checkedTableType = 'surgery';
1283
+            this.checkTable(this.checkedTableType);
1275
           }else if(this.coopBtns.inquiryOfHistoricalSpecimens){
1284
           }else if(this.coopBtns.inquiryOfHistoricalSpecimens){
1276
             this.checkedTableType = 'historySpecimen';
1285
             this.checkedTableType = 'historySpecimen';
1277
             this.checkTable(this.checkedTableType);
1286
             this.checkTable(this.checkedTableType);
@@ -3367,7 +3376,9 @@ export class HushijiandanComponent implements OnInit {
3367
     this.positionY = 0;
3376
     this.positionY = 0;
3368
     this.selectOtherId = null;
3377
     this.selectOtherId = null;
3369
     this.otherSearch = '';
3378
     this.otherSearch = '';
3370
-    if (type === "historySpecimen") {
3379
+    if (type === "surgery") {
3380
+      this.getSurgery();
3381
+    } else if (type === "historySpecimen") {
3371
       this.getHistorySpecimen();
3382
       this.getHistorySpecimen();
3372
     } else if (type === "historyDrugsbag") {
3383
     } else if (type === "historyDrugsbag") {
3373
       this.getHistoryDrugsbag();
3384
       this.getHistoryDrugsbag();
@@ -3476,6 +3487,37 @@ export class HushijiandanComponent implements OnInit {
3476
         that.adviceListLength = data.totalNum || 0;
3487
         that.adviceListLength = data.totalNum || 0;
3477
       });
3488
       });
3478
   }
3489
   }
3490
+  // 手术排程信息表格数据
3491
+  surgeryList: any = [];
3492
+  surgeryPageIndex: number = 1; //表格当前页码
3493
+  surgeryPageSize: number = 10; //表格每页展示条数
3494
+  surgeryListLength: number = 10; //表格总数据量
3495
+  surgeryCodeSearchInp: string = ""; //标本编码搜索
3496
+  surgeryParentSearchInp: string = ""; //患者信息搜索
3497
+  surgeryInfoLoading = false;
3498
+  getSurgery(idx?) {
3499
+    if (idx) {
3500
+      this.surgeryPageIndex = 1;
3501
+    }
3502
+    let postData = {
3503
+      surgery: {
3504
+        applyDateStart: format(startOfDay(new Date()), "yyyy-MM-dd HH:mm:ss"),
3505
+        applyDateEnd: format(endOfDay(new Date()), "yyyy-MM-dd HH:mm:ss"),
3506
+        hosId: this.currentHospital.id,
3507
+        surgeryDept: this.loginUserDeptId,
3508
+      },
3509
+      idx: this.surgeryPageIndex - 1,
3510
+      sum: this.surgeryPageSize,
3511
+    };
3512
+    this.surgeryInfoLoading = true;
3513
+    this.mainService
3514
+      .getFetchDataList("simple/data", "surgery", postData)
3515
+      .subscribe((data) => {
3516
+        this.surgeryInfoLoading = false;
3517
+        this.surgeryList = data.list || [];
3518
+        this.surgeryListLength = data.totalNum || 0;
3519
+      });
3520
+  }
3479
   // 历史标本查询表格数据
3521
   // 历史标本查询表格数据
3480
   historySpecimenList: any = [];
3522
   historySpecimenList: any = [];
3481
   historySpecimenPageIndex: number = 1; //表格当前页码
3523
   historySpecimenPageIndex: number = 1; //表格当前页码