seimin před 3 měsíci
rodič
revize
79cc08350e

+ 1 - 1
proxy.conf.json

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

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

@@ -1218,4 +1218,11 @@ export class MainService {
1218 1218
 		});
1219 1219
 	}
1220 1220
 
1221
+  // 患者闭环-标记回科
1222
+	setPatientInspectBackDept(data = {}){
1223
+		return this.http.post(host.host + `/nurse/patientInspect/setPatientInspectBackDept`, data, {
1224
+		  headers: this.headers,
1225
+		});
1226
+	}
1227
+
1221 1228
 }

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

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

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

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

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

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